原則匿名で公開・個人情報は送られません。必要に応じ御署名/非公開希望をお書き添え下さい。
_ 掲示板:YaPW 旧掲示板 SMIL Boston日本語訳(頓座)
仕事はとりあえず一段落。すぐに次の段落が始まりそうな勢いなのがなんともあれですが、鬼の居ぬ間のなんとやら、ということでへろへろと思考。
先日考えていたmsearchの改善案、もうちょっとマシなアイデアを思いつきました。msearchの漢字1文字検索速度問題というのを洗い出してみましょう。
要するにガンになっているのは、「そこまでがEUCのパターンに適合してるか調べてる」部分。ここが馬鹿正直に"[EUC文字列パターン][検索文字]"という形式になっているわけで、一気にまとめて調べようとしてるからおかげでバッチリ遅くなるように思います。
ちうことで、パターンマッチ一発で調べるのではなく、とりあえずマッチさせてから、別のなんらかの方法で「果たして上位バイトからにマッチしたものか」を判定するようにしたほうが良いかと思われます。
ちうことで考えたアイデアあれこれ:
とはいえ、どれもこれも実際に動かしたわけではないのでどれがよいかはちっともわかりません。ある程度理屈でもって洗ってから、試しにやってみるっちうのが正しいのでしょうが、他人のアドホックに書いたプログラムはようわからんです(--; そんなわけで実験はしばらくおあずけの予定。
後々のことあんまり考えなくていいんなら、自前の独自コードとかに直すってアプローチもありかもしれません。そうすると、検索の都合を優先してコードのマッピング考えられるし。
本日代休。まだあれこれ修正もあるような感じだけど、ともかく代休。でないと私が(主に精神的に)保たないので代休。もー誰がなんと言おうとバッチリ休みますですよ。自転車修理に出すとか部屋掃除するとかモノ書きもしたいしつーかなによりだらだらしたい。断固として! せずにおれるか! ってなもんで。
サッカー日本代表、対セネガル戦。
先発の布陣を見ると、相変わらずの「これでどうやって攻めるっちゅうねん」な有り様。藤本も奥もいい選手だが、かくもサイドアタックの意識のないチームの中で、中央突破を担えるかというと、厳しいのではないか。しかもFWが高原と鈴木。高原は比較的万能に近いが、鈴木は周囲の選手の崩しが効いている中でこそ活きてくる選手だ。結局、変幻自在に攻撃の起点を散らせるパサーが不在では、まともな攻撃が始められようもない。
後半頭の選手交替で、これはいくらか打破される。中田->服部、藤本→伊東、高原→柳沢。1対1の守備に強い服部、バランサーの伊東、スペースメーカーの柳沢――柳沢が動き回ってスペースを産み、そこに中盤が飛び出していきたい、という狙いであろう。事実、稲本を始め中盤の位置が全体的に高くなる。
ところが後半半ばを過ぎたところで、稲本OUT、福西IN。明らかに稲本をベースに展開していたゲームがご破算であろうに。まったく疑問の残る采配。
その数分後、奥OUT、廣山IN。
が。松田がかなりいらんファールをもらっていい位置でFK。ラフにやれるのが魅力の選手だが、不要なラフさは身を滅ぼす。見事に失点。
こうなると、日本としては点を奪い返さねばならない。ここで光ったのが廣山。期待通りのシンプルだが強力なサイドアタック。今の代表に足りないものの具現のようだ。ちうか、国内でも市川とか呼べばいいのだ。
が、結局攻め切ることはできなかった逆に終了直前にカウンターをもらって2点目。で、試合終了。
_しかしなんというか。中田(英)、小野、中村、名波、森島、と中盤の主軸が軒並不在という事情はわかる。わかるが、それならそれで別のメソッドで攻めると普通は考えないか? 結局トルシエは(比較的代役のいそうな)「森島の代わり」「中村(or名波)の代わり」としてしか藤本・奥をみていなかったのではないのか? 守備ならそれでもよかろうが、攻撃とは結局選手の型をどれだけ引き出すかであろう。型にはまらず、型を出すからこそ、前述の主軸たちは主軸たりえているのだ(*1)。やはりトルシエには、いささかの柔軟さが足りないように思う。
(*1)中村は、型にとらわれている部分があるが。
もちろんその枠組が、時系列の束縛から解放されたかに見える系を演じ、あるいはそれ自身を見せることを目的にしてもよいとは思います。ただし、それがいかに作用するかの理解なければそもそも作れもしないでしょうが。
まあ、あれに関する泡沫は、これからもひょっこりと続けるとは思いますので。
_あるいはついでに。銀色は、各話の分割がイマイチ、とは思います。もちろん(形式としては)あれでも十分なんですが、もうちょっと仕掛けられるよな、という部分は残ってます(仕掛けの部分は4章に集中してますか)。ただ、世の中にはあのような緩やかな連係がもたらすものあるってことで。
_余計なことをC.Fさんから聞いていたせいもあって、巷で必須と噂されてるSense Off知識もないのに序盤から笑いっぱなしでした。主にハンバーグの扱いとかで。
プレイ中は、予算配分がうまいな、という印象。特に声とか――声を出させるための台詞回しに神経向けてるあたりも含めて。テキストにきちんと足元を据えた上で、的確に必要な部品を調達しているという感じ。トータルとして、やたらめったら監督の色。
_で、感想。えげつない。
予算配分とか話の組みたてとか上手さをいろいろ感じるのだけど、それにも増してえげつない。ともかくひたすらえげつない。やってることは最低だが、やった奴がいないからネタとして許されるというか。そのえげつなさ自体がネタ。
あれこれテツガクテキだったり衒学趣味だったりで、多義的に考えられたりもするのですが、そのへんは要するにめくらましで基本ラインは「客を客とも思わない」にあるのかなぁ、とか初元長作品プレイの身としては思ってみたり。もっとも、そのめくらましはきちんといいものを引っ張ってきたりしてるから、確かにC.Fさんとかにとってはたまらない面白さであろう、と大納得。
_AIRのパロディというC.Fさんの言にはわりと賛成。少なくともギャルゲー/エロゲーのパロディであることは確実。AIRとの対比で言うなら、話の持って行きかた・尺の取り方のあたりにはむしろ本歌を馬鹿にしている雰囲気もあり。
_ところでところでそこからつないで。ツッコミってよか、自分の語りの元ネタとして。
定められたルールの組合せこそが新たな(暗黙の)ルールをはらんでいて、それに気付くことによってゲームは突如異なる様相を呈することがある――というのは、この場合には場違いな意見ですが。
ともかく、そういう意味では、定められたシナリオを追わせるようなゲームは、(狭義の)ゲームであるとは言い難い。けれどもそれをゲームと呼ぶ理由がどこかにある。それは慣習だったり見かけの形式だったりあるいは利用だったり。
たとえば私や雪駄さんがFinal Fantasyよりよほどゲーム的要素の少ないAIRを、断固としてゲームと主張するのは「利用」を見出したからだ。そして、意図的に利用したからこそ、麻枝氏はいつぞやのコンプティークのコラムで(おそらくガンパレと思われる)とあるゲームに悔しがっていたのだろう。
対して、KtFはそのような悔しみとは無縁に思える。確かにゲームと言う形式を利用してはいるが、ゲームでなければ成立しないものではない。その点では、KtFはAIRのパロディとして不満だ。
だがしかし、そのようなゲームからの自由さなしには、KtFは産まれなかったろう。ゲームへの愛がないからこそ、ゲームを解体し利用し構造の一部とできているように思う。あるいはそれゆえに、あのえげつなさも表現しうるのだろう。
KtFに、ゲームという形式へのこだわりがあることは確かでしょう。ただ、そのこだわりは、盲目的な感情から来るものではなく、もっと理性的な、分析・解析・再構成といった作業の結果として発生するものだと思うのです。
愛情と関心は並立するものであって、いわばKtFからはゲームへの関心は感じるけれど、愛情は感じない。(商品としての)ゲームの枠内で、(作品としての)ゲームを作るのに、(機能としての)ゲームが有効だとの判断に基づいて、ゲームが用いられた。そういう冷静さを感じます。
「ゲームが好きだからゲームが作りたい」という愛情ではなく、「ゲームを使えばいろいろできそうだから、試してみる」という好奇心。その先に見えるものへの愛情は感じるものの、ゲームそのものは踏み台・実験対象・テストベッドぐらいにしか思っていない。必要だったらゲームなんぞには平気で唾を吐きつける。そんな態度を私はKtFから感じました。某卒業文集方面での流行語を持ってくるなら「ゲームが好き過ぎた罰からは無縁」ですか。
_ところで不意に思ったことには、Final Fantasyとは映画が好きな罰とゲームが好きな罰の狭間で揺れているシリーズなのではないかと言うこと。「好き過ぎた」でないのがポイント。
歪んだ愛情ってのならその通りですが、とにかくその歪みのおかげで、ゲームが好き過ぎた罰からは逃れているな、と思うです。
他の元長作品はとりあえず積みゲー目録へ。当座の敵は再燃したサカつく熱と、故障部分の部品注文をしたBD-1、ならびに久々にやる気が戻ってきた小説書きだと思われ。
_ついでにAIRとKtFの構造比較話に茶々入れ。
AIRの構造は、時系列で見たときと話のつながりで見たときで、見え方が違うと思います。ゆえに私は「AIRはクロニクル的な構成を持っている」と主張するのですけど。具体的には、DREAM序盤の(大した意味もない)分岐部分を無視すれば、緩やかな連関を持った複数の物語がそれぞれに主題を展開しながら副奏だけは共有する、という形式に見えるので。
で、KtFも副奏は共有されている、どころか各主題の重ね合わせが最後の別の主題につながっている、ゆえにより洗練された構造なんではないか、とか思ったり。
仕事は基本的に待ち状態。やっておくと嬉しいちょこちょことした作業はあるけど、先行き見えない現状でやっても、投機的な作業になってしまう。
ってなわけで、こういうときには頭錆びつかせないようにプログラミングに勤しみましょ、ってなもんでお勉強と称して半ば趣味のあれこれ。自作検索ライブラリ君をあれこれ改造。主に前々から考えてたシグネチャの2重化を試みる。一応は、目論見通りに絞り込み結果の有効率が向上。PHP4のマニュアルを対象にテスト。適合率は60 - 80%ってところ。きちんと計測してないけど、絞り込み結果数が30%程度減っているか。
ただし、方式的に最後の(確認のための)ファイルオープン・リード・クローズがかなりの負担になっている。
_やっぱりこれ以上どうにかするには、実ファイルに確認しに行くのをやめねばならない。
ということで思案。
やってみたいのは、遥か昔に考えた、文書から辞書を逆生成っちうアイデア。日本語部分についてn-Gramを取って、単一文書内での重複があったらそれを「単語」とみなす。n = 4 - 6 あたりから探索を初めてnを次第に減らしていくか、それともn = 2から増やしていくかは微妙なあたり。そうして作った「単語一覧」に対し、クエリ文字列の2-gramによるAND検索を行なう。全文書情報を持つmsearchより、インデックスは小さくなるが元文書の該当部表示はできなくなる。そこまでしてインデックスを絞る価値があるかは謎だが、純粋に実験として。
ようやっと体が空いた先週の末に頼んだBD-1の右クランクとチェーンガイドが届く。ということで、本日はようやく修理。
クランクにチェーンホイールを取り付けて、チェーンをかけつつ本体に据え付け。それからペダルを入れようとしたところ、なかなか上手く入らない。しばらく悪戦苦闘の後に、ふと思い立って左右のペダルを入れかえてみる。――あっさり入る。
馬鹿にされてるような気分になりながら、ディレイラーのところにチェーンガイドを取り付け。こっちはなくても問題なく走れるのだけど、折り畳んだ時にチェーンが邪魔になるので。
タイヤに空気入れて、ブレーキシューの位置調整して、一応メンテ終了。クランク壊れたのが8/6だから、二カ月ぶりに走れるようになったわけですか。
で、軽く試乗。片方の――いつぞや右クランクを粉砕し、今は左についてる方の――ペダルが、ちょっと振れているような感覚。確かめると、ペダルはきっちり入っているのだが、わずかに軸が傾いてる。急遽湧き上がるペダル悪者疑惑。
はてさて、悪いのはクランクなのかペダルなのか、それとも私の腕なのか。ともかく今日は暗くなったのでここまで。
ということで、BD-1に乗ってお出かけ。同居人に「東京ゲームショーとか東京ゲームショーとか」と囁かれたのもあって、東へ東へ。
江戸川水門 -> 行徳橋 -> 原木IC -> 千葉街道 ときて、船橋競馬場のあたりから357号ヘとスライド。走りやすい道を調子良く走って幕張へ。
幕張は、走りやすいがわかりにくかってです。(自転車にとっては)トラップ多すぎ。
帰りは357の更に海側の道を走って、船橋競馬場から14号に。こんどは14号で江戸川を渡り、渡ったところで川沿いの道へ。あとはご近所のてけとーに走って帰還。
ご飯食べて気持ち良く寝てたら、ほぼ日が変わってました。異常に乾いてた喉を潤し更なる補食を行なって、また睡眠の予定。
補食したら体が活性化されたのか、今まで寝てたぶんで眠れなくなる。
仕方がないので情報処理的実験開始。こないだ考えた方式目指して、日本語のテキストから字種(漢字、ひらがな、カタカナ)別の2-Gramを取得するようなフィルタをPerlでふにふにと。途中「。」や「、」などの記号にやられつつも強引なパターンマッチングで問題を回避し、なんとかそれっぽいものを得られるように。
生成した2-Gramは、以下のようなコードにて、第1文字から第2文字が引けるようにして格納。
$word{$_} ||= []; push(@{$word{$prev}},$_);
あとはここから「同じ2-Gramリストが生成される最短の文字列」を生成すればよろしい。できれば元文書の出現順を維持したほうが望ましいような気もするが、この際気にしない。
_などと書いてきてから、このへんはハフマン符合化やら圧縮アルゴリズムやらと技術を共有できる話かもと気付いてみた。余裕があったら調べるべきかもしれない。