gail

ファジー

ちょっと興味があったので、ファジー集合論について勉強してみました。とりあえずファジー論理、ファジー集合について実装。→リポジトリ何かものすごくシンプルな理論なんだという感想。実装も簡単でファジー集合はメンバーシップ度を返すだけのただのファン…

Double Array Trie

SEQUITURがとりあえず動くようになったので、次はDouble Array Trieを実装しようと思います。 Double Array TrieといえばDartsなどが有名ですが、Common Prefix Searchを高速に実行できるデータ構造らしいです。MeCabとかChaSenとかで使われてます。辞書なし…

jpeglibの勉強

Adobe GILでもjpeglibが使われていた。自分もこれを使おうと思うので勉強。テストコード // jpeg_test.cpp #include <stdio.h> #include <stdlib.h> #include <jpeglib.h> int main(int argc, char **argv) { struct jpeg_decompress_struct cinfo1; struct jpeg_error_mgr jerr; cinfo1.er</jpeglib.h></stdlib.h></stdio.h>…

std::valarrayの解読中。

このコードはすごいな...Expression Templateの嵐。 とりあえず、自分のコードにも使ってみた。昨日より結構早くなった。なのだけれども、_ExprはBoolConvertibleではないみたい。 それに気づかなくてどこでboolに変換しているのか探していて、大分時間を浪…

gridmap: boost::multi_arrayと比較

単純に要素アクセス速度だけを比較してみました。http://mad-projects.iobb/svn/gail/sample/{bench_multi_array.cpp, bench_gridmap.cpp, bench_c_array.cpp}最初gridmapが4倍くらい遅くてびっくりしたけどmulti_arrayとメモリオーダリングが違うことが原因…

gridmap:イテレータを使えるようにしました。

こんな感じで。 ... 省略 ... int main(){ typedef rect2d_gridmap<int>::type map_type; // -3 <= x <= 3, -3 <= y <= 3の範囲の矩形領域を作成 map_type map1(range(-3, 3, -3, 3)); // 全要素をトラバース std::copy( boost::counting_iterator<int>(0), boost::cou</int></int>…

何か真面目にライブラリを作ってみようと思います

画像解析のアルゴリズムとか作りたくなって、作り始めました。 adobeのgilを参考にしてますが、 単に画像処理に限定しないで、セルオートマトンとか遺伝的アルゴリズムとかのアルゴリズムなども使えるようにして ジェネリックなライブラリを作ってみようと思…