Hidoku NP가 완료 되었습니까?


15

Hidoku는 1에서 사이의 미리 채워진 정수 가있는 격자입니다 . 목표는 그리드 에서 연속 정수 (1 ~ ) 의 경로를 찾는 것입니다 . 보다 구체적으로, 그리드의 각 셀은 1에서 까지의 서로 다른 정수를 포함해야 하며 값 각 셀은 값이 인접 셀을 가져야합니다 (대각선 일 수도 있음).n 2 n 2 n 2 z n 2 z + 1n×nn2n2n2zn2z+1

주어진 Hidoku를 해결할 수 있는지 여부를 결정하는 것이 NP입니까? 어떤 축소를 사용할 수 있습니까?

편집 : 의견에 따르면, 나는 약간의 설명을합니다. 셀 격자가 주어지면, 그들 중 일부는 이미 값 (1에서 n² 사이의 정수)을 포함합니다. 나머지 셀은 모두 1에서 까지의 정수로 채워야합니다. 따라서 두 셀의 값이 같지 않고 값이 z ≠ n² 인 모든 셀의 값이 z + 1 인 이웃을 갖도록해야합니다 . 즉, 셀을 채운 후 경로 1, 2, 3, \ cdots, n ^ 2를 찾아야합니다 . 논리적으로 각 셀을 방문하는 그리드에서. z n ² z + 1 1 , 2 , 3 , , n 2n2²+11,2,,,2

Hidoku woud의 예는 http://www.janko.at/Raetsel/Hidoku/018.c.gif 입니다. 이미 해결 된 Hidoku는 http://diepresse.com/images/uploads/3/f/7/586743/spectrumsommerraetsel_7august_hidoku_schwer_loesung20100810172340.gif입니다 . 여기서 내가 참조했던 경로를 볼 수 있습니다.


1
직관적으로, 그것을 많이 생각하지 않고 언뜻보기에 다항식이 가능합니다. 허용되는 값 ( 1,,2 ) 및 정점 ( V1,V ) 에 대한 동적 프로그래밍과 같은 것 . 시간 O (n ^ 3) 에서 해결할 수있는 소리 영형().
Pål GD

이는 \ mathbb {N} 에서 후속 노드 인 경우 노드를 에지로 연결하여 그래프와 동일하게 모델링 할 수 있습니다 . 그런 다음 해밀턴 경로를 찾고 있습니다. Itai 등의 그리드 그래프에서 Hamilton 경로에 따르면 . (1982)이 문제는 그리드 그래프에서 NP-complete입니다. 대각선 연결을 허용하므로 문제에 즉시 맞지는 않지만 잘못 표시됩니다.
Raphael

@Raphael은 생성 된 그래프가 DAG가 아닙니까?
Pål GD

이것이 어떻게 DAG인지 알 수 없습니다. 내가 이해하는 한, 입력은 (방향이없는) 그리드 그래프 (대각선 가장자리 포함)이며 목표는 경로에서 일부 노드의 위치가 지정된 해밀턴 경로를 찾는 것입니다.
George

@George Okey, 나는 그 질문을 그리드에서 값이 증가하는 최대 경로를 찾는 것으로 해석했습니다!
Pål GD

답변:


7

나는 그것이 -complete : Raphael에 의해 알 수 있듯이, 구멍 문제가있는 격자 그래프의 해밀턴 사이클 은 NP- 완료입니다 ( Alon Itai, Christos H. Papadimitriou, Jayme Luiz Szwarcfiter : 격자 그래프의 Hamilton Paths SIAM J 계산 11 (4) : 676-686 (1982) ).

따라서 구멍이 있는 그리드 그래프 사용하면 초기 고정 셀이 모든 짝수 대각선을 채우는 동등한 히 도쿠 게임을 쉽게 만들 수 있습니다. 빈 홀수 대각선은 원래 그리드 그래프 해당하는 무 방향 그래프를 형성하며 원래 그리드 그래프에 Hamiltonian 경로가있는 경우에만 Hidoku에 솔루션이 있습니다.G

여기에 이미지 설명을 입력하십시오

도 1 : 구멍 격자 그래프와 동등한 Hidoku 퍼즐 (블루 셀 (초기 고정 번째 셀을 나타내는 , 최초로 마지막이다), 백혈구 플레이어가 작성해야하는 세포이며, 보라색 라인은 초기 고정 번호 셀의 순서를 나타냅니다).1 14412×121144

보조 (채워진) 선을 아래쪽 또는 오른쪽에 추가하여 정사각형으로 만들 수 있습니다.

그리드 그래프에서 히 도쿠 퍼즐로 축소하는 또 다른 예 : 6x4 그리드 그래프는 더 큰 13x13 그리드에 포함됩니다. 짝수 대각선은 고정 숫자로 채워지고 나머지 자유 셀은 원래 그리드 그래프와 같습니다.

여기에 이미지 설명을 입력하십시오

변형 된 전체 그림은 여기에서 다운로드 할 수 있습니다 .

답변을 완료하기위한 추가 참고 사항 :

  • 이 문제는 Hidato라고도합니다 . 보드는 임의의 모양을 가질 수 있지만 (사각형 케이스의 일반화로 NP-hard로 유지됨);

  • Steven Stadnicki가 자신의 답변에서 올바르게 입증 한 것처럼 초기 부분적으로 채워진 그리드가 배열의 정수로 제공되지 않지만 간결한 표현으로 제공되는 경우 문제가 NP에 있음이 분명하지 않습니다 . 그러나 초기 보드가 합리적인 정수 표현 목록을 사용하여 제공된다면 분명히 NP에 있습니다 .×

  • 게임의 원래 규칙에 따르면 솔루션은 고유해야한다고 생각합니다 . 따라서 문제는 미국 (미국 하드)에 있으며 NP에는 없을 것입니다.

요약하면, 고유 한 솔루션 제약 조건을 삭제하고 정수 목록으로 초기 보드를 지정 하면 게임은 -완료입니다.N P2


이게 DAG 아닌가요? 질문을 완전히 이해하지 못했습니까?
Pål GD

@ PålGD : 아니요, DAG라고 생각하지 않습니다. 대각선 가장자리가있는 무 방향 그리드 그래프입니다. 게임은 부분적으로 채워진 보드로 시작하고 플레이어는 셀 1에서 시작하여 직교 또는 대각선 단계를 만드는 마지막 단계에 도달해야합니다 (그러나 규칙을 잘 기억하지 못합니다 ... 지금 확인합니다)
Vor

1
그러나 "연속 정수의 경로를 찾으십시오"라고 말합니다.
Pål GD

아마도 그것은 단순히 같은 셀을 두 번 방문 할 수 없으며 모든 셀을 방문해야 함을 의미합니다
Vor

"목표는 그리드 에서 연속 정수 ( 에서 ) 의 경로를 찾는 것입니다 "? N 212
Pål GD

2

하나의 미묘한 캐치 : 나는 보르의 대답은 NP-어려울 것이다 이유를 설명의 꽤 좋은 일을 생각하면서, 그것이 바로 문제가 있음을 분명하지 않다 당신이 입력 크기로 정의하는 내용에 따라, NP! 그리드 의 문제 규격은 실제로 크기 Ω ( n ) 일 필요는 없습니다 . 그것은 정수 n (크기 lg n )과 정수의 트리플렛 ( x i , y i , w i )으로 구성됩니다 : x i , y i×Ω()lg좌표가 ( x i , y i ) 셀의값이 w i 임을 나타내는 n , w in 2 ; 이 세 개의 각각의 크기는 lg n + lg n + lg n 2 = 4 lg n O ( lg n ) 의 크기이므로,초기 값의 Ω ( n ) 3 자이상을 지정하지 않으면총 입력 크기는 실제로 o ( n(엑스나는,와이나는,나는):엑스나는,와이나는,나는2(엑스나는,와이나는)나는lg+lg+lg2=4lg영형(lg)Ω() .영형()

Ω()

(유사한 문제에 대한 논의 는 cstheory.SE 사이트에서 간결한 Nurikabe의 복잡성대한 나의 질문을 참조하십시오 .)


1
단항으로 보드 크기를 지정하지 않으면 부당한 해석으로 생각납니다.
David Eisenstat

@DavidEisenstat 반드시 자연스런 해석은 아니지만 나에게 완벽하게 유효한 것 같습니다.
Steven Stadnicki

@StevenStadnicki : 나는 당신에게 동의합니다, 나는 최근에 cstheory.stackexchange.com에 게시 한 이진 퍼즐NP- 완전성 증거에 비슷한 메모 를했습니다. 비 단항 표현은 실제로 그렇게 합리적이지않지만 :-). 답변에 메모를 추가하겠습니다. 그리고 솔루션 고유성 문제도 해결해야합니다. 원래 규칙에 따르면 솔루션이 고유해야한다고 생각하기 때문입니다.
Vor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.