■実験室

■プロフィール

Sligh'Hand

Author:Sligh'Hand

所属ギルド
Open Travelers
称号
ぐったりたぬぬ
特徴
公園内でマジシャンを目指す新米教師。桜の下で「たぬき寝入り」するのがマイブーム。

■最近の記事
■最近のコメント
■ブログ内検索

■リンク
■RSSリンク
■カテゴリー
■月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | --:--:--

モノトーンのヤギたちは無限ループに陥るか

 Sleigh'Hand です。 いよいよ全国的に夏休みに入りましたねb スラ←はというと、ぐったり長時間睡眠が身についてしまって、お花見公園に IN できる時間帯がびみょんなことになっています。 んでも、今日はからたぶんまっとうな時間帯から IN しているので、見かけた時には軽くあしらってやってください。

 さてさて、本題です。 秀策さんのところで取り上げられていた 「やぎさんゆうびん」 の問題、なかなか面白そうですねb というわけで、既に 「得にならない」 と指摘されていますが、ぐったりさんもあえてその脇道にどっぷりと足を突っ込んでみようと思いますb





 最初に、やぎさんは手紙から読み取れることに忠実に行動することを断っておきます。

 その上で、歌の内容からやぎさんのとる行動を考えると、手紙を書くことと食べることの以下の 2 つがあります。 ここでは、手紙を読んだ場合を考えるために、その行動もあわせて、やぎさんは 3 種類のアクションを実行できるものとしましょう。

  • 手紙を読まずに食べる Eat
  • 手紙を書いて送る Write
  • 手紙を読む Read

なお、手紙の内容は読まなければ把握できません (食べただけで本文の内容を理解できる、なーんて裏技はナシですよb)。

 続いて、やぎさんたちの間で行き来する手紙について。 彼らの間で交わされる n 通目の手紙を Ln と表すとしましょう。 そして、手紙 Ln に書かれた内容は小文字を用いて ln と表記することにします。

 1 通目の手紙 L1 内容は、歌詞の中でも説明はされていませんが、最初の「真なる本文」 が書かれていたとしてここでは t1 と書くことにします。 このとき、最初の手紙は次のように表すことができます。

l1 = t1

 この後、やぎさんたちは前回の手紙の内容を照会する内容の手紙を書きます。 「さっきの手紙のご用事なぁに?」 という、アレですねb ここでは、これを一般化して 「m 通目の手紙のご用事なぁに?」 という文面を q(m) と表現することにしましょう。 したがって、n 通目のお手紙に 「さっきの手紙のご用事なぁに?」 と書くことは

ln = q(ln-1)

と表現することができます。

 ついでながら、やぎさんが手紙を読んだ後のことも決めておきます。 手紙を読んだやぎさんは、その手紙に対してお返事を書くことになるでしょう。 Ln に対する返信の内容を、ここでは a(ln) と表記することにします。 仮に Ln の内容が m 通目のお手紙の内容を照会する q(lm) だった場合、Ln に対するお返事 a(ln) は

a(ln) = a(q(lm)) = lm

となります。

 さて、前置きが長くなりましたが、これからが本題です。 ここまでの設定から、やぎさんたちの最初のアクションは、↓こんな感じに表現されます。

白やぎさんWrite(L1): l1 = t1
黒やぎさんEat(L1)
Write(L2): l2 = q(l1)
白やぎさんEat(L2)
Write(L3): l3 = q(l2)
おぉ! なんかアカデミックな感じ!
(※一応、スラ←の職業は新米教師です。

 ではここで、本来の歌の筋から脱線してみましょう。 歌の中ではお互いの手紙をそれぞれ食べてしまったやぎさんたち、手紙を食べちゃぁいけないと深く反省したのか、それともインクの味が口に合わなかったのか、とにかく次のお手紙からはちゃんとお手紙を読むようになったとします。 上の続きで考えるなら、まず、黒やぎさんの元に白やぎさんからのお手紙 L3 が届きます。

黒やぎさんRead(L3)
Write(L4): l4 = a(l3) = a(q(l2)) = l2 = q(l1)

L3 を読んだ黒やぎさんは、それに対するお返事 a(l3) を L4 に書くでしょう。 このとき、l3 = q(l2) なので、黒やぎさんが書くお返事 a(l3) は、a(q(l2)) と言えます。 さらに、q(l2) は l2 の内容を問い合わせる文なので、それに対するお返事 a(q(l2)) には l2 を答えるのが適切である言えます。 じゃぁそもそも、l2 には何が書かれていたのかって言うと、黒やぎさんの最初のお手紙の内容 a(l1) なのです。 したがって、↑で黒やぎさんが書いたお手紙 L4 の内容は、結局 q(l1)、すなわち、最初のお手紙の内容を問い合わせるお手紙であると言えそうです。

 ぉ? これはもしや、脱無限ループ?
そう、q(l1) に対する適切な返信 a(q(l1)) は l1 すなわち、「真なる本文」 t1 です。

白やぎさんRead(L4)
Write(L5): l5 = a(l4) = a(q(l1)) = l1 = t1
黒やぎさんRead(L5)
Write(L6): l6 = a(l5) = a(t1) = t2

これで黒やぎさんは 「真なる本文」 に対する 「真なる返信」 t2 を書くことができました。 以上、ループ終わり。

なんだ、ループしないじゃないか。

 秀策さんが指摘するとおり、お互いに手紙を数回食べたとしても、食べるのをやめた後その回数だけ遡れば、真なる本文 t1 にたどり着けるわけです。 めでたしめでたし。

 ……果たして本当にそうでしょうか? やぎさんたちは本当に無限ループの憂き目から脱することができるのでしょうか。 憂き目から脱するように見せかけて、実は取り込まれてしまう可能性は、本当にないといえるのでしょうか。

 黒やぎさんが手紙を書く箇所をよく見てみましょう。 l4 = l2 = q(l1) となっていますね。 では l2q(l1) とはそもそも何だったでしょうか?

 それは歌の中で唄われています。 曰く

「さっきの手紙のご用事なぁに?」
と。 じゃぁ、白やぎさんが読んだ L4 の内容ってのはやっぱり、
「さっきの手紙のご用事なぁに?」
だとは考えられないでしょうか。

 だとするとどうなるのか。

 おそらく、L4 を受け取った白やぎさんには、そこに書かれた 「さっきの手紙」 という文字列が L3 を指すものなのか、L1 を指すものなのか、判断がつかないはずです。 判断がつかないのならまだしも、その 1 つ前の L3 で白やぎさん自身が同じ文面を用いて 1 通前の手紙 L2 の意図を問うているという事実があります。 同じ文面を見た白やぎさんが、「今届いた L4 の真の (黒やぎさんの意図した) 内容は q(l1) である」 と見抜くことは不可能なのです。 最初に断ったとおり、それぞれのやぎさんたちが手紙から読み取れることに忠実に行動するとしたら、これは確実に無限ループに陥ります。 白やぎさんは L4q(l3) と読み取り、それに対する返信として l3 を書いた手紙 L5 を送り、さらに L5 を読んだ黒やぎさんは L3 を受け取ったときと同じアクションを起こすでしょう。
見事な無限ループの完成です。

 では何ゆえこのようなことになるのか。

 結論から言えば、表象とそれに対する意味の混同がそもそもの原因です。 ここで言う 「表象」 とは、手紙に書かれた文字列であり、ln に相当します。 一方 「意味」 とは、表象 ln が持つ q(ln) などの機能に相当します。 L2 において、表象 l2 は確かに q(l1) という機能を持っているので、両者は等しいものになります。 しかし、L4L2 の表象である l2 をそのまま写筆した場合、それは q(l1) という意味はならないのです。

 黒やぎさんの最初の返信 L2 に書かれた文字列 「さっきの手紙のご用事なぁに?」 は直接的に L1 の内容を問うているわけではなく、「l2 = q(l2-1)」 という構造、もっと一般的に言うなら ln = q(ln-1)」 という構造によって、相対的に 1 通前の手紙の内容を問うているところがポイントです。 この構造は、n の値が一意に定まらなければ、なんら意味を成さないものなのです。 n が変われば、同じ表象であっても持つ意味も変わってしまいます。 L2 に書かれた 「さっきの手紙の……」 は l2 であり q(l1) でもあります。 しかし、この文字列が L4 に写筆された場合、まったく同一の表象を持ちながら、意味の上では q(l1) という内容にはなりえません。 L4 に書かれた文字列 「さっきの手紙の……」 は 「l4 = q(l4-1)」 という構造をして q(l3) という意味を持つのです。

 最初の議論では、表象 l2 を無視して、純粋に意味論だけで (半ば強引に) q(l1) を引っ張り出したために、無限ループを免れました。 しかし、表象 l2 に重きを置いた場合、後半の議論よろしく、黒やぎさんが不可解な手紙を出し続けるという、不毛な無限ループに陥ってしまいます。 つまるところ、表象と意味に明確な区別を与え、意味の側を用いてやり取りしていれば、無限ループを避けることができるわけです。

 以上が、無限ループに陥るトラップの仕組みでした。 ちなみに、プログラムの言語なんかは、表象に対する意味を考えることができません。 たとえば数値はどこまで言っても数値でしかなく、そこにプログラマーさんが意味を与えるわけです。 プログラムの動作は表象のみによって成立しているので、油断すると簡単に無限ループに陥ったりします。 怖いですねぇ……。 ぇ? スラ←がしろーとなだけですって? むしろ、ブログペットはどーなった、ですって?
あーあーあー、きーこーえーなーいー。

 では最後に 1 つ、なぞかけをしておきます。 暇つぶしにでも、考えてみてください。

 やぎさん同士が同じ回数だけ手紙を食べあったとします。 その後、通算 n 通目の手紙を食べることなく読んだやぎさんは、 ln+1 としてどのような内容を書けば真なる本文にたどり着くことができるでしょうか。 式で表してください。

 ではでは、ぐったりはぐったりらしく、ぐったりした隠棲生活に戻るとしますb


以下、私信

 ネタ流用しちゃいました……。

 狸だ熊だで盛り上がった挙句、年中サクラとハロウィンが同居している MAP の住人が言うのもびみょんですけど、やっぱりこの島、ちょっと感覚がズレてますよねb ま、そのズレが面白くて今に至っているわけですけどw

 ちなみに、隠棲生活が久しいぐったりは、40代と10代の恋愛にはあえて首を突っ込むことなく、ただぐったりと日々をすごしていますb

 よかったらまた、CHにでも遊びに来てやってくださいませ。

未分類 | 17:31:04 | Trackback(0) | Comments(2)
コメント
当然の如く、暇つぶしの問題を解く前にコメ


何故式にして考えたし・。・

まぁ面白そうなこと見つけたらまた考えてくださいまし



そんなことよりブログペットはどうなった
2009-07-22 水 14:11:48 | URL | しゅーさく [編集]
何故と問われると……
別段の意味はないので、お返事に困っちゃいます(ぁ
ただ、「何通目の手紙なのか」、また「その意味が何なのか」に
文字数を割かなくても一目瞭然になるので、
ちょっと便利かな、って思っただけです。
(逆にタグ打ちのめんd(ry さには閉口しましたけどw)

ちなみにブログペットですが……

あれ? ブログペットって何でしたっけ? (ぉぃ
2009-07-24 金 18:50:03 | URL | すら [編集]
コメントの投稿

管理者にだけ表示を許可する

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。