« 詰将棋メモ(2017年1月16日) | トップページ | 詰将棋メモ(2017年1月17日) »

詰将棋創作プログラミング 22 詰将棋創作AIを作るには

[2017年1月17日最終更新]

詰将棋創作プログラミング 22 詰将棋創作AIを作るには

自分で詰将棋を創作(自動創作)する詰将棋創作AIを作るには何が必要だろうか。

1.詰将棋創作AIとは

詰将棋創作プログラミング 20 自動創作とはで書いたように、自動創作した、すなわちプログラムが自分で詰将棋で創作したといえるには、

  1. 企画、構想(どんな詰将棋を作るか考える)
  2. 図化(それが成立しそうな配置を考える)
  3. 検討(狙いが成立しているか確認)
  4. 選定、推敲(最終的な作品を決定)

の全フェーズを実行できる必要がある。

現在は人間にしかできないと考えられるので、これが実現できたら詰将棋創作AIと呼んでもよいだろう。個性を持った詰将棋創作AIが育ってきたら、人間と識別するのも難しい。

これまで、いろいろなアプローチでコンピュータによる詰将棋創作の研究が行われてきたが、「自動生成」とか「自動創作」とか呼んでいても、ほとんどは人間の指示に従い図化、検討だけをプログラムで行うもので、自動創作というよりは人間による詰将棋創作の支援ツールであった。

最近は、東大の入試に挑戦とか新聞記事や小説の自動生成とか登場して話題になっているが、これも人間がおぜん立てしているレベルでは、AIというより人間の支援ツールだろう。

詰将棋創作プログラミングはもともと人間による詰将棋創作の支援ツールを目指しているので、詰将棋創作AIの話はちょっとはずれてしまうが、夢の実現という意味で、そのためには何が必要なのか、思いつくままにあげてみよう。

2.詰将棋創作AIのために必要なこと

1)企画、構想(どんな詰将棋を作るか考える)

人間が創作するときのことを考えれば、手掛かりになるだろう。

まず、当たり前だが、詰将棋を知らない人間には詰将棋を作ることはできない。つまり、

  • 詰将棋とはどういうものか

を知っていることが前提になる。ここは比較的プログラム化容易なところだろう。次に、

  • その人の詰将棋の経験

が重要。これは、その人がこれまで解いたり鑑賞したりした詰将棋、そして目にした解説者や解答者、賞の選考委員などほかの人の評価などである。ある程度自分で創作するようになってからは、どういう詰将棋を創作していて、それがどう評価されたかも重要な情報だ。さらに

  • 詰将棋の狙いについての知識

もないと、その評価の理解が困難だろう。手筋、構想、趣向、条件、曲詰など、人が何を狙って詰将棋を作り、何をどう評価するか、更にこれまでの作品でどこまで実現されてきたかといった歴史の知識もある程度いるだろう。

人は一人一人感性も異なり、したがって、好みの詰将棋も違ってくる。だから知識、経験も偏っているのが普通で、創作する詰将棋も人によって違ってくる。

詰将棋創作AIもしかりで、どのように育てるかで、それぞれ個性的なAIになっていくだろう。

経験を与える部分は、既存の詰将棋データベースが利用できると思われるかもしれないが、現在のデータベースには解説も評価も狙いも入力されてないので、学習用の詰将棋データベースを構築するところから始める必要がありそうだ。自然言語を理解するAIをベースにできるなら、例えば詰パラ、将棋世界、近代将棋などのPDFを入力にしてデータベースを自動生成することも考えられる。また、スマホ詰パラはもともとアプリで、データは評価を含めサーバにあるので、開発者と協力すれば自動で取り込めるのではないか。

解説や評価を含め全詰将棋を収録した学習用データベースができれば、その中から特定の傾向の詰将棋(同じ作者とか超短編だけとか飛角図式だけとか)を抽出して経験を詰ませれば、形、手順を含めそれらと違和感がない詰将棋を創作できるようになればおもしろい。ただ、人間は作風の中でも常に新しい要素を入れることを考えて創作しているので、創作AIも、似たような作品を作るだけでなく、新しい試みをできるようにしなければいけないだろう。

2)図化(それが成立しそうな配置を考える)

これまで一番研究されてきた図化のフェーズだが、正算、逆算、全検、ランダムといった手法だけでなく、少し高度な作品だと、手順法(中核の手順を先に作って、それを成立させる配置を作る)も必須。昔提案したことがあるが、難しいためか、この研究もほとんどされていない。構想作系は特に作意手順だけでなく変化紛れも重要で、これと作意手順の差異が狙いになっていることが多い。

3)検討(狙いが成立しているか確認)

完全性の検討の技術は、柿木将棋など現在でもかなりの水準にある。ただ、余詰のときにそれを修正する技術は新たに開発する必要があるだろう。

企画・構想段階でどんな詰将棋を作ろうとしたのか明確になっていれば、それが成立しているか判断するのは難しくないと思われる。

4)選定、推敲(最終的な作品を決定)

推敲もこれまでほとんど研究されたことがない項目だ。不要駒除去ぐらいなら簡単だろうが、いろいろ可能な配置を生成し最善の配置を見出すのは案外大変かも。

選定、推敲の段階で重要なのは

  • 生成した詰将棋の評価

である。これは前述の学習用データベースを元に評価することになる。

人間らしいAIを作るのなら、自分が経験した範囲内の詰将棋の評価をもとに生成した詰将棋の評価をするのがいいのだろうが、数が少ないと分析が難しい。賢いAIを作りたいなら全詰将棋の評価をもとにした方がよさそうだ。

個々の詰将棋を分析して、評価される要素をパラメタ化し、それがどのように評価されたのかをふまえて、全詰将棋から各パラメタの重みづけと評価の相関を学習する。それができれば、新たに創作した詰将棋がどう評価されるか、逆にどのような評価を期待するなら、どのように詰将棋を作ればよいか判断することもできるだろう。

ただし、詰将棋の評価は絶対的な評価が存在するわけではなく、人によって変わるだけでなくメディアによっても時代によっても変わるし、1号局と2号局でも全然違ってくる。類似作は評価減だ。その辺りを的確に判断して評価することは、かなり難しいかもしれない。

これまで、非常に狭い範囲の詰将棋を対象に人間の感性評価の研究が行われたことがあるが、それは評価する人間の集合が比較的同質だから研究しやすい面があったと思う。だいたい、発表するメディア、コーナーによって、そこに集う人の集合が形作られるので、最初からそれを意識して創作、評価するのがいいのだろうか。

3.詰将棋創作AIは夢かグランドチャレンジか

こうして少し考えただけでも、詰将棋創作AIの研究はまだほとんど手つかずで、道は遠そうだ。研究者、資金、リソースがそろえば案外進む可能性もありそうだが、詰将棋のワールドワイドな知名度はほぼゼロなので、成功しても元が取れないしね。

前にコンピュータ詰将棋の課題で、「課題D: プログラムだけで煙詰を作る」をグランドチャレンジだと書いたが、詰将棋創作AIはそれよりずっと広い取り組みが必要でさらに厳しいチャレンジだ。スマホ詰パラに限定して進め、3手詰ぐらいで感触をつかむのがいいのかも。

創作技術的には、人間が指示する創作支援ツールレベルでできないことは当然自動的にもできないので、まずは、詰将棋創作プログラミングの方向で頑張るのが、一つの基礎研究になるのかもしれない。

|

« 詰将棋メモ(2017年1月16日) | トップページ | 詰将棋メモ(2017年1月17日) »

「コンピュータ詰将棋」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/22735/64769535

この記事へのトラックバック一覧です: 詰将棋創作プログラミング 22 詰将棋創作AIを作るには:

« 詰将棋メモ(2017年1月16日) | トップページ | 詰将棋メモ(2017年1月17日) »