第29話 バイナリーサーチ/二分探索法《にぶんたんさくほう》

 「はいっ、はじめちゃんっ」

 「えっ、えっ、えっ所長にっ、はいっ、桜花っ、出番よっ」

 「え~~~、こんな時だけぇ~」「はいっ、桜花っ、このままじゃ進まん」


 「バイナリーサーチは膨大なデータから目的のものを、出来るだけ少ない手順で検索たんさくする為の手法だよ。でも条件があって、データがあらかじめ昇順あるいは降順に並んでいる事だよ」


 「ほぉー、旧ルートATがその条件に合っていると」

 「違うよ。条件を満たす様に工夫くふうするの。区画分けした道を、対象がいた時”1”、いない時”0”が入る箱に見立てる」


 「箱ぉ~」

 「そう、さくたんの考えは、旧ルートATを適当な所で区切るの、私は3分割ぐらいで良いかなぁ~」


 「3分割、それで旧ルートATを網羅もうらできるの」

 「出来る様に考えるの明乃あけのちゃん、古い地図の旧ルートATを追ってみて、崖の先の農家さんに繋がっている村道、U字の道に出てるでしょう」


 「本当だぁ~、道の横の森からU字の道に繋がってるぅ~」

 「崖の先のT字路から右折して入った現在のルートATは、このU字の道から県道44号のT字路との間を、橋を架けて真っ直ぐにしたものみたいね」


 「なるほど、現在のルートATだと、T字路を右折してから十字路まで1km強だけど、旧ルートATは山の中を曲がりくねってるから、3kmぐらいありそうだねぇ~、足元悪そうだし」

 「でね、1ブロックの中を観測範囲の3mで細分化して、番号を付けるの」

 「そうか、その3m毎に区切ったのが箱なんだねぇ~」「そうっ」


 「で、どうやって探すの」

 「がはっ、待って用意するから、さくたん適当に決めて、具体的な方が良いでしょう」

 「うん、分かった。ん~~~え~~~と、ここと、ここ」

 「OKぇ~、初めの直線は入れないんだね」「そう、車から降りて歩くとこから」


 「ふんふん、第一ブロックはもう距離でてるよ、951m、それを3mで割ると317個。おっちゃん、箱に1番から317番まで番号を付けるよ」

 「おっ、お~OK」


 「じゃぁ~次ね。対象が歩いて移動します。高解像度の観測で箱の中を見に行きます」

 「OKOK」


 「観測の結果、対象を見つけたら“1”、いなかったら“0”を置きます。OK」

 「お~大丈夫」


 「ここからだよ、あるルールに従って探すの」

 「ルールねぇ~」


 「これを見て、仮に309番で1が終わってるとするでしょう」

 場所( 1 , 1 , 1 ,・・・ 1 , 0 , 0 ,・・・ 0 )

 番号(001,002,003、・・・309、310、311、・・・317)


 「おっちゃんがこれから探したいの場所、対象が行き着いたところだよ」

 「順番に全部箱を開けないと分からないぞ、桜花」


 「それを説明するのぉ~、バイナリーサーチは簡単に言うと半分半分半分てっ言う感じで探すんだよぉ~、今回は1と0が隣り合っているところを探して、1の所が探している場所。探す条件は1より小さく、0より大きい。探す箱が無くなった時、1と0が隣り合っている”1”の場所が当たりだよ」

 「ふん~~~」


 「もうっ、やって見せるから、スタートは317番を見るよ。もしここで見つかった時は、隣の第二ブロックまで進んでいる可能性があるから」

 「・・・今回はいなかったと仮定があるから0、だな」


 「そうそう、でね、スタート地点側から進んでくる訳だから、番号の若い箱の中身が大きい、1が入っていると言う並びになっていて、0が見つかったから残り316個の中に当たりがある訳でしょう」

 「あ~、そうだねぇ~」


 「ん~~~、おっちゃんの為に説明してるのにぃーーー」「分かった分かった」

 「もうっ、残りを半分にするの、はいっ、おっちゃんっ」

 「えっ、え~~~150に16の半分を足して、158っ」


 「では158を見て」

 場所( 1 , 1 ,・・・ 1 ,・・・ 1 , 0 ,・・・ 0 )

 番号(001,002,・・・158,・・・309、310・・・317)

 「1だね、・・・1より小さいのは158番より番号の大きい箱にある」


 「その調子、158の半分は」「おっ、えっと、・・・79」

 「158+79は」「237っ」「見てっ」「1っ」「次」「39.5っ」


 「取り敢えず39で」「237+39は」「276?」「ほいっ見てっ」「1っ」


 「がんばっ、残り40個、割る2」「276+20っ」「見てっ」「1っ」

 「おー296+10だから、306、1、と言う事は+5か、311、0」


 「ここでちょっと考える」

 「311より小さい番号で残り5か、311引く5は306、さっき見たぞ」


 「そうだから」「あと見てないのは307~310」

 「7、8、9、10、4個」

 「311引く2は309、1、大きい番号残り1個、310は0」


 「見つかった、1と0が隣あっている場所、317個の中から9回目で見つけたよ」

 ぱちぱちぱち。「おーーー、所長ぉ~、計算出来たぁ~」


 「まもちゃん、俺だって足し算と引き算ぐらいできるよ、割り算もしてたでしょうよ」

 「でも桜花、高解像度よね、9回も出来るの」

 「えっとねぇ~、光子対の転写座標を再設定するのに15分くれればなんとか」


 「さくたん、はじめちゃんどう、可能なの」

 「理論上は出来ると思う、但しあらかじめ3D座標と目標の時間が分かってる事かな」

 「そうね、さくたん、問題は今所長がした様に、逐次ちくじ結果を見て判断しなければならない事、そして実施時間の予想が出来ない事」


 「ミス・テリーとかぴたんにどの程度負担になるか分からないのね。結果によっては予算も不足する」

 「明乃あけのちゃん、予算は桜花が受けるジョブにどの程度吹っ掛け、価値を付けるかさくたんと桜花自身も含めて相談しましょう」


 「それが良さそうねはじめちゃん、さくたん、桜花はどう」

 「私はいいよ」「私も外の仕事してみたい」「そう、じゃぁ、後で相談しましょう」


 「すると、毎回俺達で結果を見るのかぁ~」

 「違う違う、おっちゃんはバターになるぐらい回ってくれなきゃ。桜花やって」

 「いいよその方が早いし、楽だし、でもおっちゃんバターは見たくないなぁ~」

 「だよねぇ~、あっ、後から絵がるかもだから、とっといてね」「まぁ~かせて」


 「そんな事出来るのさくたぁ~ん」「桜花、この人誰」

 さくたんが俺に指を向ける。

 「おっちゃん」「ねぇ~、個人識別なんて、自我が発生した時点で、疑う余地なよ」

 「分かった。すると後はミス・テリーとかぴたんか、まもちゃん、二人がつまんないモードにならない様に、何か考えて見て」「了解っ」


 目処めどが立った。流石さすがに地図に無い道は盲点だった。

 これでαアルファが、γガンマ何処どこへ連れて行ったか分かるはずだ。


 「それでぇ~、何時いつ頃出来そうかな」

 「ん~~~、ざっくり1週間。ねっ、はじめちゃん、桜花」

 「そうねぇ~、初めての試みだし、外の仕事も精査しないとだめだし」

 「私もパクって来たデータ、拾って来たデータからデータテーブルを作らないとだめだからぁ~、そのくらい欲しいかなぁ~」


 「ふむぅ~~~、明乃あけのちゃんとまもちゃんは」

 「私も桜花のジョブの営業に行きますので、今週はちょっと」

 「私は、皆と相談しますけどぉ~、最近空自も海自も忙しいですからぁ~、ちょっかい出してくるのが多くてぇ~、娘子隊じょうしたいの子達を早く呼んで下さいよぉ~、お店私だけじゃないですかぁ~、ひまだけど」


 「あああぁぁぁーーー、分かった分かった、今回の件が上手く行ったら強く言うからさ、今回は何とかして」

 「と言う事で1週間以内に何か考えますけど、私一人ですから期待はしないで下さいね。それとミス・テリーとかぴたんのお迎え、私だけだと防ぎきれない可能性がありますから、皆が来るまで公安か何かつけて下さいよぉ~」


 「んーーー、分かった分かった、それも言っとく」

 「本当ですよぉ~」「うんOK」

 確かに、ミス・テリーとかぴたんの警護けいごは急ぐ必要がある。

 二人に何かあったら、全てが水泡すいほうする。

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る