서로에 대한 문제를 줄이는 일반적인 기술은 무엇입니까?


40

계산 및 복잡성 이론 (및 기타 분야)에서 감소는 어디에나 있습니다. 이 많은 종류가 있지만 원칙은 동일하게 유지 : 하나의 문제가 있음을 보여 다른 문제로 하드로 적어도입니다 에서 매핑 인스턴스에 의한 의 솔루션 상응하는 것들 . 기본적으로 대한 모든 솔버 가 축소 기능을 전처리 사용할 수 있도록 허용하면 도 해결할 수 있음을 보여줍니다 .L1L2L2L1L1L2

나는 지난 몇 년간 감축에 대한 나의 몫을 해왔고, 무언가가 계속 나를 괴롭힌다. 모든 새로운 축소 작업에는 창의적인 구성이 필요하지만 반복되는 느낌이들 수 있습니다. 정식 방법의 풀이 있습니까?

축소 함수를 구성하기 위해 정기적으로 사용할 수있는 기술, 패턴 및 트릭은 무엇입니까?

이것은 참조 질문 이 될 것 입니다. 따라서 적어도 하나의 예에 의해 설명되어 있지만 많은 상황을 다루는 일반적이고 교훈적으로 제시된 답변을 제공하도록주의하십시오. 감사!


적합한 파트너를 찾고 감축에 대한 아이디어를 얻으려면 여기 를 참조 하십시오 .
Raphael

답변:


18

특별한 경우

감소 개념과 관련하여 를 표시한다고 가정합니다 . 경우 A는 특별한 경우 의 , 그것은 매우 간단하다 : 우리가 본질적으로 식별 기능을 사용할 수 있습니다. 이것의 직관은 분명하다 : 일반적인 경우는 특별한 경우만큼 어렵다.L1RL2RL1L2

"연습"에서 우리는 를 받고 좋은 감소 파트너 을 고르는 문제 , 즉 입증 된 의 특별한 사례를 찾는 문제에 갇혀 있습니다 .L2L1L2R

간단한 예

KNAPSACK 이 NP-hard 임을 보여주고 싶다고 가정합니다 . 다행히도 SUBSET-SUM 은 NP-complete이며, KNAPSACK의 특별한 경우입니다. 감소

f(A,k)=(A,(1,,1),k,|A|)

충분하다; 우리는 적어도 값 달성 할 수 있는지 여부를 묻는 배낭 인스턴스 에 항목 값 정도로에서 해당 가중치 것을 아래 남아 합계이다. SUBSET-SUM을 시뮬레이션하기 위해 가중치 제한이 필요하지 않기 때문에 타우 톨 로지 값으로 설정하면됩니다.(V,W,v,w)vVWw

간단한 운동 문제

막스 3SAT 문제를 고려 명제 식 주어진 및 정수 의 해석이 있는지 여부를 결정 이 충족 적어도 조항. 그것이 NP-hard임을 보여라.φkKφk

3SAT는 특별한 경우입니다. 와 의 절 수 충분하다.m φf(φ)=(φ,m)mφ

우리가 SUBSET-SUM 문제를 조사하고 있고 그것이 NP-hard라는 것을 보여주고 싶다고 가정하자 .

우리는 운이 좋으며 PARTITION 문제 가 NP- 완전 하다는 것을 알고 있습니다. SUBSET-SUM의 특별한 경우 인 것을 확인하고 공식화합니다

f(A)={(A,12aAa),aAamod2=0(A,1+aA|a|),else

여기서 는 PARTITION의 입력 세트이며, 는 SUBSET-SUM에 대한 인스턴스로서 합집합을 합니다. 여기서 우리는 피팅 가없는 경우를 처리해야한다 . 이 경우 임의의 실행 불가능한 인스턴스를 제공합니다.A(A,k)Akk

운동 문제

문제 최장 경로를 고려해 유향 그래프 주어진 , 노드 의 및 정수 에서 간단한 경로가 있는지를 결정 에 에서 적어도 길이 .Gs,tGkstGk

LONGEST-PATH가 NP-hard임을 표시하십시오.

HAMILTON-CYCLE 은 잘 알려진 NP- 완전 문제이며 LONGEST-PATH의 특별한 경우입니다. 임의의 노드에 대한 의 충분하다. 특히 HAMILTON-PATH를 줄이려면 더 많은 작업이 필요합니다.f(G)=(G,v,v,n)vG


2
다음 은 특별한 경우로 많은 어려움을 겪고있는 여행 구매자 문제 (TPP)라고하는 예입니다.
Juho

계산 성의 또 다른 예는 일반적인 정지 문제의 특수한 경우 인 특수 정지 문제 (보통 직접 결정 불가능한 것으로 입증 됨)입니다.
Raphael

KNAPSACK이 실제로 SUBSET-SUM에서 올바른 축소입니까? KNAPSACK은 값 요구하고 SUBSET-SUM은 정확한 값을 요구합니다. 예를 들어 SUBSET-SUM 인스턴스 은 'no'- 인스턴스 (값이 5 인 한 항목에서만 정확히 4를 얻을 수는 없음)이지만 KNAPSACK 감소로 인해 and 이므로 '예'인스턴스가 될 것입니다. 아니면 뭔가 빠졌습니까? >=v{5},4{5},{1},4,15>4
johnny

15

알려진 주변 문제 활용

어려움을 겪고있는 문제에 직면했을 때 이미 이미 입증 된 유사한 문제를 찾아 보는 것이 좋습니다. 또는 문제가 알려진 문제와 매우 유사하다는 것을 즉시 알 수 있습니다.

문제 예

문제를 고려

DOUBLE-SAT={φφ is a boolean formula with at least 2 satisfying assignments }

우리는 -complete입니다. 우리는 이미 알고있는 문제, 즉 만족도 문제 (SAT)에 매우 가깝습니다 .NP

의 멤버쉽 은 간단합니다. 인증서는 두 가지 과제입니다. 할당이 수식을 만족하는지 여부를 다항식 시간으로 확인할 수 있습니다.NP

NP 경도는 에서 줄어든 결과입니다 . 수식 주어지면 새 변수 도입 하여 수식 을 수정합니다 . 수식에 새 절 을 추가합니다. 이제 가 만족 및 모두로 만족할 수 있습니다 . 따라서 에는 최소한 2 개의 만족스러운 과제가 있습니다. 반면, 가 만족 않으면 값에 관계없이 만족스럽지 않을 것 입니다.SATφv(v¬v)φv=⊥v=φφv

그 다음 입니다 우리가 보여주고 싶었다 무엇 인 - 완전한.DOUBLE-SATNP

주변 문제 찾기

문제를 줄이는 것은 일종의 예술이며 경험과 독창성이 종종 필요합니다. 다행히도 많은 어려운 문제들이 이미 알려져 있습니다. Garey and Johnson의 컴퓨터 및 다루기 힘든 : NP- 완전성 이론 안내서 는 부록에 많은 문제가있는 고전적인 것입니다. Google Scholar 는 친구이기도합니다.


6

계산 가능성에서 종종 튜링 머신 세트를 조사합니다. 즉, 객체는 함수이며 Gödel 번호 매기기에 액세스 할 수 있습니다 . 계산 가능한 상태를 유지하는 한 입력 기능으로 원하는 것을 거의 할 수 있기 때문에 좋습니다.

결정할 수 없다는 것을 보여주고 싶다고 가정하자 . 우리의 목표는 운명의 등가에 도달하는 것입니다L

MKfML

와 중단 문제 (또는 다른 결정 불가능한 언어 / 문제).K={MM(M) halts}

따라서 이 항상 계산 가능하도록 계산 가능한 매핑 을 합니다. 이것은 운명의 동등성에 의해 알려진 창조적 인 행위입니다. 이것이 어떻게 작동하는지에 대한 아이디어를 얻으려면 몇 가지 예를 참조하십시오.MfMfM

같은 방법으로 반 파트너가 아닌 언어를 축소 파트너로 선택하여 세미 결정할 수 없음 을 나타냅니다 ( 예 : :LK¯


  1. 이것은 Gödel 번호 매기기가 나오는 곳입니다. 우리는 (일반적으로)이 매핑의 계산 가능성을 무료로 얻습니다.

-2

이것은 관련된 복잡성 클래스에 따라, 하나는 주어진에서 감소하고 싶어 여부 알 수없는에 , 또는 알 수없는 주어진에 . 일반적인 시나리오는 NP Hard 또는 NP Complete 문제를 증명하는 것입니다. 일반적인 기술은 특정 도메인에서 "가제트"를 구성하여 다른 도메인의 동작을 모방하는 것입니다. 예를 들어 다음과 같은 슬라이드 쇼에 예를 들어 SAT의 조항과 유사 정점 커버에 정점 커버, 하나 개의 구조 '가젯'에 그 행동하라를 SAT를 변환하는 경우 : NP 전체 감축을 Krishnamoorthy에 의해 (또한 해밀턴 경로에 대한 예제와 함께).ABBA

유용한 전략은 문제의 복잡성 클래스에서 발생하는 많은 문제 모음에서 작업하고 연구중인 문제에 대한 "가장 가까운 문제"를 찾는 것입니다. 이 라인들에 대한 훌륭한 참고 자료는 다양한 문제 유형별로 조직 된 NP 완전성 이론, Garey와 Johnson에 대한 가이드 인 Computers and Intractability 입니다.


2
질문에 각주가 있는지 궁금합니다. 대답은보다 구체적이어야하며 특정 방법이 어떻게 적용되는지 보여줍니다. 이것은 꽤 모호하고 일반적인 것 같습니다. 개선 사항으로 가제트를 구성하고 사용하는 방법을 어떻게 알 수 있습니까?
Juho

2
또한 왜 복잡한 클래스에 의존 하는가와 그 이유를 설명 할 수 있습니다. 또한, 나는에서 가고 싶은 경우 어떻게 에 또는 에 그때 나는 무엇을해야합니까? "가장 가까운 문제"는 어떻습니까? 한 쌍의 문제에 대한 예를들 수 있습니까? ABBA
Juho

파워 포인트는 사용되는 가제트의 두 가지 예를 보여줍니다. 가장 가까운 문제의 예 : 숫자 이론과 관련된 문제가 있다고 가정합니다. 숫자 이론과 관련된 G & J 섹션이 있습니다. 등. NP 외부의 다른 복잡성 클래스에 대해서는 많은 것이 있지만 문제 목록은 철저하거나 쉽게 얻을 수 없습니다. 다시 말해서, 원래의 질문을 좁히는 것은 아마도 NP 완전 감소로 제한되어야 하는가?
vzn

2
의견은 언제든지 삭제 될 수 있으므로 모든 정보를 답변에 추가하는 것이 좋습니다. 슬라이드 링크가 내일 중단 될 수 있습니다. 주변 문제로 얻은 것 : 비슷한 모양의 문제를 발견하면 정확히 무엇을해야합니까 (총 초보자라고 가정)?
Juho
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.