Share!

プログラミングとの出会いは大学時代

大学に入ったら人生の方向性がわからなくなってしまって。大学にはマンガの「DEATH NOTE」のように、とてつもない天才たちがたくさんいるだろうと、勝手に思っていたのです。それがいなくてがっくり。将棋部のレベルは強かった。しかし将棋部にも、きらめくような才能はいませんでした。皆さんご存知のように、そもそもそんな人たちは世の中に存在しないのです。まったくの勘違いでした。朝、渋谷のゲーセンに行って昼は将棋部へ、そして夜は麻雀。忙しくて大学は留年です。

そこで、自分の未来にとって大事なことはなんだろう?と考えました。何かパソコンってすごそうだ。当時はパソコン操作をみんな嫌がっていたように見えました。ちょうど英語のように。だったらやってみるか。得意の将棋プログラムを作ってみようーー

将棋が強くなるかどうかは、負けることの受け止め方次第です。あの羽生善治さんでも公式戦で3割負けます。強くなったということは、たくさん負けてきたということ。私もこれまでコンピュータ将棋を含めて1万試合くらい指したと思いますが、軽く5000敗はしています。思い出したくないような手痛い負けもたくさんあります。

開発当初のPonanzaはとても弱かった。そこそこ強くなるはずなのに! だってそうですよね。わたしのアマ五段の力とコンピュータの能力(1秒間に1億個くらいの加減乗除計算と数字記憶ができる)があるんですよ。強いプログラムができはずです。これがとんだ勘違いでした。結果は「こんなに弱いプログラムが存在するのか!」と思うほどのおぞましい弱さでした。でも逆に、これでプログラミングが楽しくなったのです。

科学とは、名人芸・職人技を誰でも使えるようにすべき存在だ

コンピュータは、頭が固いのですが言われたことはちゃんとやるとてもいい子です。そこで、いろいろなことをお願いするのですが、頭が固いから柔軟には動きません。プログラムを書こうとしたけど、できませんでした。なぜでしょう。

私自身は将棋に詳しくてそこそこ強いのに、なぜその手が良いのか何もわかっていないからです。たとえば、将棋には指し手を表現する言葉に「手厚い」「味がいい」「軽い」なんていうものがあります。私は、この言葉が意味するところはわかります。しかし、その理由を論理的に説明することができないのです。

目の前にペットボトルがあったとします。これがペットボトルであることは、ほとんどの人は見ればわかるでしょう。では「これがペットボトルであることを言葉で説明してください」と言われると…。これと同じ。好手の理由は言葉で具体的に説明できません。だからこそ、そしてむしろ、それが名人芸というものなのでしょう。

なぜ良いのか説明できない――実はそれが、人工知能の長い失敗の始まりなのです。人工知能はコンピュータの歴史とともに想像され、夢想されてきました。近年までほとんどうまくいかなかったのは、「人間は、自分がどうやって考えているのか自分で説明できない。論理的に説明できないことはプログラムにできない」と考えられてきたからです。それが可能になったのは、コンピュータが自分自身で知識を獲得していく「機械学習」のおかげです。

もちろん、機械も説明はできません。「あなた(機械)が勝手に勉強してください」という考え方です。機械は広い意味での人間の行動の一部を真似できるので、「これはペットボトルである」というラベルを付けてやると、それをきちんと学習するのです。

将棋プログラムも最初はプロ棋士の棋譜(将棋の一手ごとを記載したスコアのようなもの)から勉強しました。「指した理由はわからないけどプロ棋士が指したのだから最も良い手なのだろう。だから、これを学習しなさい」という方法です。これが始まりでした。つまるところ私はPonanzaに、どうやって学習すべきなのかをプログラムにして教えただけです。

将棋のルールはプログラムに書きましたが、私の将棋の知識は書いていません。書かない方がかっこいいじゃないですか。自分の知識を書いたら、プログラムが属人的なものになってしまいます。科学とは、名人芸・職人技を誰でも使えるものにすべき存在だと思います。

1 2 3 4

この記事を読んだあなたにおすすめのタグ

この記事を読んだあなたにおすすめのタグ

「テクノロジー」ランキング

人気のカテゴリ