不可能な小説

アラン・チューリングは、1936年の論文「計算可能数について 決定問題への応用」の中で、停止性問題が「不可能なプログラミング」であることを証明しました。停止性問題の具体例としては、ゴールドバッハ予想などが存在します。
小説の「自由」度について考える際、「不可能な小説」を想像するのは有益かもしれません。まず、「小説」と「自由」という2つの言葉について定義する必要がありますが、ここでは簡単に、三省堂ウェブディクショナリーに掲載された定義を採用するものとします。

小説: 散文による文学作品.
自由: 制限を受けず,思いのままにできること.

以上の定義に沿いつつも不可能な小説は存在しうるでしょうか。それを想像していきたいと思います。

1. 一生かけても書けないほど長い小説・一生かけても読めないほど長い小説

一人の作家が一生かけても書けないほど長い小説は存在しうるでしょうか。これは存在可能です。例えば世界最長のSF小説シリーズ「宇宙英雄ペリー・ローダン」は、20人を超える作家陣によりリレー形式で書かれており、現在では2600巻を超えます。これを一人で書くこともできるかもしれませんが、実現可能性としては、シリーズが継続するといずれは一人では一生かかっても不可能な分量にすることはありうるでしょう。
続いて、一人の読者が一生かけても読めないほど長い小説は存在しうるでしょうか。これは存在可能です。先の「宇宙英雄ペリー・ローダン」を例にするならば、同シリーズの読者の中で、シリーズ2600冊を全て読了している人はどれだけいるでしょうか?読者は、小説の全てを読む義務を持ちません。

コンピューターサイエンスの分野では、機械の振る舞いを数学的・論理的な点に絞って論じる際に「チューリングマシン」というものを仮想します。チューリングマシンとは、無限のストレージを持つ単純化・理想化された仮想機械です。不可能な小説を想像するにあたって、単純化・理想化された著者と読者を仮定してみましょう。単純化・理想化された著者と読者は、無限の寿命を持ち、無限の執筆時間あるいは読書時間を持つのです。彼らをそれぞれ「チューリング著者」「チューリング読者」と呼んでも良いかもしれません。以後は、チューリング著者とチューリング読者を前提に議論を進めていきましょう。

2. 意味の無い小説・構文の無い小説

Codonの創業者であるトム・スチュアートは著書「アンダースタンディング コンピュテーション」の中で、「プログラミング言語を完全に記述するために必要な2つのもの」を指摘しています。それは、意味(semantics)と構文(syntax)です。意味と構文が無ければ、ソースコードは動作しません。例として、Avaya Labs Researchのコンピュータ科学者であるジョン・ベントリーが「私が書いたことのある、一番美しいコード」と評する、クイックソートのプログラムから、意味と構文をそれぞれ抜き去ってみましょう。

[元のプログラム]

void quicksort(int l, int u) {
int i, m;
if(l > u) return;
swap(l, randint(l, u));
m = l;
for (i = l+1; i < u; i++)
if (x[i] < x[l])
swap(++m, i);
swap(l, m);
quicksort(l, m-1);
quicksort(m+1, u);
}

[意味を抜いたプログラム]

piyg quicksort(jdz l, jdz u) {
jdz i, m;
pd(l > u) 7zjcdw;
m3r6(l, hd8d3f(l, u));
m = l;
m87 (i = l+1; i < u; i++)
pd (x[i] < x[l])
m3r6(++m, i);
m3r6(l, m);
quicksort(l, m-1);
quicksort(m+1, u);
}

[構文を抜いたプログラム]

void quicksort int l int u
int i m
if l > u return
swap l randint l u
m l
for i l + 1 i u i + +
if x[i] < x[l]
swap + + m i
swap l m
quicksort l m – 1
quicksort m + 1 u

意味や構文を抜いたコードでは、プログラムは動きません。これは「不可能なプログラミング」ではなく「そもそもプログラミングではない」というべきかもしれません。
小説の場合はどうでしょうか。「坊ちゃん」の冒頭から意味と構文をそれぞれ抜いていきます。

[元の文節]

親譲りの無鉄砲で子供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間程腰を抜かした事がある。なぜそんな無闇をしたと聞く人があるかもしれぬ。別段深い理由でもない。

[意味を抜いた文節]

d7phりのsdygzでd56のe7からdnばかりしている。9gbb3gに4るa9rdyceのb3gからa9raてu4kazm程3sを8bした事がある。なぜそんなpjeをしたと788bがあるかもしれぬ。zajrbgいp84でもない。

[構文を抜いた文節]

親譲り 無鉄砲 子供 時 損 小学校 居る 時分 学校 二階 飛び降り 一週間 程 腰 抜かした 無闇 聞く人 別段 深い 理由

意味や構文を抜いた文節は小説でないのでしょうか。直感的には小説のように見えないかもしれません。しかし、文庫本にパッケージされ、書店の文芸コーナーに置かれていることを想像してみましょう。そうすると、僕はそれが小説のように思えてきます。小説とは制度の問題なのでしょうか。

3. 自己参照

ここで、冒頭の「不可能なプログラミング」に話を戻してみましょう。チューリングは停止性問題が「不可能なプログラミング」であることを証明しました。それをプログラミングの任意の振る舞いに対して一般化として、1958年にヘンリー・ライスが発表したのが「ライスの定理」です。ライスの定理が示しているのは、任意の自明でないプログラムの性質は決定不能であることです。
決定不能な状態になる原因の一つは、自己参照によるものです。自己参照の例としては、先ほどのジョン・ベントリーのクイックソートのコードをみてください。quicksortメソッド内でquicksortメソッドを参照しています。
自己参照が可能なシステムが自己に対するすべて質問の正しく答えることができないことは、ゲーデルの第一不完全性定理で示された法則です。
では、自己参照を用いて不可能な小説を想像することはできるでしょうか。

自然言語における自己参照によるもっとも有名な問題が「うそつきのパラドックス」です。「この文は嘘です」という文章は、嘘か嘘でないかを決定することはできません。
これを小説に適応してみましょう。
想像力が必要かもしれません。例えば、この世の中に「小説」というものがなかったら?という仮定が必要です。

小説という概念が存在しない世界における小説

これを「不可能な小説」と呼ぶことができるでしょうか。直感的ではありませんが、そう呼ぶことができそうです。
ここで問題が残りました。自己参照の論理は、小説だけでなくありとあらゆるものに対して適応できてしまいます。例えば「絵画という概念が存在しない世界における絵画」「音楽という概念が存在しない世界における音楽」なども成り立ちます。これでは小説における不可能ではなく、一般論としての不可能になってしまいます。
小説だけの不可能、小説だけの「自由」度とは何でしょうか。

4. シャノンの最終小説

最後に、20世紀における最も高名な電気工学者の一人であるクロード・シャノンが1950年代に生み出した「シャノンの最終機械」と呼ばれる機械を援用して、「不可能な小説」を想像していきましょう。シャノンの最終機械とは、「自分自身の電源スイッチを切る」機能だけを持つ機械のことです。これは「不可能なプログラム」でこそありませんが、プログラムの不可能とはなにか、プログラムの自由とは何かを鮮明にしています。
これを小説に適応してみます。

書こうとすると著者が死ぬ小説

まるで呪いのようですが、これも「不可能な小説」と呼ぶことができそうです。

文字数:3412

課題提出者一覧