스도쿠 퍼즐 솔루션을 찾는 것과 솔루션이 고유 한 솔루션임을 증명하는 것 사이에는 얼마나 복잡한 차이가있을 수 있습니까?


14

따라서 일반적으로 스도쿠는 이지만이 질문은 퍼즐 까지 확장됩니다 . 스도쿠 퍼즐에 대한 해결책을 찾는 데 많은 다항식 시간 공제 규칙이 있습니다. 그러나 때로는 값을 추측하고 일련의 결론을 내려야 셀 값 또는 셀 값 조합을 제거 할 수 있습니다. 그러나 유효한 솔루션을 찾은 후에도 솔루션이 고유하다는 보장은 없습니다. 유효한 스도쿠 퍼즐에는 유효한 솔루션이 하나만 있어야하지만 임의의 퍼즐을 생성 할 때 확인을 위해 추가 계산이 필요할 수 있습니다.9×92×2>

따라서 제 질문은 특정 다항식 시간 공제 규칙 세트 (예 : 스도쿠 전략에 설명 된 가장 일반적인 세트)와 값 추측 및 결론에 따라 허용하는 것이 얼마나 어려운지를 결정하는 것입니다. 고유하지 않은 솔루션의 수 측면에서 하나의 솔루션을 찾는 것과 비교하여 주어진 퍼즐에 대한 고유 한 솔루션? 특정 등급의 퍼즐에 대해 점근 적 차이가 있습니까?

답변:


14

미디엄미디엄


고마워, 나는 내 질문을 정확하게 공식화했는지 확실하지 않았지만 이것은 머리에 못을 박았다. 따라서 하나의 솔루션을 찾더라도 다른 솔루션이 있는지 아는 것은 NP-complete입니다. 깨끗하고 깔끔합니다! 감사합니다, +1
user2566092

1

올바르게 이해하면 소프트웨어에서 생성 한 스도쿠 퍼즐이 올바른지 확인하려고합니다.

"유효한"것만 관심이 있다면 Yuval Filmus는 이미 그것이 NP 완료라는 증거를 지적했습니다.

그러나 사람이 해결할 수있는 새로운 스도쿠 퍼즐을 찾는 것이 문제가되지는 않습니다. (로직을 사용하여 퍼즐을 풀 수 없기 때문에 많은 값을 추측하는 것은 재미가 없습니다!) 따라서 개인적으로 나는 추측의 수를 최대 4로 제한하고 가질 수없는 퍼즐을 거부합니다 당신이 생각하는 것의 한계 내에서 독특한 솔루션은 합리적입니다.

위의 작업을 수행하고 표준 역 추적을 사용하여 가능한 모든 추측을 방문하고 (한도 내에서) NP 완료보다 훨씬 쉬운 솔루션이 하나만 있음을 보여줍니다.

또한 필요한 추론 규칙의 복잡성과 필요한 추측 수를 기반으로 퍼즐이 얼마나 어려운지 평가할 수 있습니다.


0

퍼즐이 독특하다는 것을 증명하기 위해 추측해야하는 모든 셀은 분기되어야합니다. 단순히 답을 찾기 위해 검색을 할 때, 이것은 일반적으로 역 추적을 통해 이루어지며, 솔루션은 의사 결정 트리의 첫 번째 경로이며 전체 보드로 연결됩니다. 고유성을 증명하려면 하나의 경로 만 유효한 솔루션으로 연결됨을 보여 주어야합니다. 이것은 런타임 측면에서 정의하기가 매우 어려운 곳입니다. 복잡성은 당면한 실제 문제와 밀접한 관련이 있습니다. 발생할 가능성이 거의없는 순수한 최악의 시나리오를보고 있다면 동일한 복잡성으로 간주 될 수 있습니다.

최악의 시나리오에서 해결을 수행 할 때 솔루션은 검색 가능한 트리의 마지막 가능한 분기 내에 있습니다. 트리를 찾기 위해서는 전체 트리를 검색해야했으며, 고유성을 검색하려면 동일한 경로를 통해 동일한 검색이 필요합니다.

그러나 실제로는 그렇지 않으며, 조합 설계 검색과 관련된 거의 모든 경우에서 하나의 솔루션을 검색하는 것이 모든 솔루션을 검색하는 것보다 항상 빠릅니다.

일반적으로 이러한 두 가지 문제는 모두 급격한 런타임에 지수 런타임으로 확고하게 자리 잡고 있습니다.

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