2012年3月12日月曜日

チェスや将棋はよくコンピューターと対戦して、人間の方が勝つことが多々あります...

チェスや将棋はよくコンピューターと対戦して、人間の方が勝つことが多々あります。



計算能力ははるかに機械のほうが勝っているのになぜ人間が勝てるのですか?



勝っている部分は何ですか?将来克服されますか?


|||



チェスは既に人間が勝てない状態になってきています。

2005年以降、チェスのグランドマスターが負け続け、2008年ではコンピュータにハンデをつけて互角。

2009年にはコンピュータがグランドマスター級となりました。しかも、スマホのアプリ『Pocket Fritz 4』が。

将棋の方も、現在では名人級と互角です。

その為あと10年もすると、将棋でもコンピュータに勝てなくなる可能性が高いです。



コンピュータチェス・将棋は、何億というパターンをコンピュータが演算します。

局面による詰みを読む事には非常に優れて早いのですが、

最初から始めた場合、パターンが多すぎて数手先までしか演算できません。

チェスだと100手以上の手数まで演算し、総当り検索や確立性演算、合議制演算で勝利できましたが、

将棋は成る事で移動パターンが変化し、取った駒を手駒として使えることから12手くらいしか先読みできないそうです。

そしてコンピュータは詰むのを読む事に優れている為、演算範囲内で詰まない計算をします。

その結果、演算限界の先で不可避の詰みとなって負けます。

水平線効果と呼ばれ、「水平線(演算限界)までは見えるがその先は見えない。詰む結果をその水平線の先に先延ばしする」というのがコンピュータの戦法。

なので名人ともなればそれを読んで、数手先で詰むという誘導パターンを用意すれば勝てるのです。

ただし年々演算能力が増して、しかも確立演算の性能も上がっている為に処理できる手順が増えてきています。

その為に今では既にアマプロ級では勝てないそうです。



|||



プログラムを書いているのは人間だから、です。



確かにコンピュータは計算能力が高いですが、アルゴリズムを考えるのはプログラマという人間であり、その人の考え方がプログラムに反映されます。

何手先まで予測するか、攻め重視か守り重視か、どのような局面で攻守を変えるか・・・これらを決めるのは、プログラムを書いた人の考え方、能力に大きく左右されます。



また、ゲームによっても得て不得手があります。チェスは、取った相手の駒を再利用できない事から定石がほぼ決まっており、コンピュータが有利です。

将棋は、取った駒を再利用出来るため、先読みがしにくく、経験と勘がものをいう場面があるので人間が有利です。

すべての局面を記憶させ、その中の最適解を指しつづける事が出来れば、コンピュータが有利です。それを実用的な速度で行うことは・・・有能なプログラマが「京」を使えば可能なのかも知れません。


|||



コンピュータの能力は人間を勝っていますが、

プログラムを作る人間がチェスや将棋の王者より

劣っているので、負けるのです。データは

減ることはないので、将来は人間では

誰もかなわなくなる日がくるでしょうね。

0 件のコメント:

コメントを投稿