【計算と哲学】計算を数える困難さ


「計算の数え方」というのは特に難しくも哲学的でもない問題に思えます。
計算機は計算機らしい箱に入っていて数える。何も難しいことはない。計算はそこで行われる。
実際、日常生活でもエンジニアとしてもそれで困ることはありません。

ところで「意識の統合情報理論」という立場があります。
意識は情報の統合、大雑把に言えば一定の条件を満たす計算から意識が産まれるという主張です。
書籍で読んだ限りではかなりいい加減な理論ですが、私の立場とほぼ一致します。

  • ジュリオ・トノーニ、マルチェッロ・マッスィミーニ『意識はいつ生まれるのか -脳の謎に挑む統合情報理論-』花本知子訳、亜紀書房、2015年

折り畳み:『意識はいつ生まれるのか -脳の謎に挑む統合情報理論-』の感想

私が「情報統合理論」という名前を知ったのは確か「意識をめぐる冒険」という本で触れられていたからでした。
その本は意識のあれこれに関する様々な、ある程度は認知科学でよく聞く話を語った良い本です。
その中で「情報統合理論」は意識に関する理論としては本命に近いというようなことが書いてあったと記憶しています。

他の学者からの称賛、「情報統合理論」というそれっぽい名前、そしてそれに触れた唯一の本とあって私はわくわくしながら本を読みました。
4章まではいつもの認知科学の話、とはいえ文章も読みやすく楽しい内容。
そして5章。本命の情報統合理論の話、何が語られるか?
内容はがっかりでした。

「デジタルカメラの各画素情報は隣接画素の情報と個別に処理される」といった完全に誤った前提の譬え。
人間が意識を持ち、コンピューターでの多少複雑な計算処理(画像認識とか)が意識を持たない根拠は不十分。
通常の意識を持つ人間と「植物状態」の振る舞いの話は興味深いものの、意識の問題という本質とは別(意識のハードプロブレム)。
定義も曖昧で非学術的。理論と呼べるほどではない。
概ね自分が考えていたことを超えるものではありませんでした。

ですが仮にも数式による定義を試みた点は評価できますし、意識に関わる真実に最も近づいた理論であるとは思います。
少なくとも人間の脳が量子コンピューターだの、物理学の拡張が必要だの、そういうのよりかは数段マシです。
実際私の立場は「計算に主観的体験が伴う。『人間的意識』が発生するには所定の条件が必要だが、その条件が何かは現状の我々には難しすぎる」程度で似たようなものです。
情報統合云々の話も大筋においては同意します。

「情報統合理論」目当てなら読む価値はないと思いますが、それ以外は十二分に面白かったので、この分野に興味があれば一読の価値はあります。

判定の困難

最小単位

物理的な計算機での計算を数える際の問題の一つは「どれを最小単位とするか」という点です。
電子一個単位の振る舞いで判断すれば、外観上一つの計算機が実はいくつも多重化していると言えます。
配線一本も複数の配線の集合であると見做せます。
同じタイミングで処理を行っている別個の二つの計算機と、配線の太さやコンデンサの容量その他を全部二倍にした一つの計算機と区別できるでしょうか?

計算機を設計・利用という工学の視点では問題にならないことが、「一度の計算がされた場合には」という文においては問題になります。
計算機の利用者としては設計意図通りの挙動をしてくれればそれで充分です。
中身が二つだろうが三つだろうが信頼性以上の問題はありません。
しかし「情報統合理論」のような文脈では違います。

100人マンション

実際のところ、一人の人間の脳の中に何百もの意識が存在するというのもあり得ないとは言えません。
しかしこれは倫理的にも死生観にも大きな影響がある問題です。

ここで「百人マンション」という思考実験をします。

100人マンションの住人100人は全員クローン人間だ。
彼らは全員誕生から現在まで全く同じ環境で過ごし同じように振る舞う。
100人マンションの各部屋にはテレビ電話があるが、99人(#1~#99)は受信するだけで実際には1人の代表者(#0)にしか繋がってない。
テレビ電話は外部の人間Bに繋がり互いに恋人と認識している。

Q:
1. Bは100人マンションに何人の恋人が居る?
2. #1~#99には恋人は居るのか?
3. Bが#0と結婚した場合重婚か?
4. その後#0がBを裏切った場合、それは何人の罪になり、何人分の慰謝料を受け取るのか?
5. 百人マンションを爆破した場合、何人殺したことになるのか?
6. 条件を変え、「テレビ電話は1秒ごとにランダムに接続先を変える」とした場合、問いの答えは変化するか?

実際のところ、私が、正確にはこの文章を書いている私ではなくとにかく「私」と思っている誰かが、この#1のような存在だったとして気付くことはありません。
私の体は「私」の思った通り動きますし、間違いなく意識が存在しますし、私の体に全く同じ意識が同居していたとしても他人の意識と同じく直接感じることはできません。
しかしその場合他人を傷つけるだとか殺すと言った罪の重さが変わります。

補足をすれば、量子力学的に厳密に同じ環境を用意し同じ振る舞いをさせることは不可能です。
しかし脳の挙動は巨視的と言われているので、なんとか調節をすれば理論的にはほぼ同じ振る舞いをさせることはできるかもしれません。
そういう思考実験です。思考実験なんてそんなもんです。

シャッフル

特定の処理の実行を意図して分散することもできます。

地理的分散

処理を地理的に分散するというのは現在では何も珍しくありません。
通信を行うことでそれこそ何光年にも跨って分散して処理することは理論的には可能です。
そしてそうした意味のある通信とそれ以外を区別することはできません。
本当に全ての計算を数えるなら光が届く範囲全域を対象としなければなりません。

情報の秘匿

情報の追跡を困難にする手法があります。
ある処理の途中で、計算機の状態を保存するとします。
まず圧縮・暗号化では情報が失われませんが、表現は大幅に変質します。
では暗号化し鍵を削除すればどうでしょうか。鍵の復元は計算量の大きな処理です。
あるいはハッシュ値を保存する。そのハッシュ値に該当する状態で片っ端から計算を再開する。
この場合、間違いなく情報が失われています。
こうした一般的に処理を知識なしに判定し、条件を満たす計算を判断するアルゴリズムなど存在しうるでしょうか?

最適化

ある処理を、それと同じ振る舞いをする処理に書き換えることができます。
普通は高速だったりメモリ消費量が少なかったりする方に書き換えるので最適化と呼びます。遅くもできますが。
最適化はある程度の論理に関する知識がなければ不可能で、同じ振る舞いをするかの判定は一般には計算可能問題ではありません。
つまり不可能です。

「宇宙の監視者」は存在するのか?

「我思う、故に我在り」はデカルトの著書「方法序説」にある有名な言葉です。
我々の主観的意識の存在だけは疑えない、というのは哲学の第一原理と呼ぶに相応しいと思います。

それ程確実ではないですが、概ね程度断言できることもまた存在します。
一つは「私は計算を行いうる」という原理です。
計算機であれ電卓であれ脳内であれ、私は実際に計算をすることができます。
そして私が行った計算は実際にどこかで行われているはず。
それはこの意識が胡蝶の夢でも、世界がシミュレーションでも、ボルツマン脳でも同じことです。

現実には夢の中や単に疲れている時には計算をした気になることもありますし、実際は意図した計算をしていなかったり誤っていたりします。
ですからいくらかの条件を満たしていなければなりませんが、ともかく目を覚ました人が計算をしたときちんと確認したならそれはかなり確かです。
ちなみにセットみたいなものなので紹介しましたが、この話は本記事には関係しません。このシリーズで後に出てきます。

もう一つは「私が観測した情報には、それを産みだした何かが存在する」。
その何かは概ね偶然か計算のどちらかです。偶然なら何でもありに思えますが、複雑な情報なら確率の低い偶然なわけです。
要するにエントロピーの話です。

「ある条件を満たす計算には意識が発生する」。つまり意識が発生しない計算が存在する。
そして我々は自分の意識を観測しています。
ならば「意識の存在」は情報です。
従って誰かが計算して意識の存在の有無を判定しているはずです。
そんなことがあり得ますか?
あり得ません。

あり得ない理由の一つ目が、条件を満たす計算、この場合は「情報の統合」を数え上げること自体が極めて困難なことです。
宇宙にあるあらゆる情報・素粒子の組み合わせごとに判定しなければいけません。
場合によっては履歴を保持しなければいけなかったりします。

二つ目が「宇宙の監視者」という物理学の拡張が必要になることです。
これは物理学者は絶対に同意しないでしょうし、私もしません。
また情報の保存というブラックホールで問題になるアレ(ブラックホール情報パラドックス)をほぼ間違いなく抵触します(厳密には物理法則の話なので矛盾はしません)。
計算もなく計算結果だけ観測できるという法則を私は認めません。

ですから私は「情報統合理論」は厳密には誤りだと信じます。
主観的経験と呼べるようなものはあらゆる計算に伴うものであり、それは様々。
人間が持つ意識のようなものは、その主観的経験の一種に過ぎない。
その人間的意識に限る理論としてはかなり良い線。
この辺りだと信じています。

宣伝

記事とは特に関係ないですが、私の作ったアプリBookViewer 3は大変おすすめです。
Windowsで本を読むには必須のアプリです。

メモ

この部分を書いているのは1ヶ月後頃になります。
以下のような問いの方が分かりやすいように思えてきました。

Q: 意識を持つ計算を以下の三種類の数値表現で実装した場合、意識体験はどう変わるか(いずれも任意精度)?
1. 二進記数法 (計算機における標準的な記数法。)
2. 素因数表現 (素因数分解の結果で表記。加減算が遅い。)
3. 1の個数 (011110のように1の個数で表現する。極めて非効率。)

いずれの場合もあらゆる報告は変化しません。
仮に途中でプログラムを切り替えたとしても何も変わらないと報告します。
では主観的経験が「与えられる」と考えた場合、誰が異なる数値表現によるアルゴリズムの同値性を保証してるんでしょうか。
何ならプログラマーだって経験的に、同値性を保証せず使っている場合すらあります。

さらにアルゴリズムを近似した場合、意識体験がどう変化するのでしょうか?
つまり上の例に「浮動小数点数表現(小数点以下切り捨て)」を追加した場合。
その時は報告も変化し得ますが、精度の変化に伴い連続的に報告は変わります。
おそらく酩酊・混乱・昏睡のような報告をするでしょう。
それは…つまりどういうことなのか。アルゴリズムの近似まで判定できるのかと。

…と言った感じで。
あるいは複雑な数学の問題における同値性を用いた方が良いかもしれません。
例えばフェルマーの最終定理で有名な「すべての楕円曲線はモジュラーである」を仮定したアルゴリズムを意識を伴う計算の過程で用いるとか。微妙か。
さらに言えば未解決問題や証明も反証も不可能な予想を用いたアルゴリズムとか。
ただこうした例は複雑すぎるように思えます。

とにかく結論は「宇宙の監視者」なんてのは存在するわけないです。
「条件を満たした場合、意識が発生する」と言うのはあり得ません。
「あらゆるもの(計算/情報処理)には主観的経験が伴い、その一部を『意識』と呼ぶ」ってことです。

それでも問題は残りますが。
特に我々にとっては明白な意識の連続性は誰が保っているのかとか。
まぁこれは「情報の変化」に意識が伴うみたいな視点で多少説明ができるでしょうか。