将棋ソフト開発(仮)

将棋のソフトを作るのです。趣味で。

ログインIDを忘れて放置してたとは言えない

ディスプレイをヤフオクで落として素晴らしい解像度となりました。

 

電王戦 (ソフトとプロ棋士の対局) に出場するやねうらおさん(ソフト開発者)の話を読んできたのですが、

共感できる部分がいっぱいありました。

 

とある開発者はコンピューターは名人より強いと断言してるようですが、

私にはとてもそうとは思えません。

そもそもソフトは将棋がなんたる物かすら理解してません。もちろん形勢判断もおかしいです。

ソフトが勝つのは純粋に読みのゴリ押しです。

 

開発者も棋士側も、高レベルのアマチュアもそうだと思うのですが、

「勝つ = 強い」 とはとても思えないのです。

なんと言うか、人間が、「こりゃ強い」と感じるのは、勝敗じゃないんです。

特にその世界の中に入っているとそうなると思います。

 

まぁ、人間が明確に目で見て確実に確認出来て、明確に分かるのは

「勝敗だけ」だから勝敗に目がゆくのでしょうけども・・・

勝敗は単なる強さを測定するほんの一要素の一つであって、

困ったことに人間ってやつは、それ以外の強さの測定能力があまり高くないのです。

 

 

将棋と言うのは、実は99%以上が将棋以外の要素から成り立っています。

そもそも、

戦う、攻める、守る、大将を討ち取る、勝つ、負ける、有利になる、不利になる・・・などなど、

こうゆう根本的な将棋の概念自体が人間特有の物で、

将棋は99%人間特有の概念です。

 

人が槍を持って相手の心臓を突き刺した。

それを見て「佐藤と鈴木が戦って鈴木が勝ったぞ!」と誰かが言った。

とっても人間らしい概念のかたまりだと思います。

少なくとも物理現象を説明した物じゃないです。

 

じゃあ将棋ソフトはどうなの?と言うと、

ほぼ全てのソフトは、攻めるも守るも、その他何も教えていません。

なぜかと言うと、それを教えるなんてとてもとても・・・って感じだからです。

ただひたすらに確実な読みと、適当な評価計算の連続です。

 

ただし、私のソフトは多少教えてあります。

それは評価点を様々に複数出すと言う点だけですが。

自分が取れる駒、取られそうな駒、別々に切り分けて個別に点数が出せるので、

一応攻めの概念と守りの概念は若干ですが導入されていますし、その度合いも調節できます。(これ以上やろうとは思いませんけども・・・)。

 

ただ、人間の頭の中がどうなっているか、

と言う事に比べると、もう比べ物にならないくらい複雑なことになってますね。人間は。

もうなにがどう複雑なのかも分からないくらい複雑です、人間は。

 

その結果として、人間は実際に読むべき盤面を恐ろしく効率化しています。

 

そのため、コンピューターと人間では脳みその構造その物が違うので、

人間のやりかたをそのままソフトに導入するのが正しいとなるわけでもありません。

得意分野がありますからね。

少ない労力でそれに見合った合理的な仕事を考え出すのは人間の得意とする所ですけども、

全部データを読み込んで総当り検索なんてどう見てもコンピュータのほうが得意です。

 

ですので、ソフトはなにもかも人間の真似をする必要は全くないと思っています。

(が、現時点ではマネをしなきゃならないのに難しすぎて出来てない部分のほうが圧倒的に多いと思います)。

その結果として、ソフトと人間では将棋に対する考えかたというか、

将棋がなんであるのか、と言う段階から人間とはそれを異にします。

もちろん、手の考えかたから盤面評価その他もろもろ、全部変わってきます。

将棋の解説なんてもってのほかですね。

(ただし、ある程度棋力がある人に対してはいろいろな手の流れを表示すればそれでよいので、そうゆう意味では難しくありません。これは人間とソフトが将棋という物を共通の「中間言語」として扱えると言うことです。将棋初心者には通用しません)。

 

 

さて、やねうらおさんと見解を少し違うところがあります。

やねうらおさんはこう言いました。

「人間が少ない手数で効率的に考えれるのは経験があるからです」と。

それはかなり私の考えとは違います。

経験と言うのは、人間が持ち合わせるものすごい数の能力のうちの、ほんの一つだと思います。

だって、人間に将棋を教える時、「これは攻めの手だよ」の一言で伝わるんですよ。

もうすでに将棋を知る前から「攻め」とか知ってるんです。それで通じるんです。すごい。

それどころか、「王」を取ったら勝ちだよ。で伝わるんです。

すでに勝ちとか負けとか知ってるんです。すごい。

勝ちとか負けは、人間の本能的な概念なのでしょうね。

それを人間が形あるゲームにして将棋が生まれたのでしょう。

将棋その物が人間の土俵なんです。

宇宙人に将棋は指せませんし、きっと勝敗の意味も分からずなんのゲームもできません。(出来るかもしれないけど)。

 

そんなわけで、将棋を指してる人間の頭の中は、きっとものすごい数の概念の切り分けが発生してるんだと思います。

そして、概念以外にもものすごい数の能力が発動してるんだろうと思います。

経験、というのは、その能力のうちのたった一つなんでしょう。

それが目標の設定とその効率化に繋がるんだと思います。

 

私には一つの思いがあります。

それは人工知能を作ることです。(まず無理なのですが。実際にも作ってません)。

人間が100万の項目(概念や能力)を無意識に使い、物を判断してるとしたら、

そのうちの重要部分の20や30でもソフトが扱えたら良いなと思っています。

もちろん人間のコピーを作りたいわけではなくて、コンピューターの長所(効率的な性能)と共存する形でです。

その時、両者が噛み合って爆発的な性能の向上が見られれば、それを作るのがどんなに楽しいことでしょうか。

 

そんなわけで、私は評価点を様々な角度から出すソフトをプログラミングしているのでした。

あれ、なんか書き終えてみるとただの落書きみたいな文章になっているような。