作者: Tsutomu Hiroshima
日時: 2003/4/29(11:51)
廣島です.仕事してます.

> ふと思ったのですが、コンピュータにクロスワードを作らせるには
> どんなロジックを使うのでしょうか?
> 単語リストからランダムでピックアップし、いきあたりばったりで
> 埋めていっても...と思ったもので。
> 
> 「この単語は何文字目が別の単語の何文字目と縦横で繋がる」
> とか、やるのかな?
> 

英語のクロスワードは,
先に黒マス・白マスのデザイン(たいていが点対称のパターン)が
決まっているように思います.

この場合は,文字数で既に制限がかかっているので,素朴に考えて,

基本的に長い綴の列から,
最初はランダムに単語を選択して埋めていき,
その後は「2文字目 a,4 文字目 h の 5 文字」
等の条件でクロスワード辞典を検索し,
当てはまるものが無ければ
既に埋めた列を差し替えるのでは?

そうだとすると,
効率良くパズルが作成できるようにするためには,

・列を埋める順を決める
・検索結果から単語を選ぶ
・差し替えする列を選ぶ

のアルゴリズムとデータ構造が鍵になりそうですね.

-----------------------------
	廣島 勉
	(tsutomu@...)