どっかん太郎の日々隠忍自重ブログ

どっかん太郎が日々隠忍自重を心がけるブログです。

続・秘密計算百合SS

※これは百合SS Advent Calendar 2017の11日目として書かれた文章です。遅刻しましたごめんなさい。 adventar.org

導入

f:id:rikuhiro6:20171212004640j:plain

「先輩、ご卒業おめでとうございまーす!」

数学部室の門戸を開けた瞬間、室内には乾燥した炸裂音が響いた。

後輩4人によって発射されたクラッカーの紙屑が容赦なく降り注ぐ。 大きい音は苦手なので思わず顔をしかめてしまったが、これがサプライズだと頭で理解できたので、すぐに表情を正した。

「えぇ、みんなありがとう」

私が想定していたよりも、花の女子高生という奴はあっという間だった。

結局は女子高生が女子高生たる時間なんて人生でたった3年間しか用意されていないのだが、多くの女子高生がその事実に気づく頃には、既に卒業を迎えてしまうのだろう。 つい数時間前まで現役数学部員だった私も、造花のコサージュを胸元に一輪挿すだけで、何だかずいぶんと遠い存在になってしまったみたいだ。

「いやはや、随分と豪勢じゃない」

いつもは部員達がこぞって消しカスを積もらせる数学部中央の机だが、今日は掃除した上で小奇麗なテーブルクロスが敷かれている。 その上にはやれ2Lのペットボトルコーラだの、やれパーティ開けされたポテチだのがずらりと陳列し、 アルコールの類が一切含まれない、高校生ならではの打ち上げ感を見事に醸し出していた。

「えぇ、今年度予算を使い切るいい機会でしたからね」

会計ちゃんはこめかみを指でなぞり、電卓をバチバチ叩きながら、出納帳にやたらと綿密な会計記録を書き込んでいた。

「掃除したり飾り付けしたりで、わりと準備するの大変だったんですよ〜」

書記ちゃんは背もたれに身体をだらりと預け、制服では隠しきれないその豊満な身体のラインをこれ見よがしに見せつけきた。 最後の最後までワガママなボディを見境なく見せびらかすやつだ。いつか揉みしだいてやりたい。

「……おいしい……」

副部長は相変わらずおとなしい。 棒状のスナック菓子を前歯でサクサク削りながら、黙々と口の中へ運ぶ様はリスを想起させる。

「さ、乾杯しますから先輩もコップ持ってください。お茶とコーラとピルクル、どれがいいですか?」

「な、なんでその三択なのよ。じゃあピルクルで」

流石、こういう場面で気がきくのは新しくなった部長だ。 ピルクルが注がれた紙コップを手に取り、受け取る瞬間、彼女と手が触れ合ってしまった。

「あっ……」

「ん?」

だが、彼女に顕著な反応は見られなかった。

……いや、私が気にしすぎなだけだろうか?

部長とは……先週の秘密計算の一件以来、少し顔を合わせづらいままでいる。 彼女はあの時最後に何を思って、私の頬にその、接吻を交わしたのだろうか。 所謂、ほっぺにちゅー、ぐらいだと巷の女子高生では遊びの範疇なのか?それとも本気なのか? 私は未だにその答えを聞きあぐね、ただ卒業までの日々を悶々と過ごしていた。

「飲み物は行き渡った?はい、それでは僭越ながら私、新部長の方から乾杯の音頭を取らせて頂きます。えー先輩のご卒業を祝って。かんぱーい」

「貴女達、まるで追い出すのを喜んでるみたいね。かんぱーい」

「かんぱーい」

それからはもう雑談に次ぐ雑談で埋もれ返った。 ABC予想を証明できると噂の宇宙際タイヒミューラー理論の最新動向、量子アルゴリズムで必要とされる線形代数の知識、やってみると意外と解けない日能研のつり革広告……。

数学部員達にとっての日常が、いつもどおりそこに広がっていた。

……私と彼女の気まずさだけを除けば。

「そういえば、先輩、最近アレはやらないんですか」

「アレ?」

会計ちゃんががお代わりのピルクルを注ぎながら尋ねてきた。

「アレといったら、最近先輩がお熱だった秘密計算ですよ。ANDとかORとかのやつ」

「え"っ!?」

思わずギクリ、とした。どうも秘密計算という単語そのものが、全てあの放課後の記憶に直結してしまう。

「そうですよ〜図書室から本取り寄せて結構熱心に読みふけってたじゃないですか〜」

「……確か……前に秘密計算でマイナンバーの大小比較をやろうとしたけど、あまりにも桁数が多くて無理だったんでしたっけ……?」

書記、副部長の2人が続けて疑問符を浮かべる。部長だけがただ1人、ツンとした涼しい表情を浮かべていた。 私はしどろもどろしながら返答を始める。

「そっ、そうね。一時期ハマって秘密計算の方法を色々と調べてはみたけれど、結局複雑な計算をしようとすると結構時間がかかったり、 プログラミングの知識が必要だったりでね、今のところ諦めぎみ。でも比較的準備が簡単な方法としては、カードを使って秘密計算する方法があったり、後はペッ……」

「ペッ?」

「PEZっていう……キャンディー菓子のケースを使う……方法もあるらしいわ……」

「へー……」

部長以外の面々は興味津々のようだが、私はできるだけこの話題から遠ざかりたかった。

何故語りたくないのかについて、厳密な理由を述べるために必要な根拠があまりにも不足しているためここでの深い言及は避けたいが、 あの日にあった出来事は……何というか、あくまで口外せず記憶の範疇に留めたい。そんな気がした。

当の本人へと助けを求めるように視線を送るが、鼻からそっぽを向かれてしまった。 表情はこちらから伺えないが、心の中ではニヤニヤとほくそ笑んでいる……ような気がする。

「あっ!そういえば忘れるところだったわ」

今の言い方は、流石にちょっとわざとらしすぎたか。

「ここに来る前に近所の洋菓子屋さんでケーキ買ってきたのよ。皆で食べましょ」

「え〜っ!?ケーキ〜!」

「……ケーキ!」

どうやらこの書記と副部長は、食に関して貪欲な姿勢を緩めることがないらしい。

「なんと、わざわざありがとうございます先輩。費用は経費として後で計上しておきますんで」

「いいっていいって、おごりだから気にしないで会計ちゃん。今までお世話になったお礼も兼ねてるの。 1人1つずつ、私の分も含めて全員分用意してあるわ。ええっと種類は……ショートケーキ、モンブラン、ロールケーキ、チーズケーキ、チョコケーキね」

「お〜〜っ」

「じゃあ好きな種類を選んで、かぶったらジャンケンってところかしら」

「あっ、先輩、その……」

「どしたの、会計ちゃん」

「実は私、アレルギーがありまして、その、食べられないものが……」

この瞬間、私の脳裏に閃光が迸った。

「待って、会計ちゃん!」

「は、はい?」

現代社会において自身の病歴というのも、保護されるべきプライバシー情報の1つだわ。だから言いたくなければ、貴女が何のアレルギーか言う必要はないの」

「えっ、別に隠す必要もないんですけど……」

「しかし!だからといって私達参加者から、ケーキを自由に選択する権利が損なわれてはならないわ……。 自分の要求が100%通らないにしても、第二、第三希望のどれかからケーキを選択したいのは当然の要望よね」

「まぁ、それは一理ありますね」

「つまり、ここに自身のプライバシーを保護しつつ、参加者間でケーキを妥当にマッチングしたいというモチベーションが生じたわけ」

「あっ、ひょっとして……」

「さぁ貴方達――秘密計算の時間よ」

結婚定理

「まぁ今回は秘密計算というより、安全なプロトコルと言った方が正確ね。 今回の目的はごくシンプル。

『各参加者間でどのケーキを選択したかという情報を秘匿したまま、ケーキを適切にマッチングさせるにはどうすればよいか』

となるわ。 マリシャスな参加者は存在しないものとして、全員が原則プロトコル通りの行動に従う、セミオゥネストモデルを採用しましょう」

「マッチングって、どうやるんですか〜?」

「いい質問ね、書記ちゃん。今回はシンプルに、各々が食べたいケーキのリストを紙に記入して、私が全員分のリストを見比べながら一人ずつ決定していくわ」

「……でもその場合、例えば全員ショートケーキしか食べたくない時に……当然ながらマッチングが破綻しませんか?」

「またしても良い質問ね、副部長。さすが数学検定準一級保持者」

「ぶい。数検関係ないですけど……」

「各々が食べたいケーキのリストを用意したとしても、全員が適切なケーキを食べられるとは限らない。 このマッチングが適切に成立するか否かを定式化したのが、【Hallの結婚定理】と呼ばれるものよ」

結婚。

何故だろう。彼女の前でこの単語を口にすると、妙な気恥ずかしさを感じてしまう。

「結婚定理?定理にしてはまたずいぶんとロマンチックな名前ですね」

会計ちゃんの疑問もごもっともだ。

「まぁ元になっているのが結婚に関する問題だからね。 あるN人の男とN人の女がいると仮定して、全員が結婚したいと考えている。 また男側には『この人となら結婚してもいい』リストが用意されている。 この時全ての男性がリストに含まれる女性と結婚できるような、適切なマッチングは存在するするか否か? これが結婚問題ね」

「男側は結婚できれば誰でもいい辺り、なんか切実さが伝わってきますね……」

「ま、一応男性女性両方にリストが用意されてるパターンの問題もあるから、そのあたりはお互い様ということにしましょう……。 さて、男と女でも、数学部部員とケーキでも、問題に対する概念は同じ。 概念を抽象化するために一旦記号で説明するわ」

一度私はホワイトボードに向き合い、つらつらと説明を始めた。

「まず各参加者が食べたいケーキのリストを{ \displaystyle
L = \{L_1, \cdots, L_N\}
}とおくわ。 それで{\displaystyle L }に対応する【完全代表系】と呼ばれるケーキの集合を{\displaystyle C = \{C_1, \cdots ,C_N\}} とおきましょう。 例えば会計ちゃんがショートケーキとモンブランが食べたいと思ったら、会計ちゃんのリストは{\displaystyle L_1 = \{ C_1=ショートケーキ, C_2=モンブラン \} } ってな具合ね。 この時完全代表系の定義から、任意の{\displaystyle C_i} について、{\displaystyle C_i \in S_j} を満たすような{\displaystyle j} が必ず存在するものとする」

聴衆の頭上に「?」が浮かび上がる。

「つまりどのケーキも必ず誰かの手に渡るってこと」

なるほど、と一同は納得したようだ。

「この時結婚条件……つまり適切にケーキをマッチングできる条件は、Hallの結婚定理により以下の式で示されるわ。あ、ちなみに{\displaystyle \bigcup} は和集合の記号よ」

{\displaystyle L} の任意の部分集合{\displaystyle M} について、{\displaystyle | M | \leq |\bigcup_{m \in M} m|}が成立する。》

「せんせ〜よく分かりません〜」

書紀ちゃんが数式に苦手意識を持っているのはいつもの事である。となれば、ここは具体例の出番だ。

「数式だと小難しく見えるかもしれないけど、言いたい事は至極簡単よ。 例えばさっきの会計ちゃんに加えて、書記ちゃんがモンブランとロールケーキ、副部長ちゃんがロールケーキのみを希望したとする。 そしたら数学部員とケーキの適切なマッチングは?はい、副部長ちゃん」

「そうすると……私のワガママによりロールケーキがまず決定されるので、自動的に書記さんがモンブラン、会計さんがショートケーキを食べる事になります」

f:id:rikuhiro6:20171212002009p:plain

「その通り。この時部員は3人、リストに含まれるケーキの数は全部で3つね。数が釣り合ってるので結婚条件を満たし、適切なマッチングが存在するって訳。 ではここでショートケーキとロールケーキを食べたがっている部長ちゃんを投入してみましょう」

「先輩、何で私が調和を乱す存在として投入されるんですか」

「まぁまぁ。そうすると、部員とケーキをどのように組み合わせてもマッチングは成立しないわ。 理由はリストに含まれるケーキの数よりも部員の方が多い……すなわち、結婚条件を満たさないからね」

f:id:rikuhiro6:20171212002021p:plain

「な〜んだ。言われてみれば結構どころじゃなく、アホみたいに当たり前な話ですね〜」

アホみたいに、というのは書紀ちゃんにとって最近お気に入りの修飾表現らしい。

「このようにリストを見るだけで、マッチングの可否が判定できるのがHallの結婚定理よ。 今回のように5人で考えたら当たり前のようにに思えるけど、何百、何千もの男女が与えられた時、適切なマッチングを調べるのは結構骨が折れる作業になるわ。 それをまず『マッチング可能か否か』で判別するのはとっても簡単である。これがHallの結婚定理の役割ね」

ほぇ〜というため息が一同の間から漏れた。

そういえば……後輩にこういった講釈を垂れるのもこれで最後になるんだと思うと、今更ながらこみ上げてくるものがある。 つい昨日まで意識していなかったのに、何だかなぁという心持ちだ。

「さて、では次は秘匿性を保ちながらこれを実行する方法よ」

署名

「とりあえず私がマッチングの組み合わせを考えるとして、まずシンプルに以下のような方法が考えられるわ」

私はホワイトボードに以下の通り書き込んだ。

  1. 各部員が食べたいケーキのリストをメモ紙に書き込み、それを隠して私に渡す。
  2. リストがHallの結婚条件を満たす事を確認してから、私が適切にマッチングする。
  3. ケーキの中身が見えないように、1つずつ箱に詰める。
  4. メモ紙の持ち主にケーキを渡す。

「しかし完全に秘匿性を守ろうとした場合、Step.4の段階で問題になるのが分かるかしら?」

「……あっ、メモ紙の持ち主にケーキを渡す時、先輩が誰にどのケーキを渡したか分かってしまう……!」

「副部長ちゃん鋭い。 プロトコルを構成する際には私のような参加者外の存在、つまりサードパーテーにも入力がバレないように注意する必要があるから覚えておきましょうね」

「……いや、多分思い出す機会はもう無いと思いますけど……」

「ではこの問題を解決するために【署名】を導入しましょう。 署名っていうのは要はサインの事で、ここでは『自分の書いた署名は参加者の中で一意に定まる』『他者に偽造されない』という性質を持っているものとするわ」

「すると……どうなりますですか……?」

「こんな感じね」

先程の内容を書き直すと、こうなる。

  1. 各部員はそれぞれ、食べたいケーキのリストと【署名】をメモ紙に書き込み、それを隠して私に渡す。
  2. Hallの結婚条件を満たす事を確認してから、私が適切にマッチングする。
  3. ケーキの中身が見えないように、1つずつ箱に詰める。
  4. メモ紙に対応する【署名】を箱に書き込む。
  5. 各参加者は(私の見えないところで)【署名】に対応する箱を受け取る。

「といった感じで完成ね。 ここで例えば悪意を持った部長ちゃんが、会計ちゃんのアレルギーを発動させるという良からぬことを思いついて、不正に箱を入れ替えたとしても……」

「人のアレルギーを勝手に罠カウンター扱いしないでくださいよ」

「先輩、私何でそんな立ち回りばっかりなんですか」

「……会計ちゃんがこれは私が書いた署名ではないって宣言すれば、リジェクトを放送できる。そしたら残念ながらプロトコルはやり直しね。 とまぁ、これで安全なプロトコルがひとまずは完成したわ」

「おめでとうございます……」

「じゃあ実際にやってみましょう」

「えっ……?今からですか……?」

「何驚いてるよ。プロトコルなんてものは、実際に動かして挙動を確認してなんぼのもんよ」

「私……別にどのケーキでもいいんですけど……」

「副部長ちゃん、そういう興を削ぐような事今更言わないの」

「えぇー……?」

実行

第三者の役割を担う私は、1つずつ梱包されたケーキ達と共に、部室の外の廊下で一息ついていた。 室内の部員達も、そろそろ食べたいケーキのリストアップを終えた頃合いだろう。

それにつけても……部長ちゃんの様子がおかしい。

何というか、今日の彼女はあまりにもその、おしとやかすぎやしないだろうか? 私の与太話にも関心があるんだか無いんだかよく分からず、時折ぼーっとしているし、あまり乗っかってこない。 こちらから多少無理矢理話題に呼び込もうとしてみたが、反応は芳しくないようだ。

ひょっとして、いやこれは私の思いすごしだと願いたいのだが……彼女は私に対して、何か腹に据えかねている……の、だろうか……?

突如勢い良く開かれたドアの衝突音によって、私のポンダァは砂のようにかき消された。

「先輩、持ってきました」

部長ちゃんだ。彼女が全員分のメモ紙を持参してきたようだ。

本来は彼女に悪意があった場合、プロトコル上ここでメモ紙を盗み見られてしまうのであまりよろしくはないが、 ここではリアルでの信頼性が仮定できるものとしてありがたく受け取っておく。

「ん、あ、ありがと……」

「……」

しまった。

「今日はどうしたの?」とか「具合でも悪いの?」などといった、とりとめのない質問を投げかけることで様子を窺おうと画策していたのだが、 それらの文言がタイミングよく切り出せなかったため、少々気まずい沈黙が生じてしまった。

それに彼女はさっきからもじもじしている。花摘みの季節でも近いのだろうか。

「あの……」

「ん?」

「いえ、何でもないです」

「?」

何かを言いかけた彼女は振り向いて、そのままスタスタと教室に戻ってしまった。

頭上に疑問符を浮かべながら一番上にあったメモ紙を開封すると、

「体育倉庫」

とだけ書かれた文面が目に入った。

私は体育倉庫という名前のケーキがあっただろうかと一瞬考えてから否定し、思わずなるほど、と声に出して彼女の意図を理解した。

付録

送別会終了後。

古びた蝶番の擦れる音がギィ、と響き、私は体育倉庫の重苦しい扉を開いた。

f:id:rikuhiro6:20171212003238j:plain

「お待ちしてましたよ、先輩」

小さな格子窓から漏れ出す黄昏ももはや薄暗く、かろうじて私達の表情を照らした。

私達のような文化部にとってはあまり馴染みのない体育倉庫だが、相手の声が反響してよく聞こえる上、外部から様子を伺いづらいという特性は、 秘密の会話という用途にうってつけの空間である。少しホコリっぽくて空気が悪いのが難ではあるが。

「貴女もまた、ベタな場所を選んだものね」

「先輩も浪漫を感じませんか?」

「どうかしら。このまま用務員のおじさんに鍵を閉められて、新学期まで二人きり、というシチュエーションだけはご遠慮願いたいけど」

「大丈夫です。運動部の友人からスペアキーをお借りしてますから。まぁ本当は違法なんですけど」

「あら用意周到」

「本題に入りましょう」

「えぇ、そうね。用件は?」

「何で……あの日以来先輩は連絡も寄越さず、私を邪険に扱うんですか?」

「……そっ、そうね」

ええと、しまった。なんて答えよう。

「少し意地悪がしたくなった、というところかしら。 私1人だけあんな辱めを晒してしまって悔しいから、貴女を冷たくあしらった時の反応でも見て楽しもうかと思ったの。それだけ」

嘘だ。軽々しく口を開けば、他の数学部員の前でボロが出そうだったからというのが真実だ。

「本当に……?」

「えぇ、まぁ貴女のその平然とした態度を見る限りは、何の効果も無かったみたいだけ……ちょっ!貴女、何泣いてるのよ?」

「いえ……その、ホッとしたんです」

「ホッとした?」

「ここ数日、てっきり先輩に嫌われたのかと思い込んで悶々としていたんです。先輩の了承も得ずにあんなことをしたのは、やっぱりよくなかったって……」

「なっ、何で頬にキスされたぐらいで、私が貴女を嫌いにならないといけないのよ」

「だって先輩の定義していた想い人って……実はloveじゃなくてlikeの意味だったんじゃないかと思って…… 私1人で勝手に先走っちゃったから……実は気持ち悪がられてるんじゃないか、って」

「馬鹿ねぇ、そんなわけないじゃない」

彼女の端正な顔立ちは、涙でくしゃくしゃに歪んだとしても愛くるしかった。 私はそっと頭を撫で、胸元に彼女の顔を沈めてやる。

彼女の嗚咽が落ち着きを見せたので、私達は丸まった体操用マットの上に並んで腰掛けた。

「そうね、私も卒業だからね。貴女も心のどこかでは寂しかったのかしら」

「そうかもしれません」

「随分素直ね」

「今日だけですよ」

「実は私も……今日の貴女、何処か虫の居所が悪いのかしら、と訝しんでたわ」

「そう言われると……心当たりがあります」

「やっぱりね」

「ふふっ」

ひとまず勘違いによる彼女とのこじれは、これで一段落ついたと見てもいいだろう。お互いに一息さえついてしまえば難しい話は何もないので、私達はしばらくとりとめのない雑談に花を咲かせた。

「ん?」

……ふと私は状況を整理し、この空間が醸し出す淫靡な芳香を嗅覚で感じ取った。

「そうすると……結局貴女は、私を好いていると結論づけてもいいのかしら」

「改めて言葉にされるとむず痒いですし、誠に遺憾ですが、概ねそうなりますね」

「それで、この空間には私達しかいないし、ここには誰も来るはずがないわよね」

「えぇ、下校時刻もとっくに過ぎてるし、流石に今日は全部活動が休みですね」

「……へぇ……」

私は彼女のふとももにそっと手を添えた。

「……いや、先輩、あのですね、ちょっと待ってください」

「何よ、相思相愛の者同士が何したって構わないじゃない」

「いやいや、そういうのはですね、もう少し段階と手はずを踏んでから」

「五月蝿いわね。こちとら彼氏も彼女もご無沙汰で、3年間溜まるものも溜まってるのよ」

「いやいやいや、女子高生の何処に何が溜まってるんですか。止めましょ、ね」

「なぁ……ええやろ?……その泣きはらした目元もごっつスケベやん……」

「いやーっ!ちょっと、本当に無理ですって、そんな、っ!」

私は彼女のうなじに右手を滑り込ませ、強引に手繰り寄せてから、自身の唇でその柔らかな唇を貪った。

参考文献

  • 「Hallの結婚定理とその証明」(高校数学の美しい物語) mathtrain.jp

画像は以下のリンクよりお借りしました。どちらも利用規約に則って利用しております。