스도쿠 판을 생성하고자 합니다.
먼저 다음 알고리즘으로는 잘 안 됩니다.
각 81개의 세포에 {1, 2, ..., 9}를 후보로 두고,
하나의 세포 c를 선택하여 그것의 후보 중에 하나 e를 당선시키고,
c가 속한 행, 열, 그리고 네모에 속한 다른 세포들의 후보 고른 후보 중에서 e를 빼는 방법입니다.
이렇게 하면 후보의 갯수가 0이 되어버리기도 합니다.
후보의 개수가 1일 때 당선시키도록 하면, 스도쿠 규칙을 어기는 경우가 생깁니다.
그래서 생각해 낸 방법이 섞기 입니다.
먼저 스도쿠의 한 해를 S라 합시다.
(i, j) ∈ {1, 2, 3} × {1, 2, 3} ∪ {4, 5, 6} × {4, 5, 6} ∪ {7, 8, 9} × {7, 8, 9}인 임의의 i ∈ N와 j ∈ N에 대하여,
S의 i행과 j행을 교체한 것을 S_1이라 하고 S의 i열과 j열을 교체한 것을 S_2라 하면, S_1과 S_2는 모두 스도쿠의 해입니다.
이제 다음을 만족시키는 연산들의 집합 F를 찾고자 합니다:
스도쿠의 한 해 S가 주어졌을 때, F에 속한 연산들을 유한 번 적용하여 얻은 모든 판들이 정확히 모든 스도쿠의 해가 된다.
이 문제도 수학적으로 접근할 수 있을까요?
읽어주셔서 감사합니다.
----
수정1: 그냥 연산이라고 말하면 애매한 것 같네요. 연산이란 가역적인 과정으로 정의합시다.
사실 연산이라는게 정의가 애매해서.. 니가 원하는 답은 없을거 같음 있어봐야 모든 방법을 하나하나 늘어놓는거랑 거의 동치일거 같고. 스도쿠에 대한 수학적 사실은 유일해를 가지기 위해서는17개의 초기 단서가 팔요하다는 정리(컴퓨터를 쓴 거 같긴 함)가 있어
답변해주셔서 감사드립니다!
혹시 이런 문제는 무슨 분야인지 알 수 있을까요??
그러고 보니 연산이란 게 애매하네요 ㅠㅠ
접근하자면야 '모든 스도쿠 해의 집합에 transitive하게 act하는 group G(혹은 문제 정의하고 싶은 바에 따라 다른 무언가)의 generator를 찾는 문제' 같은식으로 적을수야 있겠지만 이렇게 적는다고 (내 수준에서) 딱히 적용할 수 있을만한 정리같은건 모르겠음
답변해주셔서 감사드립니다!!
이것도 대수 문제인가요? ㄷㄷ
저렇게 적으면 유한군의 표현론에서 조합론 사이 어딘가에 있는 문제같은데 다르게 적으면 각 칸이 vertex, 같은 행, 렬, 작은 블록에 있으면 edge로 연결해서 얻어진 그래프의 9-coloring을 전부 얻는 방법을 묻는 문제로 볼 수 있고 이러면 훨씬 조합론이랑 알고리즘쪽 문제같아지죠. 어떻게 생각할지는 본인 맘인거고
감사드립니다 ㅠㅠ
https://en.m.wikipedia.org/wiki/Mathematics_of_Sudoku
이런 것도 있고... 아무래도 군론이나 이산수학, 혹은 컴퓨터 알고리즘 쪽의 문제가 되겠지. 첫 문제를 조금이라도 확인해보고 싶으면 1-4까지 쓴 미니 스도쿠에 대해서 모든 경우의 수를 찾거나 연산(글쎄... 대칭군의 부분군이 될까?)을 적용해보던가..
아 문제를 축소시키는 것도 방법이겠군요 감사드립니다