七文字しりとりプログラム
自動で七文字しりとりを行ってくれるソフトを作製しました。背景
七文字しりとり研究はまだまだ発展途上であり、有効な七文字しりとり戦略は未解明な部分も多いです。七文字しりとり研究のためには、七文字しりとりを行う必要があります。しかしながら、従来の対人戦だけの七文字しりとりは、スループットが悪いという問題点がありました。
近年、AIによるコンピュータ囲碁プログラムが世界トップ棋士に勝利を収め、大きな話題となりました。*1
AIは、何百万回というヒトが到底こなせない数の対局を自分自身と行い、その都度強化されることで、トップ棋士を打ち負かすほどのプログラムとなったのです。
この研究はAIの可能性を大きく誇示しただけでなく、AIによって囲碁の新たな戦略が提示されたという大きな副産物もありました。
そのため、七文字しりとりもコンピュータベースで実装することができれば、七文字しりとり研究の発展に貢献できる可能性を秘めています。
そこで今回は、その足がかりとして、自動で七文字しりとりを行ってくれるソフトの作製を試みました。
手法
Matlabというソフトウェアを用いました。実はこれだけではソフトは動かず、別にリファレンスとなる単語リストのExcelファイルが必要になります。
Excelファイル上には手入力した七文字単語が羅列されており、RIGHT/LEFT関数やVLOOKUP関数を使って頭文字・末尾文字を数値として取得します (H,I列)。
ソフト上のLoadボタンを押すとファイル選択ダイアログが現れるので、
ここで作製したExcelファイルを読み込むことで七文字しりとりの準備が完了です。
ちなみに、開始単語はルクセンブルク固定です。
NEXTボタンを押すと、先に出た単語に続く七文字単語がランダムで選ばれ表示されます。
発見
「う」スパイラルが自然発生しました!展望
現在ここまでですが、今後はさらなる機能を追加したり、このプログラムを使った解析 (どんな文字が出現しやすいか?七文字しりとりが終わるのはどの文字か?等) も検討していきます。また、リファレンスとして手入力した七文字単語帳を使用しているのも大きな改善点です。既知の七文字単語が現れるだけになってしまっています。今後はインターネットから自動で七文字単語を取得する等、限界を設定しない七文字しりとりの実装を試みます。