独り言日記

独り言日記
20 世紀少年の 22 巻(2006/11/30)
楽しみにずっと待ってたので、発売日の本日、早速買ってきました。最終巻かと思ったのですが、
まだ最終じゃないんですね・・・。でも、(実写)映画化決定は素直にうれしいなぁ。これも楽し
みです。ヴァーチャル・アトラクションがどう再現されるか、、、2008 年だと 3DCG 技術も進歩す
るでしょうから、空気感まで再現できると面白そう(でも、三丁目の夕日ですでに哀愁があった
ので、今の技術でもできるのかな。ぜひ、街全体(ヴァーチャル・アトラクション)を CG で再現
してほしい(苦笑))。
さて、明日はいろんな技術者との顔合わせ&白熱バトルです (^_^;;。最近は仕事場にこもって開発
してたので、久しぶりに熱の入ったお話を聞けそうで楽しみにしてます。
ベイズの定理と推論(2006/11/29)
ベイジアンネットワークに関しては、以下に詳しく乗ってました。
「ベイジアンネットワーク実践編」 個人的に概要として分かりやすかったです
http://staff.aist.go.jp/y.motomura/bn2002/presen/motomura-tut.files/frame.htm
「確 率 ネ ッ ト ワ ー ク と 知 識 情 報 処 理 へ の 応 用」
http://staff.aist.go.jp/y.motomura/DS/DS.html
詳 し い け ど 難 し い・・・
その前に「ベイズとはなんぞや?」を理解しないとさっぱり、ということが判明したので「ベイ
ズの定理」と確率的な推定について調べました。
http://aoki2.si.gunma-u.ac.jp/lecture/Probability/Bayes.html
このページだけでどういうことか、というのは把握できたつもり。比較的簡単な理論だったので
一安心です。全体の確率の総和を分母に持ってきてる(シグマで累積している)んですね。メー
ルフィルタで使える、確率をフィードバックして学習させる方法もこれでなんとなくぼやっとで
すが見えてきた感じです。
それを有効に使ったのがどうやら「ベイジアンネットワーク」なんですが、ノードでの構成を構
築するのが苦労しそうだなぁ。まだまだ研究期間があるので探り探りですが、この「ベイズ / ベイ
ジアンネットワーク」ってえらい面白そうだ、というのが見えてきました。変なことに使うわけ
じゃなく、解析での推定で使おうと考えてます。ただ、ベイズの計算の中でシグマがあるという
ことは、情報量が膨大になった場合の最適化を行わないとものすごく重くなりそうですので、い
ずれにせよさらに発展させた論文を探すか推敲する必要が出てきそうです。
「君はベイジアン・ネットワークを知っているか?」
http://www.atmarkit.co.jp/fwin2k/opinion/yamazaki/yama_2002_09.html
Google でトップで引っかかったここも、分かりやすく概要と応用分野を解説しています。「ベイ
ズ統計は、高校の教科書にも出てくるぐらいで」って・・・・、私が高校のころはその単語すら
なかったんだけど・・・(^_^;;。でも、過去の歴史ではベイズ統計は異端視されていたようで、認
1
知されだしたのはここ最近、みたいな記事も多かったため、案外昔学生の人(私含む)のほうが
遅れている(というか無知)なのかもしれません。
しかし、確率って面白いですね。
予測をアルゴリズムする(2006/11/28)
過去の事象より未来を予測するアルゴリズム、みたいな夢の技術があったりして、たとえば株価
とか宝くじとか馬券とかの予測システムで使われていたりします(と思います)。データマイニ
ングもその1つでしょうか。それとは別に、虫食いで穴の空いた部分に何が入っていたのだろう
か、とか補間にも使えそうです。
PCA/KPCA も見方によっては予測に使えそうなのですが、今注目しているものに「ベイジアン
ネットワーク」があります。ベイズ理論での確率事象の連鎖をあらわすのがベイジアンネット
ワーク、、、らしい。これは、不確実性を扱うための計算モデルで、よく例として挙げられるのは
メールでスパムをはじくための判断で使われているそうです。学習するということで人工知能
ともいえますし、ニューラルネットとも近い位置にありそうです(検索すると、これらに近い位
置でヒットします)。
某所で使用するためのアルゴリズムとして白羽の矢を当てているのですが、もしかしたら(速度
が安定しているのなら)レンダラでも使えるかもしれませんね。今やっているのはオープンなプ
ロジェクトなので(というか公開しないといけないものなので)、もう少ししたらそちらにて技術
的な日記や経過などを書いていければと思っています。いましばらくお待ちくださいませ。
調査週間(2006/11/27)
次の仕事の前準備のため、いろいろ調査中。PCA/KPCA について調べる予定。これですが、特徴
抽出の手法のようです。これって CEDEC 2006 の PRT 講座にて初めて知った単語だったりしま
す。いろんなことに応用できそう。
ほか、今まで調べきれてなかったこと実験できてなかったことを今年中に(完全ではなくていい
ので)理解したいところ。余裕がなくて日々の作業で終わってしまうのでは、と半ば焦りがあり
ますので、出来る限り勉強と仕事は両立していきたいですねぇ(英語も・・・・)。
続・コンパイラ (OS) の違いによる挙動の違い(2006/11/24)
まるまる 1 週間は費やしたかもしれません、ようやく、Windows と IntelMac でのプログラム実行
時の挙動不審の原因がつかめました。
・浮動小数点演算のアンダーフロー・オーバーフローに注意(OS ごとに差がある)
・マクロ内の挙動に注意(OS ごとに差があることがある)
・マクロで OS ごとに切り替えを行っている場合の流れに注意
まとめるとこのような感じかな。いやはや、これは非常に追いかけるのに苦労しました。おかげ
で、プログラムの経験値がアップした気がします。
2
で、ずっと何をしているのかこの文章だけでは分からないので(汗)、また時が来たときにでも「こ
れやってます」と言えるようになればいいなぁ。いろいろかじっているのもあって、やるべきこ
とやりたいことの優先度を付けていかねば(仕事がもちろん第一優先ですが)。流体(メタボール
表現も含む)、物理 (PhysX/ODE)、レンダラ(アンビエントオクルージョンやりたい)、シャドウマッ
プ(リアルタイム分野)、Flash 関連、Web2.0 関連、サイトの Tips を書く、Shade 関連(特にプラ
グイン)、Maya 習得、Poser で遊ぶ、などなど。時間がたてばどんどんやりたいことが増えるので、
切捨ても必要ではありますね。
コンパイラ (OS) の違いによる挙動の違い(2006/11/24)
自分用メモ。Windows(.NET 2003)と IntelMac(gcc 4.0.1) にて差があると思われる部分として、マ
クロでの return 記述がありそうです。
void multAll() {
double d;
#define FOO(d1, d2) ¥
d = d1 * d2; ¥
if(d < 0.0) return 0; ¥
FOO(1.0, -2.0);
FOO(1.0, 2.0);
#undef FOO
}
// 本来ならここは実行されないはずだが
// OSX では実行されてしまう
というのがあるとします。FOO は関数内のマクロ定義。1回目の FOO 呼び出して、
「マクロ内で」
return しています。この挙動が、Win では関数 multiAll 自体を return するのに対して、OSX では
return されていない?
というか、このようなマクロの使い方自体あまり好ましくないと思われます<某ライブラリ。で
も、まだほかにも OS 依存の部分がありそう。 まだ先は長いか・・・。
アニソン(2006/11/23)
Wii が予約できるか秋葉でいろいろな店を回ってたのですが、予約完売・入荷予定未定、のオンパ
レードで結局あきらめました。というか DSLite もまだ品薄状態(ほんとか?)のところが多かっ
たです。大阪の知り合いには、「初期ロットは無理っす」と返答しました (^_^;;。
で、以前からほしかったアニメの CD などを買ってきました。武装錬金の OP
「真赤な誓い」と、PS2
の WILD ARMS の主題歌の「Justice to Believe」を購入(<これは YouTube の PV で知りました)。
武装錬金は毎週見てたりしますが、OP がアツいです。ずっとエンドレスで聴いてます(苦笑)。純
粋な視点で見たら最近の J-POP よりもアニメ主題歌のほうがはるかに良作が多い、と思うのは間
違ってるんだろうか・・・。オリコンを見ると、「Justice to Believe」は 4 位になってますね。評価
はされているようで。商業的な音楽流通よりも質で勝負してほしいな、と最近の J-POP をテレビ
で聴いたりして思ったりします。
後、GyaO でやっている「いろはにほへと」の OP もほしい、、、と思ったのですが、さすがに買い
まくりも金銭的に厳しくなるので抑えました。アニソンは、結構はまれる曲が多かったりしま
す。
3
合宿(2006/11/22)
私もチームを組ませていただいている某プロジェクト(私は代表者ではないです)がどうやらア
レに合格したようですので、12 月から本格的に仕込みに入ります。3DCG 関連とはまったく無関
係のものですが(苦笑)。また時が来たら(たぶん来月はじめには)、公に情報を公開していきま
す。
で、12 月に「合宿」というのが開催されるので楽しみにしています。それなりに理想を持った方々
が集まるので、自分自身のモチベーションアップと交流含めて勉強できればと思ってます。とい
うことで、来月からの計画を立てていかねば。参加者(代表者)の平均年齢が私の実年齢よりも
低い・・・・年をとったものだ・・・。
続・続・OS 依存の浮動小数点演算(2006/11/21)
再び羅列した小数点値を比較中。計算の端々にてログを出して、ひたすら原因箇所を上へ上へ
追っていってます。対象は Windows(Intel) と IntelMac(CoreDuo)なんですが、結構差があります
ね。1つ1つの計算はたいした差はないのですが積もり積もって大きな誤差が出るというか。
この部分は、集中している今のうちに解決したいところです。こいつがつかめるとプログラマー
レベルが1つアップする、はず・・・。
ただ、IntelMac はどうもオーバーフロー・アンダーフローしやすいように感じる、ということを除
くと、プログラム次第では安定性はあるしなによりも計算が速いです。実験してみて、ファイル
入出力が IntelMac の場合は抜きん出ているかな、と感じました。開発環境としては、IntelMac は
最高ですね。PowerPC でのコンパイルの遅さが嘘のようです (^_^;;。
Wii を探して(2006/11/18)
大阪の知り合いから「任天堂の Wii が手に入らないか」みたいな連絡が。たぶん、息子さんにプ
レゼントするんだろうなと(クリスマス時期ですし)。私はいずれはほしいけど初期出荷は別に
逃してもいいかな、というのがあったので特に調べてませんでした。
ただ現段階で、アマゾンでもあっという間に予約オーバーなんでさすがに予約でもきつい、と返
しておいたのですが・・・念のため、調べてました。ネット調査では初期出荷台数は 40 万台くら
い、というのが多いかな。
で、渋谷に散歩に行ってたときに連絡があったので、渋谷近辺の電気屋で Wii の予約などを見て
回りました。予約は受け付けてない、というのもありますね。
後、いまさら知ったのですがソフマップは 11/18(つまり本日)に予約開始だったみたいで。しまっ
た!!!秋葉にいけばよかったんだ・・・・。ということで、近々秋葉にも行って予約状況をみ
てこよう。ほとんどが予約締め切ってる(というか始まってるのかな?)みたいだけど・・・。さ
すがに 12/2 に店頭に並ぶのは寒さで堪えるので、予約が取れなければあきらめます (^_^;;。
続・OS 依存の浮動小数点演算(2006/11/18)
4
浮動小数点について、3 日くらいずっと一点集中してました。ようやく「ここ」というところがつ
かめたのですが、アンダーフローしてますねぇやはり(しかも OS 依存だ、gcc 4.0... う∼む)。も
のすごい小さな値を扱う場合に、double 型でも精度が足りないのを改めて認識。すべてが極小値
ならば「浮動」を生かして全体的に指数を高く持てばいいのですが、そうもいかない。極大と極
小が混ざった計算だと、いろいろと不都合が出るわけですので。この部分は鬼門ではあります
ね。
OS 依存の浮動小数点演算(2006/11/15)
今、コレにはまってます(苦笑)。浮動小数点の加減剰余算は、OS によって挙動が違ったりしま
す。FPU 使わずに自前で(ビット操作で)浮動小数点加算などを行うと Intelってすごいな、とい
うのがわかったり(単純な計算でも結果が最適化されているというか)。後、同じ OS でも AMD と
Intel ではやはり計算に違いが出てきます。
う∼ん、細かい計算を行う場合にこの部分は根が深いです。積もり積もって、とんでもないアン
ダーフロー、オーバーフローを引き起こすことがあるんだよなぁ。ちょっとデバッグまでに時間
がかかりそう・・・。トラップしかけて追いかけているのですが・・・。
休憩(2006/11/13)
私の場合は、プログラムは遊び、仕事もプログラム、なもんで仕事をしてさほど疲れることはな
いのですが、よく考えると普通にサラリーマン(これがプログラマでも)をしている人が休憩を
取らないのは体に毒だろうなぁと思ってしまいます。かつてサラリーマン時代は結構時間に追
われていた気持ちを持っていたのですが、さすがに脱サラしてからはそれもなくなりました。今
は適度に余裕を持って仕事をしているので、気持ち的に楽かもしれない・・・。ただし、いつも
危機感を持たないと先はないので不安定ではありますが (^_^;;。それを安定に持っていくのが小
さい範囲内(うちの会社とか)での私の役割かもしれません。ただ、休まないと効率は落ちるし
徹夜なんてもってのほか、やるべきじゃないとも思います(これは貫き通したい)。
で、「余裕を持って」というのは結局は自分自身の守備範囲でスケジュールや人間関係を設ける
(テリトリーを設ける)ってことと近いかもしれない、と最近思ったりします。ただ・・・・、普
通の会社だとそうはいかないし、結局それを変えるには上流工程に行くしかないのかなぁと。
まぁ、いろいろ思うわけです。まだまだまだまだ勉強不足な点はたくさんありますが・・・。
同じくらいの年の人と話すと、やっぱり「先をどうしようか?、このままでいいのかなぁ」って
話になっちゃいますね(汗)。さて、そろそろ来年の目標を立てていかねば。
ちなみに、運動はいいですよ。週2回ほどランニングに行ってるのですが(最近は寒いですけど
も)、疲れにくいコツがつかめたというか。呼吸法(腹式)と足の疲れの2つを克服すれば、結構
長距離を走るのも楽です。後者はまだ鍛える必要があるのですが、腹式呼吸はずいぶん慣れてき
ました。
ペルソナ 3(2006/11/12)
かなり前にクリアしたのですが BGM が気に入ってまして、サウンドトラックを買いに秋葉原に
5
ひさびさに行ってきました。関係ないですが、PS3 の発売日って 11/11 だったんですね。一週間先
かと勘違いしてました。で、祭りの後なんですが秋葉原でその気配すら感じられない (^_^;;。みご
とに全部売り切れで入荷の目処がたってない、の張り紙が貼ってありました。
といっても、お目当てのゲームがないので買う気はないのですが(苦笑)。ゲーム性を見ると、Wii
のほうに目が行ってしまいます。PS3 のゲームは、どうみてもムービー見ているようでゲーム性
が・・・。しかし、ニュースなどを見ていると転売屋が多かったそうですね。なんだかなーと思
います。
で、ペルソナ3なんですが、クリアに 120 時間はかかってたかな。RPG は時間の都合でやらない
つもりだったのですが、オープニングと戦闘 BGM でツボったので買いました。夏くらいの時期
かな、たしか。ボリュームがあるというのではなくてシステムとしてはちょっと冗長すぎる感じ
です(日にちでイベントが進むのですが、作業してるって部分が多い。ラストのほうは、無駄に
時間を進めるだけ)。しかし、音楽はかなりお気に入りが多かったりします。なにげにテレビの
ニュースの BGM でも使われてるのを見たりしますし。
パストレーシングの苦手なシーン(2006/11/11)
Shade9 にてパストレが強化されたらしい、ということで楽しみにしています。イラディアンス
キャッシュに対応した場合、特性的にノイズが高周波から低周波に近づきます。ですので、品質
も(場合によっては)上がり、またそれで速度が上がるんでしょうね。昔、これはレンダラを作っ
たときに実験してみたことがあります。たしかにきれいになりますが、フォトンライクなノイズ
が乗ることも多くなります。
で、ひさびさに Shade8.5 のパストレを触ってみました。パストレの苦手なシーンとして以下のよ
うなのがあります。
6
これは、全方向が密閉されていて窓が上と左側に2つ開いています。結構大きな窓ですよね。モ
デリングは以下な感じ。
で、現実にもしこのようなシーンがあったとすると「おや、おかしい」と気づくかと思います。光
が淡く入ってこないと違和感が・・・という部分です。パストレの理論が分かっていれば、この
ようなシーンは苦手だということは分かったりします。
パストレの場合は、視点からレイを飛ばしそれが物体にあたったら半球状にランダムに跳ね返り
ます(ロシアンルーレット)。で、特定の回数まで跳ね返って打ち切りです。これを 1 ピクセルに
複数回サンプリングさせることで精度を上げます。しかし、上記画像のように当たった物体がな
7
かなか窓から外に出なければどうでしょうか?これにより、窓があっても光が入ってこない(実
際は視点からのレイが外に出ないのが原因)、というヘンテコな状態が出来上がってしまいます。
フォトンマップ本にたしかこれの最適化みたいな方法が書いてあったような気がしますが、これ
が現実そっくりにできればいいなぁと思ったり。
というか、廃墟をモデリングしたいです(笑)。その場合は、上記が解決しないことには雰囲気が
出せない(<単に私にテクニックがないだけですが (^_^;;)。なんか惹かれるんですよねー。
Shade 9(2006/11/06)
12/08 発売。
http://shade.e-frontier.co.jp/9/new.html
で、そのレビュー記事(もうちょい詳しいキャプチャなどがあります)。
http://ascii24.com/news/i/soft/article/2006/11/06/665653-000.html
今や数少ない国産ソフトのうちの1つなので、がんばってもらいたいですね。しかし、Google の
「ニュース」検索って結構更新が早いのね。この ASCII のサイトが更新されて1時間でもうひっか
かりましたし。
コミュニティーについては、、、英語をなんとかしたいです<私自身 (^_^;;。海外って面白そうだ
なぁと思いつつ、英語がよくわからないのでなかなか敷居が高いというか・・・・。ただ、YouTube
のおかげで英語も再び覚えないと、という意識が芽生えてきました。ビデオで楽しみながらだ
と、なかなか勉強になりますもんね。今はじいさんがひたすら語っている YouTube のビデオを理
解したいもんです・・・。
PhysX のベンチ用 RealityMark(2006/11/06)
Reality Mark でハードウェアとソフトウェアのベンチを行えるのですが、なんかえらいもっさりし
てました(GeForce 6600GT だとさすがに厳しいか、グラフィックがすでについてこない・・・)。
物理演算ボードは「ELSA PHYNITE X100」を使用しての結果は以下のとおりでした。
タイプ
FPS
ハードウェア
7.02 fps
ソフトウェア
0.49 fps
ハードウェア化で 1421% 速度アップ(14.21 倍速)。で、
「速くなった」と数値では比較できそうで
すが、実際はグラフィックカードがへぼいので、体感的には差はない感じでした。
ただ、、、こちらで作った実験プログラム(純粋物理演算のみを行うもの)で非常に単純な球とボッ
クスを 4000 個出して衝突判定、ではソフトとハードでの差は 2 倍程度だったです。もしかした
ら、なにか間違った実装でもしているのかなぁ。いずれにせよ、物理演算で速度アップするより
8
も先に、グラフィックを速度アップすべし、が必要かなと。現状、まだまだ恩恵を受けることが
できるようなゲームなりアプリが一般的になるには時間をおかないといけないかも、というのが
率直な印象です。
私の場合は、PCI Express 対応マザーじゃない古いものですので(未だに AGP)そもそもマシンを
買い換えないといかんですねぇ。現マシンは Vista が動作するスペックかも怪しいので、PhysX
ボードうんぬん以前の話かもしれません(汗)。
PhysX 2.6 ドライバ(2006/11/06)
開発者向けサイトにて 11/1 バージョンがアップされてました(表のは 6.10.25 ですが、6.11.01 が
ありました)。
さらっとテストしてみましたが、ハードウェア化した部分の速度が改善されている点が見受けら
れました(正直、2.5.x では突き詰めて見ると、ソフトウェアとあまり差がない部分もありました。
今回の 2.6.x は明らかに差があります)。リリースノートによると、トライアングルメッシュ同士
の衝突が改善されています。
後、前からあったかもしれないですがソフトボディーのサンプルが追加されてます。クロスシ
ミュで実装しているようです。
9
ちぎれるクロスのサンプルもありました。
10
ただし、クロスはソフトウェアとハードウェアであまり速度差がありませんでした。ほとんどを
ソフトウェアの計算で行っているのでしょうか。
ハードをお持ちの方は
http://www.ageia.com/physx/rm.html
の「RealityMark」にてベンチマークができます。実際は、物理演算よりもグラフィック描画のほ
うが負荷がかかるでしょうから、正確なベンチを行う場合は自分で純粋物理演算でのみで計測し
たほうが正確でしょうけど。
吉野家の牛丼(2006/11/05)
吉野家のみそ汁が飲みたかったので行ってきたのですが、
「メニューは牛丼だけです」って言われ
て 11/1-11/5 の間は牛丼デーだったことを知りました。で、ひさびさに吉野家の牛丼を食べまし
11
た。ええ、アメリカ産牛でしょうね。別に気にはしてないのですが、正直吉野家の牛丼はデフォ
ルトでは薄い気がしてあまり好みではなかったりします(牛焼肉丼は好きなんですが)。ちなみ
に、数年前に食べた牛丼と味は同じでした。この味って、自宅で再現するのは難しいそうですね。
で、となりの人が「つゆだくで、卵つけて」と注文してました。玄人はやはりオプション追加す
るもんなのか・・・。今度試してみよう。
PhysX SDK 2.6.2(2006/11/05)
http://devsupport.ageia.com/
よりダウンロードできるようになってます(要ユーザ登録)。後、ドライバの最新版は 2006/11/05
現在は「6.10.25」です。2.6 系も自由にいじれるようになりましたね。ちょっと今は締め切り間近
のがあるのでそれが一段落すれば掘ってみてレポートしてみることにします。着実にハード
ウェアで出来る制限が解除されている感じで、遊び甲斐が出てきた予感。
XOOPS のログイン枠のずれ(2006/11/04)
イーフロの Shade フォーラムサイトがメンテ中で入れないのですが、XOOPS を使ったサイトを見
ていていつも気になることがあります。
有名ではありますが、ログイン枠(というよりも INPUT タグの TEXT と PASSWORD フィールド)
は、サイズを指定したとしても同じ大きさにはなりません。これは IE に限ったことですが。
昔 XOOPS 関連の仕事でしたのですが、これを回避するにはスタイル指定でピクセル固定にする
しかありません(XOOPS ソース内を修正したっけな)。しかし、IE もいいかげんこれを直してほ
12
しいですねぇ。XOOPS に限らずログインでユーザ名、パスワードを入力させる UI があるものは、
なんか同じ状況になっているのをよく見ます。ブラウザ間で方言がある、というのは未だに問題
ですので(スタイルシートでもやはり方言あり)いろんなブラウザで見ることができるようにす
るには、依然、動作チェックが大変であります。
ちなみに、このサイトの FreeStyleWiki は Safari で見るとメニュー部の折り返しが怪しいです
(^_^;;。
携帯電話(2006/11/02)
私のは、vodafone の携帯なんですが(なんで自動的に softbank の明細が来るわけですが)、softbank
機種に変えるか docomo に移るか悩み中。三連休の間で携帯変えようかなぁ。でも、料金体系が
softbank のはよくわからんので、現状維持でしばらく様子見したほうが利口なのかもしれません
ね。私は携帯メールと電話とカメラしか使わないので、Web 機能とかゲーム機能はどうでもよ
かったりします。
ただ、1つ難点がありまして、私、耳があまりよくないので外で携帯を受けるとほとんど聞こえ
なかったりします。親に聞くと、我が家系は遺伝的に難聴気味なんだそうです。音はよく聞こえ
ているのですが、雑音が周りにあると話し声が雑音と化す、というなんかよくわからん状態にな
るので、音のよしあしも実は関係ないのかもしれません。う∼ん、聞き取りやすい携帯ってない
のかなぁ。
でも、かけてくる人によっては(ほんとに一部の人なんですが、大部分はアウト)雑音が周りに
あってもよく聞こえるんです。なにか、聞き取りやすい周波数の違いでもあるのだろうか・・・。
13