'제로원'직소 퍼즐은 NP- 완전합니까?


18

타일링의 약간의 변형 인 '지그 소 퍼즐'에 관심이 있습니다. (사각형) 타일의 각 가장자리에는 의 기호가 표시되어 있으며 두 개의 타일을 인접하게 배치 할 수 있습니다 한 타일의 마주 보는 가장자리에 있는 기호 가 k 이고 다른 타일의 마주 보는 가장자리에있는 기호ˉ k 인 경우 서로 k { 1 n } 입니다. 그런 다음 m 2 타일 세트가 주어지면 m × m에 배치 할 수 있습니다{1n,1¯n¯}케이케이¯케이{1}미디엄2m×m모든 모서리가 올바르게 일치하는 사각형 (회전하지만 타일을 뒤집지 않음)? (이 문제에는 4 개의 '프레이밍'에지가 제공되고 조각이 해당 프레임에 올바르게 맞아야 하는 변형이 있습니다 .)1×m

나는이 문제가 충분히 큰에 대한 NP-완료 알고 ,하지만 난에서 본 것을 경계 N은 상당히 큰 것 같다; 작은 값의 n 과 특히 n = 1 인 '제로 원'의 경우 (모든 모서리에 0 또는 1로 레이블이 지정 되고 0 이있는 모서리는 1 이있는 모서리와 일치해야합니다.nnnn=10101). 여기에는 6 개의 타일 유형 (모두 0 타일, 올 타일 타일, 3 개의 0과 1이있는 타일, 3의 1과 0이있는 타일, 2 개의 0이있는 2 개의 별개의 타일)이 있습니다 (회전 대칭) 두 가지 중 하나는 '0011'과 '0101')이므로 문제의 인스턴스는 의 사양 과 5 개의 숫자 T 0000 , T 0001 , T 0011 , T 0101 , T 0111T 1111 (카운트를 나타냄)입니다. T 0000 + T 0001 + T 0011 + T 의 각 타일 유형)미디엄000000010011010101111111 입니다. 솔루션은 간단하게 다항식 (m) 시간내에 전시되고 확인될 수 있지만 NP- 완전한 것으로 알려져 있거나 동적 프로그래밍 알고리즘이있을수 있기 때문에문제는 분명히 NP (단항으로 주어진m과 함께)에 있습니다. 여기에 적용됩니까? 문제 사양에 정사각형의 네 모서리가 포함 된 '프레임'사례는 어떻습니까? (프레임되지 않은 케이스가 NP- 완료된 경우 프레임 된 케이스도 거의 확실합니다)0000+0001+0011+0101+0111+1111=미디엄2미디엄미디엄


2
가능한 입력이 이기 때문에 NP- 완료 될 수 없으며 Mahaney의 정리에 따르면 NP- 완전 문제를 만들기 위해 그보다 더 많은 것이 필요합니다 (P = NP가 아닌 경우). 그러나 프레임을 사용하면이 장애물이 사라집니다. 따라서 프레임이 NP- 완전 할 수 있습니다. θ(미디엄10)
피터 쇼어

1
중간 단계는 부분적으로 채워진 6 타일 직소 퍼즐 (즉, 일부 조각이 이미 보드에 있고 움직일 수 없음)이 올바르게 완료 될 수 있는지 결정하는 문제가 NP- 완료임을 증명하는 것입니다.
Vor

답변:


3

작은 값의 대해이 문제를 해결하는 데 관심이 있다고 언급 했으므로 SAT 솔버 또는 정수 선형 프로그램 (ILP) 으로이 문제를 구현하는 것이 좋습니다. 제약 조건을 인코딩 할 수 있지만 약간 다른 방식으로 인코딩 할 수 있습니다.

  • SAT의 경우, 어떤 타일이 각 정사각형에 들어가는지를 매우 깨끗하게 인코딩하고, 각 종류의 타일 수 (비트 산술 사용)에 대한 제약을 약간 덜 깨끗하게 인코딩합니다.

  • ILP의 경우, 사용 가능한 각 종류의 타일 수와 관련하여 제약 조건을 매우 깨끗하게 인코딩하고 타일이 서로 인접 할 수있는 제약 조건을 약간 덜 깨끗하게 인코딩합니다 (그러나 여전히 표현 가능합니다. ILP에서 임의의 부울 수식을 표현하십시오).

중소형 의 경우이 접근법이 효율적으로 작동 할 것으로 기대합니다 .


나는 이것이 문제 를 해결 하는 합리적인 수단처럼 보이지만 , 문제의 복잡성을 이해하는 것보다 문제의 사례를 구체적으로 해결하는 데 관심이 적습니다. (예를 들어, P에 있다면 문제에 대한 추상 SAT / 선형 프로그래밍 솔버를 직접 능가하는 일종의 동적 프로그래밍 접근법이 거의 확실합니다.)
Steven Stadnicki

@StevenStadnicki, 알았어, 충분 해. 그러나 나는 ~ "(점수 적) 복잡성 (예 : NP- 완전한지)을 이해하는 데 관심이있다"와 ~ "작은 값의 에 대한 문제에 관심이있다 " .
DW

죄송합니다. 문제 사양에 약간의 혼란이있을 수 있습니다. 나는 을 사용하여 가장자리 모양 의 수를 표시 하고 특히 일치하는 가장자리 모양이 하나 뿐인 경우 ( 'innie'또는 'outie'생각)에 관심이 있습니다. 나는의 복잡성에 대해 궁금 해서요 의 함수로 문제 m , 격자 크기. 미디엄
Steven Stadnicki

@StevenStadnicki, 아, 내 실수! 죄송합니다. 충분히 읽어 보지 못했습니다. 말이 되네요. 감사합니다.
DW

걱정할 필요가 없습니다-나는 그것을 미리 고려해야했습니다. 집에 도착하면 더 '전통적인'매개 변수를 사용하도록 질문을 편집하려고합니다.
Steven Stadnicki
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.