2010/12/31

引き続き将棋世界2月号の連載記事「コンピュータは7冠の夢を見るか」より

文化的な面だけでなくアルゴリズム的な面でもバックギャモンの話は面白かった。

山本(東京大学の先生でコンピュータ将棋の開発者でもある人)
<<省略>>構造としては評価関数が重要な位置を占め、探索はチェスや将棋に比べると、 あまり重視されてはいません。 <<中略>> 探索は4手くらいでしょうか。もしくはロールアウトです。 <<中略>> あらゆる出目を想定して探索するとコンピュータでも4手がせいぜいといったところです。

将棋のようなmin-max法をベースに探索して答えを出すゲームは、αβ法という「単純(?)、高速、安全」と三拍子そろった後方枝刈りが強烈に効く。αβが強烈に効くがゆえに、コンピュータ将棋/チェスの世界では、ほかのテクニックもいかにαβを効率的に利用するかを主眼に置いているように思える。たとえば、反復深化法、NULL-MOVE、ヌルウィンドウサーチ、キラームーブなどがまさにそうだ。

しかし、バックギャモンや麻雀のように確率に支配されるゲームの場合、αβ法は使えない。
(余談だけれど、そのため、論文読み解く教養がないのに、麻雀ゲームに生かす目的でインターネットで見つけたチェスや将棋の論文を必死に読み解いていると、論文の主旨を理解できた瞬間に、麻雀では使えないことが分かってがっかりするというケースがとても多い。)

麻雀には、安全に刈れる後方枝刈りの技法がないので、全幅探索で読みを深めると指数関数的爆発の影響をもろに被る結果となる。そのため、麻雀の探索は、将棋やチェスと比較すると、不完全情報ゲームのプログラムをやったことがない人には理解してもらいにくいくらい、探索できる深さが浅くなるのだが、バックギャモンも似たような感じらしい。

計算量の爆発を抑えるために、私は仕方なく人間の経験を生かした前方枝刈りしているけれど、その結果、まったり麻雀はやたらとリーチが早くて愚形が多い、いわゆる棒テン即リータイプの雀風となってしまっている。

バックギャモンの場合は枝刈りに力を入れずに、結果をフィードバックして機械学習する手法など、評価関数に力を入れることで読みの浅さをカバーできているようだ。

麻雀の場合、スタートの局面が一定ではないため定跡が使えず、ゴールの目標も局単位でみると複雑になりがちで、リスクとリターンが表裏一体であるゲームでもあるため、機械学習がやりにくい。さらに、無駄にルールが複雑なこともあり評価関数の数値算出自体が探索処理をともなってしまうこともある。そのため、確率的な局面の推移と親和性がとれ、かつ、演算速度が速い局面評価関数を作るのはとても難しい。

まったり麻雀の評価関数はかなり雑で、ゲームアルゴリズムを専門にやっている人の前で評価関数と呼ぶのも恥ずかしいレベルなのが現実の姿。
麻雀の場合、無駄ツモさえなければ、ゴールまでの距離は短いことと、序盤は19字牌を整理してれば何とかなることが多いので、それでもゲームになるのだけど、改善しないといけない問題であることは間違いない。

いままで、まったり麻雀のAIに生かせるものはないかと将棋や囲碁の思考ルーチンのノウハウを学んできたが、バックギャモンのAIは強化学習のような教師なしの機械学習を使ってるという程度の知識しかなく未知だった。これからはバックギャモンのノウハウも学んだ方が麻雀に生かせるのかもしれない。そのためには、まずはバックギャモンのルールを覚えてゲーム固有の特性をつかむとという、AI以前の部分から始めなければいけないが……

| | コメント (0) | トラックバック (0)

2009/11/06

【感想】ネット麻雀・ロジカル戦術入門

ネット麻雀・ロジカル戦術入門
ネット麻雀・ロジカル戦術入門桐島 いつみ

洋泉社 2009-10-24
売り上げランキング : 710

おすすめ平均 star
star妄信しても上達できそうな数少ない良書
star何切る問題 東風版

Amazonで詳しく見る
by G-Tools

近代麻雀で連載されているコラムを単行本化したもの。43問の平面なに切る問題に対して、どういった理由で打牌を選択するかが書かれている。加えて、雑誌連載時には、なかった、ベテランプロ雀士、若手プロ雀士、ネット雀士の強豪3人による回答もショートコメント付で掲載されている。

私も、ひととおり、自分なりの答えを決めて、個々の問題の解説を読んだけれど、概ね納得のいく回答&説明がされている印象を持った。

ただ、いくつか、疑問を持つ回答もあることはあった。
たとえば、20問目のW立直をとるか、良形テンパイをとるかの問題。

一三六六六m/789p/234789s/  (ドラ九万)

解説の中で、19種類で良形テンパイとなり、1種(九万)で高得点となるからここはリーチせずとあるけれど、点数が高い悪形と、点数が低い良形待ちのどちらが良いと筆者が考えているのかよくわからない。
まずは、そこをロジカルに示す問題を出題しておいてから、この問題を出してほしかった。

ちなみに、一般に、悪形高打点と良形低打点の比較は、残りツモ巡が多ければ多いほど、悪形高打点が有利になるので、
今回の問題のような、
1.点数状況の制限なし
2.配牌状態
3.良形待ちになるのは数順後
という状態で、良形低打点が有利というならば、平場の状態では全て良形低打点を選択したほうが良いという理屈になる。この問題で、点数が低くなるが待ちがよくなる変化を良形変化としてカウントするのは違うんじゃないかと思う。なので、W立直を掛けないのはおそらく間違いだと思うけど、真実はどうなんだろう。

作者が良く打っているネット麻雀「天鳳」のルールが東風戦であり、段位制度ががラス回避を重視したほうが有利であるようになっていることによるものかもしれないが、この本では、悪形待ちテンパイを低く評価する傾向があるように私には思える。

また、「受け入れが何枚あるから、テンパイまで平均で何順かかる」というような説明がよくされているけれど、これも、本当は正しい計算のしかたではない。

でも、まあ、しかし、答えを導き出すプロセスに、ある程度納得のいく説明をしてくれている麻雀本は、それほど多くない。仮に、回答に間違いがあるとしても、思考のプロセスが書かれていてるので、自分で考えて、再検証が出来る点は良いことだと思う。

全体的に、文章も構成も読みやすい。また、数値が、統計データによるものか、経験的主観によるものなのか判断がつくように書かれており、かなり良心的な印象を受ける。

総じて、代金分の価値は十分あり、お勧めできる本だと思う。

| | コメント (8) | トラックバック (1)

2009/07/25

最近買ったものとか

Windowsゲームプログラミング 第2版 Game Developer
Windowsゲームプログラミング 第2版 Game Developer赤坂 玲音

ソフトバンククリエイティブ 2008-02-26
売り上げランキング : 55505

おすすめ平均 star
starC言語経験者向き
starWindowsプログラミング

Amazonで詳しく見る
by G-Tools

数多くあるWIN32APIの機能の中から、Windows作成、描画、ビットマップ表示、マウス入力、音楽再生などゲームに利用するものに絞って解説してる本。
とりあえず、C言語は覚えたけど、どうやって絵を動かしたりするのかわからないって人には良い本だと思う。
サンプルプログラムも、背景とキャラクターの描画とか、アニメーション処理とかゲーム向きでいい感じ。

この本で解説していないLISTBOXとコモンコントロールの類は、作者のウェブサイトに解説があるのでそちらで学習するのが良いんじゃないかと思う。

まったり麻雀のVer0.8は、WIN32APIをほとんど使わず、CodeGearのVCL(Visual Compoment Library)を用いて画面回りの機能をプログラムしてた。VCLは直感的に理解できて良いライブラリだと思うんだけど、CodeGearの行く末が不透明でいつまで開発環境をサポートしてもらえるか不安があるので、Ver0.9はVisutal C++で開発するように変えるつもりでいる。そのために、こういった本を一冊手元に置いておきたかった。

やさしいC++ 第3版 [やさしいシリーズ]
やさしいC++ 第3版 [やさしいシリーズ]高橋 麻奈

おすすめ平均
stars今までのC++の本で一番良い本!
stars初心者向け絶対お勧めの一冊
starsはじめてプログラミングを勉強するのなら最適

Amazonで詳しく見る
by G-Tools
いまさらC++の入門書など必要ではないんだけど、手元に一冊もC++の入門書が無かったから購入した。 いい意味でとても無難な本。ロングセラーになるのもよく理解できる。 C++は非常に多機能な言語なので入門書だと結構機能を省いて解説してる本も多いんだけど、この本は文法については一通り網羅して解説している。ただ、STLとかCの標準ライブラリの説明はあまり無いので、それらについて知りたければ別に本を買う必要がありそう。


四角い宇宙で待ってるよ
四角い宇宙で待ってるよ畑亜貴 木下智哉 Tsukasa(Sound Online)


Amazonで詳しく見る
by G-Tools

テレビアニメ「咲 -saki-」の新エンディング曲。前の曲にもまして麻雀用語がバリバリ入った曲になってる。個人的には、前のエンディング曲の歌詞が前向きで好きだったんだけど、この曲も聴きなれれば悪くないかも。
カップリング曲が前のエンディング曲である「熱烈歓迎わんだーらんど」のアレンジ版なのも良い。


| | コメント (0) | トラックバック (0)

2009/06/13

3匹目のドジョウ

 内容は、ほとんど「超・入門 科学する麻雀」と一緒。
 「超・入門 科学する麻雀」は雑誌と本の中間形態のMOOKとして発行されたため、今からは殆ど新品では入手できない。そういう意味で、「超・入門 科学する麻雀」を読みたかったけど購入できなかった人にはオススメできる。
 内容がMOOK版とほとんど一緒とはいっても、多少は違う箇所がある。もっとも顕著なのは、MJ4のデータを用いた実力ごとの打ち方の差を比較をしている6章だが、これも既に発行されている「MJ4攻略大全」から持ってきたものだ。もし、「超・入門 科学する麻雀」を持っているけど、今回追加されたMJ4のデータ比較部分に興味があるため、「おしえて!科学する麻雀」の購入を検討している方なら、「おしえて!科学する麻雀」ではなくて「MJ4攻略大全」を買ったほうが良いだろう。「MJ4攻略大全」には、「おしえて!」で追加された部分だけでなく、GAMEJAPANで連載されていた小林剛プロの何切る問題が載っており、これが、かなり有意義な内容となっているからだ。

 さて、麻雀本を買うときの最大の購入基準はなんといっても「この本を読めば私は強く成れるのか」ってことだと思う。科学する麻雀の一連のシリーズは押し引き判断とベタオリの手法に重点を置いて解説している。その部分について不安を持っている人ならば、上達は見込めるといってしまっていいと思う。私自身も東風荘のR1750程度だったものがR2050程度まで上がったので、すくなくとも、私自身は効果を確認済みだ。一連の科学する麻雀の本については、まったり麻雀のアルゴリズムも相当に参考にしているが、押し引き判断やベタオリは比較的うまく機能している。

 そういった意味で私は結構科学する麻雀シリーズにはお世話になっている。だけど、今回は敢えて疑問点を上げてみる。

データがうそ臭い
 今回追加されたMJ4のデータはところどころ怪しい値があって正直まじめに解析する気になれない。(例えば、配牌時向聴数と和了率の箇所など)。「MJ4攻略大全」を読んだときは、単なる誤植かとおもっていたけれど、今回「おしえて!科学する麻雀」でも直ってない。まじめに検討解析してないか、もしくはデータを捏造しているかのどちらかだろう。

本人達が本に書いてあるとおりの打ち方をしてない
 結局のところ、理論が正しいかどうかは実戦により示すのがもっとも説得力のある方法である。
しかし、残念なことに、本人達が本に書いてあるとおりの打ち方をしていない。このことは、私がそう感じるだけというわけでなく、多くの人がネット上で指摘していて、とつげき東北氏も福地氏も認めていることだ。
 とつげき東北氏は、「最近仕事がいそがしくて……」という感じで、単にミスをしてるだけとの発言だけど、福地氏の方は、完全イーシャンテン形からの先切りなど、意識的に異なるうち方をしているように感じられる。むしろ、「まったり麻雀」のほうがバカ正直に「科学する麻雀」の考えに沿ったうち方をしているとさえいえる。まったり麻雀の実力はごらんのとおりで、既存のコンピュータゲームよりは強いと思うし私程度ならいい勝負となるけれど、トップクラスの実力者からみたら全然マダマダというのが実際のところだろう。

いくらなんでも大雑把過ぎやしないか
 「状況による」でごまかして答えをあいまいにせずはっきりと答えを出すこと、統計的裏づけがあいまいな読みに頼らないこと、多くのケースで適用できる汎用的な技術を先に身につけること、という作者のコンセプトは、私程度の実力位までは十分有効だと思う。また、今までのウラスジや暗刻落としはさほど危険ではないということをデータとともに示したのはとても画期的なことだと思う。
 ただ、いくらなんでも、解析が大雑把過ぎないだろうか。天鳳の鳳凰卓に安定して在籍できる程度までの実力身に着けたいならば、もっと細かい条件わけが必要となってくるのではないのだろうか。残念なことに、私程度の実力では正しいことなのかどうかを判断できないが、少なくとも、鳳凰卓を観戦したり、関連ブログを読んだ限りにおいては、トップクラスのメンバーは皆かなり細かい条件わけを意識していて打牌をしているように思える。
 また、本の中で麻雀は点数が倍々に増えるゲームなのであまり細かい点は気にしなくても大丈夫との言い方をしているが、実際まったり麻雀にアルゴリズムを組み込み、判断基準を評価値として算出してみると僅差になることが多いのだ。また、本の中で、攻めるときは100%攻め、守るときは100%守った方が良いというような趣旨の記載があるが、そういった面も、まったり麻雀の打ち方を上級者に評価してもらった経験で判断するかぎり、疑問が残る部分である。

3冊も出しているが内容に殆ど進歩がない
 科学する麻雀の結論を導き出すための手法自体はおそらくは正しい。しかし、手付かずの分野も多い。そういった意味でもっともっと研究が必要だ。
 最初の「科学する麻雀」が発売されてかなりの年数を経ており、その間、「科学する麻雀」、「超・入門 科学する麻雀」の熱心な読者層においては、記述内容のコモディティ化が起きている気配すらある。
 いまや、科学する麻雀の読者にとって、最上級レベル到達への関門となっているのは、科学する麻雀で取り上げている、対リーチの押し引き判断、ベタオリ技術、そして、リーチするか否かの判断では無くて、鳴きを意識した牌効率や、点数状況判断、リーチ以外への放銃、リーチがかかる前の段階の押し引きの判断、などの技術になりつつある。そういった面への解析を作者に期待している読者も多かっただろう。本人は仕事が忙しくなかなか研究が進まないのだろうけれど、読者にはそんなことは関係ないのだから。

* * *

 繰り返すが、科学する麻雀の結論を導き出すための手法自体はおそらくは正しい。考え方としては実に理にかなっている。ただ、結論を導き出す計算の過程で多くの省略した要素があるのも事実で、結論が正しいかどうかは疑問が残る。細かい条件わけの不足や、着目している麻雀スキルの範囲が狭いため、自分で足りない部分をフォローしていかなければならない面が多いのだ。
 そうしていかないと、少なくとも麻雀ゲームを作る立場では、今後さらに強いプログラムを作るのは難しい。また、実際ゲームに組みこめるための思考速度を満たすためには、計算量の関係で、もっと違うアプローチが必要となってくることも多い。そういった面で、当の本人である作者達が、新たな取り組みにあまり積極的でなく、2匹目3匹目のドジョウをねらった安易な金儲けに走った出版を繰り返してるのは残念に思う。

| | コメント (2) | トラックバック (1)

2009/05/22

最近読んだ本

微妙。

麻雀をやってるときに、「統計データが少なすぎて有意差が出ないので確かなことはいえません」なんて悠長なことは言ってられない。最初は主観でエイヤと予測を立てて行動をし、捨て牌が増えて、新たなデータが出るたびに当初の予測を修正していくわけで、それはまさにベイズ統計の得意分野だと思う。
それに、麻雀ってのは条件付確率の塊なので、ベイズ統計は相性がよいんじゃないかと思ってる。

なのでちゃんと理解したいと前から思っているんだけど、普通の統計さえまともに理解してない私にとって今までのベイズ統計の本は難しすぎる。
この本は、ある程度理論はおいといて、実務者向けに応用例を提供している。ただ、応用例の紹介としてはそれなりに価値があるんだけど、この本ではベイズを使えるようになるのは難しいのではないかと思う。
書いている人はマイクロソフト社の人らしく実際実務にベイズを活かしているんでしょうが、実務のプロであっても教育のプロではないなって感じになっちゃってる。やっぱ大学の先生のほうが教え慣れてて教え方も上手なんだなという感想。っていうか、一番最初の例題が、モンティホールのジレンマもどきってのは間違いなんじゃないかと思う。モンティホールのジレンマは、何度説明を受けてもなかなか理解しにくい問題だし、さらに悪いことに、この本の説明は決して上手ではない。っていうかはっきり言って下手。私は、モンティホールのジレンマは結構ちゃんと理解したつもりだったけど、この本読んで却って判らなくなってしまった。

そういう意味では、ベイズの本だと、この本が良かった。

筆者は放送大学とかで講師をしている人らしい。例題が割と無難で、理工系の大学のテキスト用の本にしては珍しく文章が読みやすい。

結構難しい数式もでてくるけど、麻雀ゲームとかで、ベイズを使うときは、ぶっちゃけそんな難しいことまで知る必要が無くて、基本的な考え方が理解できて、図(ベイジアンネットワーク)が使えて、ナイーブベイズのアルゴリズムが実装できれば十分なので、この本のように文章で考え方を説明してくれる本は助かる。

ちなみにまったり麻雀は鳴き仕掛けに対する警戒アルゴリズムにベイズ的なアルゴリズムを使ってる。

* * * *


単にあおりだけじゃなくてそれなりに対策も書かれてる本なので仕事でウェブにかかわってる人は読んでおいて損はないと思います。

まあ、確かに、日本のインターネットコミュニティには、そういうオバカな面もあるような気がします。
実務としてネットで報道系のサイトと立ち上げてると特にそう見えるんでしょう。

私は、良い利用者に恵まれてよかったと思う。このブログに寄せられるコメントは開発に有意義に利用させてもらっている。

* * * *


失敗する製品が出てしまう理由を、ジオン軍のモビルスーツ開発を例に論じている本。

目次がこんな感じ。

第1章 MS‐06Fザク2―技術においては、「寿命の長さ」は必ずしもいいことではない
第2章 MS‐06R高機動型ザクシリーズ―技術規格を増やすのは善か悪か
第3章 MS‐07グフ―進化しすぎた技術は、環境変化で絶滅する
第4章 MS‐09Rリック・ドム―あるセグメントで成功した技術が、別のセグメントでも成功するとは限らない
第5章 MS‐14ゲルググ―投入するタイミングを失した技術は、どんなに優秀でも成功しない
第6章 MSM‐03ゴッグ―突出したスペックを持つ製品は、きわめて運用しにくいものになる
第7章 MSM‐04アッガイ―「使う人がいない」製品は、なぜできあがるのか
第8章 MSM‐07ズゴック―仕様はどこかで決断しなくてはいけない
第9章 MAM‐07グラブロ―モビルアーマーの存在意義を問う開発事例
第10章 MA‐08ビグ・ザム―ビグ・ザムが量産の暁には、ほんとうにジオンは勝てたのか
第11章 MSN‐02ジオング―フラッグシップモデルは造るべきか?

ただ、実際これをビジネス本として活用するために読むのはたぶん間違い。ガンダムの後づけ設定っぷりまじめに論じることを楽しむ本だと思う。

| | コメント (7) | トラックバック (0)

2008/03/01

買った本

最近、というか大分前からだけれど、異常に本を買う癖がついてしまった。
読むスピードが追いつかないんでやめなきゃいけないと思いつつやめられずにいる。サイドの表示スペースにおいてあるのはほんの一部実際はもっと買ってる。
サイドバーだと数がたまると消えちゃうのもなんかもったいなく感じるし、なんか記録に残したいの時々ブログ記事に書いておくことにする。(これでもまだ全部ではないけど)



ニューラルネットの応用事例多し、ニューラルネットの原理を学ぶには「学習とニューラルネットワーク 」のほうがいろいろな面でよかった。


★★★
私のレベルにはあってる。通勤時の暇つぶしには最適。
上達のコツが書いてあってよいんだけど、ヒントが強烈すぎる気がする。


★★
辞書的な使い方をするCookbook的な本。対象とするVisualStudioのバージョンが違うだけで内容がかぶるのかと思ってたけれど違った。それぞれに扱っている範囲が異なる。まったり麻雀V0.8.xはCodeGearのTurboC++で作ってるけれど、V0.9以降はVC++かC#にするかもしれない。



★★★
定番本。JavaScriptって割と雑な解説本が多いのである程度しっかりしたものを手元においておきたかった。ただ、今すぐJavaScriptで何か作る予定は無くなった。最初、牌譜再生アプリでも作ろうと思ってたけど、すでに作ってくれた人が居るので、読むの中止。


★★★★★
ド定番本。Perlやるなら持っておくべき本でしょう。「はじめての…」はオライリー本では相当に分かりやすい部類。



★★★★
微妙。取り上げている内容や本編は割りと納得がいく。けれど、サブタイトルと記事の結論が納得いかない。
モンティホールのジレンマを取り上げておくのは良いけど、それの結論が「デジタルの思考は間違えやすい」にしてしまうのはどうかと思う。もう一歩踏み込んでほしかった。私のように麻雀をプログラム的にとらえているのではなく、普通に打つのならそれほど違和感は感じないのかもしれないし。私の読む力のほうが一歩踏み込みが足りないだけかもれない。


★★★★
これ以外にも古代史本は結構大量に買ってる。その中で比較的納得しやすい内容だった。


★★
わりと使える例題が多し。ただし「使える」はサンプルプログラムがツールとしてつかえるという意味。
プログラマが参考にするには単にWEBの情報で十分。悪くないけど、値段と読む時間欠ける価値があるとは思えない。


★★★★★
大分まえに話題になった本。どうせタイトルだけのつり本だろうと思ってパスしてたけど、良書だった。
商品の値段のつけ方について、具体例を交えて解説した本。お勧め。


★★★★★
4冊目購入。結構ボロボロになるまで読んでるので。最初はむづかしくて分からなかったけど今ではほぼ全部理解できる。


★★★★★
羽生の考えを、人工知能と認知科学の観点で解説した本。人工知能はわりと知ってる内容が多くて詰まんなかったけど、認知科学については新鮮だった。麻雀のように、ほどほどの難しさの問題を短時間で回答しなければいけないゲームの場合認知科学的なアプローチで何か学習の効率を上げられるかもしれないと感じた。
超お勧め、っていうか私のような趣味の人間には必読書。


★★★
これも、認知科学的視点でゲームを捕らえた本。表紙はそれっぽくないけど、中身はやっぱりオライリー本的な文体。割と面白かったんだけど、読み終わる前にどこかに紛失してしまった。どこいったんだろう。

| | コメント (0) | トラックバック (0)

2008/02/19

あなたは何%麻雀のことを分かっていますか?

いまさらですが、ハチワンダイバーを読みました。面白いです。

絵が自分の好みでは無いのと、題名だけ聞いて将棋の話だとは思えなかった(海にもぐるダイビングの話だと思った)のでいままでスルーしていたのが悔やまれました。

アマゾンの書評にもあるとおりで、短くて特徴的なセリフと過剰とも思える演出で動きの少ない将棋の話をうまく漫画化してると感じます。

麻雀劇画が好みの人なら割と性に合うのではないかと思います。

将棋に詳しくなくても十分、この漫画を楽しめるのですが、将棋を知っていると、(っていうか、将棋そのものよりも、プロ棋士のエピソードを知っていると)結構面白いです。

たとえば、題名にあるハチワンダイバーとは、将棋の盤面(9x9=81)に没頭してダイブするような感覚のことですが、これは羽生2冠も同様のことを言っています。
(羽生氏はインタビューなどで、集中したときは、水の中にもぐっている感覚に近い。そのときは、時間の概念が無くなるといっています。)


また、主人公対漫画家戦で、


主人公「あなたは将棋のことを何%理解していますか?」
中略
漫画家「5%くらいかな、残り95%は未知だ」
主人公「強いこのひと」

という会話があります。これに似た会話も実際あったそうです。

田中寅彦九段が書いたエッセイに、囲碁棋士と将棋棋士が同様の会話をしたエピソードがのっています。
そのとき、将棋棋士は8%、囲碁棋士は5%と答えたそうです。(今手元に本が無いので確認できません。もしかすると数字が少し違うかもしれません。)
囲碁棋士の答えを聞いた将棋棋士は自分の思い上がった考えが恥ずかしくなったそうです。

さて、雀士に同じ質問をしたらなんて答えるでしょう?あなたは何%麻雀のことを分かっていますか?

| | コメント (6) | トラックバック (0)

2008/01/27

羽生マジックの正体

天才の言葉というものは、分かり難いものである。
長嶋茂雄などはその典型例といえるだろう。
プロ野球のキャンプで身振り手振りを交えて、「もっとこう、ビュッと。そう、ビュって感じで」と擬態語擬音語で熱心にコーチングしているけれど、TVで見ているこっちには何がなんだかさっぱり分からない。

どうも天才というものは、問題解決の手順を追わず、にいきなりズバッと結論が出てしまうようだ。

一般人にも多少は、そういった傾向がある。
たとえば、「3×5=は?」と質問されたとき、
3掛ける5とは小学校のときに習った知識によると、
3を5回足すことである。よって
=3+3+3+3+3
=6+3+3+3
=9+3+3
=12+3
=15
なんて面倒なことはしない。
なんども練習して体にしみこんだ知識でいきなり「さんごじゅうご」と理論や手順を経ずに答えをはじき出すわけだ。天才というものは、九九のような簡単なものだけでなく、それぞれの専門分野の技能を理屈が分からない子供の頃に無意識に体に叩き込んだ結果、時間を変えてじっくり考えなくても、理屈無しにぱっと答えが出てくるようになった人なのだろう。だから天才の言葉は一般人には分かりにくくて、解説に解説が必要だとか言われるような状態になるのだと思う。

羽生2冠の言葉も当初私には理解しずらくて、決断力などの書籍を読んだもののすぐにはピンとこなかった。
ただ、いろいろ調べているうちに結構理解できたような気分になったので、忘れないうちにブログに書いておく。

実験によると、将棋の局面を初心者、中級者、上級者、プロに見せ、その局面を覚えてもらうとき大体以下のような感じになるらしい。

●超初心者の認識
  「隅っこ香車があって、その横に桂馬があって、歩があそこに並んでいて…」
  =>個々の駒をバラバラに認識
●級位者の認識
  「先手後手とも矢倉囲いだな、後手はまだ矢倉の中に王様が入っていなくて、攻撃側の銀が…」
  =>一部を固まりとして認識、その他はバラバラに認識。
●上級者の認識
  「森下システムの序盤戦の定跡形に似てるな、でも端歩が特徴的だな。」
  =>ほぼ全体を塊として認識。
●プロクラスの認識
  「A名人vsB八段の第○回名人戦の第2局目の出だしだな。あの時は1局目も矢倉戦で……」
  =>全体を塊とした上に、時間的前後関係も含めて認識。


つまり、上達するにつれ、認識する事象の塊が大きくなる。しかも、認識する塊は空間レベルではなく、時間レベルにも広がっていくそうである。プロ棋士の局面認識はアマチュアレベルのそれとは、文字通り、「次元が違う」のだ。

ただ、認識が時間レベルに広がっているのは何も羽生2冠だけではなく、プロ棋士ならば大抵そのような認識をしている。というよりも、認知科学者に言わせれば、これは、経験量よるものであり、人間誰でも(多分動物も)、経験を積むにしたがって、日常的な事柄を時間的広がりも含めたひとつの塊として認識するようになるらしい。

弱肉強食の世界を生き抜くためには、その方が都合が良いため、脳がそのような作りに進化したのだろう。けれど、ゲームに関しては、流れを交えた認識が必ずしもプラスに作用するとは限らない。麻雀のオカルト論などその典型だ。

羽生2冠がすごいのは、認識の塊の広さそのものにあるのではなく、自分の局面評価の思考が時間的広がりにも影響されていることを客観的に認識していること。必要とあれば、時間的広がりをあえて狭めて局面を評価することができることにある。実際、羽生2冠は、講演で流れを意識した読みをしていること、不利な局面に立ったら一度考えをリセットすることを述べている。
さらにもっとすごいのは(羽生2冠自身の口から語られたことはないと思うが)相手の認識の塊の時間的広がりをも、コントロールすることで、相手を常識のワナにハメ、逆転への流れの変化を気づかせないようにしていることにある。

素人でも不利とわかる形勢からプロでも思いつかない手でゲームの流れを一気に変える大逆転の妙手「羽生マジック」はこうして生まれる。

昨年秋に放映されたNHK杯2回戦の羽生2冠vs中川七段。NHK杯の現役最多優勝回数を誇る解説の加藤九段が思わず「ひゃーっ」と奇声を上げた、NHK杯史上でも稀な大逆転のシーンが動画サイトにアップされている。
場面は終盤に差し掛かったところ、王手角取りを決められた上に、王を守る陣形も崩れ、羽生2冠は形勢不利。早めに王が逃げることで辛うじて詰みを逃れているシーンから、動画は始まる。

棋士は独特のきれいな手つきで駒を扱うが、その差し方、駒の升目への置かれ方は癖が出る。ある棋士は、気持ちが守りに傾いているときは、升目の自分側の線ギリギリに駒を置き、攻めに気持ちが傾いているときは、相手側の線ギリギリに駒を置く癖がある。守備から攻撃に転じたときの歩の動きは1.5マス前進しているかのようだ。
さすがにそこまで極端な例は少ないが、多くの棋士に共通しているのが、形勢有利だと思っているときは、アクションが大きく、指もしなってビシビシ駒音が大きくなること。もうひとつは「明らかにすぐに取られてしまう駒は雑に升目に置く」こと。
麻雀やポーカーのような手札を隠すゲームではしぐさを隠すのが当たり前だが、完全情報ゲームの将棋では割としぐさや表情を露にするようだ。そのことを踏まえて、駒を扱う手つきと駒の置かれ方に注目して動画を見てみる。

駒音高くビシビシ攻めてくる中川七段。逃げまくる羽生2冠だが、解説に、「どうもここで羽生2冠としては差す手が無くなった。<中略>受けが無い。全くね。攻めも無い」といわれた直後の、2六飛車。頭をかき、自信なさげな表情、こまを持ち上げもせずに指す手つきと飛車の乱れた置かれ方が印象的だ。だがこれはトリックだった。
次に、中川七段2度目の王手角取りをかける。羽生2冠は王を逃がすが、羽生の王は詰む寸前、飛車も角も両方ともただで取られる局面。

後に2チャンネルの将棋板に将棋ソフトを使って調べた結果が載っていたが、この時点で、中川七段は羽生2冠の王を詰ます手順があった。最低でも角を取っておけば中川玉が詰まされることは無かったようだ。けれど、羽生2冠の術中にはまったのか、中川七段は飛車を取る。これが敗着手となり、羽生2冠の逆襲を受け一気に投了となった。


今後、手つきに注目してNHK杯を観戦してみよう。
羽生がすっと雑に駒を動かした瞬間。それは、羽生マジックが炸裂する合図なのかもしれない。


羽生のインタビューを人工知能と認知科学の専門家が解読している本です。お勧め。


| | コメント (0) | トラックバック (3)

2007/05/02

小林剛の何切る解析

ゲームジャパンで連載が始まった「小林剛の何切る解析」が良さげ。
麻雀の本ってなんかどうしてそう打った方が良いか説明が不足しているモノがおおいけど、この連載は比較的納得のいく説明になってた。3向聴の牌効率ってのは麻雀アルゴリズムの課題のひとつなんで参考になりそう。
ただ、1ページの連載のために雑誌買うのも多少ためらう。カードゲームとか、RPGとか興味ないからなあ……

| | コメント (0) | トラックバック (0)