研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

Carbon Emacs 強制終了多い?

2010-06-15 02:33:28 | Weblog
MacOSX で最近、良く Carbon Emacs が Emacs 強制終了する。default で PHP-mode や Ruby-mode が使えたので非常に重宝していた。原因が分からないのだが、どうやら日本語入力をすると落ちる可能性が高いので、あまり日本語は使用しない方が良いのかもしれない。

音階

2010-06-14 23:42:05 | Weblog
「周波数は倍になると1オクターブ上がった音になる」が、これにより音階をうまく定めるのは難しいようだ。

例えば "平均率" では、1オクターブ12個の音を均等に分けるので、オクターブに関してはうまくいくが、もちろん和音はなりにくい。

それに対して "ピタゴラス音階" は 5 度を 3/2 倍とし、「C-G-D-A-E-B-F#」といった 5 度ずつで作られる 5 度円により音階を作る。そのため、オクターブでは 3^12 / 2^19 ~ 1.01364 (1.364 %) と 1% 程の誤差が生じる。

もちろん他にも音階は存在するが、説明を見る限りでは万能なものはないように思える。

横浜

2010-06-13 16:56:29 | Weblog
横浜駅近くのスタジオで練習後、中華街に繰り出すことにした。中華街では高級店であったり、食べ放題店だったり色々あるが、結局お気に入りの "江南" に行くことにした。ここのレバニラは非常においしい。

計算複雑性と実行時間 - その3

2010-06-12 23:38:52 | Weblog
1対1最短路問題に対しても同様のプロットした。



全米(2400万点、5800万枝)だけでの計算量曲線なのに、思ったよりも実験結果とマッチしている。やはり実験的な性能が必要な場合でも計算量によるものが非常に重要である事を示している。それと同時にあるところまで行き着いたアルゴリズムは計算機の特性を考慮して改善するべきであると思う。log(n) を loglog(n) にするなどの改悪に近いものは理論的にも美しくないと感じるし、実装するとしてもうれしくない。

計算複雑性と実行時間 - その2

2010-06-11 22:56:30 | Weblog


1対全最短路問題を計算した実行時間と計算量をうまい具合にフィッティングしてみた。GNUPLOT にもそういった機能があるのだが、今回は自分でパラメータ調整をするという何とも原始的な方法で行ったため、あまり突っ込みを入れてもらいたくはないところ。

まずは1対全最短路問題を解いたときの結果であるが、Binary-Heap と Multi-Level Buckets がほぼ同じような特性を示している。やはり計算量での差は大きく見れば定数分の差なので、このように実装上の改善が十分効いている事がよくわかる。

計算複雑性と実行時間 - その1

2010-06-10 16:56:46 | Weblog

まずはかなり単純に計算量をプロットしてみた。

全米グラフでは
 n = 23,947,347、m = 58,333,344、U = 368,855
というサイズなので、
 m = 3n、U=0.02n
と大体このくらいだろうと目星を付けてやってみた。

やはり優先キューのありなしは大きい。
その一方、Binary Heap と Multi-Level Bucket の差が思ったよりも小さく、
特性もやはり似ているようで定数による差のように見える。

gconf-editor

2010-06-09 13:37:38 | Weblog
Linux 上の Firefox で Emacs の keybind にする方法。
gconf-editorで/desktop/gnome/interface/gtk_key_themeをEmacsに変更すると良いらしい。

これをすると shift & 方向キー での文字選択ができなくなるので、個人的にはちょっと困る。すぐに戻してしまった。

gnuplot: 小窓に拡大プロット

2010-06-06 22:57:37 | Weblog
set multiplot;

plot 'data.dat' \
   using 1:2 with points title "data1", \
'' using 1:3 with points title "data2", \
'' using 1:4 with points title "data3";

unset key;
unset label;

# 小窓の指定。左下を(X,Y)とした小窓を作成。
# 元の大きさ(1.0, 1.0)に対して横にX倍、縦にY倍。
# set origin X, Y;
# set size X, Y;
set origin 0, 0;
set size 0.5, 0.5;

# 様々な設定 -> 不要なら '' と指定
# xrange / yrange / logscale
# title / xtics / ytics / xlabel / label

plot 'data.dat' \
   using 1:2 with points title "data1", \
'' using 1:3 with points title "data2", \
'' using 1:4 with points title "data3";

set nomultiplot;

gnuplot: 閾値のプロット

2010-06-05 03:40:21 | Weblog
目安や閾値となる値を直線で引く方法。

横線を入れたいなら、
n=10;
plot 'data.dat' \
     using 1:2 with linespoints title 'data1', \
  '' using 1:3 with linespoints title 'data2', \
          n with lines title 'threshold';

横線を入れたいなら、
set parametric;
n=7;
set trange [5:8];
plot 'data.dat' \
     using 1:2 with linespoints title 'data1', \
  '' using 1:3 with linespoints title 'data2', \
     n,t with lines title 'threshold';

[参考] GNUPLOT
http://t16web.lanl.gov/Kawano/gnuplot/parametric.html

量子化学むずい。。

2010-06-04 18:08:52 | Weblog
分からないものも何度も聞いているとなんとなく分かった気になるが、量子化学はバックグラウンドがないので全然チンプンカンプンです。そもそも化学よりも物理だったので。。

とにかく、やろうとしていること、現在揃っている道具など、非常に大まかなところが分からないなりに定着してきた。もちろん、どういった式でどのように表現しているかなど、全く分かっていない。

せっかくこういった方々と関われるのだから、ある程度でも理解できるようになりたいものだ。

ROCKAPELLA @ Billboard Live TOKYO

2010-06-03 18:08:30 | Weblog
初めての生 Rockapella。CD はほぼ全て持っているし、結構好きだが機会がなかった。Take6 の時と同じ事書いてるかも。既にオリジナルメンバーはいなくなったというが、やはり Rockapella は Rockapella。より groovy な演奏でした。年取っているはずなのになー

ステージ上に女性を招待しひたすらその子のために歌う恒例の "Pretty Woman" では、僕が所属しているサークルの女の子が選ばれたようです。別のステージだったので後から聞いたが非常にびっくり。

MacOSX: .DS_Store

2010-06-02 14:45:06 | Weblog
Mac OS X v10.4 and later:ネットワーク接続時に .DS_Store ファイルの作成を抑制する方法
$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true
結局 local には使えない設定なので、邪魔なら find & rm で消す必要があり。

Windows User などに .zip したファイルを渡すときは、MacWinZipper.app 等を用いないと .DS_Store が出てきて非常に目障り。本当に必要のか疑ってしまう。