Repo

kjana00@gmail.com

older <-

2010-12-10 00:35:07

今朝はくもり。北の方は晴れてるっぽいのに。朝ごはんはパンとサラダとソーセージ。いつも買ってる卵が無かったんだもの。毛布を出したら布団が気持ち良過ぎて困る。

ad-hoc なのにも限度が無かろうか、ということでもうちょっとましな方法を実装してみて、かえって今一つな結果になって残念というところから開始。実は "\" 演算子が中で方程式の数値解を求めてるっていうのがわかって、そっちに任せた方がいいんじゃないかっていう結論。で、動き過ぎる補正ベクタを要素毎に制限をかけるんじゃなくて、最大要素で正規化するようにしてやったらどうかというのを試してみたり。結論。下手の考え休むに似たり。一部で確かに収束が早くなる場合もあるんだけど、適当に要素毎に叩き切ってたら割と早く収束してた場合にかえって収束が悪くなる傾向がある。動き過ぎるような補正ベクタが出て来る点の近傍ではやっぱり動き過ぎるベクタが出て来るっていう話っぽい。「正しい」方向に動くことで、様相を大きく変えることが出来なくなっちゃう、と。

そんなことをしてるところにこの話を持って来た事業部長がやってきて、それで今後の方針をどうしようかという話をする。来月デモに使いたい、その後常設展示に持って行くから今の環境から離れたスタンドアローン動作が出来る必要がある、なんていう話。ええと、何かそんなこと出来たような気もするけど、やろうとすると結構面倒臭げな……とりあえずこっちが思ってたのは今のコードをシミュレーション環境で動かすようにすることだったんでそう主張してみる。だってスタンドアローン動作させるためにどうこうって、期日までに調査と実験が終わるかどうか怪しいし。少なくとも今動くもので使えるものを作っておくのが堅実ですよ、という話。で、まあそうしましょうかということに。ほっとした……

前にちらっと試した時には今一つ上手くなかったんでどうだろうと思いつつ、テンプレートをコピーして中身を埋めてみる。いらないと思ってたコールバック関数は、テンプレートにある通りの処理をしておかないと通らなかった……まあコールバックは登録するものだから、登録しないようにしたら済む話ではあるはずだけど。でも変えなくていい部分はテンプレートのままにしておくのがとりあえず、安心?

ポートの数の設定って一度シミュレーションを動かさないと絵に反映されないのかとか、多分テンプレートでは入出力ポートの次元設定で一方ともう一方の次元を合わせるようにしてあるのが入力信号の次元を変えたらスカラーが出て来ればいい出力ポートの次元設定で困ってる原因ということで直してみたりとかごちゃごちゃやってたら何となく動いたっぽい感じ。もうちょっと手間がかかるかと思ってたんだけど。まあ、細部を詰める必要はあるか。

詰める以前にランプ入力を突っ込んだら警告を出しつつ計算に時間をかけてるところだの、ちゃんと収束しないで突拍子もない値を出力してるところだのがあったんで、中身の方をもうちょっと直さなきゃいけないなという話に。ちょっと試したところだと "\" 演算子の解説近くにあった pseudo inverse を使った計算にすると良さそうな感じ。少なくとも警告は出ないし。妙な値になるところは反復回数を増やしたら真っ当な値に収束した。ニュートンラフソン法で最大反復回数 1,000 回なんて本当ならいらないとは思うんだけど。ad-hoc な移動量制限を調整したら多分もっと早く収束する。でも、±1 でもとりあえず何とかなってるしね。最大 1,000 回なだけで、実際は 100 回をちょっと越えたぐらいで収束してるみたいだし。

とりあえず今日はこのぐらい、ということで帰る。晩ごはんは紆余曲折の結果たらのスープということに。オーブンで焼いたたらを、いつも野菜スープとか言ってるスープに投入するだけの簡単なお仕事。もうちょっと皮がかりっとするように焼いた方がいいなとか、骨が邪魔とかありつつも、なかなかおいしく出来上がった。それにしても今週は大根とにんじんばっかり食べてるような。後は玉ねぎとセロリ。

WWW 見たりゲームしたりまんが読んだり。20 階まで到達したし、そろそろオークの洞窟を訪ねようか。

older <-

goto

hint can be:

Tags

old

2007-05 -- 2006-12

ゲーム関係の古い記録

before 2005-12