컴퓨터 지원 NP- 완전성 증명에 대한 궁금


22

Thomas J. Schaefer 의 논문 "만족도 문제의 복잡성" 에서 저자는

This raises the intriguing possibility of computer-assisted NP-completeness proofs. Once the researcher has established the basic framework for simulating conjunctions of clauses, the relational complexity could be explored with the help of a computer. The computer would be instructed to randomly generate various input configurations and test whether the defined relation was non-affine, non-bijunctive, etc.

물론 이것은 제한 사항입니다.

The fruitfulness of such an approach remains to be proved: the enumeration of the elements of a relation on lO or 15 variables is Surely not a light computational task.

나는 궁금하다

  1. "컴퓨터 보조 NP- 완전성 증명"이라는 아이디어를 개발하기위한 후속 연구가 있습니까? 최첨단 기술은 무엇입니까 ( 또는 )? Schaefer가 "컴퓨터 지원"NP-Completeness 증거 (적어도 삭감에 대한 아이디어)를 제안했기 때문에 이러한 삭감의 기본 원리 / 구조 ( 또는 )? 그렇다면 무엇입니까? 3- 파티션 SAT 3SAT 3- 파티션3SAT3-Partition
    SAT3SAT3-Partition
  2. 컴퓨터 보조원으로 NP 완성도를 입증 한 경험이 있습니까? 아니면 누구나 인공적인 예를 만들 수 있습니까?

3
"컴퓨터 지원"증거와 같은 것은 아니지만 SAT 솔버를 사용하여 축소에 사용 된 가제트의 올바른 동작을 확인하여 이진 퍼즐, 텐트, 롤링 큐브 자유 세포없는 퍼즐, 그물; 마지막 두 개는 매우 복잡한 도구입니다.
Marzio De Biasi 2016 년

1
그것은 좁게가 아니라 광범위하게 해석된다면 현재 이와 관련하여 현재 1978 년 논문이다. SAT 및 NP 완료 문제에 대한 많은 경험적 분석이 있습니다. 전환점 연구는이 아이디어의 큰 표현으로 볼 수 있습니다. 또한 SRT의 Erdos 불일치 문제에 대한 최근의 돌파구가있었습니다. 또 다른 새로운 영역은 SAT로 인코딩 된 작은 정렬 네트워크를 찾는 것입니다. 또 다른 예는 팩토링 및 학습 인스턴스와 같이 어려운 문제를 SAT로 변환하는 것입니다. 아무도이 모든 것에 대한 큰 설문 조사를 작성하는 것을 보지 못했습니다. 이 중 일부를 해답으로 만들려고 할 수 있습니다.
vzn

1
@MarzioDeBiasi 이와 관련하여 경험을 공유하고 싶습니까 (SAT 솔버를 사용하여 가젯을 확인하는 것도 좋습니다)? 감사.
hengxin

@vzn 매우 흥미롭고 신나게 들립니다. 답변을 기대합니다. 미리 감사드립니다. 원하는대로 광범위하게 해석 할 수 있으며 게시물을 편하게 편집하여 좋은 답변에 더 매력적으로 만들 수 있습니다.
hengxin

1
Trevisan et al.의 멋진 논문이 있습니다. 그 LP 사용하여 구조 최적의 가제트 : theory.stanford.edu/~trevisan/pubs/gadgetfull.ps을
디에고 드 에스트라다

답변:


22

질문 2에 관해서는, 컴퓨터 보조자와 관련된 완전 증거 의 적어도 두 가지 예가 있습니다.NP

Erickson과 RuskeyDomino Tatami Covering 이 NP-complete 라는 컴퓨터 지원 증거를 제공했습니다 . 그들은 평면 3-SAT에서 다다미 도미노 덮개로 다항식 시간을 단축시켰다. SAT-solver (Minisat)를 사용하여 축소에서 가제트 검색을 자동화했습니다. 다른 증명은 알려져 있지 않습니다.NP

Ruepp와 Holzer 는 연필 퍼즐 Kakuro가 완전 하다는 것을 증명했습니다 . 증명 의 일부 는 SAT-solver (다시 Minisat)를 사용하여 자동으로 생성되었습니다.N PNPNP


1
Mulzer와 Rote의 "최소 가중치 삼각 측량은 NP-hard"입니다. 컴퓨터는 가제트의 정확성을 설정하는 데 사용되었지만 가제트는 "수동으로"발견되었을 수 있습니다.
Juho


13

위의 의견에서 :

나는 제약 프로그래밍 을 위해 Choco Java 라이브러리를 사용하여 바이너리 퍼즐, 텐트, 프리셀이없는 롤링 큐브 퍼즐, Net과 같은 퍼즐의 NP- 완전성을 증명하는 데 사용되는 가제트의 올바른 동작을 확인했습니다. 아직 출판 할 시간이 없었지만 초안은 내 블로그에서 구할 수 있습니다.

01n×n

(A) PLANAR SAT를 소스 NPC 문제로 사용하려는 경우 논리 게이트 (AND + OR) 및 링크; 또는

(B) 그리드 그래프에서 HAMILTONIAN CYCLE을 소스 NPC 문제로 사용하려는 경우 정확히 1 개의 입구와 1 개의 출구가 동시에 활성화 될 수있는 3 도의 노드 (이 경우 다른 노드가 있어야합니다. "연결된 경로"를 강제하는 조건).

두 경우 모두 가제트의 경계를 수정하는 초기 구성을 사용하고 (원치 않는 상호 작용을 금지) 중앙 요소 (또는 요소 그룹)를 통해서만 인접한 두 가제트 간의 상호 작용을 허용합니다. 이러한 중심 요소의 구성은 (A) 경우 논리 값을 나타내거나 (B) 경우 순회를 나타내야합니다.

예를 들어 AND를 모델링하려면 다음을 수행하십시오.

***C***   *=fixed elements (initial config. of the puzzle)
*xxxxx*   x=internal logic (some elements can be fixed,
AxxxxxB     other must be completed/traversed)
*xxxxx*   A,B,C=elements shared with adjacent gadgets
*******

이 시점에서 SAT 솔버를 사용하여 가제트를 확인하려면 (CPL을 사용하는 것이 좋습니다) 퍼즐 규칙을 구현 한 다음 A, B, C가 가능한 모든 값 조합을 취할 때 만족도를 확인하면 충분합니다. 그들이 원하는 행동과 일치하는지 확인하십시오. 예를 들어 AND의 경우, C가 true (C는 논리 값 true를 나타냄) 인 모든 가젯 유효 (만족 가능) 구성에서 A와 B는 모두 true 여야합니다.

가제트가 매우 복잡한 경우 (예 : 롤링 큐브 퍼즐) 제대로 작동하는지 확인하는 유일한 방법이라고 생각합니다 (NPC 증명이 올바른지).


11

나는 학사 학위 논문에서 컴퓨터 보조 NP- 완전성 증명을 해냈습니다!

나쁜 부분-러시아어로되어 있고 영어로 번역되지 않았습니다. http://is.ifmo.ru/diploma-theses/_dvorkin_bachelor.pdf

2D 문제에서 논리 게이트로 작업했습니다. 계획은 다음과 같습니다

  • 문제에서 "와이어"모양을 수동으로 디자인하십시오.
  • 매우 지능적이고 최적화 된 검색 (사실 프로파일 세트에 대한 동적 프로그래밍)을 사용하여 필요한 모든 논리 게이트를 자동으로 설계하십시오.
  • 이익!

코드는 https://code.google.com/p/metadynamic-programming/

이 방법으로 와이어를 설계하고 특정 2D 문제의 규칙을 코딩하기위한 수동 작업만으로 NP의 완성도를 입증 할 수있었습니다.

  • 지뢰 찾기
  • 가로 도미노 및 세로 트리노가있는 덮개 영역
  • kk4k[4,6]

2
가제트 자동 생성에 대한 논문을 게시하지 않더라도 논문의 간단한 요약을 영어로 작성하고 파일을 코드 저장소에 포함시키는 것이 좋습니다.
András Salamon

-4

질문자는 그가 답변에 쉐퍼 진술에 대한 더 광범위한 해석에 동의한다고 표시했다. 우연히도 인근 주제에 대한 블로그 링크를 수집하고 있으며 여기에 글을 쓸 것입니다.

원래의 진술 (sec 7 p225)은 "이분법 (dichotomy thm)"2.1을 사용하여 2 개의 채색 가능한 완전 매칭 thm 7.1로부터 NP 완전 감소의 예와 같이 그 의도가 명확하다.

F(x)

F(x)x

1978 년 이후의 많은 연구 분야에서 이러한 일반적인 아이디어가 자라나고 탐구 된 것으로 볼 수있는 광범위한 관점을 가지고 있다. Schaefers 종이를 쓸 때. 1 일 개 한 일반 아이디어는 인스턴스 생성기 / 해법 / 분석기를 통해 NP 완전성 특성의 경험적 분석 .

  • 여기에서 가장 큰 연구 영역은 임의의 SAT 인스턴스에 관한 것이며 SAT 솔버 성능을 살펴보면 1990 년대 중반의 전환점을 발견하게되었으며, 나중에 통계 물리학과 밀접한 관련이 있고 명백하게 편 재적 / 내재적 / 기본적 측면으로 나타남 모든 NP 완전한 문제의 특성 . 이 분야에는 많은 논문이 있고 지금은 몇 권의 책이 있습니다. 예를 들어 정보, 물리 및 계산 Mezard / Montanari

  • 만족도 문제 분석 또는 만족도 문제에 대한 더 나은 통찰력을 얻기 위해 그래프 사용 , Herwig 2006 (83pp). 이것은 생성 된 SAT 인스턴스의 변수 절 그래프 구조를보고 경도와의 상관 관계를 찾기 위해 구조 / 메트릭스를 분석하는 다른 공개 된 연구를 통해 다소 참신한 접근 방식입니다.

  • 추측하기 어려운 문제를 가져 와서 SAT 인스턴스로 인코딩 한 다음 구조를 조사하거나 SAT 솔버를 실행하고 SAT 솔버의 동적 동작을 관찰 할 수 있습니다. 이 작업이 처음 수행 된 시점을 파악하기는 쉽지 않았지만 초기 사례는 아마도 1990 년대 중반 정도의 팩토링과 관련이 있으며 이러한 사례는 DIMACS SAT 솔버 대회에서 나타났습니다. 불행히도 이것은 당시에 별도로 출판 가능한 연구 결과로 간주되지는 않았습니다. 몇몇 SAT 논문에는 암시가있다.

    예 : 만족 참조 : Stefan Schoenmackers, Anna Cavender의 Satisfiability Solvers사용한 소인수 분해를 시도하는 시도정수 인수 분해 문제를 NP 전체 문제로 줄이는 cs.se 질문 & 이).

2 있다 Schaefers 오래된 문에 내재 된 또 다른 현대 일반적인 생각 / 씨앗 SAT 인스턴스로 변환하여 일반 하드 알고리즘 또는 수학 문제를 공격하고, 상용 전원을 사용하는 (그러나 최첨단) SAT 솔버 (즉, SAT 해석은 문자 그대로 SAT 공식 솔루션이 "이론"과 같은 것을 증명 하는 컴퓨터 자동화 정리 의 논리 / 수학에서 가장 초기의 사례 중 하나로 간주 될 수 있습니다. 이면에서 성공.

  • 에르 도스 불일치 문제 무작위 행보에 경계와 관련된 매우 어려운 진행이 분석 방법으로 제한되고, SAT와 소설 / 전례없는 경험적 접근 방식은 최근 관련 개방 문제에 대한 몇 가지 중요한 결과를 달성하기 위해 찍은, 많은으로 경축 진정한 돌파구. Erdos 불일치 추측 Konev, Lisitsa 에 대한 SAT 공격

  • 최적의 정렬 네트워크에 대한 연구는 수십 년 전으로 거슬러 올라가며, 최소한의 크기의 네트워크에는 주어진 수의 요소를 정렬하기위한 자연스럽고 어려운 문제가 있습니다. 지난 몇 년 동안 SAT 인스턴스로 변환하고 표준 솔버를 실행하는 데 최근에 큰 진전이있었습니다. 최적의 정렬 네트워크에 새로운 경계 Ehlers, 뮐러는 다른 최근 연구를 인용한다.

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