第2回―経過報告―
マクロ機能実装による、試行結果についての報告
<前提>
・全83種のカタカナについて、7文字分を無作為に選択・出力したものを1回あたり10000行出力し、それを53回繰り返す。(これを1周期とする)
・1周期の間に出力されたそれぞれの文字列について、検査対象『シェイクスピア』と比較し、最も一致した文字列が多いものを出力する。条件に合う文字列が複数あった場合は、そのうち、最も先頭に出力されたものを展開する。
・本試行では、上記作業を189周期だけ繰り返すものとする。この試行における合計回数は1億と17万回となる。
<実行結果>
189周期で出力された最大の一致文字列については以下の通り。
・3文字一致:129件(68.25%)
・4文字一致:59件(31.22%)
・5文字一致:1件(0.53%)
2文字以下、及び6文字以上の一致についてはなし。
総合計時間:4135.45秒(1時間8分55秒450)
1周期あたりの平均:21.88秒
最短周期:20.32秒
最長周期:33.58秒
4文字の一致文字列(1000万行ごとに抜粋・一致した回数を右端に記載)
01.シヌイペスピカ(2229549行目) 6回
02.シェイミスゼメ(14901722行目) 7回
03.ズヴイクスフア(22869412行目) 5回
04.ワェイヮシピア(32200409行目) 5回
05.オェイクニセア(47351704行目) 6回
06.ヤムォクスピア(54461401行目) 10回
07.シレイコスネア(68185503行目) 4回
08.シレイクイフア(79301872行目) 11回
09.シェダーニピア(89795897行目) 2回
10.タェベクモピア(97948729行目) 3回
5文字の一致文字列
01.ホェイクスウア(58199578行目)
<総括>
前回のレポートより、演算回数を約3300倍に増やして検討したもの。
1周期あたりの行数が1000行から530000行になっている為、大半であった2文字一致は姿を消し、3文字一致が七割、4文字一致が三割(それに5文字一致が1件)という結果となった。
それに応じてか、出力される文字列についても人間味が出てきているように思える。
「ォモイクヲモェ」のように冒頭に小文字がついたり、「シヮィヒスカジ」のように連続して小文字、長音符(-)が付くような、もともと人間が発音出来ないような文言となるケースは「シェイクスピア」というベースに近づくにつれ、少なくなっている。
完全に無作為なので仕方がないことかもしれないが、4文字一致の出力頻度にかなりムラがあることも分かる。7000万1行目~8000万目までに11回起こったかと思えば、その直後の1000万回では2回しか発生していない。
合計した結果についても、確率上では73件(約39%)程出力されるべきが、14件ほど少なくなっている。
「ランダムだから仕方ない」という話も勿論あるが、他に原因として考えられるのは「出力文字列の重複」である。今回は一億回ほど演算を繰り返したが、その結果が全て違う文字列になるとは限らない。
27兆種類ものパターンがあり、現在はそこから無作為に選出を行っているが、取り出した文字列を除外する処理がないため、同じ文字列を引く可能性は当然考えられる。引けば引くほど、対象文字列は多くなり、重複の確率が増えていく。
そうなってくると、辛うじて27兆回演算をしたところで、「シェイクスピア」を必ず引き当てられる訳ではない(その数倍、数十倍の演算が要る)という、残酷な結論に至ってしまうのだが――それはまた別の機会に考えることとする。
1周期あたりの平均時間は、20秒強と概ね予想の範囲内であった。ところどころ、処理に時間がかかっている箇所もあるが、多くの演算を繰り返す内に時々遅くなるのはよくあることなので、深くは考えない。
このマクロでは「1時間でおよそ1億回の出力」が出来ると分かったが、それでも27兆回(重複の考慮なし)実行するには、単純計算にして27万時間――11250日(30年と300日)かかる。
私はその間、仕事をしてもいいし、趣味に勤しんでも一向に構わない訳(少なくとも実の息子に「一生、セル幅を調節してね。私が死んでも」と言わなくていい)だが、若干悠長すぎる。人間は機械と違ってちゃんと死ぬのだから。
<検討方針>
マクロを見直しし、処理速度を向上させる方法を考える。
また、読解不能な文字列パターン(不適切な箇所に小文字や長音符が出る)を削ることで、総合計数を減らす試みをしていきたい。
<備考>
実は「シェイクスピア」と出てきちゃったり……と思っていたのは、密に、密に。
以上
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます