終わらない演算

初期化関係のバグが取れたので、その後エンジン部分に取り掛かった。まずは、入力部分をベースに周囲の有効範囲中の出力を検出して、入力を算出する部分。
しかし、実際に書いてトラブル発生。
計算量が多すぎて計算が終わらない・・・
0.1秒くらいで終わらせたい計算がCPUフル稼働で5分かかっても終わらない・・・wwwww
まぁ、まだ暫定で書いているだけで、とりあえず動かすことに重点を置いて綺麗さとか、速度は本当に考えていないのだが、それでも、SSEつかっても何とかなる気がしない・・・
もしかしたら整数だけで処理することに挑むかもしれない。アセンブラの出番もありそうだ。
一応、C的にも最適化してなくて、SSEもつかってないソースだけど、あげておく。


http://uguu.jp/scorce/main.c

http://uguu.jp/scorce/main.h

http://uguu.jp/scorce/func.c


追記
実際に入力データを計算してみたところ、初期値の設定が適切でないことが分かった。
現状まず変えるべきと思われる箇所は出力部分の配置。今は入力部分の位置ベクトルに適当なごまかし処理をかまして生成してるのだが、それだと両サイドで密度が過密になってしまう。
それから、現在のソースには発火確認が入っていない。どういうことかというと、すべてのニューロンが発火している前提で計算していると言うことだ。その、発火からそれが終了するまでの処理をどうするかも考え中。二値化するか、連続にするか、というような話。


もはやもどきである気がするのはきっと気のせい。