문제는 3-SAT를 줄임으로써 적어도 NP-hard입니다.
먼저 경로가 절의 세 (사각형) 노드를 모두 방문 할 수 없다는 제한과 함께 다음 지시 된 그래프 의 시작 에서 종료 까지 경로를 찾는 문제를 고려하십시오 .
( X1 ∨ X2 ∨ X3 ) ∧ ( X1 ∨ ¬ X2 ∨ X4 )
이 그래프를 스위치 네트워크로 변환합니다. 이를 위해 세 가지 가젯을 사용합니다.
- 모든 원 노드와 양방향 에지는 Wire 가 되어 스위치 간의 연결을 형성합니다.
- 모든 방향 모서리는 단일 스위치로 구성된 단방향 가젯 이됩니다 (아래 참조).
- 모든 정사각형 노드는 조항 가젯의 일부인 3 개의 스위치 중 하나를 나타냅니다 (아래 참조).
다음 그림에서 스위치는 두 개의 들어오는 화살표로 그려지며 그 중 하나는 점선으로 표시됩니다 (비활성화 됨). 대상 방향은 검은 색 원으로 그려집니다 (실선 화살표는 결국 원의 측면에 있어야 함).
비고 : 우리가 사용하는 굵은을 구별하기 위해 종료 기기의 출구에서 그래프를.
의 경우 편도 가제트, 입학 출구에서 도달 할 수없는 Bㅏ비비ㅏ엑스1엑스2엑스삼엑스1'엑스2'엑스삼'
원래 그래프의 경우 출구로 이어지는 경로를 찾고 어떤 절의 세 정사각형 노드를 모두 방문하지 않은 경로 는 NP- 완료된 것임을 상기 하십시오. 이제 스위치의 목표 위치에 대해 걱정하지 않고 변환 된 그래프 의 종료 에 도달하는 문제를 고려하십시오 .
원래 그래프 문제에 대한 해결책 인 경로가 변환 된 그래프에 대한 해결책이기도합니다. 따라서 변환 된 그래프의 경로가 원래 그래프의 솔루션이 아니라고 가정하십시오. 두 가지 경우에 발생할 수 있습니다.
- 비ㅏ
- 경로는 일부 조항 가젯 의 세 경로를 모두 통과합니다 .
첫 번째 경우, 단방향 가젯은 먼저 의도 한 방향으로 순회되어야하는데,이 경우 경로는 처음에 순회하지 않았을 수 있습니다.
따라서 경로가 일부 조항 가젯 의 세 스위치를 모두 통과하는 두 번째 경우를 고려하십시오 . 그러면 해당 가제트에는 3 개의 스위치가 모두 뒤집어집니다 (아래 참조). 여기에서 목표 위치를 사용합니다. Clause 가젯 의 회색 백본 에 더 이상 도달 할 수 없습니다. 즉, 스위치를 더 이상 대상 위치로 지정할 수 없습니다. 이 경우이 조항 가젯을 복구 할 수 없습니다.
원래 그래프 문제의 해결책에 대해 변환 된 그래프의 스위치를 대상 위치에 배치 할 수 있음을 보여줍니다. 이를 위해 우리 는 해결책이 있거나 출구 조항 장치를 복구 할 수없는 경우에만 출구 와이어에 도달 할 수 있다는 사실을 이용합니다 .
대상 위치에 스위치를 배치하기 위해 이제 출구 와이어에서 기존의 모든 단방향 가젯 의 입구 와 모든 조항 가젯 의 3 개의 출구 와이어에 단방향 가젯을 추가 할 수 있습니다. 그런 다음 토큰이 Exit에 도달하면 모든 추가 단방향 가젯을 통과 (및 대상 위치에 배치)하고 나머지 스위치를 대상 위치에 배치 할 수 있습니다 (복구 할 수없는 절이없는 경우). 마지막으로 토큰은 종료로 돌아갈 수 있으며 퍼즐이 해결됩니다.
우리는 발언해야한다 절 untraversed 출구에서 입력 할 때 기기 만 복구 할 수 있습니다; Clause 가젯과 다음 변수 사이에 배치 된 단방향 가젯 으로 인해 Exit 와이어에 도달 할 때까지 발생할 수 없습니다 .
따라서 스위치 네트워크 문제는 NP-hard입니다.
문제가 NP 또는 PSPACE-hard인지 여전히 확실하지 않습니다. 평면 스위치 네트워크를 구성하는 NP 경도 감소는 모든 스위치가 아래의 Sokoban 가젯과 동일하기 때문에 Sokoban의 제한된 변형에 큰 영향을 미칩니다.