아서 휘트니의 원라이너 Sudoku 솔버 (2011)

3 weeks ago 7

스도쿠 문제 해결 알고리듬

  • 스도쿠 문제 설명

    • 스도쿠 퍼즐은 3×3 그리드의 3×3 박스로 구성되며, 각 셀은 비어 있거나 1에서 9 사이의 숫자를 포함함.
    • 각 3×3 박스, 9개의 행, 9개의 열에 중복 없이 9개의 숫자가 포함되어야 함.
    • 예시 문제와 해결 방법이 제공됨.
  • 알고리듬 개요

    • 행렬을 벡터로 처리하여 행, 열, 스도쿠 영역을 인덱스 벡터로 표시함.
    • 퍼즐의 기본 검사를 수행하고, 가능한 요소를 필터링하여 해결책을 찾음.
    • 셀이 비어 있으면 다음 목록으로 이동하고, 셀에 여러 숫자가 포함되면 가장 좁은 그룹에서 선택하여 목록에 추가함.
    • 모든 셀이 하나의 숫자를 포함하면 해결책을 찾은 것임.
  • 기술적 노트

    • Veli-Matti Jantunen이 제공한 솔루션으로, 스도쿠 직사각형을 나타내기 위해 ⍺를 사용할 수 있음.
    • 결과는 모든 해결책의 벡터, 없으면 ⍬, 오류가 있으면 ''를 반환함.
    • 알고리듬은 간단하며, 행렬을 벡터로 처리하고, 가능한 요소를 필터링하여 해결책을 찾음.
  • 다른 접근 방식

    • David Crossley와 Arthur Whitney의 대안 코딩이 제공됨.
    • 다양한 코딩 스타일과 접근 방식이 설명됨.
  • 예시 및 활용

    • 스도쿠 문제를 해결하는 다양한 예시가 제공됨.
    • 스도쿠 문제를 쉽게 읽을 수 있도록 내부 박스를 분리하는 함수도 제공됨.

GN⁺의 정리

  • 스도쿠 문제 해결을 위한 다양한 알고리듬과 코딩 스타일이 소개됨.
  • 스도쿠 퍼즐은 논리적 사고와 문제 해결 능력을 향상시키는 데 유용함.
  • 다양한 접근 방식을 통해 문제 해결의 유연성을 높일 수 있음.
  • 스도쿠와 유사한 기능을 가진 퍼즐로는 Kakuro, KenKen 등이 추천됨.

Read Entire Article