電脳くおりあ

Anyone can say anything about anything...by Tim Berners-Lee

ネット碁を始めた!

2005-05-22 22:57:53 | スポーツ・ゲーム
 近くに碁会所もなく、なかなか囲碁を打つ相手が身近に見つからなくて、月に数度しか打てないので、もう少し実践を増やそうとネット碁に挑戦してみた。先週の日曜日にパンダネットに登録した。水曜日に、パンダネット会員証が届いた。何のことはない、こっそりと勉強して、そして囲碁敵をびっくりさせてやろうという魂胆なのである。しかし、なかなかうまくいかない。もちろんうまくいかないのはなれないからで、なれるまでに多少時間がかかりそうだ。それでも、多少の手応えは感じる。つまり、勉強になるということだ。
 いちばん大変なのは、時間の使い方だ。一般的なパンダネット方式だと、一応、持ち時間1分。それを使い切ると10分で25手打つことになる。25手打つ前に10分を使い切ると負けである。この時間の使い方が微妙だと思う。なれないとつい焦ってしまう。もちろん、待ったをするわけにはいかない。10分で25手なので、1手当たり25秒ということで、そんなに大変ではない。むしろ考えるときも必要であり、その場合の時間配分の問題だと思う。

 その次に問題なのは、なれないので、つい打ちすぎをしてしまうということだ。これは、普段の実践でもそうだが、普段の実践の場合は、時間の配分を気にする必要がなく、修正もしやすい。ネット碁だと、そこが気になり、つい深入りしすぎてしまう。だから、傷が大きくなってしまう。この辺の感覚がもう少し、ネット碁の実践を経験しないとダメなようだ。

 しかし、いろいろな人と打てるというのは、とてもいいことだ。その多様性がとても勉強になりそうだ。昔買った本をもう一度読み返してみよう。そして、実践はいつでもできそうだ。時間さえあれば、かなり自由に対局ができる。もし、私の大学生時代にインターネットとこうしたサービスがあれば、私は今よりもっと強くなっていたに違いない。つまり、本当にやる気があれば、現代はインターネットを使わない手はない。

 聞くところに寄れば、将棋も囲碁も、今の若い人たちはインターネットで囲碁を勉強しているようだ。そして、インターネットは世界中とつながっているので、世界中の強豪と囲碁を打つことができる。つまり、世界を相手に囲碁の勉強ができるし、世界を相手に実力を発揮できるということになる。パンダネットでも、強くなりさえすればプロとだって対局できる。

 おそらく、そのうちに、インターネットが囲碁の主戦場になるかも知れない。もちろん、インターネットは直接の対局ではないので、横に定石の本をおいて実践することもできる。また、師匠をおいて聞きながら実践することもできる。しかし、自分で、ネット碁をやってみて、勉強だと思ってやっているせいか、自分の力で考えてみるだけで精一杯になる。とても、囲碁の本を調べてみようという気にはなれない。プロなら、さらに、調べるなどということはしないと思われる。自分で考えない限り、相手に勝てないことなど自明だからだ。実際、プロの場合、本に書いてあるようなことは、自分の知っていることに過ぎない。問題は、書いてないことだ。

 もちろん、実際のインターネットでの世界棋戦の場合はもっとしっかりしたルールが必要だと思うし、囲碁は個人と個人のゲームなので、そうしたルールもしっかりして来るに違いない。しかし、カメラ付きになったりして、緊張感も増すかも知れないが、ネット碁の良さは、こっそりとできることだと思う。ひょっとしたら、裸でだって囲碁はできるのだ。ラフな格好で、のびのびとして、ネット碁ができることを期待する。そうした、ネット碁の良さを理解し、ネット碁を楽しみたい。ところで、今日現在の私の成績は、パンダネット初段(仮)で、2勝3敗だ。これから勝ち越していきたい。


最近流行の「人工無脳」とは?

2005-05-05 19:48:36 | プログラミング
 「人工知能」という言葉は、もうすっかり古くなった感があるが、「人工無脳」という言葉は、秋山智俊さんの『恋するプログラム──Rubyでつくる人工無脳』(毎日コミュニケーションズ)で初めて知った。「人工無脳」は「人工無能」とも言う。グーグルで検索してみたら、かなりの情報が集まった。要するに会話を楽しむためのプログラムのことであるらしい。色々な定義があるが、多分、Hatena::Diaryにある「主にチャット等で発言の中のキーワードに反応して適当な対応を返すプログラムのこと」という定義あたりが正しいのだろう。そして、この「人工無脳」が結構流行っているらしい。心を癒してくれるという「人工無脳」のサイトが幾つかある。
 前述のHatena::Diaryでは、「人工無脳」サイトは、「従来の人工知能研究とは異なり、会話における『表象の現象だけ』を考えて会話をシミュレートしようとするアプローチを取る」と述べているが、「人工知能」ではなく「人工無脳」を楽しむのは、「脳らしさから心らしさへ」ということであるらしい。

チューリングテストが目指している『人間らしさ』は概念操作や記号操作に重きをおく「知的さ」であって、我々が思う『人間らしさ』とは食い違っているからである。我々が会話していて楽しい相手、気の許せる友人の条件はチューリングテストなどで評価できるだろうか?我々の目的は、笑いやユーモアを感じさせるプログラムの創出なのである。この瞬間、人工知能と人工無脳は違う道を歩み始める。人工無脳は科学的であることをやめアートの一種またはおもちゃの一種になったのである。


 とにかく、「人工無脳(能)」というとき、私たちはあまり肩肘張らないことが大切だ。そこに会話の面白さを見ればいいのだ。最近人気のロボットたちもいろいろ人間と会話することができる。それらも含めて、古くはElizaから最近では「どこでもいっしょ」のトロに至るまで、様々な「人工無脳(能)」があると考えていた方がいい。もちろん、最先端のところでは、おそらくそれらもまた「人工知能」ということと重なるはずだ。なぜなら、コンピュータというのは、もともと脳をシュミレータしてできたものだからである。機械によって脳をまねようとしたらコンピュータができたというのが正しい。もちろん、コンピュータは機械だから、脳とは違うに決まっている。しかし、コンピュータはいずれにしても最も脳に近づいた機械であることには変わりない。

 さて、秋山智俊さんの『恋するプログラム──Rubyでつくる人工無脳』は、その「人工無脳」をRubyで実装しそのプログラムを解説したものだ。この本は、Rubyの入門書だけでなく、RubyでのGUIの扱い方をVisualuRubyで実装し、また形態素解析をするためにはフリーの形態素解析プログラム「茶筅(ちゃせん)」を使用して「マルコフモデル」を実装するなどの意欲的な試みをしており、その実装の仕方の解説書にもなっている。さらには、こうして実装された「マルコフ辞書」に学習させて語彙を豊富にさせるためにGoogleの「Google Web API」を利用させる方法もプログラムに組み込んでいる。

 ネットワークにはいろんな人工無脳がいます。彼らはチャットや掲示板、インスタントメッセンジャーで人間とおしゃべりをして、笑わせたり感心させたりむかつかせたりしています。日記やブログを書いて、トラックバックをしてくる人工無脳もいます。
 つまりはお遊びプログラム。人工知能までにはいたらないオモチャ。ではあるんですが、これがなかなかかわいいのです。しかも基本的な仕組みは単純なので、それなりのものを思いのほか簡単に作ることができます。(「はじめに」より)

 秋山さんが言うほど、単純な仕組みではないが、「成長」していくプログラムができることは確かだ。秋山さんは、最後に幾つかの課題を出している。「コンソールベースの小さなプログラムから、GUIをもち、学習することを覚え、ついにはネットワークに接続するまでに成長した」プログラムを更に発展させるために、プログラムの改良や、IRCなどのチャットやWEB掲示板での多人数での対話に発展させたり、日記やブログなどのモノローグでの出力ができるように拡張したりすることが課題として列挙されている。

 残念なことに、この本をほぼ書き上げた翌日2月18日、秋山さんは36歳、クモ膜下出血で帰らぬ人となったそうだ。この本も、友人が応援をしてできたそうだ。私には、「Rubyでつくる人工無脳」という試みはとても面白い試みだと思った。そして、「人工無脳」を作るということは、Rubyというプログラムの学習にかなり適していると思った。私より、20歳も若い、有能なRubyプログラマーが亡くなったことを聞いて、とても残念に思う。Rubyでの「人工無脳」サイトは幾つかあるが、秋山さんの意志を継いで、たくさんの人たちがRubyでの「人工無脳」に挑戦して欲しいと思った。私も、遅まきながら、勉強してみようと思った。