Hidoku NP가 완료 되었습니까?


15

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


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

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

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

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

"목표는 그리드 에서 연속 정수 ( 에서 ) 의 경로를 찾는 것입니다 "? N 21엔2
— 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 i ≤ n 2 ; 이 세 개의 각각의 크기는 lg n + lg n + lg n 2 = 4 lg n ∈ O ( lg n ) 의 크기이므로,초기 값의 Ω ( n ) 3 자이상을 지정하지 않으면총 입력 크기는 실제로 o ( n(엑스나는,와이나는,승나는):엑스나는,와이나는≤엔,승나는≤엔2(엑스나는,와이나는)승나는lg⁡엔+lg⁡엔+lg⁡엔2=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.