1999年11月24日

なんとなく、「世の中のあらゆる文字で表現できる言語は数字1つで表現できる」という定理を紹介する。

PCに詳しい人ならば、文字のやりとりのための符号系というモノを知っているだろう。たとえば16ビットの符号系なら216 = 65536文字を表現できる。世の中の言語が 65536文字で収まるのならこれで十分だ。何故なら、どんな言語も文字を並べたものであるから、文字毎に数字を割り当て、それを並べていけば問題なしだ。例えばiso-2022-jpという符号化を見習って、「ぬ」を9292、「ま」を9310、「た」を9279と定義して、

9292 + 9310 x 65536 + 9279 x 655362 = 39853611689036

という具合に2文字目を216倍、3文字目を232倍という具合に定義して足す。この数字はまぎれもなく「ぬまた」という文字列を表現していることは自明であろう。しかし、全世界いや全宇宙を考えると、6万チョイでは足りないような気がする。なんとかならないものか?

ところで素因数分解は一通りしかないことは御存知だと思う。24は23 x 3以外には分解できない。また素数は無限にある。これらはギリシア時代に既にユークリッドによって証明されているというから驚きだ。 さて、これを利用して、次のようにしてみたらどうだろうか?

29292 + 39310 + 59279

すなわち2のベキに先程の一文字目の9292を、3のベキに9310を、5のベキに9279を入れるのである。素数は無限にあるから、どんなに長くてもベキの基数である素数が枯れることはない。またどんなに文字の種類が存在しようとも自然数は無限にあるから、枯れることもない。つまり、有限個の文字からなる文章なら単なる一個の自然数で表現されてしまうことになるわけだ。ちなみに上の定義でいくと「ぬまた」という三文字を数字で表現すると

552930101953425936723920330388364818060412913805570988389186936286182 〜 中略〜 0110919113179837566492169840408746972360070

という6486桁の数になる。もしこの今日の日記の文章をエンコードしたら天文学を越えて数学的な桁数が必要になるであろうけど。(笑)

Posted by admin

カテゴリ: 古い日記