2007年4月30日月曜日

う〜ん、地味にやばい

後輩に私の研究を引き継いで貰うために、昨年度まで手がけていたアルゴリズムをプログラムで実装して貰ったのですが・・・、どうもうまくいかない。
で、そのソースを見せて貰ったところ、ちょこちょこ間違ってはいたものの、おおよそアルゴリズムに間違いはない。その間違いを直してもなお結果がおかしい。
その日はもう時間も遅かったので一旦打ち切り、私も家で動作を確認してみることに。過去に作成したプログラムもあったのですが、はっきり言って見にくいソースだったのでもう1から作り直すことに。
私は割と研究のプログラムは何度も何度も書き直しているので書き直す作業自体は苦ではありませんし、さして時間も掛かりませんでした。
「割とすっきり書けたかな〜」
なんて思いながら実行したら、なんと結果がおかしい。プログラムを見直すも、こちらが考えているアルゴリズム通りに組んである。今回はFFTにオープンソースのライブラリを利用したため、それが意図した使われ方をしていないのかも、と思いFFT->IFFTで結果を確認するももちろん正しい結果が。
こうなると私がアルゴリズムを誤解している可能性があるわけですが、過去に作成したプログラムのフローをソース上で確認しても誤解はなさそうな感じ。過去のプログラムをデバッグでフロー確認もしてみましたがこちらが考えている動作をしておりました・・・。
FFTを行う系列の順序が逆なのかも、と思ってそれも試してみましたが結果は黒。どうも原因が掴めない・・・。
後輩君に解決して貰うという手はありますが(私は他のアルゴリズムに手を付けているし、このアルゴリズムには長く触れていない)、さすがにそれは無責任というものでしょうしねぇ・・・。
と、いうことで今日も動作を確認しては居たのですが解決せず。ちょいと困ったもんだなぁ・・・。


ま、こうして在るんだからいいじゃねえか。
生きてる事を悩んでもしょうがねえだろ。
汝、あるがままを行えってな。細かいコトは気にするな。
悩みゴトってのはな、『どうして』じゃなく『どうやって』にすべきだろ


Fate hollow/ataraxia ランサー
前向きな言葉だよなぁ。けど、「どうやって」ってのを考えるために「どうして」ってのが必要な気はしなくはない^^;
でも大事なのは、次に打つべき手を考えること。同じ轍を踏まないようにすることが大切よね。