Bonanzaの機械学習から考察する、これからのビジネスへの応用可能性

今回はビジネスとあまり直接関係のある話ではありませんが、僕の現在の”プログラミングスキル”について、趣味で行っている少し具体的な話とビジネスを絡めて書いていこうと思います。

プログラミングで”こんなこと”もできる

僕はエンジニアとして活動する前から”将棋”がひとつの趣味なのですが、プログラムしたAIと生身の人間を戦わせる”将棋大会”があるのをご存知でしょうか。


その大会を”電王戦”と言うのですが、以前”角ならずでプログラムが止まったこと”で話題になりましたね。


今や”トップレベルのプロ棋士”を超えたとも言われている”将棋ソフトの開発レベル”を競う大会です。


ちょっとマニアックな話ですが、まず”ゲーム理論”の分野で言うと、将棋というのは”二人零和有限確定完全情報ゲーム”です。


一応ですが、簡単に説明すると”二人でやるゲームで情報が完全に明かされていて有限”というような意味です。


直感的には将棋の指し手は無限のような気もしますが、”千日手”というルールがあるので有限です。(詳しくは説明しないので、今回の記事で登場する”マニアックな語句”に関しては興味があればそれぞれ調べて下さい笑)


これは将棋だけが特別なわけではなく、身近にあるものだと囲碁やオセロ、チェスもそうですね。


そう考えれば、この”二人零和有限確定完全情報ゲーム”であれば、コンピューターは異常なまでの計算スピードと記憶力があるわけですから、将棋ソフトは簡単に人間に勝てそうな気がするかもしれません。


例えば、将棋であれば相手の”王”あるいは”玉”を取ったら勝ちというルールです。


例えば、まず人間が一手指す、ソフトが一手指すそして人間がソフトの王様を取ったら人間の勝ち、ソフトが人間の王様を取ったらソフトの勝ち・・・・と、これを繰り返せばソフトに人間は絶対に勝てないように思えるかもしれません。


つまり、全てのパータンを網羅して”人間が何をやってもソフトが勝てる手”を見つけたら良いということです。


しかし、こんな馬鹿正直にやってしまうといくらコンピューターが”早い”とは言っても、すぐに限界が来てしまうのが現実です。


なぜなら、将棋の局面の合法手つまり、ルール上指すことが可能な手は、かなり少なく見積もっても30種類あるとしましょう。


すると二手先で、30の二乗=900、三手先で30の三乗=27000、四手先で30の四乗=810000という言うまでもなく”膨大な数”になってしまいます。


そう考えれば、”最初から最後の勝ちまで読み切るのは現実的では無い”わけですね。


そこで考案されたのが”局面を評価する”という考え方であり、現在の将棋ソフトはこの”評価関数”が優れていれば強い将棋ソフトと言えます。


”評価関数”とは局面を最後まで読み切れ無いということを前提として、局面を評価してソフトが最も有利になる局面を選ばせるという考え方です。


たとえば、局面を評価するために、初期の頃は「相手の駒と自分の駒を比べて自分の駒の価値が高ければ良い」というような関数にしていたわけです。


しかし、将棋は先程も言ったように、相手の王様を取ったら勝ちというルールが大前提にあるのですから、それほど駒の比較に意味はありません。


将棋に置いてもっと重要視すべきなのは、”駒の配置”なんですね。


ここら辺のロジックはすごく説明が複雑なので省きますが、たとえば相手の王様を取るのに、役立ちそうなところに駒がいる、自分の王様を守るのに役立ちそうなところに駒がいると良い・・・というようなイメージです。


勿論、人間の手で局面を評価する項目を調整していくことは非常に大変なので、以前から”機械学習”を使って調整しようという考えがありました。


ただ、この”機械学習”を使って調整をするという考え方は、長い間なかなかうまくいかなかったようです。


初めて”機械学習”によって、局面評価に成功したのが、ご存知の方もいらっしゃるかもしれませんが有名な”Bonanza”です。


機械学習には教師あり学習と教師なし学習と呼ばれるものがあり、Bonanzaは”教師あり学習”を使っています。


ここも一応解説を入れておきますが、具体的に言うとプロ棋士の棋譜を使用しプロが指した手をソフトが自力で考えて導き出せるよう、パラメーターを調整するという学習方法です。


このプロセスを繰り返すことによって、プロ棋士と同じような手を指せるようになるという仕組みだと考えて頂ければと思います。



・・・・・とまぁ、簡単に言えばこのような感じで”将棋ソフト”は開発され、日々進化しているということです(笑)


全く興味が無い方からすれば「面白く無い」と思われてしまったかもしれませんが、将棋もプログラムも両方好きな僕としては”めちゃめちゃ面白い”んです(笑)


shogisofuto


僕も完全に趣味ですが、上記は僕が完全に自作で開発した”将棋ソフト”です。


当然、まだまだ”弱い手”しか指せないソフトですが(笑)


事実、30年くらい前には「将棋ソフトが人間に勝つのは不可能だ」と言われていたわけですから、そういう意味でも”面白い”と僕は思うのです。


なぜなら、昔では考えられなかったようなことがコンピューターにはできるようになっているわけですから、まだまだ”可能性”は広がっているという見方ができると思うのです。


実際、今やアマチュアは将棋ソフトの足元にも及ばず、プロ棋士であっても勝つのは難しいと言われるまでになっています。


今は人間にしかできないと言われていることが、これからの発展次第ではいつか、”コンピューター”が全てできるようになるかもしれないですね。


将来的には”コピーライティング”や”ステップメール”のスキルなんかも人間には不要になり、もしかすると全てコンピューターが”アフィリエイト”もしてくれるようになるのかもしれません(笑)


それを個人で作り上げて、ひっそりと稼働させていれば、まさに”不労所得”を稼げる時代が来るかもしれませんよ(笑)


【続き】テーマ5、プログラミングスキルを”お金”に変える方法とステップ


田澤雄輔無料メールマガジンのご紹介

tazawamagines


僕が学んできたネットビジネスで稼ぐための方法論、ノウハウを中心配信していくメールマガジンです。


また、有名起業家と共同開発してきたツールなども順次配布していきますので、巷に良くある”有料級のコンテンツ”などではなく、”実際に有料のコンテンツやツール”を無料で配信していきます。


ネットビジネスの正しい知識と取り組み方、最新情報などを公開していますので、興味のある方は是非ご登録下さい。

>ご登録はこちら

コメントを残す

サブコンテンツ

管理人:田澤雄輔

profile

本業はIT系技術職ですが、アフィリエイターとしても活動しています。
2014年にアフィリエイトを始めた、いわゆる”超後発組”です。
今後もマイペースにがんばっていきます。

>田澤雄輔の自己紹介

最近の投稿

このページの先頭へ