2010年10月26日火曜日

objdump で dll の確認 & semidefinite embedding

昨日の SDPA を mingw でコンパイルしたものであるが、mingw でコンパイルしたときにどの dll が必要となるかは Linux 同様に objdump で確認できる。
実行すると
$ i586-mingw32msvc-objdump -p sdpa.exe | grep "DLL Name"
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: msvcrt.dll
となり、pthreadGC2.dll を必要としていないことが確認できる。ちなみに、pthreadGC2.dll 自身は
$ i586-mingw32msvc-objdump -p pthreadGC2.dll | grep "DLL Name"
DLL Name: KERNEL32.dll
DLL Name: msvcrt.dll
DLL Name: WSOCK32.DLL
となり、WSOCK32.DLL を必要としていることが解る。(static でリンクしたときに、libwsock32.a をリンクしていたのは、このため)


あと、semidefinite embedding については、ここ最近で以下の論文を読んでおいた。
[1] Fast Graph Mixing Markov Process on a Graph and a Connection to a Maximum Variance Unfolding Problem
by X. Wu, A. So, Z. Li, S.Li
[2] Embedded in the Shadow of the Separator
by F. Goring, C. Helmberg, M. Wappler
[3] Dimensionality Reduction: A comparative Review
by L. Maaten, E. Postna, J. Herik

[1] は Semidefinite Embedding が、 Markov Process の収束を最適化する問題と primal-dual になっている、という点が面白い。
[2] は、低次元に埋め込んだときに、あるカットで点を2つのセットに分割すると、どちらかのセットのすべての点は原点とその点の間にカットが挟まる、ことを言っている。ただ、証明の難しさの割には、今後の展開には使えなさそうである。
[3] は survey 論文。これまでの手法を整理し、数値実験で比較している。特に、Appendix に数値実験用の人工データをどう作るか、という式が載っており、Swiss Roll はこの式で生成できるようだ。

今日の作業内容:
6:30-7:00 [ok] Dimension Reduction Survey 読み p14-p18
7:00-7:30 [ok] Dimension Reduction Survey 読み p19-p26
7:30-8:30 [ok] 読んできた論文の整理
10:20-11:00 [ok] 査読論文読みはじめ
17:00-18:00 [ok] 査読論文続き
今日のランチ:らく 焼魚定食
明日の予測作業時間:3h

0 件のコメント:

コメントを投稿