Development of Auto-generation Algorithm for Korean Crossword Puzzle

한글 크로스워드 퍼즐 자동 생성을 위한 알고리즘 개발

  • 이승희 ((주)나라 인포테크) ;
  • 권혁철 (부산대학교 전자전기정보컴퓨터공학부) ;
  • 조환규 (부산대학교 전자전기정보컴퓨터공학부)
  • Published : 2006.02.01

Abstract

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.

크로스워드 퍼즐은 세계적으로 널리 인기가 있는 게임 중의 하나로 주어진 힌트에 적합한 단어를 끼워 넣어 바둑판 모양의 퍼즐 판을 채워 넣는 게임이다. 컴퓨터의 기술이 발달하면서 크로스워드 퍼즐 문제를 자동으로 생성하고 해결하는 프로그램을 만들어보려 하였고, 그 결과 상용화된 프로그램들도 등장을 하였다. 그러나 이런 상용 프로그램들 대부분이 고정된 퍼즐 판의 모양에서 이미 만들어져 있는 문제들을 맞추어나가는 형식을 취하고 있는 것들이다. 왜냐하면, 가로세로 일정한 크기 내에서 나올 수 있는 퍼즐 판의 모양에 맞춘 단어들의 집합을 찾는다는 것은 매우 어려운 문제이기 때문이다. 특히 이런 프로그램들은 영어나 불어 같은 언어들에 국한된 것이고, 아직까지 한글을 기반으로 한 크로스워드 퍼즐 자동 생성 프로그램은 상용화되어 있지 않다. 따라서 본 논문에서는 한글을 기반으로 하는 크로스워드 퍼즐문제 자동 생성 프로그램을 만들기 위해 어떤 점들이 고려되어야 하는지를 살펴보고 크로스워드 퍼즐 문제를 자동으로 생성해주는 시스템, Korizzle을 설계하였다. 이 시스템에 이용된 알고리즘과 Korizzie을 간단히 소개하고 몇 가지 사항들에 대한 성능 평가를 해보고자 한다.

Keywords

References

  1. http://www.crossword-compiler.com/
  2. http://www.crosswordkit.com/
  3. http://www.crosswordweaver.com
  4. http://www.crosswordtornument.co.kr/
  5. http://www.puzzleland.co.kr/abouLpuzzleland/news_07.asp
  6. http://urimal.cs.pusan.ac.kr/urimal_new/
  7. http://www.imada.sdu.dk/-sik/
  8. M.L.Ginsberg et al., 'Search Lessons Learned From Crossword Puzzles,' TR Dept. of CS, Standford Univ., pp. 210-215, 1990
  9. Gary Meehan, Peter Gray, 'Constructing Crossword Grids: use of Heuristics vs Constraints,' SGES Publications, British Computer Society, pp 159-174,1997
  10. Geoff Harris 외 2인, 'Basic Blocks in Unconstrained Crossword Puzzles,' ACM Symposium on Applied Computing, pp. 257-262, 1993 https://doi.org/10.1145/162754.162892
  11. 이 승선 외 4인, 'Compact TRIE Index(CompTI) : 한국어 전자사전을 위한 데이타베이스 색인 구조,' 정보과학회 논문지, pp. 3-12, 1995.1
  12. http://home.pusan.ac.kr/-purmi/paper.htm
  13. http://finecrosser.com/en/index.html
  14. G.H.Hams, 'Generation of Solution sets for unconstrained Crossword Puzzles,' ACM Symposium on Applied Computing, Volume 1. pp.214-219, 1990 https://doi.org/10.1109/SOAC.1990.82171
  15. G.H.Harris 외 3인, 'Dynamic Crossword slot table implementation,' ACM/SIGAPP Symposium on Applied Computing, Volume 1. pp. 95-98, 1992 https://doi.org/10.1145/143559.143594
  16. J.J.H.Forster 외 2인, 'The Crozzle-A Problem For Automation,' ACM/SIGAPP Symposium on Applied Computing,Volume I. 1992 https://doi.org/10.1145/143559.143598
  17. Jo Spring, 'Benchmarking Automated Solution Generators for the Crozzle,' ACM Symposium on Applied Computing, pp. 247-250, 1993 https://doi.org/10.1145/162754.162887