Prolog을 사용하여 Layton 퍼즐을 우아하게 푸는 방법

2025-04-08
Prolog을 사용하여 Layton 퍼즐을 우아하게 푸는 방법

저자는 자신의 책 "프로그래머를 위한 논리"에서 논리 프로그래밍 언어에 대한 장을 다시 작성하면서 'Layton 스타일' 퍼즐을 사용하여 Prolog의 강력함을 보여주었습니다. 이 퍼즐은 처음 세 명의 학생 점수를 바탕으로 네 번째 학생의 점수를 추론하는 것입니다. 간결한 Prolog 코드(단 15줄!)를 사용하여 저자는 Prolog의 패턴 매칭과 양방향성을 이용해 이 문제를 우아하게 해결하고, 모든 가능한 정답 키를 찾아 최종적으로 네 번째 학생의 점수가 6점임을 밝혀냈습니다. 더 길고 비효율적인 솔루션과의 비교도 제시됩니다. 저자는 퍼즐을 교육에 사용하는 것에 반대하지만, 이 예시는 Prolog의 실용적인 잠재력을 보여줍니다.

개발 퍼즐 풀이