§ asagi box §

概要

クビツリハイスクール―戯言遣いの弟子 (講談社ノベルス) クビツリハイスクール―戯言遣いの弟子 (講談社ノベルス)

西尾 維新 (他)
講談社 (2002/08)
売り上げランキング: 7038
通常24時間以内に発送
おすすめ度: 4.0

(at 2008/03/28 12:02)

西尾維新の小説、戯言遣いシリーズは主人公「ぼく」の一人称で展開される。作中で主人公は「いーちゃん」、「いの字」などと呼ばれるが、少なくとも三作目、クビツリハイスクールでも本名は明かされていない。

しかしながらクビツリハイスクールでは、作中の人物が、主人公の本名をいくつかのヒントから推測し的中させるシーンがある。正確には主人公が勝手に敗北宣言するだけなので、やはりその本名は明らかにされないのだが、実際に示された条件だけで回答が得られるものなのか、試してみた。

作中で示されるヒント

  • ニックネームは師匠、いーたん、いっくん、いの字、いー兄、いーの、いのすけ、戯言遣い、詐欺師。
  • 名前をローマ字で表記した場合、母音が 8、子音が7。
  • 「あ」を 1、「い」を 2、「う」を 3 ……そして「ん」を 46 として、名前を数字に置き換えたときの総和は 134。

Ruby スクリプト: shiogi.rb

上記条件に該当する文字列を、いちいち手作業で探していては日が暮れてしまう。こういう単調で個性も独創性もまったく必要ないくせに手間だけはやたらにかかる作業こそ、コンピュータの出番である。

せっかくなので、手をつけてからまだ日の浅い Ruby の練習を兼ねてみた。

スクリプトの名は、作中で主人公の本名に挑んだ、萩原子荻(はぎはら・しおぎ)嬢にちなんで shiogi.rb と名づける。実際のところ、名前などどうでもよいので、foo.rb でも bar.rb でもなんでもいいのだが、同レベルで shiogi.rb でも構わないわけだ。

絞込み条件

ところで、作中該当シーンで示されるヒントだけでは不十分である。

そもそもニックネームは条件として役に立たず(「い」がキーになるらしいがそれが姓名いずれに掛かるのかが不明)、ローマ字表記は訓令式かヘボン式か、数値変換では濁音、半濁音、拗音、撥音の扱いはどうするかが分からない。

条件が曖昧ではコードに落とせないので、ここはひとまず独断で決めてしまおう。

  • ローマ字はヘボン式を採用する。
  • 濁音、半濁音等については言及されていないので使用しないものとする。

無視条件

作中該当シーン直後に主人公の妹の名が「井伊遥奈」であることが明かされる。従って、ニックネームの件も考慮すれば、主人公の姓が「井伊」である可能性が高まるが、作中ではこの情報なしで推論しているはずなので、スクリプトもこれに倣う。

使い方

$ ./shiogi.rb

これだけ。オプションも何もなし。必死になって総当りで計算している様子は微笑ましいが、結果が出るまではとてつもなく時間がかかるので注意。

検索時間 (参考)

動作環境: PentiumII 400MHz / Memory 128MB
完全検索: 98:10:59
井伊推定: 10:57:21

結論

予想していたとおり、示された条件だけでは解は得られない。

使用文字群の候補だけでも 1,033,271 件1,055,257 件、苗字を「井伊」と仮定した場合についても試してみたが、それでも 39,951 件 41,520 件となり、実際にはそれらすべてについて並び替えによる整形の余地があるため、特定はもはや絶望的である。

萩原子荻恐るべし。

※件数に誤りがあったので修正しました。(2007/02/28)

ダウンロード

shiogi.tar.gz [1133 byte] (2007/02/28 ver. up)

[2004.06.06]
§
Copyright © 1999-2005, Keiju Asagi all rights reserved.
Generated by persica 1.01b (for ruby 1.8.x)