写真をクリックすると拡大します。



日本将棋連盟が、連盟に加わっているプロフェッショナルの棋士達が、自分勝手にコンピュータの将棋と勝負をすることを公の場所で行ってはいけないという禁止令を出しました。なぜか、ということについてお話ししたいと思います。

コンピュータに何かのゲームをやらせる、名人芸の技をやらせるというのでは「コンピュータチェス」が有名です。アメリカでは1950年代にコンピュータにチェスを打たせる研究が始まっています。
1950年代の日本は戦後の占領下にあった時代で、学術研究用のコンピュータをチェスのような遊び事に使わせるなどは議論になるはずもなかった時代に、アメリカでは既にコンピュータにチェスをやらせることが行われていました。これは、人間の知能や人間の知的活動は本質的にはどのようなことかということを、コンピュータを使って明らかにしようという研究分野に人工知能がありますが、広い意味で言うとそれのきっかけになった一つでもあります。
その研究の結果、47年後の1997年に、コンピュータチェスが当時のワールドチャンピオンに打ち負かしてしまいました。

では、日本の将棋ではどうでしょうか。
パソコンが世の中に出回り我々が自由に使える状況になった1987年になってはじめて、コンピュータ将棋協会が作られました。1990年からはコンピュータ上で動く将棋ソフト同士を戦わせる「コンピュータ将棋選手権」が開催されています。
今でもコンピュータ将棋が名人に勝つことはとても無理ですが、今年は「コンピュータ将棋選手権」に優勝したソフトがプロ五段に角落ち戦で勝っています。昨年も同じプロ五段が別のコンピュータ将棋ソフトに飛車落ちで負けていますが、昨年は気を抜いて打ったことが理由でした。
今年は体調を万全に整えた上、万一を考え飛車落ちではなく角落ちでコンピュータ将棋に対戦したのですが負けてしまいました。中盤までは終始プロ五段の優勢で進んでおり、しかもコンピュータ将棋ソフトは86手目で大緩着と思われる手を指しています。
しかしその手が11手後にとても含みのある手となり、プロ五段は負けてしまったのです。

では、コンピュータ将棋は将棋の差し手をどうやって見つけているか。
チェスや将棋、囲碁は完全情報ゲームですので、理屈としては初めの局面から最後の局面までの全ての局面を調べ尽くすことができれば必ず勝つことができるゲームです。
原理的には、全ての手を調べ尽くし、勝つことができた最終局面から相手の手番は自分が一番不利になる手を、自分の手番は自分が一番有利になる手を選びながら遡れば、必ず勝つことができます。
しかし、チェスで10の120乗の局面が、将棋は取った駒が使えるので10の220乗の局面があるだろうと言われています。全宇宙の粒子の数が10の80乗ほどといわれているなかで、この局面の数は無限といってもいい数です。
現在のコンピュータでは全ての局面を計算することはできないため、数10手先の局面までしか計算していません。そのため数10手先の局面の善悪を様々な評価値で判断し、そこから遡るやりかたを取っています。
しかし、数10手先までの全ての差し手を調べることには無駄がありますので、勝つ可能性のない差し手は調べないとか、最善の手が出てくる可能性が高い差し手から順に調べるなどの工夫を行っています。
はっきりとはわかりませんが、コンピュータの処理速度が早くなることと、最善の手を調べるアルゴリズムの工夫によって2015年頃になればコンピュータ将棋が名人に勝てるのではないかという楽観的な見方もあります。

日本将棋連盟がプロ棋士のコンピュータ将棋対戦を禁止したのは、コンピュータを恐れてのことでしょうか。いいえ、そうではありません。
コンピュータが将棋を指すことの仕組みを理解した上で、コンピュータ将棋に棋士がばらばらに関与するのではなく、日本将棋連盟がまとまってその発展を見守っていこう、という態度表明なのです。

コンピュータ将棋で名人に勝つことは、原理がわかれば高校生にもチャンスがあるので、ぜひ挑戦してみてください。
そのためには、基本的にはアルゴリズムを上手に使い、間違いなくプログラムに書くというところが勝負になります。
腕を試すためにもいろんなコンテストに参加してほしいと思います。参加できるコンテストには、スーパーコンピュータコンテストや工業高校独自のコンテスト、情報オリンピックなどがあります。
昨年までは情報オリンピックに参加できませんでしたが、今年から参加できるようになりました。情報オリンピックは、ユネスコが高校生を対象として開催している世界的なオリンピックのうちの一つで、17年くらいの歴史があります。個人での参加で、1月に予選を、2月に予選成績上位30人を対象に本選を行い、3月に本選成績上位10人を対象に特訓を行います。その特訓での成績上位4人が8月に開催する世界大会に出場することになります。そのため、高校3年生は参加できません。
大学生対象には、大学対抗プログラミングコンテスト(ACM/ICPC=Association for Computing Machinery/International Collegiate Programming Contest)があります。3人1チームで8問または9問の問題を5時間かけて解くコンテストです。アジア予選などの予選を行い、世界から約60チームを集めてコンテ ストを行います。
大学生になれば参加資格があるので、ぜひ挑戦してください。


Copyright(C)Fukushima Prefecture 2005. All Rights Reserved.
─ 全国高等学校パソコンコンクール実行委員会事務局 ─