2010年05月05日

数学は宝の宝庫

数学のネタ

 数学の世界と哲学の世界は親和性が高いです。
 さらに哲学の世界と小説の世界は同じく親和性が高いです。
 すると以下のような関係式が成り立ちます。


 数学 ∽ 哲学 ∽ 小説

 ならば、


 数学 ∽ 小説

 も成り立ちそうですね。

 ということで、ここでは数学のネタをためていくことにします。


■ガリレオの躊躇い

 ガリレオと言えば天動説を唱えて死刑にまでなってしまった数学者・物理学者です。詳しくはWikipediaでも見ていただければと思います。

 そのガリレオがためらったこととは何か?
 数学ガールから引用します。


 ガリレオは、自然数(n)から平方数(n*n)の全単射(簡単に言えば、まったく同じモノに戻すことが可能な変換)が作れることを知っていた。

   1→1、2→4、3→9、4→16、……

 《全単射が存在すれば個数が等しい》というのなら、自然数と平方数の個数は等しいと言えるのだろうか……いや、おかしい。とガリレオは考えた。

 この部分こそがガリレオの躊躇いなのです。
 ガリレオはこの性質を「おかしい」「間違っている」と考えてしまったが、19世紀カントールやデデキントは、これを正しいこと、「無限の定義」と感じた。
 これが出来ると何が起きるかと言えば、「無限」の状態にある集合の数を数えることはできませんが、他の「無限」の集合と比較して個数が同じかどうかを調べることができるのです。
 今まで雲をつかむような存在であった「無限」がハンドリングできるようになったんですね。

 これを哲学的に考えると、「無限」とは人類に認識できない高次元の存在ではあるけれど、他の「無限」の存在と比較することで「ある性質」が同じかどうか認識できる方法があるということになります。
 小説的には「神様の力を使う」際の裏付けや、異世界の物質(または人物)と交信できる手段とかに使えそうです。


■ライプニッツの夢

 ライプニッツという人は、人間の思考をすべて数式や記号で表そうとした人です。詳しくはWikipediaでも見ていただければと思います。

 ライプニッツは「思考を計算」に見立てました。
 人間の思考を機械的な計算で行おうと思ったのです。
 以下は数学ガールにあったライプニッツの言葉の引用です。


……人は誰でも計算だけで、
現に最も困難な真理すら判断することになるであろう。
以後、人々はすでに手中にしているものについて、
もはや論争することなく、新たな発見に向かうことになろう。

 これは、思考の過程が機械的になることによって、そこに感情などの不確実性を挟むことなく、誰でも同じ結論に達することができるということです。
 この夢は非常に哲学的で、数学を研究する意味として心に残る言葉だと思います。

 ライプニッツの夢が実現した世界を小説として書くのも楽しそうです。誰でも同じ結論に達することができる世界では本当に争いごとがなくなっていないのかどうか。人類のリソースは有限ですから、計算を進めて自分たちに都合の悪い結果が出たらやり方を変えて計算を進める……一方相手はその結果を計算ではじき出して、それに対抗する……永遠と計算だけしている世界になりそうですね。平和ではあると思いますが。


■ラッセルのパラドックス

 ラッセルと言う人は『算術の基本法則』にパラドックスを発見した人です。
 ラッセルのパラドックスは、「いかなる命題でも集合を定義できる」と定義すると矛盾が生じるということを指しています。
 これは基本法則が曖昧で不確かな基盤に立っていることを示すこととして、ちょっとした事件になりました。
 このパラドックスは、ゲーデルの不完全性定理につながってきたと思います。


■停止性問題

 チューリングは、チューリングマシンという人工知能、もしくはパソコンの元になる機械を考えた人として有名ですが、そのチューリングマシンが解けない問題があることを自分自身で証明しています。
 これは「ライプニッツの夢」を崩す証明になります。

 停止性問題を簡単に、かつ乱暴に解釈すると「プログラムAは、あるプログラムが有限時間内に停止するか判定できない」となります。
 普通に考えると、プログラムが有限時間内で停止するかどうかは、「無限ループ」が論理的に存在するかどうかで判別できますが、この問題はプログラムAに自分自身を扱わせることで、ラッセルのパラドックスと同じようなことが起きると示しています。
 Wikipediaに書いてあることを読んでもさっぱりわからない問題の1つです。


■ゲーデルの不完全性定理

 ゲーデルの不完全性定理は2つあります。


ゲーデルの第一不完全性定理

ある条件を満たす形式的体系には、
以下の両方が成り立つ文Aが存在する。

・その形式的体系には、Aの形式的証明は存在しない。
・その形式的体系には、(not)Aの形式的証明は存在しない。

ゲーデルの第二不完全性定理

ある条件を満たす形式的体系には、
自己の無矛盾性を表現する文の形式的証明は存在しない。

 ここで面白いのは、「ある条件を満たす形式的体系」というのに「数学」を当てはめることができることです。
 つまり、ゲーデルの第二不完全性定理を適用すれば「数学は矛盾している」と読み取ることが(曲解ではありますが)できます。
 ただし、逆に言えば他の形式的体系から「数学」は完全であると証明することが可能だとも言っているのです。
 ここから思い起こされるのは、デカルトの「我思う、故に我あり」という文章です。この文は「考えている自分がいるのだから、自分は存在している」という意味合いですが、ゲーデルの第二不完全性定理を適用すると、自己に言及して証明することは不可能なわけで、どうしても他の形式的体系(つまり他人)からの承認が必要になるはずなのです。
 この2つは相反する結論ではありますが、ともに「自己に言及する」というところを取り扱っており、結局のところ、数学と哲学の根本は同じ問題なのではないかと考えさせる事案だと思います。


 





2009年11月01日

脳はいつから学習するか?

 うちで飼っている猫は子猫の時にうちに来ました。

 だから、体を舐めて綺麗にするってことを知りません。

 しかし、大きくなった今では普通に体を舐めて綺麗にしています。

 ずっと家の中で飼っていたのですから他の猫を見て学習したってことは考えられませんでした。

 すると、自分でどうやったらいいのか考えて思いついたってことになります。

 しかし、それならば舐めて綺麗にするという行動がすべての同じような家猫に見られるということはおかしいと思わざるをえません。

 だって、人間と住んでいるのですから足で体をかいてもいいはずです。

 あと猫が顔を洗う動作も全猫が共通して行っています。

 これは最初の学習が視覚によって行われていないことを示しているのではないでしょうか。

 じゃあ、最初の学習はどこから始まっているのかと言えば、それはきっとお腹の中にいるときからに間違いないかと思います。

 自分の体が出来てきた時にお腹の中で手足へ信号を送り、どうすれば動かせるのか学習しているのです。

 だから、猫は生まれる前から自分の体を綺麗にするには舐めることでしか実現できないのだと知っているのだと思います。

 となると、脳の最初の学習はお腹の中で自分の持っている手足の扱い方を学習しているというのが妥当ではないでしょうか。

 すると、本能と呼ばれる部分も何らかの方法でお腹の中で学習している・・・そう考えられるような気がします。

2009年10月02日

マジで人工知能作ろうかな……

 と、意気込んでみて調べ始めましたが、数学的・工学的な知識もない私が人工知能を作ることは難しいし、現在のパソコン程度の計算量では人工知能を実装することも難しいということが分かりました。
 とりあえず、知識的なところは努力でどうにでもなるとして、計算量の問題を解決しなければなりません。

■マウスの脳がコンピューター上に再現された
http://www.mypress.jp/v2_writers/beep/story/?story_id=1601251

 IBMのスーパーコンピュータ「BlueGene L」を使っても800万個(それでもマウスの脳の細胞の半分)のニューロンを10倍遅い時間で表現するのが精一杯なようです。

>2007年11月の第30回Top500では、CPUコアをさらに増やし212,992個で478TFLOPS

 Wikiから引用した「BlueGene L」の性能値は「478テラFLOPS」
 
■スーパーコンピュータTOP500
 http://www.top500.org/

 上記のサイトを見ると、現在のスーパーコンピュータのトップは「Roadrunner」というファミコンソフトを思わせる(もしくは負荷試験ソフトを思わせる)名前のスーパーコンピュータのようです。

 性能値を調べると
 
>Roadrunner > Performance > Rpeak(GFlops) = 1,456,704

 お、1456テラFLOPS。

 もし比例計算が許されるなら、三倍速です。赤くなっていてもおかしくない感じです。
 なので、マウスの脳なら完全とは言わなくても三倍遅れた時間でシュミレーションできるようです。
 ……これは【何か】ないと簡単ことに使用するための人工知能もできません。

 で、【何か】を求めて探していると
 

http://d.hatena.ne.jp/dot_station/searchdiary?word=%2a%5bAI%c5%af%b3%d8%b0%ca%b3%b0%a4%ce%b2%bf%a4%ab%5d
 

2009年07月31日

JAVA Appletのソースを奪え!

 人工知能の勉強をしている際にどうしてもソースを見たいJAVAアプレットがありました。

 しかし、クラスファイルをダウンロードしても見ることはできません。
 どうにかソースを見ることができないかと思い、いろいろ探しているとありました!
 アプレットを逆コンパイルするツールが。

 使ってみたら一発で変数名もちゃんとしたソースが表示されました。
 特に難読化ツールなど使用されていなければ普通に読めるソースになるみたいです。

 使い方はアプレットファイルのあるURLを直接指定するか、アプレットを含むWEBページを指定するだけです。すっごく簡単。

 逆コンパイルは法的に色々問題がある場合がありますので、使用する場合はライセンスを確かめた上でご利用くださいね。


SouceAgain v1.1

2008年05月19日

人工無能の会話

人工無能とは「人間らしい会話をするプログラム」のことを指しているようです。

人工知能のボトムアップ式のアプローチとは違い、トップダウン式のアプローチのため、すでに遊べる段階のものが多く存在しています。

人工無能うずらの部屋

今ある人工無能の多くはチャットに参加し自動的に会話を学習するタイプです。

なかなかの反応ではありますが、「人間」として感じるには「キャラクター」が分散しすぎていてもの足りない感じです。

このキャラクターを含めた人工無能が出来上がれば人工知能と思えるほどの反応を返してくれるようになるかもしれません。

2008年05月15日

フレーム問題

人工知能の実現の障害となっているものに「フレーム問題」があります。

このフレーム問題。日本語に訳せば「枠組み問題」となります。

人間が無意識にしている「どこまで考えればよいか」というのがコンピュータにやらせようとすると、なかなか難しいものになるという内容です。

チェスや将棋などはある程度手筋が決まっており、ここまで考えればいいという「フレーム」を作りやすいのですが、現実世界の中にあるものはそうはいかないことが多いのです。

「だから人工知能はできない」というのが定説です

フレーム問題の続きを読む