KR101111179B1 - 크로스워드 퍼즐 생성 방법 및 장치 - Google Patents

크로스워드 퍼즐 생성 방법 및 장치 Download PDF

Info

Publication number
KR101111179B1
KR101111179B1 KR1020090099311A KR20090099311A KR101111179B1 KR 101111179 B1 KR101111179 B1 KR 101111179B1 KR 1020090099311 A KR1020090099311 A KR 1020090099311A KR 20090099311 A KR20090099311 A KR 20090099311A KR 101111179 B1 KR101111179 B1 KR 101111179B1
Authority
KR
South Korea
Prior art keywords
word
relevance
difficulty
words
level
Prior art date
Application number
KR1020090099311A
Other languages
English (en)
Other versions
KR20110042579A (ko
Inventor
이용규
Original Assignee
동국대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 동국대학교 산학협력단 filed Critical 동국대학교 산학협력단
Priority to KR1020090099311A priority Critical patent/KR101111179B1/ko
Publication of KR20110042579A publication Critical patent/KR20110042579A/ko
Application granted granted Critical
Publication of KR101111179B1 publication Critical patent/KR101111179B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/04Geographical or like games ; Educational games
    • A63F3/0423Word games, e.g. scrabble
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/04Geographical or like games ; Educational games
    • A63F3/0423Word games, e.g. scrabble
    • A63F2003/0428Crosswords

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Technology (AREA)
  • Machine Translation (AREA)

Abstract

크로스워드 퍼즐 생성 방법 및 장치가 제공된다. 상기 방법에서, 단어 사전에 포함된 단어 각각에 대한 단어의 난이도 및 단어들 상호간의 관련도를 설정한다. 또한, 크로스워드 퍼즐을 위한 문제 매트릭스를 설정하고, 문제 매트릭스의 위치 정보 및 연결 관계를 검색한다. 또한, 사용자가 요구하는 난이도 수준 및 관련도 수준에 기초하여, 문제 매트릭스에 삽입될 단어를 선정한다. 문제 매트릭스의 크기는 m×n 으로 사용자가 설정할 수도 있고, 문제 매트릭스 내의 제1 공간(단어가 들어갈 수 있는 부분) 및 제2 공간(단어가 들어갈 수 없는 부분)의 배치 또한 사용자가 설정할 수도 있다.

Description

크로스워드 퍼즐 생성 방법 및 장치{Method and apparatus for creating crossword puzzle}
본 발명의 일실시예는 크로스워드 퍼즐을 생성하는 방법 및 장치에 관한 것이다.
여가 시간 또는 자투리 시간을 활용하기 위해서 사람들은 여러 가지 간단한 게임을 즐긴다. 근래에는 전자 기술의 발달에 따라, 이러한 게임들을 전자 단말기(예를 들어, 컴퓨터 또는 PDA와 휴대폰 같은 소형의 단말기 등)에서도 간편하게 즐길 수 있게 되었다.
컴퓨터 또는 간단한 전자 단말을 이용한 게임들 중에서도 퍼즐 게임은 간편함과 재미로 인하여, 그 단순함에도 불구하고 많은 인기를 끌고 있다. 퍼즐이란, 풀면서 지적 만족을 얻도록 고안된 문제나 놀이 기구를 말하는 것으로서, 예를 들어 지그소 퍼즐, 크로스워드 퍼즐, 스도쿠 퍼즐 등 여러 가지 종류가 있다.
이 중에서 크로스워드 퍼즐은 흔히 단어 퍼즐 또는 단어 맞추기 퍼즐이라고도 부르며, 보통 흰색의 빈칸과 검은색 등으로 어둡게 칠해 지워진 칸으로 이루어져 있는 4각형의 그림으로 되어 있다. 번호가 매겨져 있는 낱말에 대한 정의나 힌 트를 담고 있는 2개의 가로?세로 풀이가 첨가되는데, 가로?세로 풀이에 매겨진 각 번호는 그림에 매겨진 같은 번호의 낱말에 대해 풀이해놓고 있다. 빈 칸 하나에 글자 1자를 집어넣어 번호가 매겨진 낱말 설명이나 힌트와 맞아떨어지는 낱말을 채워 넣는 것이다. 각 낱말들은 서로 교차하거나 포개지는데 여기에서 크로스워드 퍼즐이라고 명명되었다.
크로스워드 퍼즐(단어 퍼즐)은 오락일 뿐만 아니라 동시에 어휘실력을 향상시켜주는 흥미로운 게임이기도 하다.
본 발명의 실시예는 크로스워드 퍼즐에 있어서의 지루함과 평이함을 극복하기 위하여 퍼즐 형성에 있어서 여러 가지 조건을 부여하고자 한다.
본 발명의 일실시예에 따르면, 난이도 및 관련도 설정부가 단어 사전에 포함된 상기 y개의 단어 각각에 대한 단어의 난이도 및 상기 y개의 단어들 상호간의 관련도를 설정하는 난이도 및 관련도 설정 단계; 문제 매트릭스 설정부가 크로스워드 퍼즐을 위한 문제 매트릭스를 설정하되, 상기 문제 매트릭스는 가로 a행 및 세로 b행으로 구성되며 단어가 삽입될 수 있는 제1 공간 및 단어가 삽입될 수 없는 제2 공간을 갖도록 하는 문제 매트릭스 설정 단계; 위치 정보 및 연결 관계 검색부가 상기 문제 매트릭스의 제1 공간의 위치 정보 및 연결 관계를 검색하는 위치 정보 및 연결 관계 검색 단계; 단어 선정부가 사용자가 요구하는 난이도 수준 및 관련도 수준에 기초하여, 상기 제1 공간의 위치 정보 및 연결 관계에 따라, 상기 문제 매트릭스의 제1 공간에 삽입될 단어를 선정하는 단어 선정 단계를 포함하는 크로스워드 퍼즐 생성 방법이 제공된다.
본 발명의 일실시예에 따르면, y개의 단어를 갖는 단어 사전을 포함하는 메모리부; 상기 y개의 단어 각각에 대한 단어의 난이도 및 상기 y개의 단어들 상호간의 관련도를 설정하는 난이도 및 관련도 설정부; 크로스워드 퍼즐을 위한 문제 매트릭스를 설정하되, 상기 문제 매트릭스는 가로 a행 및 세로 b행으로 구성되며 단 어가 삽입될 수 있는 제1 공간 및 단어가 삽입될 수 없는 제2 공간을 갖도록 하는 문제 매트릭스 설정부; 상기 문제 매트릭스의 제1 공간의 위치 정보 및 연결 관계를 검색하는 위치 정보 및 연결 관계 검색부; 및 사용자가 요구하는 난이도 수준 및 관련도 수준에 기초하여, 상기 제1 공간의 위치 정보 및 연결 관계에 따라, 상기 문제 매트릭스의 제1 공간에 삽입될 단어를 선정하는 단어 선정부를 포함하는 크로스워드 퍼즐 생성 장치가 제공된다.
본 발명의 실시예에 따르면, 크로스워드 퍼즐을 형성하는 데 있어서 단어의 난이도 및 단어들 간의 관련도라는 개념을 도입함으로써 크로스워드 퍼즐에서 느끼기 쉬운 지루함과 평이함을 제거할 수 있다.
또한, 본 발명의 실시예에 따르면, 특정 주제에 관한 단어들로 퍼즐이 이루어질 수 있으므로 특정 분야에 대한 지식을 쌓는 데에도 도움이 될 수 있다. 즉, 이는 단어 간에 전혀 관련이 없는 단어들이 글자가 동일하다는 이유만으로 연결되는 기존 방식의 문제점을 해결하고, 서로 관련이 깊은 단어들이 서로 연결되도록 함으로써, 단어 퍼즐이 어떤 주제와 밀접한 관련이 있는 단어들로 서로 연결되도록 할 수 있게 한다. 즉, 글자의 동일성 뿐만 아니라 연결어들 간의 주제나 내용의 동일성도 달성할 수 있는 것이다.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1a는 본 발명의 일실시예에 따른 흐름도이며, 도 1b는 본 발명의 일실시예에 따른 문제예 및 해답예이다.
도 1a를 참조하면, 단계 102에서 각각의 단어에 대한 난이도 정보 및 관련도 정보를 작성한다. 그리고, 단계 104에서 퍼즐을 위한 단어를 채울 수 있는 매트릭스를 준비한다. 또한, 단어 사전 데이터베이스 및 단어간의 관련도에 관한 정보(관련도 테이블 또는 관련도 매트릭스)도 준비한다.
이 매트릭스는 단어를 채울 수 있는 셀(제1 공간)과 단어를 채울 수 없는 셀(제2 공간)로 구분된다. 도 1b에서 볼 수 있는 바와 같이, 단어를 채울 수 없는 공간에는 빗금이 쳐져 있는 것을 알 수 있고, 문제예에서의 공란을 모두 채우면 예를 들어 도 1b의 해답예와 같은 결과를 얻을 수 있다. 도 1b의 매트릭스는 a행×b 열의 2차원 배열 P로 해석할 수 있을 것이다. 본 발명의 실시예에 있어서, 상기 매트릭스(문제 매트릭스)는 사용자가 그 크기 및 모양을 선택하도록 할 수도 있다. 즉, 사용자가 'n' 또는 'm과 n'을 선택함으로써 n×n, 또는 m×n(m행 n열)크기의 매트릭스를 결정할 수 있으며, 사용자가 단어를 채울 수 있는 셀(제1 공간)과 단어를 채울 수 없는 셀(제2 공간)의 배치를 설정할 수 있다. 배치라 함은, 넓은 개념으로서, 각각의 단어의 글자수 및 뻗어나가는 형태 등을 의미한다. 일단 사용자가 이러한 사항들을 선택하도록 하고, 사용자가 이를 설정하지 않으면 시스템이 임의로 설정(예를 들어, 4×4의 도 1b에 나타난 바와 같은 문제 매트릭스의 배치)하도록 할 수도 있다.
또한, 본 발명의 실시예에서는 한글만을 예로 들었으나, 영어(알파벳), 일어(히라가나, 가타가나) 등 어떠한 언어라도 사용가능함은 물론이다.
이때, 매트릭스에 들어갈 수 있는 단어는 단어 사전 데이터베이스를 이용하여 선택된다. 각각의 단어들은 (단어, 단어 설명, 난이도)로 구성된다. 단어 사전에 수록된 단어는 y개(예를 들어 10만 개)이다. 또한, 각각의 단어들은 독립적으로만 존재하는 것이 아니라 관련어 매트릭스를 통해 단어들 상호간의 관련도를 갖는다.
다음으로, 도 1a의 단계 106에서, 사용자가 원하는 단어의 난이도 수준과 관련도 수준을 파악한다. 즉, 본 발명의 실시예가 전자 게임 장치로 만들어진다면 당해 전자 게임 장치(단말기)는 사용자가 원하는 단어 난이도 수준 및 단어 관련도 수준을 사용자에게 묻게 된다. 그러한 질문에 따라 사용자가 입력한 단어 난이도 및 단어 관련도를 기초로 하여 본 발명의 실시예의 장치 또는 방법은 이하에 설명하는 단계들을 수행하게 된다.
여기서, 난이도 수준이라 함은 난이도 평균 및 난이도 표준 편차(또는 범위)를 말한다. 난이도가 0(가장 쉬운 단어)~1(가장 어려운 단어)까지 분포되어 있다고 가정할 때, 비록 난이도 평균이 0.5라 해도, 출제되는 단어 문제가 모두 0.5의 난이도를 가져서 난이도 평균이 0.5가 될 수도 있고, 일부는 0.3, 일부는 0.7 등의 난이도를 가져서 그 평균이 0.5가 될 수도 있다. 따라서, 난이도 표준 편차(또는 범위)라는 개념을 도입하여 적절히 그 범위를 조절하는 것이다. 예를 들어, 사용자가 입력(요구)한 난이도 평균이 0.5이고 난이도 범위가 0.2라면, 0.4 내지 0.6의 난이도를 갖는 단어만으로 출제를 행하되 그 난이도 평균이 0.5가 되도록 할 수 있을 것이다.
이러한 난이도 수준은 (난이도 평균, 난이도 표준 편차) 또는 (난이도 평균, 난이도 범위)를 입력받는 것이 일반적이겠으나, 다른 방법으로는, (특정 주제어, 난이도 표준 편차) 또는 (특정 주제어, 난이도 범위)와 같이 입력받을 수도 있다. 즉, 특정 주제어를 정하게 되면 그 주제어 자체의 난이도가 이미 정해져 있으므로(단어 사전에 단어 자체의 난이도가 정해져 있음), 주제어의 난이도 수준에서 표준 편차를 만족하는 퍼즐 문제를 완성할 수 있게 되는 것이다. 이 경우, 난이도 조절 뿐만 아니라 문제의 분야(단어의 분야)의 조절도 가능하므로 사용자의 만족도는 더욱 커질 수 있을 것이다.
물론, 표준 편차 대신에 허용 범위 또는 분산을 입력받아도 됨은 물론이다. 또한, 표준 편차, 허용 범위, 또는 분산은 반드시 수치로 입력하여야 하는 것은 아니고, 본 발명의 실시예의 게임 장치 또는 방법에서, '상, 중, 하' 또는 그 외의 다른 단계별 분류를 택하고 내부적으로 이를 적절히 수치로 변환할 수 있음은 물론이다.
또한, 관련도 수준 및 관련도 표준 편차(또는 범위)도 유사하게 생각할 수 있을 것이다. 다만, 난이도는 각각의 단어 하나하나에 대한 것이라면, 관련도는 출제되는 단어들 상호간의 관계에 관한 것이라는 차이가 있음은 물론이다.
관련도에 대해 상세히 설명하자면, 단어의 관련도 수준을 사용자에게 질문함에 있어서는 (관련도 평균, 관련도 표준 편차)를 입력받는다. 이로서 퍼즐 단어간 관련도 평균과 표준 편차를 정해 주는 것이다.
또는 관련도 수준으로서 (특정 주제어, 관련도 표준 편차) 또는 (특정 주제어, 관련도 허용 범위)를 입력받을 수 있다. 표준 편차 대신에 분산값을 입력받아도 무방함은 물론이다.
즉, 사용자가 요구하는 난이도 수준은, '난이도 평균 및 주제어'로 구성되는 그룹 중으로부터 선택되는 하나, 및 '난이도 표준 편차, 난이도 범위, 및 난이도 분산'으로 구성되는 그룹으로부터 선택되는 하나를 포함하며, 사용자가 요구하는 관련도 수준은, '관련도 평균 및 주제어'로 구성되는 그룹으로부터 선택되는 하나, 및 '관련도 표준 편차, 관련도 범위, 및 관련도 분산'으로 구성되는 그룹으로부터 선택되는 하나를 포함하는 것이라 할 수 있다.
도 1a에서 나타낸 단계 102, 104 및 106은 그 성질상 반드시 이 순서대로 행 해질 필요는 없음을 알 수 있을 것이다.
도 1a의 단계 108 및 110에서는 문제 매트릭스 P의 형상(즉, 단어가 들어갈 수 있는 제1 공간인 공란과 단어가 들어갈 수 없는 제2 공간인 빗금친 부분의 배치 상태)에 따라서 단어들의 위치 정보 및 연결 관계를 파악한다. 이에 대해서는 뒤에 상세히 설명하기로 한다.
다음으로, 도 1a의 단계 112에서는 단계 106에서 입력받은 바에 따라, 퍼즐의 단어 전체의 난이도 평균을 사용자의 난이도 요구와 일치시킨다. 또한, 퍼즐의 단어 전체의 난이도의 표준 편차(또는 범위)를 사용자 요구에 맞춘다. 이때 표준 편차는 분산값을 기준으로 하지만 범위를 기준으로(즉, 난이도 평균에서 위?아래로 허용 범위를 두는 것으로) 하여도 무방하다. 또한, 퍼즐의 단어간 관련도 평균을 사용자의 관련도 요구와 일치시킨다. 또한, 퍼즐의 단어간 관련도의 표준 편차(또는 범위)를 사용자 요구에 맞춘다. 이때 표준 편차는 분산값을 기준으로 하지만 범위를 기준으로(즉, 관련도 평균에서 위?아래로 허용 범위를 두는 것으로) 하여도 무방하다. 또한, 퍼즐의 모든 단어간 전체 관련도의 범위를 사용자 요구에 맞춘다.
관련도는 다음과 같이 적용할 수 있다. 그 하나는 관련도 목표치를 직접 연결되는 단어 간에만 개별적으로 적용할 수 있고, 다른 하나는 직접 연결되는 단어뿐만 아니라 직접 연결되지 않는 단어들 사이에도 전체적으로 적용하는 것이다. 개별적인 관련도 적용과 전체적인 관련도 적용은 차이가 있다. 개별적인 관련도는 연결되는 각 단어의 관련도의 평균과 표준 편차를 목표치에 일치시키는 것이지만, 전체적인 관련도 적용은 직접 연결되지 않는 단어들 사이에도 정해진 관련도 조건을 추가로 만족시켜야 한다. 다시 말해, 개별적인 단어간 관련도는 직접 연결되는 단어끼리만(즉, 도 1b에서 '대한민국'과 '대학교') 관련도를 따지며, 그러한 각각의 관련도가 일정한 평균 및 표준 편차를 가지면 되지만, 전체적인 단어간 관련도는, 도 1b의 모든 단어(즉, '대한민국', '대학교', '교육', '민속', '생활', '쾌활')가 일정한 관련도를 가져야 한다. 단어들이 연속으로 연결되면 각 관련도의 합계로부터 얻은 평균값이 사용자가 요구한 평균값을 만족시키더라도 처음의 단어와 마지막 단어간의 관련도의 차이가 매우 커질 수 있으나, 전체적인 단어간 관련도 적용은 이러한 경우를 방지할 수 있다.
즉, 사용자가 요구하는 관련도 수준은, 제1 공간(문제 매트릭스 P의 공란) 내에서 문자를 공유하는 단어들 간에만 적용되는 ‘단어간 관련도’ 수준 및 제1 공간 내에 삽입될 ‘모든 단어간 전체 관련도’ 수준을 포함한다고 할 수 있다.
따라서, 사용자 입력에서 모든 단어간 전체적인 관련도를 적용하고 관련도 수준을 높게 할수록 전체적인 단어들 간의 관련도가 높아지므로 특정 주제와 밀접하게 관련 있는 단어들로 퍼즐을 제작함으로써 교육적 효과가 배가되는 효과를 얻을 수 있을 것이다.
도 2a는 온톨로지의 트리에 의한 난이도 설정을 설명하기 위한 도면이며, 도 2b 및 도 2c는 도 1a의 단계 102와 관련하여 단어의 관련도를 설명하기 위한 도면이다.
우선, 단어의 난이도는 단어 사전의 난이도 표시 정보를 이용할 수 있을 것이다. 예를 들면, 사전에 표기되어 있는 초급, 중급, 고급 등의 난이도 정보를 활 용할 수 있다. 또는 온톨로지에서의 계층 관계를 이용할 수도 있다. 퍼즐에서 사용될 단어들의 온톨로지(isA 계층관계로 단어간의 일반화와 특수화 관계를 나타낼 수 있음)가 구축되어 있다면, 온톨로지의 계층관계를 트리(tree)로 해석하여 트리의 레벨을 난이도로 사용할 수 있다.
도 2a를 참조하면, 트리에서 루트의 레벨을 1로 하고, 부모-자식 노드 간에 레벨의 차이가 1이 되도록 레벨을 부여할 수 있다. 이때 레벨이 작을수록 일반화 단어이므로 난이도가 낮다고 볼 수 있고, 레벨이 클수록 특수화 단어이므로 난이도가 높다고 볼 수 있다. 온톨로지의 어느 노드가 상위 노드들에 공유되어 그래프 형태를 이루는 경우에도, 공유 노드를 루트로 하는 서브트리를 복사하여 각각의 상위 노드에게 연결함으로써 트리로 변형할 수 있으므로, 변형된 트리의 레벨을 난이도로 사용할 수 있다. 즉, 도 2a에서 ‘생물’이 가장 난이도가 낮은 단어임을 알 수 있고, ‘동물’은 이보다 더 어려운 단어(즉, 난이도가 1만큼 높아짐)이며, ‘척추 동물’은 ‘동물’보다도 난이도가 1 높아지며, 또한 ‘조류’는 ‘척추 동물’보다도 난이도가 1 높은 것을 알 수 있다. 또한, 예를 들어, ‘양서류’와 ‘절지 동물’은 같은 레벨에 있으므로 난이도가 같다고 볼 수 있을 것이다. 도 2a에 나타난 예에서는 ‘생물’이 가장 일반화 단어이고, ‘조류’ 등이 가장 특수화 단어이다. 이는 도 2a의 트리에 한정된 설명이고, 다른 단어가 부가됨에 따라서 얼마든지 상대적으로 더욱 일반화된 단어 및 더욱 특수화된 단어가 있을 수 있음은 물론이다.
또는, 단어가 사용된 출처 문헌의 수준으로 알아낼 수도 있다. 즉, 어려운 문헌에서 등장하는 단어라면 어려운 단어로 간주하고 쉬운 문헌에서 등장하는 단어 라면 쉬운 단어로 간주한다는 것이다. 이는 문헌 데이터베이스의 문헌에 대한 단어의 빈도 조사를 통해 알아낼 수도 있다. 상대적으로 어려운 문헌(예를 들어, 고등학교 교재)에 많이 등장하는 단어는 난이도를 높게 하고, 보통의 문헌(예를 들어, 중학교 교재)에 많이 등장하는 단어는 난이도를 보통으로 하고, 쉬운 문헌(예를 들어, 초등학교 교재)에 많이 등장하는 단어는 난이도를 낮게 할 수 있다. 난이도는 0에서 1 사이의 값을 갖도록 정규화한다. 0은 가장 쉬운 수준을 나타내고 1은 가장 어려운 수준을 나타낸다. 일례로 이는 난이도가 가장 높은 단어의 난이도 값으로 각 단어의 난이도 값을 나눔으로써 얻을 수 있다.
다음으로, 단어의 관련도는, 문헌 데이터베이스를 통해 단어들이 특정 문헌에서 함께 사용된 빈도를 알아낸다. 즉, 단어 i와 단어 j가 전체 문헌 중 함께 사용된 문헌의 수를 알아내는 것이다. 이들 빈도로부터 단어간의 관련도 테이블 M을 만들 수 있다. 예를 들어, 이 테이블은 상위 삼각 행렬(upper triangle matrix)의 형태로 만들 수 있을 것이다.
도 2b에 관련도 테이블(관련도 매트릭스) M이 제시된다. 도면에서 t1과 t2의 교차점에는 8이라는 숫자가 있는 것을 알 수 있다. 이는 단어 1과 단어 2가 전체 문헌(예를 들어 10000개의 문헌) 중 8개의 문헌에서 함께 사용된다는 의미이다. 즉, 8개의 문헌에서 단어 1과 단어 2가 함께 등장하는 것이다.
마찬가지로, t1과 t3의 교차점에는 4가 기재되어 있는데, 이는 4개의 문헌에서 단어 1과 단어 3이 동시에 등장한다는 것이다. t1과 t4의 교차점이 0인 것으로부터, 단어 1과 단어 4는 동시에 등장하는 문헌이 없다는 것을 알 수 있다. 이 경 우 '단어 1과 단어 2의 관련도 > 단어 1과 단어 3의 관련도 > 단어 1과 단어 4의 관련도'임을 쉽게 알 수 있다.
편의상, M(i, j)를 단어 i와 단어 j가 함께 나타난 문헌의 수라 하면, 위의 예에서 M(1, 2)=8, M(1, 3)=4, M(1, 4)=0임을 알 수 있다. 이때 i<j로 한다. 그 이유는 i=j이면 같은 단어끼리의 관련도를 따지게 되므로 무의미하고, i>j이면, 동일한 데이터를 두번 포함하게 되기 때문이다. 동일한 데이터를 두번 포함하게 된다 함은, 예를 들어 M(3, 1)=M(1, 3)이므로(즉, 단어 3과 단어 1의 관련도라는 것은 개념적으로 단어 1과 단어 3의 관련도와 동일한 것이므로), 메모리를 절약하기 위하여 편의상 i<j로 한정한 것이다. 이렇게 한정하는 것이 바람직하겠으나, 이는 일예이고, 이처럼 한정하지 않아도 무방할 것이다.
다음으로, 도 2c에 관해서 설명한다. 도 2c에는 표준화(정규화)된 관련도 테이블(관련도 매트릭스) R이 제시된다.
도 2c의 표준화된 관련도 테이블 R은 도 2a의 관련도 테이블 M의 각 구성요소를 모두 20으로 나눈 것임을 알 수 있다. 여기서, 20은 도 2a의 테이블을 구성하는 각각의 수치 중 가장 큰 값(즉, 행렬의 셀의 값들 중 최대값)인 max(M(i, j))의 일예이다.
다시 말해,
Figure 112009063881885-pat00001
임을 알 수 있다(단, i<j).
이러한 계산을 거치면 R(i, j)는 0에서 1 사이의 값을 가지게 될 것임을 알 수 있다. 일단 매트릭스 R을 얻게 되면 매트릭스 M은 더 이상 필요하지 않다.
도 2c의 표준화된 관련도 매트릭스 R을 보면, 단어간의 관련도를 용이하게 파악할 수 있다. 예컨대, 단어 2와 단어 3은 0.6의 관련도를 가짐을 쉽게 알 수 있다.
전술한 바와 같이 수치화될 수 있는 관련도는, 단어와 단어 사이의 밀접도 또는 연관도를 나타낸다.
관련도를 구하는 다른 예는 온톨로지 계층 구조를 이용할 수도 있다. 온톨로지 계층 구조에 대해서는 도 2a와 관련하여 설명한 바 있다. 퍼즐에 사용되는 단어들이 모두 온톨로지에 나타난다면, 온톨로지 계층 구조에서 단어간의 거리를 관련도로 사용할 수 있다. 단어간의 거리는 부모-자식 노드 간의 거리를 1로 하면 구할 수 있으며, 부모-자식 노드간의 거리를 1이 아닌 의미상의 차이값으로 부여할 수도 있다. 이렇게 하면 온톨로지의 어떤 노드간이든지 거리를 구할 수 있게 된다. 예를 들어 모든 부모-자식간의 거리를 1이라고 하면, 어떤 노드들이 간선(edge) 5개로 연결된다면 거리는 5가 된다. 예컨대, 도 2a에서 ‘조류’와 ‘연체 동물’의 거리 는 4이고, ‘생물’과 ‘겉씨 식물’의 거리는 3이다.
따라서 다음의 수학식을 관련도로 사용할 수 있다.
Figure 112009063881885-pat00002
상기 수학식에서 최대 거리는 온톨로지에서 가장 먼 단어간의 거리이다. 예를 들어, 최대 거리가 20이고, 두 개의 단어간의 거리가 5라면, 이들의 관련도는 0.75가 된다.
이러한 관련도의 개념을 이용하여, 문제를 구성하는 단어간 관련도를 일정 범위 내로 한정할 수 있다. 이 경우는 단어간 관련도 평균과 표준 편차(또는 범위)를 정하여 적용할 수 있다. 이에 따라 관련도가 일정 범위 내인 단어들로 퍼즐 문제를 한정할 수 있게 된다.
또한, 어떤 주제어를 정해 주고 그로부터 관련도 표준 편차(또는 범위) 내의 단어들만으로 선택하도록 할 수도 있다.
또한, 연결되는 단어들 간에 관련도의 범위를 한정할 수 있다. 단어 간에 관련도가 일정 수준 이상인 관련 있는 단어들이 서로 연결되도록 하는 것이다. 이는 단어 간에 전혀 관련이 없는 단어들이 글자가 동일하다는 이유만으로 연결되는 기존 방식의 문제점을 해결하고, 서로 관련이 깊은 단어들이 서로 연결되도록 함으로써, 단어 퍼즐이 어떤 주제와 밀접한 관련이 있는 단어들로 서로 연결되도록 할 수 있게 한다. 즉, 글자의 동일성 뿐만 아니라 연결어들 간의 주제나 내용의 동일성도 달성할 수 있는 것이다.
도 3은 도 1a의 단계 108, 110 및 도 1b의 문제 매트릭스를 더욱 상세히 설명하는 도면이다.
문제 매트릭스 P에서 단어로 채워야 할 곳의 위치 정보는 다음과 같이 표현한다.
[매트릭스의 단어 시작 좌표 (i, j), 단어의 동서남북 방향, 단어의 길이]
여기서 i는 행번호이고 j는 열번호이다. 그리고, 단어의 길이가 1글자이면 방향은 없다.
도 3을 보면, 채워야 할 단어는 6개임을 알 수 있고, 이는 6개의 위치 정보가 있음을 나타낸다. 이를 위치 정보 리스트 L이라 하면, L은
[(1, 1), E, 4], [(1, 1), S, 3], [(1, 3), S, 2], [(3, 1), E, 2], [(3, 4), S, 2], [(4, 3), E, 2]
이다. 여기서, E는 동쪽(east)으로 뻗어나감을 말하고, S는 남쪽(south)으로 뻗어나감을 말한다. 도 3을 보면, 위의 위치 정보 리스트 L에 나타난 순으로 ①, ②, ③, ④, ⑤, ⑥의 표시가 되어 있는 것을 볼 수 있다.
한편, 문제 매트릭스 P로부터 위치 정보 리스트 L을 정한 후에는 연결 관계 리스트 J를 작성한다. 연결 관계 리스트 J란,
(리스트 번호, 단어 연결 위치, 리스트 번호, 단어 연결 위치)
와 같이 표시된다.
도 3의 경우를 예로 들면 연결 관계 리스트 J는
(1, 1, 2, 1), (1, 3, 3, 1), (2, 3, 4, 1), (5, 2, 6, 2)
로 표현할 수 있다.
이 중 (1, 1, 2, 1)은 L(1)의 첫번째 글자와 L(2)의 첫번째 글자가 연결되는 것을 나타내고, (2, 3, 4, 1)은 L(2)의 세번째 글자와 L(4)의 첫번째 글자가 연결되는 것을 나타낸다. 여기서, L(1)은 위치 정보 리스트 L 중의 첫번째 구성요소(첫번째 위치인 도 3의 ①)를 의미하고, L(2)는 위치 정보 리스트 L 중의 두번째 구성요소(두번째 위치인 도 3의 ②)를 의미한다. 마찬가지로, L(3)은 도 3의 ③, L(4)는 도 3의 ④, L(5)는 도 3의 ⑤, L(6)은 도 3의 ⑥을 나타낸다.
도 4a는 도 1b의 문제 매트릭스를 컴포넌트로 표시한 것이며, 도 4b는 컴포넌트 1과 2의 그래프이며, 도 4c는 컴포넌트 1에 대해 그래프 탐색 방법으로 널리 쓰이는 BFS(너비 우선 탐색; Breadth First Search)를 적용했을 때와 DFS(깊이 우선 탐색; Depth First Search)를 적용했을 때의 예시이다.
도 4a에서 볼 수 있는 바와 같이, 도 1b 및 도 3의 문제 매트릭스는 2개의 컴포넌트(C1과 C2)로 구성되어 있는 것을 알 수 있다. 컴포넌트는 단어들 간에 문자를 공유하는 집단(또는 단어 하나로만 이루어질 수도 있음)이며, 도 4a에서 컴포넌트 C1과 컴포넌트 C2는 어떠한 글자도 공유하지 않는다.
즉, 제1 공간(문제 매트릭스 P의 공란)은 하나 이상의 컴포넌트를 포함하며, 컴포넌트는, 문자를 공유하는 단어들이 삽입될 공간의 집합 또는 공유하는 문자가 없이 하나의 단어만으로 이루어진 공간의 집합이라 할 수 있다.
이를 그래프로 나타내면 도 4b에서와 같이, 나타낼 수 있다. 컴포넌트 C1에서 L(1)은 L(2)와 연결되어 있고, L(2)는 L(4)와 연결되어 있다. 그리고 L(1)은 또한 L(3)와도 연결되어 있다. 한편, 컴포넌트 C2에서 L(5)는 L(6)와 연결되어 있음을 알 수 있다.
한편, 도 4a 및 도 4b의 각 컴포넌트 별로 단어를 선택하는 순서를 정한다. 컴포넌트들의 순서를 정하고 각 컴포넌트 내의 순서를 정하는데, 컴포넌트 순서는 예를 들어 컴포넌트 C1, 컴포넌트 C2 순으로 할 수 있다.
컴포넌트 내에서의 순서는 예를 들어 BFS 순서 또는 DFS 순서로 할 수 있다.
BFS 방식은 그래프의 노드들을 시작 노드부터 너비 우선으로 큐(queue)를 이용하여 탐색하는 방식이고, DFS 방식은 노드들을 시작 노드부터 깊이 우선으로 스택(stack)을 이용하여 탐색하는 방법이다. BFS와 DFS는 각 단계에서 복수개의 탐색 가능한 노드들 중에서 어느 노드를 먼저 탐색하는가에 따라 탐색 결과가 달라질 수 있다.
도 4c를 참조하면, 컴포넌트 C1의 경우에 BFS 방식을 통해 그래프를 탐색하게 되면, L(1), L(2), L(3), L(4)의 순서가 될 수 있고, DFS 방식을 통해 그래프를 탐색하게 되면, L(1), L(2), L(4), L(3)의 순서가 될 수 있다. 컴포넌트 C2의 경우는 어떤 방법에 의해서도 L(5), L(6)의 순서가 될 수 있다.
여기서, 어떤 순서를 선택해도 되지만, 컴포넌트는 C1, C2 순으로, C1은 L(1), L(2), L(3), L(4) 순서로, C2는 L(5), L(6) 순서로 행하는 경우에 대해 설명한다. 따라서, 전체적으로는 L(1), L(2), L(3), L(4), L(5), L(6) 순으로 진행할 수 있다.
이처럼, 매트릭스가 완성되고, 그 후, 사용자로부터 i) '난이도 평균(또는 주제어), 난이도 표준 편차'의 목표치를 입력받는다. 또한, ii) '관련도 평균(또는 주제어), 관련도 표준 편차'의 목표치를 입력받는다. 또한, iii) 모든 단어간 연결에도 관련도 범위를 적용할 것인지도 설정하도록 한다.
i) 또는 ii)에서 표준 편차 대신에 범위 또는 분산을 입력받아도 무방함은 물론이다. 또한, ii)에서의 관련도 평균은 인접하는(문자를 공유하여 직접 연결되어 있는) 단어끼리의 관련도만을 고려한 것이고, iii)에서의 모든 단어간 전체 관련도는 등장하는 모든 단어(문자를 공유하며 직접 연결되어 있지 않더라도)가 소정의 관련도를 가져야 함을 의미한다.
이때, 난이도 수준(즉, 평균 및 표준 편차)과 관련도 수준(즉, 평균 및 표준 편차)은 각 컴포넌트마다 만족시키는 것이 바람직하다. 즉, 컴포넌트 C1에 대해서도 소정의 난이도 수준 및 관련도 수준을 만족시키고 컴포넌트 C2에 대해서도 소정의 난이도 수준 및 관련도 수준을 만족시키도록 하는 것이 바람직하다는 것이다. 이는, 문제 해결을 용이하게 하기 위한 것으로 전체 퍼즐에 대해 통합 적용하는 것보다 처리 방법에 쉽다는 장점이 있다.
그러나, 이에 한정되지 아니하고, 컴포넌트 C1, C2 각각이 소정의 난이도 수준 및 관련도 수준을 만족하지 않더라도 컴포넌트 C1과 C2가 통합하여(즉, 전체로서) 소정의 난이도 수준 및 관련도 수준을 만족시키는 것으로 할 수도 있음은 물론이다.
도 5a는 도 1의 단계 112를 구체화한 것으로서 단어 선택 시 난이도와 관련도 수준을 만족시키는 방법의 흐름도이며, 도 5b는 이를 설명하기 위한 문제 매트릭스 P의 예시이다.
도 5a의 단계 112-1에서, 도 5a의 단계 112-1에서, 수식
| DAT(n) - DAT(i+1) | = | DAT(n) - DAT(i) |, 단, 1=i=n-1
에 의해 단어의 난이도 수준의 목표치를 사용자 요구인 최종 목표치에 점진적으로 수렴해 가도록 하고,
수식
| RAT(n) - RAT(i+1) | = | RAT(n) - RAT(i) |, 단, 2=i=n-1
에 의해 단어간 관련도 수준의 목표치를 사용자 요구인 최종 목표치에 점진적으로 수렴해 가도록 한다. 이는 후술하는 수학식 3 및 수학식 4와 동일한 것이며하며, 각 단계에서의 목표치를 최종 목표치에 근접시켜 가기 위함이다. 이러한 구성에 의하면 후술할 단계 112-4에서의 백트랙킹이 발생할 가능성이 낮아진다.
다음으로, 도 5a의 단계 112-2에서, 각 단계에서 목표치에서 일정 범위를 벗어나지 않는 단어들을 선택해 나간다. 단계 112-1은 난이도 평균의 목표치 및 관련도 평균의 목표치를 최종 목표치에 수렴시켜 나가는 것이고, 단계 112-2는 실제 단어 선정에서 난이도 평균 및 관련도 평균 등을 최종 목표치에 수렴시켜 나간다는 차이점이 있다.
다음으로, 단계 112-3에서, 마지막 단어의 선택에서 목표치에 일치시키도록 한다.
다음으로, 단계 112-4에서, 마지막 단계에서 목표치와 일치시키지 못한다면 이전의 단어 선택을 취소하고 뒤로 돌아가 다시 진행해야 한다. 뒤로 돌아갔는데도 아직도 조건이 만족되지 않으면 이것이 되풀이되어 다음에는 그 전의 단계로 돌아간다. 이러한 상황이 반복되면 결국에는 처음의 시작 단계까지 돌아갈 수도 있다. 이때는 실패 처리하며, 조건에 맞는 퍼즐 문제를 만들 수 없다. 다만, 단계 112-1에서의 조건(즉, 중간 목표치를 최종 목표치에 수렴시켜 가는 것)이 잘 지켜진다면 그에 따라서 단계 112-2에서 실제 난이도 및 관련도의 평균이 최종 목표치에 수렴하게 되므로, 백트랙킹이 발생할 가능성이 낮아진다.
예를 들어 어느 컴포넌트에서 t1, t2, ..., tn-1 까지 조건에 맞는 단어들을 선택했고, 현재는 마지막 tn을 선택해야 한다고 하자. 이때, 전체 목표(평균, 표준편차) 조건을 만족시키는 n번째의 단어들을 단어 사전에서 하나도 검색할 수 없다면, n-1번째 단어 선택으로 돌아가야 한다. n-1번째 단어 선택으로 돌아가서 직전의 단어 선택을 취소하고 다른 단어를 선택하여 진행해야 한다. 이를 백트랙킹(backtracking)이라 한다. 이것이 되풀이되어 다음에는 n-2번째 단어 선택으로 돌아가고, 결국에는 처음의 시작 단계까지 돌아갈 수도 있다. 이때는 실패 처리하며, 조건에 맞는 퍼즐 문제를 만들 수 없지만, 단어 사전에 단어들이 충분히 많이 있다면, 적당한 목표치에 대해 실패할 확률은 매우 적게 된다.
즉, 단어 사전에 있는 단어들 중 어느 단어를 선정하여도 사용자가 요구하는 난이도 수준 및 관련도 수준을 충족시키는 (매트릭스 전체 또는 소정의 컴포넌트에서의) 마지막 단어(n번째 단어)를 선정할 수 없는 경우에는 이미 선정된 n-1번째 단어를 취소하고 n-1번째 단어부터 다시 선정하며, 사용자가 요구하는 난이도 수준 및 관련도 수준을 충족시키는 n-1번째 단어도 재선정할 수 없는 경우에는 그 이전에 선정한 단어를 순차적으로 취소하기를 반복한다는 것이다.
예를 들어, 도 5b의 컴포넌트 C1에서 ① '대한민국', ② '대학교', ③ '민속'까지 단어를 선정하였는데 ④란에 넣을 단어 중에서 난이도 수준 및 관련도 수준을 만족시키는 단어가 없다면 ③ '민속'을 취소하고 이 ③을 다시 선정한다는 것이다. '민속'이 아닌 다른 단어로서 ③도 선정하기 힘들다면 ②로 돌아갈 것이다.
도 5a의 흐름도에서 백트랙킹이 발생하지 않는 것이 바람직함을 알 수 있다. 따라서, 백트랙킹을 줄이기 위한 보완책이 필요하게 된다. 백트랙킹을 줄이기 위해서 각 단계의 단어 선택 조건을 강화할 수 있다. 즉, 최종 평균 목표치에서 아주 작은 범의 내의 단어들만을 선택하여 최종 단계 전에 최대한 목표치에 근접시키면 최종 선택 단계에서 목표달성이 수월해진다.
이때, 백트랙킹을 줄이기 위해 각 단계에서 단계별 목표치를 정하여 진행할 수 있다. 이 목표치는 최종 단계로 갈수록 최종 목표에 점진적으로 수렴하도록 한다. 즉, 최후의 단계에 접근할수록 목표치와의 차이를 점점 줄여나가다가 최종단계에서 완전히 일치하도록 한다. 단어사전의 단어들에 맞추어 적절한 단계별 목표치를 설정한다면 백트랙킹은 발생하지 않거나 최대한으로 줄일 수 있게 된다.
즉, 컴포넌트마다 난이도 수준 및 관련도 수준을 맞추도록 단어를 선정하는 경우라면, 컴포넌트 중 하나(예를 들어 컴포넌트 C1)에 x개(예를 들어 4개)의 단어 가 삽입된다고 가정했을 때, 당해 컴포넌트를 위한 단어를 선정함에 있어서 x번째의 단어 선정에 가까워질수록, 단어의 난이도 수준 및 관련도 수준을 사용자 요구에 점진적으로 수렴해 나가도록 하는 것이다.
또는, 컴포넌트마다 난이도 수준 및 관련도 수준을 맞추지는 않고 매트릭스 전체에 대해서만 난이도 수준 및 관련도 수준을 맞추고자 하는 경우라면, 제1 공간(공란)에 포함될 x개(예를 들어 6개)의 단어를 선정하며, x번째의 단어 선정에 가까워질수록, 단어의 난이도 수준 및 관련도 수준을 사용자 요구에 점진적으로 수렴해 나가도록 하는 것이다.
컴포넌트 별로 난이도 수준 및 관련도 수준을 맞추는 경우에, 도 5b의 예를 보면, ① '대한민국', ② '대학교', ③ '민속'까지 무작정 정하고 나서, ④만을 이용해서 ①~④의 난이도 수준 및 관련도 수준을 맞추려고 하면 어려울 수 있으니, ③의 선정 과정, 더 나아가서는 ②의 선정 과정에서부터 난이도 수준 및 관련도 수준을 점진적으로 맞춰 나가자는 것이다.
이하, 난이도 수준 및 관련도 수준을 점진적으로 맞춰 나가기 위한 수학적 모델에 대해 설명한다.
달성해야 할 전체 난이도의 평균 목표치(Difficulty Average Target)를 DAT(n)이라고 하고, 달성해야 할 전체 난이도의 표준편차 목표치를 DDT(n)이라 하며, i번째 단어 선택까지의 난이도의 평균 목표치를 DAT(i)라고 하면, 다음 수식과 같이 정한다.
| DAT(n) - DAT(i+1) | ≤ | DAT(n) - DAT(i) |, 단, 1≤i≤n-1
또한, 달성해야 할 단어간 관련도의 평균 목표치(Relationship Average Target)를 RAT(n)이라 하고, 달성해야 할 단어간 관련도의 표준편차 목표치를 RDT(n)라고 하며, i번째 단어 선택까지의 관련도의 평균 목표치를 RAT(i)라고 하면, 다음 수식과 같이 정한다.
| RAT(n) - RAT(i+1) | ≤ | RAT(n) - RAT(i) |, 단, 2≤i≤n-1
이때, i≥2인 이유는, 단어간 관련도는 2개 이상의 단어들 사이의 관계이므로 RAT(2)부터 계산하는 것이다.
수학식 3과 수학식 4는 단어 선택이 진행될수록 난이도 및 관련도의 평균값의 목표치가 점점 최종 목표치에 수렴한다는 것을 의미한다. 물론, 난이도 및 관련도의 평균값이 높고 낮음을 반복하면서 목표치에 수렴할 수도 있을 것이고, 그 값이 점점 높아지면서 목표치에 수렴할 수도 있을 것이고 목표치보다 낮아지면서 목표치에 수렴할 수도 있을 것이다.
한편, 이러한 상황을 일반화하여 수식으로 나타낼 수도 있을 것이다.
i번째 단어까지 선택하고, i+1번째 단어 선택을 수행한다고 할 때, i번째 단어 선택까지의 상태 및 i+1번째 단어 선택의 목표치가 다음과 같다고 가정하자.
단계 i+1 의 난이도 평균 목표치 : DAT(i+1)
단계 i+1 의 난이도 표준편차 목표치 : DDT(i+1)
단계 i+1 의 관련도 평균 목표치 : RAT(i+1)
단계 i+1 의 관련도 표준편차 목표치 : RDT(i+1)
또한,
단계 i까지의 난이도 : (d1, d2, d3, ..., di)
단계 i까지의 관련도 : (r2, r3, r4, ..., ri)
이때, ri는 i번째 단어 선택 단계에서 선택된 단어와 기존에 선택된 단어들 중 i번째 선택된 단어와 연결되어야 하는 모든 단어들과의 관련도 평균이다. 이때 c개의 단어들과 연결되어야 한다면 각 단어와의 관련도도 일정수치 범위 내로 제한할 수 있다. 또한, 최초 단어의 선택에는 관련도를 적용할 수 없으므로 r1의 값은 존재하지 않는다..그리고 전체 단어들에 대해 관련도 목표치를 적용하기로 선택 하였으면, i번째 선택된 단어는 이전 단계까지 선택된 모든 단어들과도 관련도 목표치를 만족시켜야 한다.
이때 i+1번째 단어 선택에서 검색되는 후보 단어 k는 다음 조건을 만족해야 한다.
단어 k의 난이도를 dk 라고 하고, 기존에 선택된 단어들 중 단어 k와 연결되는 단어들과의 관련도 평균을 rk 라고 하면, 난이도 평균(DA(i+1))은 수학식 5와 같이 정의되고 수학식 6을 만족해야 한다.
Figure 112009063881885-pat00003
| DAT(n) - DA(i+1) | ≤ | DAT(n) - DAT(i+1) |
또한, 관련도 평균(RA(i+1))은 수학식 7과 같이 정의되고 수학식 8을 만족해야 한다.
Figure 112009063881885-pat00004
| RAT(n) - RA(i+1) | ≤ | RAT(n) - RAT(i+1) |
다음으로 난이도의 표준편차를 구한다. 여기서 표준편차는 분산으로부터 구해도 되고, 또는 일정 범위의 값으로 주어져도 된다. 만일 x개의 수(N1, N2, ..., Nx)들의 평균값을 m이라고 하면, 이 x개의 수들에 대해 표준편차를 구하는 식은 다음과 같다.
Figure 112009063881885-pat00005
난이도 표준편차는 다음의 수학식을 만족해야 한다.
i번째 단계까지 단어 선택된 단어들과 단어 k를 포함한 난이도의 표준편차(즉, i+1번째 단어로 단어 k를 선택할 때의 난이도 표준편차)를 DD(i+1)이라 하면,
| DDT(n) - DD(i+1) | ≤ | DDT(n) - DDT(i+1) |
또한, 관련도 표준편차는 다음의 수학식을 만족해야 한다.
i번째 단계까지 선택된 단어들과 단어 k를 포함한 관련도의 표준편차(즉, i+1번째 단어로 단어 k를 선택할 때의 관련도 표준편차)를 RD(i+1)이라 하면,
| RDT(n) - RD(i+1) | ≤ | RDT(n) - RDT(i+1) |
그리고, 마지막 n번째 단어 선택에서는 후보 단어 k가 다음을 만족시켜야 한다.
난이도 평균은 수학식 12와 같이 정의되고, 수학식 13을 만족해야 한다.
Figure 112009063881885-pat00006
DA(n) = DAT(n)
또한, 관련도 평균은 수학식 14와 같이 정의되고 수학식 15를 만족해야 한다.
Figure 112009063881885-pat00007
RA(n) = RAT(n)
또한, 난이도 표준편차는 다음의 수학식을 만족해야 한다.
n-1번째 단계까지 선택된 단어들과 단어 k의 난이도의 표준편차를 DD(n)이라 하면,
DD(n) = DDT(n)
또한, 관련도 표준편차는 다음의 수학식을 만족해야 한다.
n-1번째 단계까지 선택된 단어들과 단어 k까지의 관련도의 표준편차를 RD(n)이라 하면,
RD(n) = RDT(n)
이상의 등식들(수학식 13, 15, 16, 17)에서, 완벽히 일치하지 않더라도 미리 설정된 오차범위 내에서는 일치하는 것으로 판단할 수 있다.
도 6은 스택을 이용하여 단어를 삽입해 가는 과정을 나타내는 흐름도이다.
전술한 과정을 거쳐, 컴포넌트 순서에 따라 각 컴포넌트의 단어를 순서에 따라 선택해 나간다. 컴포넌트의 단어 순서대로 모든 단어들을 조건에 맞게 선택하였으면 컴포넌트의 단어 선택에 성공한 것이므로 다음 순서의 컴포넌트를 진행하고, 모든 컴포넌트의 단어 선택에 성공했으면, 선택된 단어들로 퍼즐 문제를 만든다.
한편, 단어를 선택하는 방법은 다음과 같다. 여기서는 t1, t2, ..., ti 까지 선택되었다고 하고, ti+1을 선택하는 방법이다.
도 6의 단계 602에서, 사전에 스택을 초기화한다. 초기에는 공백 스택(empty stack)이다. 스택에는 선택된 단어들을 저장한다. 스택의 탑(top)은 최근 선택된 단어를 가리키고 있다. 스택에는 새롭게 선택되는 단어가 저장되고, 선택이 취소되는 단어는 삭제된다. 스택을 이용하면 어떤 단계에서 단어 선택의 진행 중 단어 선 택에 실패할 경우, 이전 단계(이전 단어의 선택 단계)로 돌아갈 수 있다.
도 6의 단계 604에서, 조건에 맞는 단어들을 검색한다. 난이도 수준과 관련도 수준을 만족시키는 단어들을 단어 사전에서 검색한다. 구체적인 흐름은 도 5a 및 도 5b를 이용하여 전술한 바와 같다. 이때, 최초의 단어 선택이 아니며, 단어 간의 관련도 수준을 만족시키도록 설정되어 있으면, 단어 간의 관련도 범위를 만족하는 단어들을 검색한다. 만일 조건에 맞는 단어가 하나도 검색되지 않았으면, 컴포넌트 처음의 단어 선택인 경우는 실패로 처리한다. 그러나 기존에 선택된 단어들이 있을 때는 직전의 선택 단계로 돌아가서 다시 진행해야 한다. 이는 도 5a 및 도 5b를 참조하여 설명한 백트랙킹에 해당하는 내용이다.
예를 들어 컴포넌트에서 t1, t2, ..., ti 까지 조건에 맞는 단어들을 선택했고, 현재는 ti+1을 선택해야 한다고 하자. 이때, 조건에 맞는 단어들을 단어 사전에서 검색할 수 없다면, i번째 단어 선택 단계로 돌아가야 한다. i번째 단어 선택 단계로 돌아가서 직전의 단어 선택을 취소하고 다른 단어를 선택하여 진행해야 한다. 단어 선택을 취소하는 것은 스택에 저장된 직전의 단어를 삭제하고, 아직 선택되지 않은 다른 단어를 선택하여 저장하고, 다음 번째의 단어 선택 단계를 진행한다.
이때 i번째 단어 선택 단계에서 검색된 나머지 모든 단어들에 대해서도 i+1번째 단어 선택 단계의 수행에 실패한다면 i-1번째 단어 선택 단계로 돌아가야 한다. 백트랙킹은 1번째 단어 선택 단계까지도 돌아갈 수도 있으며, 1번째 단어 선택 단계의 모든 단어들에 대해서 이후의 단어 선택에 실패한다면, 조건에 맞는 컴포넌 트를 만들 수 없으므로 실패로 처리한다. 단어 사전에 단어들이 충분히 많이 있다면, 적당한 목표치에 대해 실패할 확률은 매우 적게 된다. 또한 앞에서 설명한 대로 적절한 단계별 목표치를 설정함으로써 백트래킹이 발생하지 않도록 하거나 최대한 줄일 수 있다.
도 6의 단계 606에서, 조건에 맞아서 검색된 단어들을 단어리스트(단어, 선택표시)로 구성하여 저장한다. 이는 몇 번째 선택된 단어인지 번호를 통해 접근할 수 있도록 한다. 즉, 처음부터 현재의 단계까지 검색된 단어들을 순서 번호(몇단계인지)를 통해 접근할 수 있다.
도 6의 단계 608에서, 단어들 중 하나를 선택하여 단어 리스트의 단어에 선택표시를 하고(flag=true), 스택에 (단계, 단어)를 저장하고, 다음 번째의 단어 선택을 진행한다. 다음번째 진행할 단어가 없으면, 즉, 컴포넌트의 최종 단어 선택을 마쳤으면, 컴포넌트의 모든 단어 선택에 성공한 것이다. 이때는 다음의 컴포넌트의 단어 선택으로 진행하고, 모든 컴포넌트의 단어 선택을 마쳤으면 퍼즐의 단어 선택을 성공한 것이다.
도 6의 단계 610에서, 성공으로 종료하면 선택된 퍼즐 단어들(스택에 저장되어 있음)의 힌트(즉, 단어 설명)를 단어 사전에서 검색하여 출력한다.
도 7은 본 발명의 실시예에 따른 크로스워드 퍼즐 생성 장치를 나타낸다.
도 7을 참조하면, 입력부(702)는 키보드, 키패드, 마우스 등으로서, 사용자가 원하는 수준의 난이도 및 관련도를 입력할 수 있다. 또한 디스플레이부(706)는 LCD, CRT, 유기 EL 등의 디스플레이로서, 문제 매트릭스 P나 사용자가 입력하고 있 는 단어 등을 시각적으로 확인할 수 있게 한다.
다음으로, 처리부(704)에 대해 설명한다. 처리부(704)는 전술한 모든 흐름들이 일어나는 곳이다. 처리부(704)는 단어 사전을 포함하는 메모리부(704-2)와 단어 각각에 대한 단어의 난이도 및 단어들 상호간의 관련도를 설정하는 난이도 및 관련도 설정부(704-4)와 크로스워드 퍼즐을 위한 문제 매트릭스를 설정하되, 문제 매트릭스는 가로 a행 및 세로 b행으로 구성되며 단어가 삽입될 수 있는 제1 공간(공란) 및 단어가 삽입될 수 없는 제2 공간(빗금친 부분)을 갖도록 하는 문제 매트릭스 설정부(704-6)와 문제 매트릭스의 제1 공간의 위치 정보 및 연결 관계를 검색하는 위치 정보 및 연결 관계 검색부(704-8) 및 사용자가 요구하는 난이도 수준 및 관련도 수준에 기초하여, 제1 공간의 위치 정보 및 연결 관계에 따라, 문제 매트릭스의 제1 공간에 삽입될 단어를 선정하는 단어 선정부(704-10)를 포함한다.
처리부(704)는 예를 들어 PC의 CPU일 수 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로 피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다.
그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1a는 본 발명의 일실시예에 따른 흐름도이며, 도 1b는 본 발명의 일실시예에 따른 문제예 및 해답예이다.
도 2a는 온톨로지의 트리에 의한 난이도 설정을 설명하기 위한 도면이며, 도 2b 및 도 2c는 도 1a의 단계 102와 관련하여 단어의 관련도를 설명하기 위한 도면이다.
도 3은 도 1a의 단계 108, 110 및 도 1b의 문제 매트릭스를 더욱 상세히 설명하는 도면이다.
도 4a는 도 1b의 문제 매트릭스를 컴포넌트로 표시한 것이며, 도 4b는 컴포넌트 1과 2의 그래프이며, 도 4c는 컴포넌트 1에 대해 BFS를 적용했을 때와 DFS를 적용했을 때의 예시이다.
도 5a는 도 1의 단계 112를 구체화한 것으로서 단어 선택 시 난이도와 관련도 수준을 만족시키는 방법의 흐름도이며, 도 5b는 이를 설명하기 위한 문제 매트릭스 P의 예시이다.
도 6은 스택을 이용하여 단어를 삽입해 가는 과정을 나타내는 흐름도이다.
도 7은 본 발명의 실시예에 따른 크로스워드 퍼즐 생성 장치를 나타낸다.

Claims (18)

  1. 난이도 및 관련도 설정부가 단어 사전에 포함된 y개의 단어 각각에 대한 단어의 난이도 및 상기 y개의 단어들 상호간의 관련도를 설정하는 난이도 및 관련도 설정 단계;
    문제 매트릭스 설정부가 크로스워드 퍼즐을 위한 문제 매트릭스를 설정하되, 상기 문제 매트릭스는 가로 a행 및 세로 b행으로 구성되며 단어가 삽입될 수 있는 제1 공간 및 단어가 삽입될 수 없는 제2 공간을 갖도록 하는 문제 매트릭스 설정 단계;
    위치 정보 및 연결 관계 검색부가 상기 문제 매트릭스의 제1 공간의 위치 정보 및 연결 관계를 검색하는 위치 정보 및 연결 관계 검색 단계; 및
    단어 선정부가 사용자가 요구하는 난이도 수준 및 관련도 수준을 만족하도록, 상기 제1 공간의 위치 정보 및 연결 관계에 따라, 상기 문제 매트릭스의 제1 공간에 삽입될 단어를 선정하는 단어 선정 단계;
    를 포함하며,
    상기 단어 선정 단계는, 상기 제1 공간에 포함될 n개의 단어를 선정하며, 상기 n번째의 단어 선정에 가까워질수록, 상기 단어의 난이도 수준의 목표치 및 관련도 수준의 목표치를 사용자 요구인 최종 목표치에 점진적으로 수렴해 가도록 하며, 이를 위해,
    달성해야 할 전체 난이도 평균의 목표치를 DAT(n)이라 하고, 달성해야 할 전체 난이도의 표준 편차 목표치를 DDT(n)이라 하고, i번째 단어 선택까지의 난이도의 평균 목표치를 DAT(i)라 하면, 다음의 수식
    | DAT(n) - DAT(i+1) | ≤ | DAT(n) - DAT(i) |, 단, 1≤i≤n-1
    을 만족시키고,
    달성해야 할 단어간 관련도 평균의 목표치를 RAT(n)이라 하고, 달성해야 할 단어간 관련도 표준 편차의 목표치를 RDT(n)이라 하고, i번째 단어 선택까지의 관련도의 평균 목표치를 RAT(i)라 하면, 다음의 수식
    | RAT(n) - RAT(i+1) | ≤ | RAT(n) - RAT(i) |, 단, 2≤i≤n-1
    을 만족시키도록 단어를 선정하는, 크로스워드 퍼즐 생성 방법.
  2. 제1항에 있어서,
    상기 문제 매트릭스 설정 단계에서,
    상기 문제 매트릭스 설정부는, 사용자로 하여금 상기 a 및 상기 b(단, a 및 b는 자연수임)를 선택하여 상기 문제 매트릭스의 크기를 결정하도록 하고, 또한 상 기 사용자로 하여금 상기 제1 공간 및 상기 제2 공간의 배치를 설정할 수 있도록 하며,
    상기 문제 매트릭스 설정부는, 상기 사용자가 상기 a, b, 제1 및 제2 공간의 배치 중 적어도 일부를 선택하지 않으면, 상기 선택되지 않은 적어도 일부를 임의로 설정하는, 크로스워드 퍼즐 생성 방법.
  3. 제1항에 있어서,
    상기 사용자가 요구하는 관련도 수준은, 상기 제1 공간 내에서 문자를 공유하는 단어들 간에만 적용되는 단어간 관련도 수준 및 상기 제1 공간 내에 삽입될 모든 단어들 간의 관련도인 모든 단어간 전체 관련도 수준을 포함하는, 크로스워드 퍼즐 생성 방법.
  4. 제1항에 있어서,
    상기 사용자가 요구하는 난이도 수준은,
    난이도 평균 및 주제어로 구성되는 그룹 중으로부터 선택되는 하나, 및
    난이도 표준 편차, 난이도 범위, 및 난이도 분산으로 구성되는 그룹으로부터 선택되는 하나를 포함하며,
    상기 사용자가 요구하는 관련도 수준은,
    관련도 평균 및 주제어로 구성되는 그룹으로부터 선택되는 하나, 및
    관련도 표준 편차, 관련도 범위, 및 관련도 분산으로 구성되는 그룹으로부터 선택되는 하나를 포함하는, 크로스워드 퍼즐 생성 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 n번째의 단어 선정에 가까워질수록, 상기 단어의 난이도 수준 및 관련도 수준을 사용자 요구인 최종 목표치에 점진적으로 수렴해 나가도록 하는, 크로스워드 퍼즐 생성 방법.
  7. 제6항에 있어서,
    상기 단어의 난이도 수준 중 난이도 평균을 사용자 요구에 점진적으로 수렴해 나가도록 하되,
    i+1번째로 선택되는 단어의 후보인 단어 k에 대해서, 상기 단어 k의 난이도를 dk 라고 하고, i+1번째 단어를 선택할 때의 난이도 평균의 목표치를 DAT(i+1)이라 하면,
    i+1번째 단어를 선택할 때의 난이도 평균(DA(i+1))은
    Figure 112009063881885-pat00008
    로 정의되고,
    다음의 수학식
    | DAT(n) - DA(i+1) | ≤ | DAT(n) - DAT(i+1) |
    을 만족시키는, 크로스워드 퍼즐 생성 방법.
  8. 제6항에 있어서,
    상기 단어의 관련도 수준 중 관련도 평균을 사용자 요구에 점진적으로 수렴해 나가도록 하되,
    i+1번째로 선택되는 단어의 후보인 단어 k에 대해서, 기존에 선택된 단어들 중 상기 단어 k와 연결되는 단어들과의 관련도 평균을 rk 라 하고, i+1번째 단어를 선택할 때의 관련도 평균의 목표치를 RAT(i+1)이라 하면,
    i+1번째 단어를 선택할 때의 관련도 평균(RA(i+1))은
    Figure 112009063881885-pat00009
    로 정의되고,
    다음의 수학식
    | RAT(n) - RA(i+1) | ≤ | RAT(n) - RAT(i+1) |
    을 만족시키는, 크로스워드 퍼즐 생성 방법.
  9. 제6항에 있어서,
    상기 단어의 난이도 수준 중 난이도 표준편차를 사용자 요구에 점진적으로 수렴해 나가도록 하되,
    i+1번째 단어를 선택할 때의 난이도 표준편차의 목표치를 DDT(i+1)이라 하면,
    i+1번째 단어를 선택할 때의 난이도 표준편차 DD(i+1)은 다음의 수학식
    | DDT(n) - DD(i+1) | ≤ | DDT(n) - DDT(i+1) |
    을 만족시키는, 크로스워드 퍼즐 생성 방법.
  10. 제6항에 있어서,
    상기 단어의 관련도 수준 중 관련도 표준편차를 사용자 요구에 점진적으로 수렴해 나가도록 하되,
    i+1번째 단어를 선택할 때의 관련도 표준편차의 목표치를 RDT(i+1)이라 하면,
    i+1번째 단어를 선택할 때의 관련도 표준편차 RD(i+1)은 다음의 수학식
    | RDT(n) - RD(i+1) | ≤ | RDT(n) - RDT(i+1) |
    을 만족시키는, 크로스워드 퍼즐 생성 방법.
  11. 제6항에 있어서,
    메모리부에 있는 단어들 중 어느 단어를 선정하여도 상기 사용자가 요구하는 난이도 수준 및 관련도 수준을 충족시키는 상기 n번째 단어를 선정할 수 없는 경우에는 이미 선정된 n-1번째 단어를 취소하고 n-1번째 단어부터 다시 선정하며,
    상기 사용자가 요구하는 난이도 수준 및 관련도 수준을 충족시키는 상기 n-1번째 단어도 재선정할 수 없는 경우에는 그 이전에 선정한 단어를 순차적으로 취소하기를 반복하는, 크로스워드 퍼즐 생성 방법.
  12. 제1항에 있어서,
    상기 제1 공간은 하나 이상의 컴포넌트를 포함하며,
    상기 컴포넌트는, 문자를 공유하는 단어들이 삽입될 공간의 집합 또는 공유하는 문자가 없이 하나의 단어만으로 이루어진 공간의 집합인, 크로스워드 퍼즐 생성 방법.
  13. 제12항에 있어서,
    상기 단어 선정 단계는 상기 컴포넌트에 포함될 단어를 선정하며, 상기 컴포넌트 중 하나에 z개의 단어가 삽입된다고 가정했을 때, 당해 컴포넌트를 위한 단어를 선정하되,
    상기 z번째의 단어 선정에 가까워질수록, 상기 단어의 난이도 수준 및 관련도 수준을 사용자 요구에 점진적으로 수렴해 나가도록 하는, 크로스워드 퍼즐 생성 방법.
  14. 제13항에 있어서,
    메모리부에 있는 단어들 중 어느 단어를 선정하여도 상기 사용자가 요구하는 난이도 수준 및 관련도 수준을 충족시키는 상기 z번째 단어를 선정할 수 없는 경우에는 이미 선정된 z-1번째 단어를 취소하고 z-1번째 단어부터 다시 선정하며,
    상기 사용자가 요구하는 난이도 수준 및 관련도 수준을 충족시키는 상기 z-1번째 단어도 재선정할 수 없는 경우에는 그 이전에 선정한 단어를 순차적으로 취소하기를 반복하는, 크로스워드 퍼즐 생성 방법.
  15. 제1항 내지 제4항 또는 제6항 내지 제14항 중 어느 한 항에 기재된 방법을 컴퓨터상에서 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  16. y개의 단어를 갖는 단어 사전을 포함하는 메모리부;
    상기 y개의 단어 각각에 대한 단어의 난이도 및 상기 y개의 단어들 상호간의 관련도를 설정하는 난이도 및 관련도 설정부;
    크로스워드 퍼즐을 위한 문제 매트릭스를 설정하되, 상기 문제 매트릭스는 가로 a행 및 세로 b행으로 구성되며 단어가 삽입될 수 있는 제1 공간 및 단어가 삽입될 수 없는 제2 공간을 갖도록 하는 문제 매트릭스 설정부;
    상기 문제 매트릭스의 제1 공간의 위치 정보 및 연결 관계를 검색하는 위치 정보 및 연결 관계 검색부; 및
    사용자가 요구하는 난이도 수준 및 관련도 수준을 만족하도록, 상기 제1 공간의 위치 정보 및 연결 관계에 따라, 상기 문제 매트릭스의 제1 공간에 삽입될 단어를 선정하는 단어 선정부;
    를 포함하며,
    상기 단어 선정부는 상기 제1 공간에 포함될 n개의 단어를 선정하며, 상기 n번째의 단어 선정에 가까워질수록, 상기 단어의 난이도 수준 및 관련도 수준을 사용자 요구에 점진적으로 수렴해 나가도록 하며, 이를 위해,
    달성해야 할 전체 난이도 평균의 목표치를 DAT(n) (이때 n은 상기 문제 매트릭스에 삽입될 단어 개수)이라 하고, 달성해야 할 전체 난이도의 표준 편차 목표치를 DDT(n)이라 하고, i번째 단어 선택까지의 난이도의 평균 목표치를 DAT(i)라 하면, 다음의 수식
    | DAT(n) - DAT(i+1) | ≤ | DAT(n) - DAT(i) |, 단, 1≤i≤n-1
    을 만족시키고,
    달성해야 할 단어간 관련도 평균의 목표치를 RAT(n)이라 하고, 달성해야 할 단어간 관련도 표준 편차의 목표치를 RDT(n)이라 하고, i번째 단어 선택까지의 관련도의 평균 목표치를 RAT(i)라 하면, 다음의 수식
    | RAT(n) - RAT(i+1) | ≤ | RAT(n) - RAT(i) |, 단, 2≤i≤n-1
    을 만족시키도록 단어를 선정하는, 크로스워드 퍼즐 생성 장치.
  17. 삭제
  18. 제16항에 있어서,
    상기 메모리부에 있는 단어들 중 어느 단어를 선정하여도 상기 사용자가 요구하는 난이도 수준 및 관련도 수준을 충족시키는 상기 n번째 단어를 선정할 수 없는 경우에는 이미 선정된 n-1번째 단어를 취소하고 n-1번째 단어부터 다시 선정하며,
    상기 사용자가 요구하는 난이도 수준 및 관련도 수준을 충족시키는 상기 n-1번째 단어도 재선정할 수 없는 경우에는 그 이전에 선정한 단어를 순차적으로 취소하기를 반복하는, 크로스워드 퍼즐 생성 장치.
KR1020090099311A 2009-10-19 2009-10-19 크로스워드 퍼즐 생성 방법 및 장치 KR101111179B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090099311A KR101111179B1 (ko) 2009-10-19 2009-10-19 크로스워드 퍼즐 생성 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090099311A KR101111179B1 (ko) 2009-10-19 2009-10-19 크로스워드 퍼즐 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20110042579A KR20110042579A (ko) 2011-04-27
KR101111179B1 true KR101111179B1 (ko) 2012-02-28

Family

ID=44047966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090099311A KR101111179B1 (ko) 2009-10-19 2009-10-19 크로스워드 퍼즐 생성 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101111179B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746000B1 (ko) 2005-05-06 2007-08-06 삼성전자주식회사 크로스워드 게임을 자동으로 생성하는 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746000B1 (ko) 2005-05-06 2007-08-06 삼성전자주식회사 크로스워드 게임을 자동으로 생성하는 방법 및 장치

Also Published As

Publication number Publication date
KR20110042579A (ko) 2011-04-27

Similar Documents

Publication Publication Date Title
Battiti et al. Reactive search and intelligent optimization
Banfield Ends and means in planning
Modelski World system evolution
Ereshefsky The poverty of the Linnaean hierarchy: A philosophical study of biological taxonomy
Fox et al. Introduction: Beyond culture worry
WO2021139333A9 (zh) 绝热演化路径的预测方法、装置、设备及存储介质
RU2002102864A (ru) Система и способ построения знаний
Tromp Wicked philosophy: Philosophy of science and vision development for complex problems
Reyes-García et al. Multilevel processes and cultural adaptation: examples from past and present small-scale societies
McAuliffe Transitional justice, institutions and temporality: towards a dynamic understanding
Soltanifar et al. Matrix‑Collage: An Innovative Methodology for Qualitative Inquiry in Social Systems
Fagot et al. The baboon: A model for the study of language evolution
Rehling Letter spirit (part two): Modeling creativity in a visual domain
JPS6039269A (ja) 計算機をベースとするシステムにおけるトピツクス・インタプリタ法
Shi et al. Dynamic aspiration based on Win-Stay-Lose-Learn rule in spatial prisoner’s dilemma game
CN110502613A (zh) 一种模型训练方法、智能检索方法、装置和存储介质
KR101111179B1 (ko) 크로스워드 퍼즐 생성 방법 및 장치
US8506374B1 (en) Letter placement game
Šimko Games with a purpose: User generated valid metadata for personal archives
Karimi et al. Classic, Segmented-, or Neo-Assimilation, Which Theory to Use? A Scientific-Method Investigation
McLaughlin Embodiment: a cross-disciplinary provocation
KR20090112015A (ko) 작문 시스템 및 방법
Welch The challenge of comparative research: A critical introduction
KR102561900B1 (ko) 게이미피케이션을 이용한 끝말잇기 게임 서비스 제공 시스템
Moraru Worlding Comparative Literature

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180103

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee