ごみ
10 年度のブログ関係方針
「89 年度」 や 「09 年度」 は極めて直感的で一意な解釈が期待できたわけだが 「10 年度」 は大変わかりにくく実用不能に思える.「’10 年度」 等としても焼け石に水のような気がして,ささやかな 2010 年問題. 頭がいい方々には目から鱗の解決策を期待している.
以上は例によって本文とは何の関係もありません.
それでまあ更新が滞っている当ブログなんですけど,Twitter を始めたらつぶやくのが楽しくって楽しくって,ちょっとしたエントリの代替にもなるわコメント代わりに人々とコミュニケーションもできちゃうわ iPhone からの利用もバッチリだわで便利すぎてぶっちゃけ俺にとってのブログの役割のほとんどは Twitter で代替可能なことがわかってしまって,ブログの方どうしようかなぁと思っているところなんですよね,みたいなことは全くこれっぽちもなくて予想通り Twitter とか俺みたいな真性引きこもりにはひとりオナニー*1をする程度の場所であって使いこなせない以前に使いこなしたくないという感じで依存度を概数で表すと零です.
何よりも前段落のような既視感のある,けれども慣れてくるとお馴染みのパターンみたいな感じで楽しいタイプの微妙かつ無意味な文章それも長文を投下するということが Twitter ではできませんのでね(長さ制限的にもノリ的にも).
オナニーに変わりはないと言えばそうですが Twitter は集団オナニーの感じがする. これでも全盛期の 2ch の祭りスレなどでわいわいやっていた時期もあるのでそういうグルーヴ感*2とかわからんでもないのですが正直飽きたというか例によって他人がやっていると自分はやりたくなくなる天の邪鬼が発動するというか.なぜ 2ch は良かったのかというと匿名であって具体的にそこに何人いるかとか,そいつの過去の発言はどんなだとかが隠蔽されていてわからず,皆がその環境に慣れているからそもそも個人って単位が意識されないような文化が局所的に成立していたわけで,そういう現実感の無さが良かった. まあ今風の人はむしろ個人が見えることに喜びを感じているようなので,単に時代の流れに乗れていないだけということは重々承知しつつもう懐古厨.
とか Twitter について愚痴愚痴言っていると本当に Twitter の影響でブログ書いてないんじゃないかとか勘ぐられる可能性がそれなりにありそうなんですけどそれは本当になくて,先月のエントリにもある通り,単に元気がなかっただけですね. なかった,というと語弊があって今もないけどね.
しかしこのまま死なばもろともで web 上での諸活動の全てが先細っていくというのは良くないなあと思うわけです.なんとかせねばね.
……というわけで,ここまでのフラグで勘の良い方は気づいたかもしれませんが,分裂の季節ですね.分裂.活動の種類によってテキストを投下する場所を分けようよと.
具体的にどう分けるかはきっちり決めてないけども,少なくとも
- タイピング関連については,dvorak.jp にお帰りになっていただく*3.
- プライベートで適当な話題 「のみ」 を扱う場所を作る
ことはしたい感じ.タイピングでもプライベートな話でもない内容はどこへ行くのか? 等については未定というあたりが少しアレ. ぐだぐだではない各種公式な告知とか,今後アレな活動をする上でアレだと思うので何かしらもうひとつ必要な気はしているんだけども,まあ,後回し.
そんなわけで順次新体勢に移行して,gohan にはますます新規エントリが投下されなくなる見通しです.
……といっても,今までの移行通り,旧コンテンツを削除することはないですし,新しい場所はここにちゃんと載せますんで,今なお追っかけている物好きな人はご安心をば.ただ gohan に上記の役割のどれかを持たせるつもりはないので,ここの更新は止まりますよというだけね.
大事なことは以上かな.以下はこれまでの経緯を知っている人にしか興味ない話.
- 冗長性を持たせた. [↩]
- という語義が曖昧な単語を使ってみる. [↩]
- 日々のタイピング記録メモや関連開発情報は昔そうだったように,dvorak.jp 内のミニブログ形式に. [↩]
- どうして無駄の最小化,安定を求めたか……まで追求するなら,gohan 以前の俺の活動のログを追ってみるとわかるかもしれない. [↩]
- これはエントリの文体を観察することによって傍目にも容易にわかる.文体と,その文体で書かれる内容の思考の方向性との間に明らかな相関が見て取れ,表に出てきている面の明らかな違いが見て取れるはずである. [↩]
- 実際そういう試みは続かず,続き物を想定していたのに続かなかったことが一度や二度ではない.正確に何回なのか探す気にはとてもなれないが. [↩]
- 多分何度かはあったはず……そう思いたい. [↩]
別に死んではいない
社会的に死んでも,日本国憲法の基本的人権の下りなどを高らかに暗唱しながら警察官に飯をせがむくらいの厚かましさを身につけることで,生きていくことは比較的容易なものとなる.
いやそんな状況になってないけども.
むしろ IS 充しているが故に下らないことをくどくど発信するここが放置気味という感じで.
とりあえず今日ここに書いておくべきこととして何があるかと考えると,お金は大事よねということと,退かぬ媚びぬ省みぬということだろうか.
完全に幸せがお金で買える状況であるので*1最近はあまり余計なことを考えなくなった(大人になった).まあ,就職して働くほどには大人になっていないんだけども.
しかしお金さえあれば幸せですって断言できるっていうことは考えようによっては非常に恵まれている状態よね,と他の色々人生が苦しく楽しそうな人を見ていて思う.
- これは 2 年前から言っていて,今なおそうである. [↩]
PC は一日一時間
というか平均してそれ未満なんではないかという状況. これでは PC 中毒を自称できない.
一時期に比べれば全然まったくもってこれっぽっちも多忙じゃないんだが.ディスプレイに向かうと精神的に萎える. うわあディスプレイの発している電磁波ってこんなに有害だったのかやはり陰謀,などとわめきたくなる程度に顕著な変化が起きる.
具体的には Hummel のトランペット協奏曲第三などを軽快に吹きながら盛大に帰宅しても,メールチェックを終える頃には頭を抱えてこたつに潜り込みそのまま寝込んで風邪などをひきたくなる.
常にこうであればさあまた今年も鬱度が高い季節がやってまいりました,皆さんまた来年! と開き直ればいいだけなんだけど,ディスプレイに向かわなければなんともないんだよね*1.
ですから積極的にディスプレイに向かうことのない生活を,ここ 2 ヶ月ばかり送っているわけです*2.
人間の生きる世界はこんなちっぽけな画面の中じゃないんだなあ,みたいなありがちなことを思うのはまあ極めて曲がった解釈をすることにすれば 「良いこと」 なんでいいんですけど,同時に自分を支えてきた自信・自負の類がすっきり消え去っていくから困る.
罠に嵌められて国を追われた貴族が,異国の地に身一つでたどり着いて,冷静に命のあったことに感謝しようとするんだけど,現実を見る中で途方に暮れ,結局自殺してしまう,みたいなアナロジーがかなり高い当てはまりをみせていると思う.
まあなんとか食えればそれでいいか.
みたいな思考に陥ったら人生おしまいだということは理解しつつも,その地点が既に自分の背後にあることも理解しているという.
そしてこういう悩める 20 代の達観(笑)みたいなものが,後から見るとひどく馬鹿馬鹿しく見えるということも理解しているという.
-
以上は仕事が何ごともはかどっていない言い訳として提出された文章であり,嘘偽りのない事実である保証はありません.
土方始めました
俺はいつかスーパーハカーになって書きたいときだけコード書いてあとは毎食デリバリーピザ食ったり好きな学問を好きなだけ勉強してみたり日々堆く積もっていく amazon の箱消化したりしつつ世間をバカにして引きこもって生きるぞ! と公言していられる年齢*1でも環境でもなくなってしまった.
というのが直接の理由で,コンピュータサイエンス教養が無い残念な人にもなんとかなるレベルの分野で土方ができるようになるべしと思った.同じ IT 系の中でも 「創る」 - 「作る」 の差は歴然とあって,要求されるレベルがオーダーにして 100 倍くらい違うわけで,まあその高みサイドを目指し続けていたかったんだけど,上ばかり見ていると足下がお留守になるというやつで,そろそろ足下を見ないとなんともね,という.
東大とかいう場にいるとなんだかんだで周りの人が超な感じで,平然と超なことをやっている. しかも当人らは超ですとは奢らず平然としているから,俺のような 「他人よりはできる」 あるいは 「他人と同じくらいはできる」 と思いこんでいる思い上がりの激しい人間はたちまち自分の住む世界を勘違いしてしまうのである*2.
それゆえ凡人にとっては,分をわきまえるというのがどういうことかを心身の隅々まで行き渡らせていないと,苦労するのだな. 向上心・競争心は若さ溢れて大いに結構だと思うけど,ダメだったら潔く差を認める腹づもりでないといけない. がむしゃらになればなんとかなるかもしれないと思い踏ん張ることは,ことこの場においては間違いであった.プライドは,引きずれば引きずるほど後に怖い事態が待っている. 俺は日本一の何かになりたかったわけではなく,単に周りに迷惑をかけずに生きられて,あわよくば美味しいご飯が食えて,好きなことをする時間が確保できれば,それでいいのである*3.
ただ一度身を窶したとしても*4,その状況に甘んじていてはいけないよね,という信念くらいはあって.年長者曰く人生は 20 代の若者が思っているほど短くはないそうなので,前を向いて生きていれば上への階段が表れることもあるだろうと期待して生きる……とか,このくらいが落としどころなんじゃないかしらと思う.
ありがちだけどね.ついでに言えば,自分は大器晩成型だと思っているというのは B 型血液型占いあるあるシリーズのひとつである.
馴れ合い度計算
先エントリの内容に関連して.
フォロー関係をグラフで追っかけてやることである Twitter ユーザの馴れ合い利用度が計算できるよねと思った.
マイミク的に積極的に双方向リンクを形成していたら馴れ合い度高しと.それだけで馴れ合い判定とかひどすという反論があるならその双方向関係の中での @ 発言の頻度とかを持ち出してきてもいい.
最も単純には距離 1 ノードを調べればいいだけで超単純,既に誰かやってるだろ確率 1 で.
しかし,そこまでして馴れ合いネガキャンしたいのかという感じではある. 病んでるね,毎度毎度.
twitter を眺め回し中
始めるといいつつ始めていないけど始めたふりをして世界を観察している.
mixi と twitter の対比がよくされてるけど,要するにグラフがが無向か有向かっていう違いが本質的,でいいんだと思う.「マイミク」 は双方向リンクだけど,「フォロー」 は単方向と.
twitter のその主義は本来的には俺の好みそうなもので,現実にも広く単方向な世界だったら俺もまだ馴染めるかなって思うんだけど*1,なんだかんだと言いつつ,特に日本文化圏においてはフォローされたらとりあえずフォローしてみる,みたいな慣習がなんとなくあるようで,結局双方向につながってクラスタが形成される*2傾向があるようだ.
SNS である以上,つぶやきがどうとかユルいとかいうタテマエはともかくとしてそうなるのが正しい姿なんだとは思うが,あれを俺にやれというのは無理な話であって. いや,全然問題なくできるけどね.
人それぞれのやり方で使えばいいよみたいな個人主義的雰囲気は割とあるので,問題ないっちゃないんだけど,しかしそう言い出すとそもそも twitter 上で情報発信する必要性が全然ないということに気づくという. 「みんながやってるから」 というだけの理由で一つのしがないサービスに依存するのは,しょうがないとはいえ気分爽快とは行かなくて…….
と,こう書いていて気づいたのは要するに俺はコミュニケーションの形態と自分の信念のそりが合わないとかなんとかいうことを言い訳にしつつ,単にいち企業のサービスをインフラに何かするということに対して不信感があるというだけなんではないか,ということで.
twitter の実装が完全にオープンになってて,特に企業や団体が牛耳ってるわけではないが津々浦々に普及していて,IRC 的に散らばってるとこもあれば同期とってクラウド化してるところもあって……という状況,要するに twitter がサービスではなく単なるプロトコルに化け,実体がなくなった状況を考えると,うん,確かにそれはすごく使いたい.
とかいうことをぐだぐだ考えずに気軽に使えるのが twitter の良いところなんだよ!
と彼らは言う.
爆神発売
爆神ですよ爆神!
なんのことやらですか. バトルスピリッツですね. わかりません.
近所の 7-11 に今まで遊戯王が置かれていたのが丸ごとバトルスピリッツに置き換わっていたぞ! 大勝利!
祝勝ということで 1 パック買ってみたら 210 円のはずなのに 105 円.レシート見ても 105 円.レジで管理してる商品のデータって全店共通なのかどうか仕組みを知らんので,ローカルなミスなのかどうか判断がつかないんだけど,とにかく半額.
明日もうちょいごそっと買ってみようかな.大人げない大人げない.
進まず焦らず
放置気味ですが生きてますがいまいち時間がない.
最近あったことリストでお茶を濁すと:
- 日本人の開発責任者さんが書いたよというから 入門 Git で Git 入門した*1ら各コミットの構成を考えるのに git 管理下でやってる開発本体と同じくらい時間をかけるようになったアホか.
偏執狂の人が気持ちよく効率よく使うためのガイドラインどこかにないですか! - 生協でオライリー 15% off とかやっていたのでプログラミング Perl と JavaScript 第 5 版と UNIX システム管理 第 3 版あたりを揃えた.後悔はしていないがこういう本は会社やら研究室やらの経費で揃えてもらうに限ると思う
- 逃げ続けてきた C++ にまじめに取り組みつつある.逃げてる間に色々な言語をかじったおかげで,複数の言語の集合体として認識すれば理解しやすいという説明でしっくり来たりしてまあ今度こそなんとかなれと思っている
- 地球を学んでいるけれど経度と緯度どちらがどちらかわからず失笑を買う常識のない東大生そのものとなる
- iPhone がまったく有効活用されていないのでなんとかしたいと思いつつ手に取るとフリック入力タイピングを始めるばかりで何も進まない
- ほとんどの口座が空なので(使い分けを意図して)口座が複数ある意味がまったくない
- クロノクロスをやっている*2
- 近所のスーパーのおもちゃ屋のカードダスのレアカードが定員により抜かれている疑惑が濃厚で萎える
- アクセス解析を見て wotaku >> gohan の構図が依然健在であることを直視し萎える
- こういう一行でまとめられる内容は Twitter でやればいいとわかりつつも post する気にならない
ゲーム書いたり文章書いたりしたい.クリエイティビティ(笑)とかにすがらないと生きていけない状況ではある.
TWOR 解析 (2)
前回の続き.
http://dvorak.jp/archive/twor_subekey_sample.zip (9.5 MiB)
今回は,前回得た上記の一次元のサンプリングデータから何がわかるか*1調べてみよう,というようなことをやってみる.
いきなりものものしいアルゴリズムで始めるのもなんなので,手始めに各 1 文字の出現頻度を調べてみる.「特に頻出の文字」 「頻度が少ない文字」 などが存在するかしないかが調べられることになる.
twor1.py とかこういうのを書いて実行:
: 1200046
! : 199954
" : 199460
# : 200069
$ : 199927
% : 199931
& : 199930
' : 200294
( : 199659
) : 200283
* : 199927
+ : 199899
, : 200310
- : 199874
. : 199737
/ : 200209
0 : 199993
1 : 199899
2 : 200050
3 : 199829
4 : 200182
5 : 200006
6 : 200281
7 : 199667
8 : 200237
9 : 199911
: : 199861
; : 199832
< : 200267
= : 199679
> : 200304
? : 200360
@ : 199668
A : 199954
B : 200003
C : 199883
D : 200087
E : 199996
F : 199927
G : 200400
H : 200056
I : 200023
J : 200288
K : 200199
L : 199780
M : 200053
N : 200065
O : 199758
P : 200170
Q : 200037
R : 200035
S : 199964
T : 200514
U : 199946
V : 200023
W : 200192
X : 199963
Y : 199992
Z : 200273
[ : 200189
¥ : 200251
] : 199424
^ : 200156
_ : 199728
` : 199701
a : 199627
b : 200106
c : 199833
d : 199730
e : 200364
f : 200088
g : 199896
h : 200362
i : 199858
j : 199859
k : 200213
l : 199734
m : 199618
n : 200157
o : 199661
p : 199895
q : 200209
r : 199978
s : 200187
t : 199971
u : 199870
v : 200162
w : 200104
x : 199982
y : 200081
z : 199733
{ : 200160
| : 199946
} : 199874
~ : 200177
直感的に以下のふたつのことが推測できる*2.
- ほとんどの文字の出現頻度は同じ
- スペースの出現頻度は,他の文字の 6 倍
文字単位で見るとスペース除けば全て同じ頻度っていうのは,意外性がないというか,完全ランダムならそうだろうし常識的にそうだろうなっていう気がしますが,もうちょっと後の考察を踏まえると再び意味を持つかなと思うので,一応押さえておきたいポイント.
スペースの頻度が他の文字の 6 倍(きれいな倍数)というのは素直に面白い結果. これだけ見ても,出題文字列は単なるランダムではなくある程度考えられたロジックに基づくものなんじゃないかなぁという香りはしてくる.
今度は文字単位ではなくて, 隣り合った 2 文字をセットにして,2 文字セットの出現頻度を見てみよう*3. たとえば 「ab」 と 「ac」 では頻度が異なるだろうか? とかいう話ね.
先ほどのスクリプトを手直しして,n 文字セットでカウントできるようにする(twor2.py). 出力を使いやすいように,区切り文字はタブ文字に変えた.
n = 2 とした結果の抜粋 (全体は若干サイズあるのでリンク):
aa 2389
ab 2990
ac 663
ad 3432
ae 844
af 2257
ag 3465
ah 663
ai 4425
aj 1388
ak 2179
al 4743
am 389
an 5731
ao 2296
ap 2034
aq 6466
ar 429
as 6337
at 3326
au 2318
av 7572
aw 811
ax 6494
ay 4588
az 2299
a{ 209
a| 51
a} 183
a~ 27
ということで,2 文字にしてめでたく偏った. 先に文字単位の頻度は等しいことを確認しているので,「av」は 7572 回あって,「a~」は 27 回しかないという 100 倍オーバーの差は,有意とかそういうレベルではない*4明々白々たる偏りである.
この時点で
- 一文字単位で都度ランダムに取ってきた文字を並べているわけではない
- 頻出の文字列パターンがどうやら存在する
ことが言える.第一目標は達成した*5.
次に気になるのは当然パターンそのものがどうなっているのか.
といってもいきなりその詳細は調べようがないので,各文字列長 n についてもっとも頻度が高い一団を抽出し,そこから法則が推測できないかとやってみる.
すなわち頻度を調べる文字列長を n = 3, 4, 5, 6 と大きくしていく.ただ,さっきまで使ってた馬鹿アルゴリズムでカウントするのは効率的にアレなので,ここらでインデクスを作っておくような賢いアルゴリズムを使うことにする.
自分で実装は面倒なので SUFARY を使った. 先に mkary でインデクスを作っておけば,
sang -n 6 -t 1000 out2.txt
とすることで長さ 6 文字の部分文字列のうち 1000 回以上出現したものがそれなりに高速に出力される,とかそんな感じ(-t 指定しなければ全部出る).
これを利用して調査したところ,
- 3 文字では閾値 3000 くらいで最頻出の一団が取り出せる*6 (twor3_out.txt)
- 4 文字では 2000 くらい (twor4_out.txt)
- 5 文字では 1300 くらい (twor5_out.txt)
- 6 文字では 1000 くらい (twor6_out.txt)
- 7 文字では 500 くらい (twor7_out.txt)
となった.
これはまた色々なヒントが隠された結果に思える.
まず,6 文字とかいう割と長い設定でも, 10 万回に 1000 回以上出現しているパターンが 100 オーバー見つかったということ.これは練習したりする上で実用に耐えるレベルのパターンだ.
そして,n 文字から n+1 文字へと一文字増える毎に約 2/3 とかそれくらいに最頻出の一団の頻度が減っているわけだけど,n+1 文字目には均等に文字が出てくると仮定した場合にはこれは 1/95 になるはず*7なので, 2/3 という減り方は超ゆるやか.ちなみに,ここには載せなかったが n = 8 とか n = 9 でもいきなり 1/95 になることはなかった.それ以上になるとサンプル数が十分でなく,S/N 比が小さくなってくるので参考にならないが.
感覚的には明らかだけど一応ついでに書くと,n+1 文字のパターンは n 文字のパターンに新たな 1 文字を付け加えたものになっている.ただし,n 文字のパターン全てに,対応する n+1 文字のパターンが存在するわけではない.
このことから,以下のことが推測できる:
- 長さの決まったパターンの基本単位のようなものは無い
(少なくとも長さ 9 以下ではありえない) - パターンの元(ソース文字列)があるとすればそれは十分に長く,その部分が実際の頻出パターンとして表れている
さらにこれは根拠のない話だけど,一文字ごとに約 1/3 の確率でソース文字列からの転写の継続をやめ,別のパターン(ソースの別の位置?)に飛ぶというような処理を考えれば,上記のように最頻出のパターンの出現数が減ることに説明がつくかも.
この辺りになるとまだ俺もあんまり確信していることは多くなくて*8,推測とかばかりになってきて申し訳ないが,ここで特筆に値するポイントがある.
twor6_out.txt を見て,眺めてみて何か感じないだろうか.
わかりやすそうなところを貼ると
1091 AQt%Aa 1058 BRu&Bb 1107 CSv'Cc 1023 DTw(Dd 1069 EUx)Ee 1088 FVy*Ff 1029 GWz+Gg 1091 HX0,Hh 1011 IY1-Ii
もう分かったと思うのでもったいぶらずにいけば,文字列の各文字をアルファベット順に「ずらす」*9と次のパターンの文字列になっている.
- 文字を「ずらす」操作がなんらかの法則に従って行われている
ことが推測される.そして,そうして「ずらす」ことによって作れるパターン群をまとめて(オリジナルパターンとでも呼ぶか) 1 つとして数えると,
- 6 文字の最頻出オリジナルパターンは 2 種類
- 5 文字では 3 種類
- 4 文字でも 3 種類
- 3 文字では 4-5 種類
等と,その数が激減する.このことを踏まえて,「ずらして作れる文字列」を同一視して改めて初めから調べてみると何かわかるかもしれない*10.
要素の列挙になっていて本質的な解析が全然進んでいないという話はあって,これらの情報を統合できるのかどうか甚だ怪しいんですが,まあヒントは少ないより多い方がいいに決まっている.
さらにもう一点(One more thing…).
今まで部分文字列に注目してきたけど,ちょっと視点を変えて,out2.txt をそのままソートしてみたらどうなるだろうか,とやってみた.
(twor_subekey_sample_sorted.zip)
適当に切り出してきた一部分はこんな感じ:
]a0{=f&.Pjp7Ko4[Ft*( yt 38;d7.DY#{_S(#NN#)_n(¥Ni-A c<-XXr`HSwEg10;Rv5~qq!Ial&XL++ k&/MU9>bt4]Cey|Q3] fn=Au#.FVx)Kk-#Pz7 TZ[ Yo'`d3~@i);Tns!Nr7^Iw-+C1w 6">g";Gb&~|W+&QQ:?A0? Zu]MKp|^jj3BUe8Qt$$|d8)G2
]a0{=f&.PjpAKo4[Ft*J y] j38;d7.DY#{_S(#NN-< w< Wr@JHm_@gg~ Q' Nq!Cca5HDzz*Rku/g9>>Ht/]W)*|l3$ 0nAAa# Fpx{K4-[Oe6<Tt@OY8'Jd.~Dix: m#D~r<^cw1MX1' R6@WM hp?CHZ/GWy*Llj$QL88Vas ap({e42¥je<<ot"Ot8_Jx.,E2x
]a0{=f&.Pkp7Ko4[Ft*( yt 38;d7.DY#{_T(#NN-< w< Wr@JHm_@gg0 Qb5Nq!!_a5&Dzz*Rku/gU>>Ht/]We*|l3$ Ln8Aa# Fpx{K4-[FVy*Ff)8Lw4 LR/^Rh!@Rr?+X8'JXdv dt- d31[jf=>jp7Lq5]Hp&$ wr}~v1*X2) T1<:J83EFT$[ Z?KfZz{Vf&Q
]a0{=f&.PkpAKo4[Ft*J y] j38;d7.DY#{_T(#NN-< w< Wr@JHm_@gg~ Q' Nq!Dca5HDzz*Rku/g9>>Ht/]W)*|l3$ 0nAAa# Fpx{K4-[Pe6<Tt@OY8'J<Zr1[ bw_O1r~dl; D!,DSv&Ih+!Mw4 RXp}Wm%]b0y>gb./kq8Lp5¥Gu+(Azu 39<e8/EZ$|`T)$O
]a0{=f&.Qkp7Ko4[Ft*( yt 38;d8.DY#{_T(#NN-< w< Wr@JHm_@gg0 Qb5Nq!!_a5&Dzz+Sku/gU>>Ht/]We*|l3$ Ln8Aa# Fpx{K4-[Pe6<Tt@-Y8'Jdi~Eix; n#D~r<^c/?Az> Zt]LJo|]ij BT)AQs$Ffc7KF12OUm`Tj"[Yyw;dY,,~n5' 2?DDc& Hr}
]a0{=f&.Qkp7Ko4[Ft*( yt 38;d8.DY#{_T(#NN-< x< Xr@JHm_[gg0 Rb5Nq!!_a5&Dz0+Sku/hU>>Ht/]We*|l3$ Ln8Aa# Fpx{K4-[$=Id( iY-KS7<[r2[ cw`O1r~dl; EW,DSv&Ihf!MI45RXp}Wm%]b1y>gb./kq8Lp5¥Gu+(Azu P9<{U/EZYy`Td$O
]a0{=f&.QkpAKo4[Ft*J y] j38;d7.DY#{_T(#NN-< w< Wr@JHm_@gg~ Q' Nq!Dca5HDzz*Sku/g9>>Ht/]W)*|l3$ 0nAAa# Fpx{K4-[Pe6<Tt@OY8'Jd.~Eix; m#D~r<^cw1MX1' R6@WM! Gv&,|q+_Qk:CAf?:Za]}K9|Hj4 WTyB tt39<e8/EZ$|`T)$O
]a0{=f&.QkpAKo4[Ft*J y] j38;d8.DY#{_T(#NN-< x< Xr@JHm_[gg~ R' Nq!Dca5HDz0+Sku/h9>>Ht/]W)*|l3$ 0nBAa# Fpx{K4-[Pe6<Tt[OY8'Jd.~Eix; n#D~r<^cw2MX1' R6@WM! Gv&,|q+_Qk:DAf?:Za]}K9|Hj4 WTyB ttGLd=Ka2.Ppn(UP#
]a0{>f&.Qkp7Kp4[Ft*(Ayt 38;e8.EY${_T($NNYdw ds,~i75_mi?@Dx&:H#}MMm/HR1BCW'] b@)gf5 ak+=Vp^FPu9`Ky/Pt3| o8GYj$=Jd) iY-KS7<¥r2[Acw`O1r dl; EW,DTv'Iif!NI45RXp}Wm%^b1z>gb//lq8Lp5¥Gu+)Azu P9<{U/EZZy`Ud$O
]a0{>f&.Qkp7Lp4¥Fu*(Ayu 38<e8.EY${_T($NO-= x< Xr[KHm`[gh1 Rb6Oq"!_a5&D00+Sku:hU?>Hu/]We*|l3% Lo8Ba$ Fpx{K4-¥Pe7<Ut[-Z8'Jdj~Eiy; n$D~s=^cw2+X1( S6[>M"6HH',|q+_Ql:DBf?:aa^}K9}Hj4 WUzB tt$Ldo)a2..Bn)=P#
]a0{>f&.Qkp7Lp4¥Fu*(Ayu 38<e8.EY${_T($NO-= x< Xr[KHm`[gh1 Rb6Oq"!_a5&D00+Sku:hU?>Hu/]We*|l3% Lo8Ba$ Fpx{K4-¥Pe7<Ut[-Z8'Jdj~Eiy; n$D~s=^cw2+X1( S6[>M"6HH',|q+_Ql:DBf?:aa^}K9}Hj4 WUzB tt$Ldo)a2..Bn)e$O
こんな大きなヒントを今まで見逃していたとは. これは決して OCR で読み込むときに同じ回を二度記録してしまったとかいうものではない*11.また文字列長は 200 だから,たった 10 万回の試行でたまたま同じようなものが出ましたとかいう偶然でもありえない.すなわち,全体としてこれだけ似ているワードが出題されることがあるのだ.
何より注目するべきは,途中はもちろん最後の方に至るまで(数パターンはあるけども)類似性が見られること.ここから,文字列を生成している途中に乱数に応じてまったく違うパターンに遷移して戻ってこないということはあまりなさそうで,初期値がまずあって,その初期値が何らかの形で後々にも再利用されるようなロジックであることが推測される.
これまでのヒントと合わせてまた根拠無く考えれば,長大なソース文字列のどの地点から読み始めるかを乱数で決定し(初期値),順次そこから読んで出題文字列として採用していくが,その都度ある確率で文字をずらしたり,別の場所から x 文字読み出して代用するような処理が挟まることがある……というような処理を書けばこのような結果が得られる気がする.十分条件のひとつに過ぎないけど.
まあとにかく
- 出題文字列の生成においては,初期値依存性がとても高い
ことは確か.
というわけで,調べたり無いところもあるが,基本的性質いくつかが示され,頻出パターンといってもいいものの存在が確信でき,さらに,役立ちそうなヒントがたくさん見つかった. まだこれらをつなぎあわせるには至っていないが,何歩かは進めた気がする.
# それにしても,今回出てきたことのほとんど全てを経験的に見抜いていたとりのさんがすごすぎる
次回予告
TWOR を取り巻くオカルトじみた噂. 「時間帯によってワードの傾向が変わる」.
多くのタイパーがそのことを示唆し,表舞台を去っていった.
時を刻まない時計,二次元サンプリングデータは,その詳細を解き明かすことができるのか.
次回 「静止した時の中で」
この次も,サービスしちゃうわよ!
- わざわざこのように断る理由は,エントリ末尾次回予告にあるように時間を考慮にいれる必要性を感じるから. [↩]
- 暇なら標本分散計算するなどして検証するべき. [↩]
- 要するに N-gram 分解の頻度チェックをやっている. [↩]
- 本当は検定ry [↩]
- なんも証明してないけど. [↩]
- 4000 とか 5000 とかある子は,スペースを含んでいる.スペースは先に調べたとおり頻度が 6 倍であるのでその影響と考えられる.一旦無視. [↩]
- すべキーの文字種は 95. [↩]
- 試行錯誤しながらエントリ書いてる段階だ. [↩]
- ちゃんと言えば ascii code を +1 する. [↩]
- まだやってない.方法としてはある文字と次の文字の文字コードの差を取ったデータを解析すればいいと思う.興味湧いた方はチャレンジして情報公開してくれると俺が楽できて助かりますので遠慮なくどうぞ. [↩]
- 元々のサンプルデータでは隣り合ってないし. [↩]
サイト内検索
ログ
最近のコメント
携帯版

PC と共通の URL で OK.