N階問題の顛末 (やや脚色あり)

いつものようにコンピュータに向かっていると、やはりいつもの様にN君が部屋に入って来て
「あのですねぇ・・ 階段のところの蛍光灯のスイッチって、どこかの階のを入れると点いて、別のどこかのスイッチを押すと今度はちゃんと消えるようになっているじゃないですか。あれってどうなってるんですか?さっきWっさんと考えてたんですけど。」
と、やや顔を紅潮させながら質問してきた。彼の質問はいつもぶっきらぼうだ。

「電子工学」が出身の私としては、そんなのは常識と言いたかったけれど、実のところちょっと考えてしまった。でも、2階の場合については、すぐに以下のような配線を思いついて(ちょっとだけ)面目を保つことに成功:

各階のスイッチは、ちょうど線路のポイントのように切り替わる。スイッチの部分については2本の線をフロアを通じて配線しなければならないことになるが、まあ、それは非現実的ではないだろう。

この調子で3階の場合についも答えを出そうとしたけれども、なんだか考えるのも面倒くさくなったし 「まあ、一般論として3階の場合には理論的にも大変難しくなって、解析的な扱いは困難かもしれない・・・3階問題はN君の宿題としておこう」ということにしておいた。

その夜がここの講座の忘年会だったこともあって、3階問題は多くの構成員(といっても少ないですが)の知るところとなった。

問題を21世紀まで持ち越すのもイヤだし、実際に何本の配線がスイッチのところに来ているのか、スイッチの蓋を開けて確認してみると(よい子は真似をしないこと)、下のフロアに4本、上のフロアに4本の電線が向かっているが見えた。この観測事実から

「そおっか、上へ4本、下へ4本結線されているところがミソやな」 

という先入観が我々に植え付けられてしまったのである。

そこで4本結線を機軸にあれこれ考え、3階問題の解答として、とりあえず以下を考案したのであった:

各階のスイッチの状態を表すブール変数を考える。3階の場合なので x, y, z としよう。そうすると、スイッチの状態(0か1)に対応した回路の状態(0=開、1=閉)を表すブール関数 f(x,y,z) の真理値表は以下のように書けるだろう

x y z f(x,y,z)
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

これをC言語風に書き直すと

f (x , y, z) := ( !x && !y && z ) || ( !x && y && !z ) || ( x && !y && !z ) || ( x && y && z )

みたいに書ける。ところで、AND(&&)は直列接続された回路のスイッチで表現できる(すべてのスイッチがONになったときに電流が流れる)し、OR(||)は並列接続されたスイッチで表現できるので、上の論理式は

のような回路で表現される。4つのAND項がORで結ばれているので、4本の並列結線でOKというわけだ。きっと4階問題も、さらにはN階問題でも、うまくブール関数を整理すれば4本結線のままでいけるのだろうということで、またまた宿題ということにしておいた。

程なく、N君から4階の場合にはこうすればいいみたいですとの解答が寄せられ、このセンで行けそうな期待が高まったが、5階問題で頓挫してしまった。「5階以上は、代数的には解けないのかな??」

そうこうしているうちに、K氏が(ややニンマリしながら)私の部屋に現れ、

「ハヤカワさんのあの配線だと、フロア毎に全部違うタイプのスイッチが必要になるじゃないですかぁ。それって、ちょっとまずいんじゃないですかぁ?」

うっと言葉を詰まらせながらも

「いやいや、きっと日本屋内配線業協会といった感じの団体があって、そこの規格で、1F用スイッチ、2F用スイッチ・・という風に、ちゃーんと統一されているんですよ、きっと。」

と私。そんな感じのやり取りをすこし交わしたあとでK氏

「実は、何階の場合でも(スイッチの部分)2本の配線で出来る方法を見つけましたよ。なーんだぁって感じですよぉ。」

K氏が部屋を去った後、書きかけの論文も投げ出して、しばらく考えたら、なんのことはあーりませんでした(スイッチの部分の配線のみを図示):

これなら、N階の場合でも全く同じスイッチでイケルわけで、屋内配線業協会の規格も必要ない。K氏は、この結線方法を「あみだくじ」から着想したそうだ。

「あみだは線を一本加えると、行く先が反転するでしょぉ?」

その後K氏は、量子物理学の知識と経験がいかにこの問題の解決にも役に立ったかを力説したのであった(?)

スイッチの蓋を開けて、リバースエンジニアリングをしたつもりが、逆に足をすくわれた格好になってしまった。実際には配線長が長くなるため、抵抗を減らすために二組の線が並列に使われていたのだろう。屋内配線ですらこうなのだから、複雑なシステムの一部を腑分けして、その動作原理や設計原理を知るのは さぞ大変に違いない・・・


わたくしごとへ戻る