2011-01-01から1年間の記事一覧

クマ将棋

kumaという名前でfloodgateに投入しています。http://wdoor.c.u-tokyo.ac.jp/shogi/view/show-player.cgi?event=LATEST&filter=floodgate&show_self_play=1&user=kuma_0.4b投入時にバグがあって違法な手を指して負けたのでレートは落ちているけど その前のバ…

ボナンザでの探索アルゴリズム比較

ボナンザver.4のコマンドバッチを使って10局面・深さ6での平均探索ノード数/探索時間を比較しました。 アルゴリズムは以下の4つを比較しました。 ref depth reduction/hash cut/futility cut 全てを無効 (静止探索、反復深化、多重反復深化、ネガスカウ…

将棋:探索アルゴリズムの比較

この次の一手問題を解くのにかかる時間を比較しました。 正解は「先手▲7一銀まで」で、深さ5で探索すると駒割のみで正解にたどりつけます。 ↓レポートです。 suzumer.web.fc2.com/tansaku.pdfアスピレーションサーチやハッシュは思ったよりも性能に利かず…

ルーチンを作ってみた

ボナンザソースを参考に上の方法で作ってみた。 4六歩での猛烈な駒の取り合いのテスト。 SEEが正なので最終的には先手が得をする。上のやつは、4六への利きを持つ駒のattackerビットボード。 障害物がなくなり、新たに飛び駒がビットボードに追加される様…

将棋:SEE

通常探索でも静止探索でもSEEが重要らしい。 SEEとは、あるマス(ターゲット)で駒を取り合ったときの最終的な駒の交換値。 同歩とか同銀とかがずっと続く状態。 ボナンザではswap.cでSEE = swap(手)で計算している。 静止探索ではSEEが正の手(駒損し…

将棋

NHKのボナンザの番組を見て感動したので、コンピュータ将棋に興味を持った。 ちょっと作ってみた。駒の価値を見て3手くらい読む。 弱いけど、自分も弱いのであまり勝てない。 ソース+実行ファイルです。VC2008用。ソースは割と分かりやすいと思います。…

haarlike+カスケードで顔認識

openCVやデジカメとかでやっている顔認識を作ってみました。 ハールライクという矩形フィルタの組み合わせでできます。 顔データベースからの学習は大変そうなんですが、既にパラメタが学習 されていれば、結構簡単に作ることができます。学習結果は、OpenCV…

ギタレレ演奏

ひさびさにアップしました。

ひさびさ

いろいろとバタバタしてて更新できてませんでした。ところで最近、切手を集め始めました。 戦後の日本の普通切手の使用済をメインに集めています。 こういう感じで張り付けてます。 いまはパソコンのパワーポイントですぐ作れるので便利です。

シンプレックス・タブロー

シンプレックス・タブローで線形計画を解くコードです。 自分の理解のため作りました。見れ分かると思いますが、適当です。 制約条件を 教科書に載っているような3×3程度の問題ならこのコードで解けますが、 大規模(10000列とか)になると掃き出してい…

組み合わせの列挙

nCrを列挙するコードです。こちらのサイトを参考にしました。 http://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+201004/10040015.txt 再帰でこんなにシンプルに書けるとは驚きです。 こういうアルゴリズムを考えつく人は本当にすごいと思います…

一枚超解像度

学習タイプの超解像処理のテスト。 基本的にテクスチャ合成とほとんど同じ処理が使いまわしできるので 3時間ほどでできました。入力画像の各画素のパッチに対して、学習画像とのパッチを比較して 誤差が最小となるパッチの高周波成分を足すだけです。 近似…

NMRFテクスチャ合成

入力 ↓ ↓ 合成結果。WL法作りました。ランダム初期化、多重解像度。 絶対誤差が小さなパッチ(9x9)を張り付けているだけだけど、結構自然に見えます。参考: http://research.microsoft.com/en-us/projects/texturesynthesiseg09star/

おまけ

3x3行列の逆行列を計算するルーチンです。意外と使えます。 // 逆行列の公式による3x3の逆行列計算 // A:入力行列, B:出力行列, 戻り値=0:逆行列なし、=1:あり int mat_inv_3x3(double *A, double *B) { double detA; // サラスの公式による行列式の計算 …

結果

入力画像と入力ラベル(手書き) 変換結果(左から第1成分、第2成分、第3成分、RGBに割り当てた結果) 通常のグレースケール変換(RGBの平均)通常のグレースケール変換に比べて変換結果(第1成分)のほうが はっきりと色が分かれているのが分かる…

判別分析法による色変換(教師あり線形変換)

与えたラベル間の色の分布間の分離度が最大になるような座標軸を 求める方法です。教師ありの線形変換です(PCAは教師なし変換になる) 一般化固有値問題を解くことで変換行列が得られます。 (Sb:クラス間分散行列、Sw:クラス内分散行列)