최근 에는 알고리즘이나 복잡성에 대한 공식적인 과정을 밟지 않은 젊은 재능있는 자율 프로그래머에게 계산 복잡성의 개념을 비공식적으로 설명 하는 고통스러운 재미있는 경험을 겪었습니다. 놀랍게도 많은 개념이 처음에는 이상해 보였지만 일부 예 (PTIME, 난치도, 계산 불가능 성)에서는 의미가있는 반면, 다른 개념은 더 자연스럽게 보입니다 (감소, 시간과 공간을 자원으로하여 문제를 분류하는 것, 점근 분석) . 제가 실수로 SAT를 인정할 때까지 모든 것이 잘 진행되었습니다실제로 효율적으로 해결 될 수 있습니다 ... 그리고 그렇게 잃어 버렸습니다. 내가 설득력있게 이론을 주장하려고했던 것은 문제가되지 않았다. 아이는 그가 신경 쓰지 말아야 할 모든 인공적인 헛 수학이라고 확신했다 . 잘...
¯ \ _ (ツ) _ / ¯
아니, 나는 마음이 아프지 않았고 그가 생각한 것에 관심이 없었습니다. 그것은이 질문의 요점이 아닙니다. 우리 대화는 다른 질문을 생각하게 했어
이론적으로 다루기 어려운 (초 다항식 시간 복잡성)이지만 실제로는 해결할 수있는 (휴리스틱, 근사, SAT 해답 등을 통해) 문제에 대해 얼마나 알고 있습니까?
나는별로 몰랐다. 엄청난 인스턴스를 효율적으로 해결하는 매우 효율적인 SAT 솔버가 있으며 Simplex가 실제로 훌륭하게 작동하며 몇 가지 문제 나 알고리즘이 있음을 알고 있습니다. 좀 더 완벽한 그림을 그릴 수 있습니까? 이 범주에 속하는 잘 알려진 문제 또는 문제 클래스는 무엇입니까?
TL; DR : 실제로 반 직관적으로 해결할 수있는 문제는 무엇입니까 ? 더 읽을 수있는 (업데이트 된) 리소스가 있습니까? 우리는 그들에게 특성이 있습니까? 그리고 마지막으로 일반적인 토론 질문으로 우리는 그렇지 않습니까?
편집 # 1 : 그러한 특성 분석 에 대한 마지막 토론 질문에 답하기 위해 Daniel Spielman과 Shang-Hua Teng이 [1]에 소개 한 개념 인 알고리즘 분석 에 대해 설명했습니다. 알고리즘의 평균 사례 분석. 위에서 설명한 특성은 아니지만 동일한 개념을 포착하여 흥미로 웠습니다.
[1] Spielman, Daniel A. 및 Shang-Hua Teng. "매끄러운 알고리즘 분석 : 왜 단순 알고리즘에 다항식 시간이 걸리는가?" ACM 저널 (JACM) 51, no. 3 (2004) : 385-463.