巡回問題
暗い嵐の夜だった。
そんな中、いつもの通りによくわからないことを会話している二人組が目の前にいる。僕の調べた範囲では、その、いわゆる、夫婦、という関係である。この世界では夫婦という契約があり、正確な定義は知らないが、その契約を結んだ間柄は概して一番互いをわかりあっている、と期待されるようだ。どうも。といっていつもの通りにこの二人はとてもじゃないが、互いに理解しているか疑問である。
「で、仕事中に差し込みが来たので、同じ階のトイレにいったら」
と話題を提供しているのが、周囲から<ちた>とか間を伸ばして<ちーた>とかさらに伸ばして<ちーたー>とか呼ばれる男である。なぜ<ちーた>なのか、それはこの件では関係ないので別のところでまとめる。<ちーた>の話はいつも唐突である。そして内容は本当にどうでもよい。日常生活のほんの些細なことが多いのだが、それをより下らない方向に発展させて報告するのが日課である。
「びちっときて」
「そうびちびちっときて」
合の手を入れたのが<にね>とか<にーね>とか<にーねー>と呼ばれる女、要するに配偶者、妻である。なぜ<にーね>なのか、それもこの件では関係ないのでいずれまた。<ちーた>と<にーね>の会話は八割は二人にしか通じない暗号、符牒で構成される。それがわからないと話についていけないか、というとそんなことはなく、符牒の内八割は本筋には関係ない。一覧にしたりすると大変なので、冗長ではあるが、その都度一つ一つ説明していくことにすると、<びち>というのは下痢気味の<ちーた>の、もうちょっとで出そう、あるいは出てしまった、という様子を的確に現したものである。この二つ、かなり状況違うのだが、文脈で判断するしかない。ワヤヤイである。<にーね>はこういうことも抵抗なく普通に話に入る。
「で、びちっときてたから急いでトイレいったら、掃除の方がいて、ちょうど使えなかったと。掃除の人に今終わりますから、といわれたけど、びちってて緊急だったから、急いで下の階にいってね」
「別に変わったことでないよ」
「そうなんだけど、で、急いで下にいってびちびち気ばっていたわけですよ」
「くさいよ。迷惑だよ。」
「いつもびちは家でなくて職場で、と<にーね>がいっているから」
確かにそういわれている。家でする場合はすぐ掃除、とも。
「ま、それはいいから、すっきりして、個室出たわけですよ。そうしたらさっきの掃除の方がちょうど来ていて、目があって、なんか気まずい思いしたと」
「さっき話しかけられただけに」
「ああ、この人、びちって、急いで下の階に来たんだな、とかなんとか思われたかな、と」
いや、掃除の人はびちる、とか使わないんじゃないでしょうか。
「そこでいいことを思いつきました。画期的なこと。清掃会社にぜひ提案したいです」
と、得意気になっている<ちーた>に、
「なにを。人見知りの人がトイレから出て来たら目を合わすな、ということ」
そんなこと提案してどうする<にーね>。会話がおかしい。
「そういうことのならないような清掃方法でございます」
「ん、意味がわからない」
「だから、掃除してるよね。人来るよね。入れないからその人別の階のトイレに行くよね。掃除終わったら次の階行くよね。さっきの人トイレで再会したら気まずいよね、ていう話」
「いやそれはわかったけど」
「気まずいだけでないよ。その人がびちっていたら終わるまで掃除出来ないげ」
「だげかね」
「そう、つまり、掃除の人が次の階に行かなければえげ」
文のところどころに入っている「げ」の音は、ある方言由来の、そしてまったくもって使い方を間違っている、意味のない助詞である。「えげ」というのは「よい」に単純におきかえるだけでえげ。
「一つ飛ばすということ?」
「そう、一つ下でなくて、二つ下に行けばえげよ」
「上に行けばええんじゃないの」
確かに。鋭い。ちなみに<にーね>はどんな話題でもわりとまともな判断をさっと出してくる。回転がよいのだろうと思う。この場合、掃除の人と便意の人(というのがよいかどうかわからんけど)が反対方向に行けば解決である。
「甘い」
「甘いかな」
「私の階、最上階だから、下に行くしかない」
「知らんがね」
「だから、掃除の人が二つ下に行けば解決」
「<ちーた>が二つ下に行けばよかったんじゃないの」
「それも甘いげ。そのくらい、きちんと考えもうした。びちっている人の方が緊急度が高いことが多分多い。だから、そっちの方が近くにかけこむのが極めて自然でしょ」
なんか、びちびちびちびち、大変だねえ。
「わかった。そこまでは。でも、画期的って感じはしない」
「いやいやいや。ここからが本番。一般化したい」
いっぱんか、ですか。特殊な状況をなるべく普遍的な状況に応用出来るようにしたい、ということであり、おそらく、<ちーた>の好きな言葉の上位には入っている。
「まず、簡単のため前提条件を決める。とりあえず重要なのは一階分の掃除にかかる時間の方がびちより長い。こうでない時を考えると条件が複雑すぎる」
「まあそうだけどさ、それって」
「で、だ。次に行く。なにか気になりますかね」
「ま、いいです」
「一番上の階じゃない人がそうなった場合を考えよう」
「必要なことなの」
「一般化のためには。<にーね>が各階にトイレがある建物に来ました。最上階でないところにいます。差し込みました。トイレにいきました。あっ、掃除の人がいた。さあ、どうする」
「我慢する」
おい、<にーね>。
「それじゃ話終わるじゃん。そういうことでなくて」
「上か下に行く」
「でしょ。でもそれ、次の掃除のターゲットかもしれない。たとえば会社だったら、普段の掃除の方向も自ずとわかる、かもしれない、からどっちによけるかは観察力があれば判断つくよね」
「<ちーた>は判断力ないげ」
「今そういう話していないげ。ひょっとしたら業界的にはトイレ掃除は下の階から、とか上の階から、とかあるかもしれないよ。でも、びちった<にーね>はそれを知らないかもしれないし、掃除の人の方で避けてあげるべきなのではないかな、と思うわけ」
「わたしはびちらんけど」
「だから」
「まあ話はわかった。掃除の人が、二つ上か二つ下に行けばいい、ということね」
まとめに入っている<にーね>と
「まとめんでよ。まだ続きがあるから」
しぶとく食い下がる<ちーた>。
「ええ、これ以上この話どう発展しようがあるの」
「ありまんげ」
「ありますげ」の音便。いや、それはどうでもよくて、発展あるんですか。
「この法則だけだと、全ての階の掃除をすることが出来ない」
「はあ」
「例えば一階スタートだとすると、次三階だよね」
「そうね」
「その次は」
お、確かにどうしたらいいんだろう。一階はもう掃除したし、二階では意味がないから、五階か。
「五階に行くしかないね」
「じゃあその次は」
「七階、にいくか、あ、そうか、そこで二階に戻るという選択肢があるのか」
「そうなる。五階建てだったら、[1 3 5 2 4]。これで条件を全て満たす。七階建ての場合は [1 3 5 7 2 4 6] とする」
「[1 3 5 2 6 4 7]」
「あ、そうなんだけど、美しくない」
めんどくさいなあ。
「びちの話に美しさもとめられても」
ごもっとも。
「で、このトイレ巡回方法を 『い』と名付けましょう。元々の前提が三階までの建物を考慮していないから、最小で四階からはじまる。しかし、方法『い』では四階に対応出来ない」
あれ、そうなるかな。
「なるほど。[1 3] と来たら 2, 4 どっちにもいけないから」
「そうそう。さすがに理解早いね。決まりは例外を少なくしたいので、四階だけ特別扱いしないためにはどうしたらよいだろう、と、本日二度目のびちり中に考えたわけだ」
どこでなにを考えるんじゃい。
「そこで思いついたのですよ。どの場合でも一階ではなく二階からはじめる」
「お、なるほど。[2 4 1 3]。 いけるね」
「五階以上でもこの法則、『い(改)』 にするけど、『い(改)』 を覚えておけばいける」
[2 4 1 3 5]。いいね。[2 4 6 1 3 5]。うん、六階以上も問題ない。
「ところがですよ。まだびちが終わらんから考察を深めたわけです。この方針だと全て終わったら無駄に長く降りないといけない。奇数階巡回の時はなるべく上から下に移動出来ると効率がよい」
ふむ。『い(改)』 だと 一階から最上階まで二往復するするわけだ。
「てことはどうするの」
「色々考えたんだけど、なかなか合計の移動距離が短くならない。ついに一番いい方法考えたのだけど」
「というと」
「偶数最上階が終わったらしばらく休憩して奇数最上階から下りてくる」
おいおい。
「ぶほ。今までの考察なんだったんすか」
そうだ。時間返せ。
「私もそう思った。でもその方法をとらないならば、上の階で特別処理をするしかないかな、という結論になりました」
<ちーた>の説明によると次の通り。最上階を 0 としてそこから下を負の数で表現する。最上階が奇数の場合と偶数の場合でちょっと違って
[... -4 -2 0 -3 -1 -5 ...] (最上階が偶数)
[... -5 -2 0 -3 -1 -4 ...] (最上階が奇数)
「解は一意ではないので、これにこだわる必要はないのだけど、この処理法だといいことが一つだけある」
「あるかね」
「特別処理の法則、つまり [-2 0 -3 -1] ということが、考察対象最小の場合、四階の場合にも使える。[-2 0 -3 -1] を正規化、といっていいかわからないけど、基準、原点なんでもいいけど、とにかく四階の場合にすると、4 を加えて[2 4 1 3] となる」
「『い(改)(4階)』 と同じだ」
「そう。四階の場合はどうやってもこれ以上移動距離の総計を短くできない。この計算は一番下が 1 であることに注意して、一つ一つの移動分を合計すればよい」
ふむ。[2 4 1 3] なので、移動距離は (2-1) + (4-2) + (4-1) + (3-1) + (3-1) = 10。10 か。
「四階の場合は『い(改)』の逆、つまり [3 1 4 2] という解も有るけど、移動距離は変わらない」
「つまり、[2 4 1 3] の特別処理を覚えておけば全ての場合に適応出来るげん、と」
「そうそう。下から進んでいって、次の目的階が最上階の二つ下、という階に来たらそのまま [2 4 1 3] を行う。次の目的階が最上階の三つ下、という階に来たら、そこを通りぬけてもう一つ上の階に行き、[2 4 1 3] を行う」
「ううん、方針はわかるんだけど、やっぱりちと面倒くさくはないだげんか」
「確かにね。今の方法を『ろ』と名前つけるけど、業者さんは『い(改)』、あるいは『ろ』の好きな方法をとる、ということにするのがいいかな、と思う。一往復増えてもすっきりする方法がよければ、『い(改)』。すっきりするよりも無駄な移動を少なくしたかったら『ろ』」
「そうね。あるいは階数に応じて柔軟に対応してもよい、と」
と<にーね>から新しい考えが。なるほど。
「だげ。高ければ高いほど『い(改)』の無駄な移動が増えるので、そこはお好みに応じて、ということで。とはいえ、ここまでやったんだから、もうちょっと進めて、何階建てならば、『い(改)』の方が移動距離短くなるか、という考察をしようかと思うんだけど、ま、それはこれから三回目のびちに行きますので、その時に考えますわ」
「まだ、びち足りないの。家でやらないでって何度もいってる。でも、それよりも、ううん」
<ちーた>からこれ以上に新しい考察はないようだけど、しかし<にーね>はなにかいいたいように見える。
「<にーね>はなんか気になる。なんか条件見落としているかな」
「いや、そういうことじゃないんだけど、ううん」
「気になるからいって」
「最初から思っていたんだけど」
「ほい」
「びち、長すぎなんじゃないの」
……………。
「…なぬ」
「掃除の人がいて、すぐ上か下にいったとしても、その掃除の人が来るまでには、普通は、びち終わるんじゃないの」
「…その発想はなかった」
「そういう人もいるとは思うよ。でもさ、前から思ってたんだけど、<ちーた>は無駄にびちり時間が長すぎ。ああいうのは、ふに、とひねり出して、すぐトイレ出ればいい」
「そんなすぐ、ふに、と出せないよ」
「そうしたらあきらめて次の機会に回せばよい。そもそも長くこもりすぎだげ」
「え、でもせっかくいったんだから、びちるまで頑張らないと」
「一日に何度もいってるんでしょ。どんだけ時間かけるつもりだすか」
これは長くなりそうな予感。
夫婦という契約は、概して一番互いをわかりあっている、と期待されるようだ。どうも。といってやはりこの二人はお互いに理解しているのだろうか、甚だ疑問である。
暗い嵐の夜だった。まあ、暗かろうが明るかろうが、嵐だろうが霧だろうが、いつもこんな感じである。
ちなみに、この後に続けた考察で、四階以上の全ての条件で『ろ』の方が移動距離が小さいことが判明したことを付け加えておこう。
フィクションです。念のため。