초록
크로스워드 퍼즐은 세계적으로 널리 인기가 있는 게임 중의 하나로 주어진 힌트에 적합한 단어를 끼워 넣어 바둑판 모양의 퍼즐 판을 채워 넣는 게임이다. 컴퓨터의 기술이 발달하면서 크로스워드 퍼즐 문제를 자동으로 생성하고 해결하는 프로그램을 만들어보려 하였고, 그 결과 상용화된 프로그램들도 등장을 하였다. 그러나 이런 상용 프로그램들 대부분이 고정된 퍼즐 판의 모양에서 이미 만들어져 있는 문제들을 맞추어나가는 형식을 취하고 있는 것들이다. 왜냐하면, 가로세로 일정한 크기 내에서 나올 수 있는 퍼즐 판의 모양에 맞춘 단어들의 집합을 찾는다는 것은 매우 어려운 문제이기 때문이다. 특히 이런 프로그램들은 영어나 불어 같은 언어들에 국한된 것이고, 아직까지 한글을 기반으로 한 크로스워드 퍼즐 자동 생성 프로그램은 상용화되어 있지 않다. 따라서 본 논문에서는 한글을 기반으로 하는 크로스워드 퍼즐문제 자동 생성 프로그램을 만들기 위해 어떤 점들이 고려되어야 하는지를 살펴보고 크로스워드 퍼즐 문제를 자동으로 생성해주는 시스템, Korizzle을 설계하였다. 이 시스템에 이용된 알고리즘과 Korizzie을 간단히 소개하고 몇 가지 사항들에 대한 성능 평가를 해보고자 한다.
A crossword puzzle is one of the popular word games around the world in which you work out the answers and write them in the white squares of a pattern of small black and white squares. As the technology of computers develops, some people worked about making and solving crossword puzzle games, which led them to a commercial use. However, almost all of these commercial programs are ones where you do ready-made puzzles with a fixed size because it is very difficult to make puzzles in a certain size, picking up some among a great number of words to fit for them. Furthermore, these programs are only for a very few languages, such as English, French, not for Korean. Accordingly, ore took a look at what should be considered to make an automatic puzzle-generating program for Korean, and in this paper we implemented Korizzle, a system making the puzzles automatically. We introduce the algorithm used for Korizzle and evaluate the its performance.