2009 9/22

アイの物語 (角川文庫)

 山本弘つながりで読む。これは確かにすごく面白い。『神は沈黙せず』の時のような引っかかりもないし、迷わずおすすめできる。

 弾さんみたいにベストフィクションとまでは言えないけれども、同じポジティブなAIネタを扱っても、宗教的伝統から来るフランケンシュタイン・コンプレックスからいまだ完全に自由でない(ように思われる)世界の最先端SF作品群に対する一石としての価値は十分あると思う。

 あえて重箱の隅をつつくとしたら、以下の話か。重大なネタバレ含むので作品自体を読んでからどうぞ。

おまけ

by 木戸孝紀 tags: ブックマークに追加する

2007 5/28

ゲームプログラミング

 これをきっかけにちょっと調べたら、面白いことになってきたのでメモしておこう。

 私が初めて(2番目だったかも)買ってもらったパソコンには倉庫番のソフトが付属していて、ルールの単純さとそこから生み出されるパズルの複雑さの落差に興味を引かれたものだった。

 他にこれに匹敵するものはコンウェイのライフゲームぐらいのものではなかろうか。

 ソルバ(問題を解くプログラム)の能力はまだ人間に遠く及ばないらしい。十数年前に初めて触った時点ですでにコンピュータの能力は人間を超えているだろうと思っていたのでこれはちょっと意外だった。なんと倉庫番はPSPACE完全問題らしい。

 後知恵だが、確かに言われてみれば、解くのにハノイの塔のような再帰的な手順を踏まなければならない問題を作ることができそうだと勘でわかる。

 問題のサイズに対して指数関数的な手順数が必要になるということだからPSPACE完全でも不思議ではないな。コンピュータの能力が追いつけていないというのも腑に落ちてきた。

 ソルバに興味が出てきた。自分でもやってみたくなってきたが、真面目に文献を当たり始めると自分が思いつくような手段はだいたいすでに試されているようだ。当たり前だが。

 で見られる明治大学の研究がパイオニア的存在だそうだ。ソースコードもダウンロードできる。論文はネット上で読めるところは見つからなかったが要旨は上の本に載っている。

 はあらゆるテクニックが行使されていて最高に面白い。英語で200ページぐらいあるが読める人は読んでみてはどうだろう。(PostScript形式が読めない人はとりあえずここへ。)

 しかしこれだけやってもこれしか解けてないのかという意味で改めて倉庫番というパズルの奥深さと、それを解いてしまう人間の知能の凄まじさに感心する。

 この論文に載っている以外の手法でこの先有効になりそうなのはなんだろう。単純に計算力の強化という方向でいくなら並列処理だろうか? 流行のErlangでソルバを作っている方を見つけた。

 しかし計算量を多少増やしたところでとても追っつかないような気もする。人間の思考方法にちょっとでも近づく方法は何かないだろうか?

 マップをある程度の大きさのユニットに区切ってユニット同士の繋がりによって手詰まりの判定を高速化するという方法の論文。735円と書いてあるように見えるがそれは印刷の値段で、無料登録でPDFダウンロードが可能。

 ユニットをどうやって分けるのか書かれていないのでどの程度実用になるのか不明だが、確かに人間はある程度のまとまりごとに区切ってその関係を見てあたりをつけているように見えるので、ソルバの効率が大きく改善できるとしたらこのあたりが狙い目かもしれないと思える。

おまけ

 なんじゃこりゃ(笑)。そこばんアグレッシブというフリーゲームらしい。

by 木戸孝紀 tags: ブックマークに追加する

2006 12/8

ちゃーらーらーらちゃららららららー

 着メロで聞こえた曲が、知っているはずなのに曲名を思い出せずダメ元でお伺いを立てたらなんとこのように!

 な、なんで一件も引っかからないのに曲を探しているとわかるのですか!? いかなるアルゴリズムに基づくものなのですか!? Google様は「ちゃ」と「ら」と「ー」だけで構成される検索ワードは曲を探すものだと当たりをつけられるということですか!?

 ……と一通り驚いたところで落ち着いてもう一度試したらやっぱり再現性ないや。どうやら広告は偶然出ただけらしい。残念無念。というか一瞬でもあり得ると思わせたグーグル様がやっぱりすごいわ。

by 木戸孝紀 tags: ブックマークに追加する

2006 12/8

Arimaa

 私の好きそうな話題なのになぜか今まで目に入っていなかった。チェスでカスパロフディープ・ブルーに負けてから「そんなら人間が勝てるルールの新チェスを作ってやる!」というノリで作られたらしい変形チェス。

 由来からしてコンピュータと人間の対戦やコンピュータ同士の対戦に力が入れられていて、2020年までに人間に勝てるプログラムを作れば1万ドルの賞金が出るらしい。

 手番ごとに4回まで動かせる象・駱駝・馬・犬・猫・兎の6種の駒があり、初期配置は自由。相手を押したり引っ張ったりして罠にかけて消し、相手陣の最終ラインに自軍の兎を送り込めば勝利。チェスより簡単なところもややこしいところもあるが、全体としては結構憶えやすいルール。

 一度に4回まで動かせたり、駒の隣接関係が重要だったり、チェスより複雑になる要素はいっぱいありそうなのだが、所詮盤の広さが8×8だし、駒が減っていく一方なのは変わらない。

 総合的なコンピュータにとっての難しさはまだ囲碁の方が上回っているような気がする。日本には囲碁未満チェス以上の題材としてはうってつけの将棋があるし、学問的な価値としては微妙かも。

 しかし、力を入れてコンピュータによる研究が行われているゲームはたいがいチェス・将棋・囲碁など長い伝統を持つゲームばかりだったわけで、こんな風に「人工的」にルールが作られたゲームがどこまで通用するのかという観点で興味を惹かれる。

 たとえばコンピュータにとって難しくしたつもりが本格的にやり始めたら実はチェスより簡単に人間より強くなってしまったとかいう展開があったりしないだろうかとか。ないだろうが。

 試しにbotと対戦したら、勝ちはしたものの途中で相手のウサギにいきなりゴールを脅かされてひやっとすることが二度ほどあった。そりゃそうだ。1ターンに最高4回動けるんだから道が空いていさえすれば盤の向こう半分からでも一気にゴールしうるんだよね。簡単にオンライン対戦できるようになっているので誰かやってみませんか?

おまけ

by 木戸孝紀 tags: ブックマークに追加する