娘ができてから蕎麦屋めぐりとか出来てないけど、蕎麦も好き。実際のところラーメンよりも蕎麦派。
子連れでOKそうなとこがあったのでいってみた。それが松の木
ざる二枚。海苔いらなかったのでもりでよかったかな。
機械切りっぽいけど、揃ってる分喉越しはよい。二八かな、もうちょっとつなぎの割合多いのかな、分からん。
辛汁が器に最初から入ってたので、蕎麦湯がいい感じに飲めなかったので残念。 あと煙草の匂いでやられた。U隊長は気になんなかったけどって言ってたけど、座る場所が悪かったのかね。
Mastering Algorithms With PerlModularとか。Chinese Remainder Theoremってなにがおもろいんだろうとか思ったが、RSA暗号がらみ?そのうちちゃんと読んでみる。
あとMiller-Rabinとかコラッツ予想とかそんな感じ。
perlで複素数とか極座標とか扱うって話 あまり興味がなかったので流した。
最後の例のリーマンゼータ関数は面白かった。
まだ2章くらいしか読んでない数学ガールにも出てくるらしい
これも早く読みたいなぁ。
15122007 chemoinformatics perl MAWP
さわりだけなので、さらっとしている。
Mastering Algorithms With Perlちゃんと学びたければC++とかの本を探したほうがよいのかな?pymolとかAvogadroのソースを読むのがいいのかもしれんなぁ。
ドッキングシミュレーションとか色々気に入らない部分があるので、手を加えたい部分があったりとか、Caverみたいなの自分で書いてみたかったりするんだけどそういう書籍はないもんかな。
後半はparserとか
Mastering Algorithms With PerlHOPも読んだし、再帰下降パーサもいじったことあるのでさらさらと。あとハフマン符号化とか。
結局1週間近くかけて読んだが文字列検索アルゴリズムがなかなか面白かった。
perlは写経でいまいち理解度があやしいため、pythonでBoyer-Moore法を。パターンとの不一致の場合には何文字スキップできるか、一致した場合に何文字スキップできるかのテーブルを最初に作っておいて、スキップ幅の大きいほうでスキップしながらパターンマッチを進めていく。
def boyer_moore_bad_character (P): m = len(P) bc = [m] * 256 j = m for char in list(P): bc[ord(char)] = j - 1 j -= 1 return m, bc def boyer_moore_good_suffix (m,P): j = m + 1 gs = [0] * j k = [0] * j k[m] = j for i in reversed(range(1,j)): while j <= m and P[i-1] != P[j-1]: if gs[j] == 0: gs[j] = j - i j = k[j] j -= 1 k[i-1] = j kn = k[0] for j in range(m+1): if gs[j] == 0: gs[j] = kn if j == kn: kn = k[kn] gs.pop(0) return gs def boyer_moore (T,P): (m,bc) = boyer_moore_bad_character(P) gs = boyer_moore_good_suffix(m,P) (i, last_i, first_j) = (0, len(T)-m, m-1) for i in range(last_i+1): j = first_j while j >= 0 and T[i+j] == P[j]: j -= 1 if j < 0: return i else: bcn = bc[ord(T[i+j])] - m + j + 1 gsn = gs[j] i += bcn if bcn > gsn else gsn return -1 if __name__ == '__main__': print boyer_moore("perlpypythonruby","python")
for文でカウンタ変数使いたかったのでrangeをつかったけどPython流はどうやるのがよろしいんだろうか、、、カウンタ変数減算するのにfor i in reversed(range(1,j))だしな。
パターンマッチングとか。
Mastering Algorithms With Perl色々と検索アルゴリズムが紹介されていてなかなか進まない。
Boyer-Moore法を写経して、ついでにPythonで書き直してみたけどgood suffixのアルゴリズムがうまくかけません。perlのfor文とpythonのfor文は大分違うなと。というか、文字列の位置を記憶しながら逆向きに移動していってごにょごにょする方法が分からん。
for(;;)みたいなこと(カウンタ変数を使うっていうの?)をpythonでやる場合にはどういうことをすればいいんじゃと調べてみたら、そういう場合にはfor文は使わないのがお約束としか書いてなかったが、どうもwhile文を使えということらしい。
ふむ。
perlのコード見ながらpythonのコードに移植しようとすんのが間違ってるのかな。
U隊長がユッキーのためにアンパンマンのクリスマス向けDVDを借りにいくというのでお供した。といってもビデオは興味ないので併設している本屋でなんかいいもんないかなーと物色してた。 そうしたら、買おうかどうか悩んでAmazonウィッシュリストに突っ込んでおいた二冊が置いてあってびっくり。
こんな田舎で読むやついるのか?、近くに大学もないのに誰が一体、、、、もしや富士山麓に関数型言語を広めようという謎の黒い陰謀か?陰謀なのか?
ま、陰謀でも店員の発注ミスでもどっちでもいいけどねー、とぱらぱらとめくって、リアル中身検索。うーん、OCaml本にありがちな謎のへたうまラクダ絵のイメージとは違い、ちょっと教科書臭がしますな。Erlangのほうはというと、気になっていた並列計算の部分が最後のほうにちょろっと出ていて、まさに入門書って感じ。これだったらガウディ本読んでからもう一度検討したほうがいいかもってことで、強引に物欲を鎮めた。
また欲しくなったら再検討しよう。
07122007 R
同僚が買って持ってきたのでちょろっと見せてもらった。
言語としてのRの説明が結構厚くて、遅延評価とか関数型言語としてのRとかオブジェクト指向的な使い方とか結構興味をそそるようなことが書いてあり、すごく欲しくなった。
あー欲しいけど、今月色々買っちゃったしなー。クリスマスという言い訳で本を何冊か買うかな。