NP- 완전 문제가 근사치면에서 왜 그렇게 다른가?


22

저는 프로그래머라고 말하면서 문제를 시작하고 싶습니다. 복잡성 이론에 대한 배경 지식이 많지 않습니다.

내가 주목 한 것은 많은 문제가 NP- 완전하지만 최적화 문제로 확장 될 때 일부는 다른 것보다 훨씬 더 어렵다는 것입니다.

좋은 예는 TSP입니다. 모든 종류의 TSP가 NP- 완전하지만, 해당 최적화 문제는 연속적인 단순화로 더 쉽고 더 쉽게 근사화됩니다. 일반적인 사례는 NPO- 완료, 메트릭 사례는 APX- 완료, 유클리드 사례는 실제로 PTAS를 갖습니다.

이것은 나에게 반 직관적 인 것처럼 보이며, 그 이유가 있는지 궁금합니다.


2
기본 사항을 읽으려면 참조 질문을 참조 하십시오 . 귀하의 질문에 관해서는, 당신은 차이 관찰된다 약하게강하게 NP 완전 문제.
Raphael

답변:


14

NP- 완전 문제에 대해 서로 다른 근사 복잡성이 나타나는 한 가지 이유는 NP- 완료에 필요한 조건이 문제의 복잡성을 매우 거칠게 측정하기 때문입니다. NP-complete 인 문제 의 기본 정의에 익숙 할 것입니다 .Π

  1. Π 는 NP에 있으며
  2. NP의 다른 모든 문제 에 대해 다항식 시간 에 의 인스턴스 를 의 인스턴스 로 가 인스턴스 인 경우에만 가 의 예 인스턴스가 될 수 있습니다. .x Ξ y Π y Π x ΞΞxΞyΠyΠxΞ

조건 2 : 고려해야 할 것은 를 가져 와서 "단일 비트"예 / 아니오 응답을 유지하는 일부 로 바꿀 수 있다는 것입니다. 예를 들어 증인의 상대 크기에 대해 예 또는 아니오에 대한 조건이 없습니다 (즉, 최적화 컨텍스트에서 솔루션의 크기). 따라서 사용되는 유일한 측정 값은 솔루션의 크기에 대해 매우 약한 조건을 제공하는 입력의 총 크기입니다. 따라서 를 로 바꾸는 것은 아주 쉬운 일 입니다.y Ξ ΠxyΞΠ

몇 가지 간단한 알고리즘의 복잡성을 살펴보면 다양한 NP- 완전 문제의 차이점을 알 수 있습니다. 색칠에는 무차별 대 입력 (여기서 은 입력 크기 임). 들면 -Dominating 집합 무단 동력 인출 방식의 . 이것들은 본질적으로 우리가 가진 가장 정확한 알고리즘입니다. -Vertex Cover에는 매우 간단한 알고리즘이 있습니다 (가장자리를 선택하고 끝점을 포함 할 지점을 선택하고 모든 대상을 표시하고 표시되지 않은 모서리가 없거나 적중 할 때까지 계속 진행합니다) 의 예산O ( k n ) n k O ( n k ) k O ( 2 k n c ) kkO(kn)nkO(nk)kO(2knc)k및 bactrack). 다항식 일대일 감소 (Karp 감소, 즉 위의 조건 2에서 수행하는 작업)에서 이러한 문제는 동일합니다.

좀 더 섬세한 도구 (근사 복잡성, 매개 변수화 된 복잡성, 생각할 수없는 다른 도구)를 사용하여 복잡성에 접근하기 시작하면 사용 감소가 더욱 엄격 해 지거나 솔루션 구조에 더 민감 해집니다. 차이점이 나타나기 시작합니다. -Vertex Cover (유발 언급 한대로)는 단순한 2 근사값을 갖지만 (복잡 클래스가 붕괴되지 않는 한 FPTAS는 없음) 도미 팅 세트에는 근사 알고리즘이 있지만 일부 대한 근사값과 근사값은 -Coloring 의 직진 버전에는 전혀 의미가 없습니다 .k ( 1 + log n ) ( c log n ) c > 0 kkk(1+logn)(clogn)c>0k


13

의사 결정 버전과 최적화 버전의 차이점을 고려하는 한 가지 방법은 동일한 의사 결정 버전의 다른 최적화 버전을 고려하는 것입니다. 예를 들어 MAX-CLIQUE 문제를 예로 들면, 일반적인 매개 변수 (도면의 크기)와 관련하여 추정하기가 매우 어렵습니다. 최적화 매개 변수를 clique 크기의 로그 로 변경하면 근사 알고리즘에 문제가 발생 합니다. 최적화 매개 변수를 변경하면 , 여기서 는 clique의 크기이며, 근사 알고리즘을 얻을 수 있습니다 .1 / 2 + K / N 케이 OO(logn)1/2+k/nkO(1)

이 예제는 완전히 구성되지 않았습니다. MAX-INDEPENDENT-SET (MAX-CLIQUE와 동일) 및 MIN-VERTEX-COVER의 문제는 밀접한 관련이 있습니다. 독립 세트의 보완은 정점 표지입니다. 그러나 전자는 근사하기는 어렵지만 후자는 2 근사치입니다.

주어진 문제의 NP- 경도를 나타내는 감소는 때때로 근사도를 나타 내기 위해 사용될 수 있지만, 항상 그런 것은 아닙니다 – 감소에 달려 있습니다. 예를 들어, MAX-INDEPENDENT-SET에서 MIN-VERTEX-COVER 로의 감소는 후자의 근사치의 경도를 의미하지 않으며, 이는 전자보다 근사하기가 훨씬 쉽습니다.

요약하면 NP 경도는 문제의 한 측면 일뿐입니다. 근사 경도는 다른 측면이며 근사 개념에 크게 의존합니다.


karp 감소가 근사 복잡성 클래스에 사용되는 감소보다 본질적으로 덜 "섬세하다"는 Luke Mathieson의 직관적 인 진술에 동의하십니까? 그렇지 않다면,이 아이디어에 대한 좋은 예 (EXP와 같은 다른 복잡한 클래스에서)가 있습니까?
GregRos

이것은 전혀 직관적 인 진술이 아닙니다. 를 가정하면 경우에 따라 Karp 축소가 존재하지만 근사 보존 감소는 그렇지 않음을 증명할 수 있습니다. 이는 예를 들어 독립 세트 및 정점 커버의 경우에 발생합니다 . 아닌 한 Karp 감소는 있지만 근사 보존 감소는 없습니다 . P = N PPNPP=NP
Yuval Filmus

5

직관적 인 접근 방식으로 NP- 완전 문제의 인스턴스화가 항상 일반적인 경우만큼 어려운 것은 아니라는 점을 고려하십시오. 이진 만족도 (SAT)는 NP- 완전하지만 A v B v C v D v에 대한 해답을 찾는 것은 사소한 일입니다. 복잡도 알고리즘은 평균 사례가 아니라 최악의 경우 또는 90 %의 사례를 묶었습니다. .

NP- 완전 문제를 더 간단한 것으로 줄이는 가장 쉬운 방법은 하드 파트를 단순히 제외하는 것입니다. 부정 행위에요 그러나 종종 나머지 부분은 실제 문제를 해결하는 데 여전히 유용합니다. 경우에 따라 "easy"와 "hard"사이의 선을 쉽게 그릴 수 있습니다. TSP에서 지적한대로 생각할 수있는 "정상"방향으로 문제를 제한 할 때 어려움이 크게 줄어 듭니다. 쉽고 어려운 부분을 분리하는 실제 유용한 방법을 찾기가 더 어렵습니다.

CS와 수학의 영역을 완전히 떠나려면 오래된 자동차를 고려하십시오. 친구가 운전하려고합니다. "차가 완벽하게 작동합니다. 95mph 이상으로 주행하지 마십시오. 도로에서 당신을 노크하게하는 불쾌한 흔들림이있을 것입니다."라고 말하면 큰 문제는 아닙니다. 당신의 친구는 아마 어쨌든 마을 주변에서만 가져 가고 싶었습니다. 그러나 당신이 그에게 "만약 당신이 1에서 2로 가려면 클러치를 밟아야합니다. 그렇지 않으면 엔진이 멈출 것입니다"라고 말하면 친구가 약간의 훈련없이 마을 주변에서 차를 사용하는 것이 더 어려울 수 있습니다.

마찬가지로, NP- 완전 문제가 이례적인 경우에만 어려워지면 하위 도메인을 볼 때 복잡성을 빠르게 줄입니다. 그러나 일반적으로 발생하는 경우 어려워지면 어려운 부분을 피하는 유용한 하위 도메인이 많지 않습니다.


P=NP
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.