나는 몇 가지 문제가에 근접하기 어려운 것을 여러 곳에서 읽기 (이다 NP-하드 근사치 를). 그러나 근사는 결정적인 문제가 아닙니다. 대답은 예 또는 아니오가 아닌 실수입니다. 또한 각각의 원하는 근사 계수에 대해 많은 정답과 오답이 있으며, 이는 원하는 근사 계수로 바뀝니다!
그렇다면이 문제가 NP-hard라고 어떻게 말할 수 있습니까?
(상기 제 탄환 영감 방법 어려운 방향 그래프에서 두 노드 사이의 간단한 경로들의 수를 카운트한다? )
나는 몇 가지 문제가에 근접하기 어려운 것을 여러 곳에서 읽기 (이다 NP-하드 근사치 를). 그러나 근사는 결정적인 문제가 아닙니다. 대답은 예 또는 아니오가 아닌 실수입니다. 또한 각각의 원하는 근사 계수에 대해 많은 정답과 오답이 있으며, 이는 원하는 근사 계수로 바뀝니다!
그렇다면이 문제가 NP-hard라고 어떻게 말할 수 있습니까?
(상기 제 탄환 영감 방법 어려운 방향 그래프에서 두 노드 사이의 간단한 경로들의 수를 카운트한다? )
답변:
당신이 말한대로 새로운 복잡성 클래스와 감소의 새로운 유형의 적절한 정의에 도달하는 데 필요한, 그래서, 메이크업에 아무 결정도 없다 NP-경도 에 최적화-문제 .
이를 수행하는 한 가지 방법은 최적화 문제 를 포함 하고 의사 결정 문제에 대해 클래스 NP 및 P 를 모방 하는 두 개의 새로운 클래스 NPO 및 PO 를 갖는 것입니다. 새로운 감소도 필요합니다. 그런 다음 의사 결정 문제에 성공한 선을 따라 최적화 문제에 대한 NP-hardness 버전을 다시 만들 수 있습니다. 그러나 먼저 최적화 문제 가 무엇인지에 동의해야합니다 .
정의 : 가 최적화 문제가되게하십시오 . 는 문자열로 인코딩 된 입력 또는 인스턴스 집합입니다 . 은 각 인스턴스 를 일련의 문자열, 즉 인스턴스 의 가능한 솔루션 에 매핑하는 함수입니다 . 최적화 문제에 대한 많은 솔루션이 있기 때문에 세트입니다. 따라서 우리 는 인스턴스의 모든 쌍 에 대해 알려주 는 목적 함수 가지고 있으며 그 비용 이나 가치를 해결 합니다 . X L x ∈ X x f ( x , y ) y ∈ L ( x ) o p t 우리가 최대화하고 있는지 또는 최소화하고 있는지 알려줍니다.
이것은 무엇을 정의 할 수있게 해준다 최적의 솔루션 하자 : 인 될 최적의 솔루션 인스턴스의 최적화-문제의 와최적의 해는 종종 로 표시됩니다 .x ∈ X O = ( X , L , f , o p t ) f ( x , y o p t ) = o p t { f ( x , y ′ ) ∣ y ′ ∈ L ( x ) } . y ∗
이제 우리는 클래스 정의 할 수 있습니다 NPO를 :하자 모두 최적화-문제들의 집합 와 :O = ( X , L , f , o p t )
그 직관은 다음과 같습니다.
이것은 이제 PO에 대해 가 정의되는 방식을 반영합니다 . 는 다항식 시간의 결정 론적 알고리즘으로 해결할 수있는 의 모든 문제의 집합입니다 .P O N P O
이제 우리는 통화 할 것을 정의 할 수있다 근사 알고리즘 일 :의 근사 알고리즘 최적화 - 문제의 실행 가능 용액 계산하는 알고리즘 인 인스턴스 .y ∈ L ( x ) x ∈ X
참고 : 최적의 솔루션을 요구하지 않으며 실행 가능한 솔루션 만 제공합니다 .
이제 두 가지 유형의 오류가 있습니다. 최적화 문제 의 인스턴스 실행 가능한 솔루션 의 절대 오류 는.x ∈ X O = ( X , L , f , o p t ) | f ( x , y ) − f ( x , y ∗ ) |
알고리즘 가 모든 인스턴스 대해 의해 한정된 절대 오차를 가진 실현 가능한 솔루션을 계산 경우 의해 한정된 최적화 문제 에 대한 근사 알고리즘 의 절대 오차를 호출합니다 .O k A x ∈ X k
예 : Vize의 정리에 따르면 그래프 의 색도 지수 (사용 된 색상 수가 가장 적은 가장자리 색상의 색상 수)는 또는 이며 여기서 는 최대 노드 정도입니다. 정리 증명으로부터 색으로 가장자리 색을 계산하는 근사 알고리즘을 고안 할 수 있습니다 . 따라서 우리는 절대 오차가 으로 제한되는 -Problem에 대한 근사 알고리즘을 갖습니다 .Δ + 1 Δ Δ + 1 M i n i m u m - E d g e C o l o r i n g 1
이 예는 예외입니다. 작은 절대 오차는 드물기 때문에 최적화 문제 인스턴스 에 대해 근사 알고리즘 의 상대 오차 를 모든 및 에 대해A x O = ( X , L , f , o p t ) f ( x , y ) > 0 x ∈ X y ∈ L ( x )
여기서 는 근사 알고리즘 의해 계산 된 실행 가능한 솔루션 입니다.A
이제 근사 알고리즘을 정의 할 수 최적화-문제에 대한 로 -approximation 알고리즘 에 대한 의 상대 오차가 있으면 에 의해 경계된다 모든 인스턴스 대해 이므로 O = ( X , L , f , o p t ) δ O ϵ A ( x ) δ ≥ 0 x ∈ X ϵ A ( x ) ≤ δ
의 선택 상대 오차 정의의 분모를 최대화하고 최소화 정의 대칭을 만들기 위해 선택되었다. 상대 오차 입니다. 최대화 문제의 경우 솔루션의 값은 절대로 보다 작지 않으며 보다 크지 않습니다. 최소화 문제에 대한ϵ A ( x ) ∈ [ 0 , 1 ] ( 1 − ϵ A ( x ) ) ⋅ f ( x , y ∗ ) 1 / ( 1 − ϵ A ( x ) ) ⋅ f
이제 다항식 시간으로 실행되는 에 대한 -approximation-algorithm 가있는 경우 최적화 문제 -approximable을 호출 할 수 있습니다 .δ A O
우리는 모든 인스턴스 에 대한 오류를보고 싶지 않고 최악의 경우 만 봅니다. 따라서 우리는 정의 의 최대의 상대 금지 오류 근사-알고리즘의 최적화-문제에 대한 될 ϵ A ( n ) A O ϵ A ( n ) = sup { ϵ A ( x ) ∣ | x | ≤ n } 입니다.
어디서인스턴스 의 크기 여야 합니다.
예 : 일치 하는 모든 정점 노드를 정점 커버에 추가 하여 그래프의 최대 일치를 최소 노드 커버 로 변환 할 수 있습니다 . 따라서가장자리가 덮여 있습니다. 최적의 것을 포함하는 각각의 정점 커버는 각각의 커버 된 에지의 노드 중 하나를 가져야하기 때문에, 그렇지 않으면 개선 될 수 있으므로, 있습니다. 그것은 그 다음 따라서, 최대 매칭을위한 그리 디 알고리즘은 인 -approximatio- 알고리즘 . 따라서 는 대략 입니다.
불행히도 다음 예에서 알 수 있듯이 상대 오차가 근사치에 대한 최상의 품질 개념 인 것은 아닙니다.
예 : 간단한 욕심 많은 알고리즘은 . 분석 결과 따라서 는 근사치입니다.
상대 오차가 가까우 면 다음과 같은 정의가 유리합니다.
하자 수와 활용 최적화 문제 모든 및 및 대한 근사 알고리즘 . 근사 비율 가능한 용액의 인스턴스 이다
우리가 근사 알고리즘 호출 전과 최적화 문제에 대한--approximation 알고리즘 근사 비율 만약 의해 제한된다 모든 입력 . 그리고 다시 한번 우리가있는 경우 -approximation-알고리즘 최적화-문제에 대한 다음 호출 -approximable을 . 다시 우리는 최악의 경우에만 신경을 최대 근사 비 을
최적의 및 와의 작은 편차의 경우 상대 오차는 근사 비보다 유리하며, 이는 큰 편차 및 대한 강도를 나타냅니다 .
하나의 버전에는 항상 과 다른 있으므로 두 버전의 -approximable은 겹치지 않습니다 . 정확한 솔루션을 생성하는 알고리즘에 의해서만 도달하고 결과적으로 근사 알고리즘으로 취급 될 필요가 없으므로 의 경우 문제가되지 않습니다.
다른 클래스는 종종 APX로 나타납니다 . 그것은 모든 최적화 - 문제의 집합으로 정의한다 에서 그 피난처 와 -approximation 알고리즘 다항식 시간에 실행합니다.
우리는 거의 끝났다. 우리는 복잡한 이론으로부터 축소 와 완성 이라는 성공적인 아이디어를 모방하고 싶습니다 . 관찰은 최적화 문제의 많은 NP-hard 결정 변형이 서로 환원 될 수있는 반면, 최적화 변형은 근사성에 대해 서로 다른 속성을 갖습니다. 이는 NP- 완료 감소에 사용 된 다항식 시간-카프 감소로 인해 목적 함수를 유지하지 않기 때문입니다. 그리고 목적 함수가 보존 되더라도 다항식 시간 감소는 솔루션의 품질을 변경할 수 있습니다.
필요한 것은 더 강력한 버전의 축소입니다. 최적화 문제 에서 인스턴스로 인스턴스를 뿐만 아니라 우수한 솔루션을 우수한 솔루션으로 다시 합니다.
따라서 우리는 정의 근사 보존 환원 두 - 최적화 문제 및 에서 . 우리는 전화 에 -reducible 로 작성, 두 가지 기능이있는 경우, 및 과 일정의 와 :
이 정의에서 와 는 솔루션 의 품질에 의존합니다 . 따라서 다른 품질의 경우 기능이 다를 수 있습니다. 이 일반성이 항상 필요한 것은 아니며 및 합니다.
최적화 문제에 대한 축소라는 개념이 생겼으므로 이제는 복잡한 이론에서 우리가 알고있는 많은 것을 전달할 수 있습니다. 예를 들어 우리는 것을 알고있는 경우 우리가 보여 는 그 다음 너무.
마지막으로 최적화 문제에 대해 -hard 및 -complete의 의미를 정의 할 수 있습니다.
하자 에서 최적화-문제 와 에서 최적화-문제의 클래스 다음 호출 -hard 에 대한 모든 경우 보유
따라서 우리는 다시 한 번 수업에서 가장 어려운 문제에 대한 개념을 갖습니다 . 놀라운 없음 -hard 문제라고하면 에 대하여 - 완전한 는 소자의 경우 .
따라서 우리는 이제 완성과 완성 에 대해 이야기 할 수 있습니다 . 물론 이제 우리는 의 역할을 담당 하는 최초의 문제를 보여 합니다. 그것은 것을 거의 자연스럽게 로 표시 할 수 - 완전한. 주치의-정리 하나의 도움도 있음을 보여줄 수있는 입니다 - 완전한.
일반적으로 표시되는 것은 문제의 "갭"버전의 NP- 경도입니다. 예를 들어, SET COVER를 2의 계수 내로 근사하기 어렵다는 것을 보여주고 싶다고 가정하십시오.
2-GAP-SET-COVER라고하는 SET COVER의 다음 "약속"인스턴스를 정의합니다.
숫자 수정하십시오 . 2-GAP-SET-COVER는 최적 세트 커버의 크기가 다음 중 하나 인 세트 커버의 모든 인스턴스로 구성됩니다.
문제가 발생하는 두 가지 경우를 결정하는 문제가 NP- 완전임을 보여줍니다. 그런 다음 SET COVER를 2의 인자 이내로 근사하는 것은 NP-hard라는 것을 보여주었습니다. 우리는 이러한 알고리즘을 사용하여이 두 경우를 구별 할 수 있기 때문입니다.
기존의 두 가지 답변은 매우 유익하지만 두 가지 중 어느 것도 실제로 질문에 대답하지 않는다고 생각합니다. ? "
답은 NP-hard의 의미를 기억하는 것입니다. NP의 모든 문제를 로 줄일 수 있다면 어떤 종류의 축소에서 문제 은 NP-hard 입니다. (그리고 NP-hard와 NP에서 은 NP-complete입니다.) NP에서 t. NP 경도는 NP 멤버십이 필요하지 않지만 올바른 감축 개념이 필요합니다.
몇 가지 예.