ラベル 思うこと の投稿を表示しています。 すべての投稿を表示
ラベル 思うこと の投稿を表示しています。 すべての投稿を表示

2011/03/31

Moving

本当は4/1に書く予定でしたが、そういえば4/1はエイプリルフールでしたので今日書きます。

えーと、本日、東北大学理学部物理学科を卒業し、明日から東北大学大学院情報科学研究科に入学します。所属する研究室はコンピュータビジョンなど、主に視覚的な情報について研究している研究室ですので、たぶんこれから書く記事はそれ系統の内容が多くなると思います。このブログのタイトルに少し近づきました。

元々このブログは映像を作り、その技術的な情報についてログを残せるよう立ち上げたブログでした。確かに現在は映像の「え」の字もないブログに仕上がっていますが、もちろん今でも映像は好きですし、好きなプロダクションさんの映像はいつも観に行くようにしています。そして全く役に立たなかったかと言われればそういうわけではなくて、個人的に仕事を頼まれることもありましたし、Webサイトや印刷物のデザインをする際にも役立ちましたし、ここで得た知見のお陰で様々な方とお話することもできました。

物理学科に入ったのも元々は相対論や量子力学の深遠な世界について知りたいために入りました。正直に言って完全に理解できたかというと怪しいところでありますし、理学から工学という他分野に移るわけで、一見すると今までの知識が役立たなくなるように見えます。が、実はそうでもなく、統計力学(*1)や相対論で使っている手法をコンピュータビジョンに輸入している論文があったり、案外様々な場面で役立ったりしているわけで(*2)。

全然違う領域に見えても絡んでくる領域というものは少なからずあるものです。ということで、映像と物理がお互いに絡み合っている、コンピュータビジョンの道に進むことを決めました。

これからもどうぞよろしくお願いします。

p.s. 家族は無事でした、よかったよかった

*1 ここで宣伝ですが、田崎先生の『統計力学I, II』はお薦めです。この本はぜひ理学系だけでなく工学系の方々にも読んでもらいたい本です。値段も2冊併せて7,000円くらいと安い。新品のゲームソフト1本買うくらいならこれを買いましょう
*2 もちろん線形代数や基本的な偏微分も数式や概念を学んだりする上で役立ちました。一番学んで良かったのはブラケット記法とヒルベルト空間、あれは素晴らしい

2010/05/11

2006年に発表されたイグノーベル賞の文学賞が面白い

"860 Hispanic literature; 869 Portuguese" by Helder da Rocha

2006年に発表されたイグノーベル賞の文学賞が面白いです。どういう論文かっていうと『無駄に難しい単語を多用したとき、そいつは知的に見えるかどうか』っていう論文で、まずタイトルからして "Consequences of Erudite Vernacular Utilized Irrespective of Necessity: Problems with Using Long Words Needlessly." 。完全にふざけてます。Summaryも秀逸で、これ言いたいだけにこの論文書いただろって思うくらい。面白かったので思わずノリでSummary部分を翻訳してしまいました:
必要性と無関係に使用される博学な専門的用語が導く結末:不必要に長い単語を使うことにおける問題
DANIEL M. OPPENHEIMER

執筆者にとって最も奨励されている書き方は、過度に複雑な語彙の使用を避けることだ。しかしながら、大多数の学生は知的な印象を与えようとして、わざと複雑な語彙を使おうとする傾向にある。この論文ではその戦略が効果的であるかどうか、その程度について調査する。実験1-3では語彙の複雑性について扱い、語彙の複雑性と知的に見える効果の間柄には負の関係性があることを調べる。この関係性は元の小論文の質や、小論文の内容がどうであるかや、参加者が最初に期待していた度合いについては関わらない。複雑性の負の影響については、文章の読解速度(fluency)を処理することによって調べた。実験4では直接読解速度について扱い、読解が難しくなる文章はより著者が知的でないと判断されることが判明した。実験5では読解速度を遅くする要因について調査した。以上より、読解が難しくなる文章は明らかに正解であると即座に判断できなくなるため、人々は読解する手がかりの少なさから、文章をあまり信頼しなくなる。事実、文章の本質に関わらない語彙というのは過度に文章を修飾してしまい、結果としてかえって反対の方向へ影響してしまう。これらの影響や、実際の応用についても議論した。Copyright 2005 John Wiley & Sons, Ltd.
適当な翻訳で勘弁!この教授は学生の無駄に難しい言い回しを多用したレポートに飽き飽きして書いたんです。間違いない。

でも、実際こういうのってよくあるよなぁとか思います。『齟齬』『蓋然性』『慚愧』とか使われても、あんま頭良さそうに見えません。最近の例でいいますと対談の際に用いられた『写像』でしょうか。これも別にここで使わなくても、十分に説明できましたし…

やっぱりイグノーベル賞は全体的に面白いです。こういうセンス日本にはないよなぁ。羨ましい限り。

2010/04/06

マルコフ連鎖を使って簡単な問題を解いてみよう

"Cute Gyoza / Meat Dumpling Key Chain" by ♥ Rainbowcatz ♥

はじめに

人工無能、一時期流行りましたねー。

難そうなわりに以外と簡単で、しかも結果が面白いということでRubyやなんかで実装している記事をよく見かけました。そういった中でマルコフ連鎖が注目されていた時期が一時期ありましたが、正直あれはマルコフ連鎖を利用しているというよりは、別のアルゴリズムにマルコフ連鎖という名前をつけたというか、あんまり関連性がないなーという印象でした。

マルコフ連鎖の本質はそういうことではなく、状態の遷移確率を行列によって求めたり、定常分布を固有値問題で計算するところにある、と自分は考えています。マルコフ連鎖についてのより詳しい説明は他のブログにお任せするとして(自分がやるとすぐにボロが出てしまう)、今回はマルコフ連鎖を使って簡単な問題を解き、実際にマルコフ連鎖がどんな感じなのか確かめてみることにします。

もんだい

二つの箱A,Bが用意されている。2つの箱の内部は完全に遮蔽されており、外部からは確認することができない。また、Aの箱には赤玉がN個、Bの箱には白玉がN個入っている。

ここで、両方の箱に腕を突っ込み、それぞれの箱から玉を一個づつ取り出し、交換し、反対側の箱のなかに入れることにしよう。今回の場合、Aの箱には赤玉がN-1、白玉が1個入ることになる。もちろん、Bの箱には赤玉が1個、白玉がN-1個入っている。

この試行をひたすら続けて、そう、例えば無限回行ってみよう。この場合、Aの箱に入っている赤玉の数はどれくらいであろうか?個数に対応した確率分布を求めよ。

回答

1回、2回ならまだしも、無限回なんて計算できるかクソが!そんなふうに考えていた時期が俺にもありました。

まず、Aの箱における赤玉の個数をmとおきます。すると、これは状態mの遷移問題と考えることができ、マルコフ連鎖が使えます。

また、1期間後にとりうることのできるmの遷移はm-1, m, m+1の3通りしか存在しません。以上を利用して、各mにおける状態の遷移確率を求めることができます。

まず、mがm+1に遷移する確率(m->m+1)を求めてみましょう。この場合、確率はAの箱の白玉が選ばれる確率とBの箱の赤玉が選ばれる確率の積に等しいので、

と表せます。

同様にして、m->m, m->m-1 についても表していきます。
  • mがmに遷移する確率は(i)Aの箱の赤玉が選ばれる確率とBの箱の赤玉が選ばれる確率の積と(ii)Aの箱の白玉が選ばれる確率とBの箱の白玉が選ばれる確率の積 の和((i)+(ii))に等しい。
  • mがm-1に遷移する確率は確率はAの箱の赤玉が選ばれる確率とBの箱の白玉が選ばれる確率に等しい。
以上の議論をまとめると、i->jへの遷移行列pijは以下のように表せます。

ここで、遷移行列はN×Nの次元を持っているものとします。

以上を利用して遷移行列を求め、pythonを用いて定常分布を算出しました。プログラムのソースコードを以下に示します。
#!/usr/bin/env python
#-*- coding:utf-8 -*-
"""
eig.py [N]

定常確率分布を記述したファイルを新しく書き込むプログラムです。
引数には箱に入っている玉の数を指定します。引数が指定されなかった場合には、N=10が用いられます。
"""

import sys

def main():
    number = int(sys.argv[1]) if len(sys.argv) == 2 else 10
    P = getStateMatrix(number)
    result = getFiniteStateSpace(P)
    fp = file("%i.dat" % number, "w")
    fp.write("\n".join([str(abs(num)) for num in result]))
    fp.close()

def getStateMatrix(n):
    """n個における遷移確率行列を返します"""
    from scipy import matrix
    P = [[getState(i, j, n) for j in xrange(n+1)] for i in xrange(n+1)]
    return matrix(P)

def getState(i, j, N):
    if   j == i-1: return float(i*i)/(N*N)
    elif j == i:   return float(2*i*(N-i))/(N*N)
    elif j == i+1: return float((N-i)**2)/(N*N)
    else: return 0.0

def getFiniteStateSpace(mat):
    """
    i->jに遷移する確率を行列(i,j)で表現した遷移確率行列から、定常分布を求めます。
    この関数は行列を転置する必要がない点に注意してください。
    
    mat : N×Nの遷移確率行列(numpyのmatrixでなければならない)
    戻り値 : N次元の定常分布ベクトル
    """
    from scipy import linalg
    la, v = linalg.eig(mat.T)
    result = zip(la, v.T)
    
    # 定常分布を求めるため、固有値が1に近い順で固有ベクトルをソートする
    result_sorted = sorted(result,
                           cmp=lambda x, y: cmp(abs(1.0-x), abs(1.0-y)),
                           key=lambda x: x[0])
    
    eig_value   = result_sorted[0][0]
    # 固有値が1近傍でなかったら例外を送出
    assert abs(eig_value - 1.0) < 1.0e-6, "the eigen value of FSS is apart from 1.0"
    
    fss = result_sorted[0][1]    
    return fss/sum(fss) # 正規化

if __name__ == "__main__":
 sys.exit(main())

実行は対象のソースコードを"eig.py"として保存してから、カレントディレクトリを適切なディレクトリに移動した後で、コマンドライン上から"python eig.py 10"のように指定してあげます。この場合、N=10(赤玉10個, 白玉10個)の際に遷移するであろう定常分布のデータが"10.dat"として書き出されます。

ここで、試しにN=6, 10, 50, 100における確率分布を載せておきます。
N = 6 のとき。離散的でよく分からないが、N=3付近の確率が一番高くなっている。
N = 10, 50 のとき。だんだん滑らかになっていく。
N = 100 のとき。N=50付近のピークが非常に鋭くなっている。

以上より、Nを増やせば増やすほど、N/2近傍により鋭いピークが表れるようになることが確認できます。

どーいうことが言いたいのか

結局のところ、お手玉の数を増やせば増やすほどmは中央付近で安定するわけです。「いや、最初に赤玉と白玉分けられているじゃん」それはそうなんですけど、今回の場合は無限回試行しているので、最初どのように分布してようが全く関係ないわけで。

最初は偏っていた分布がごちゃごちゃやっている内に中央付近に移動し、そこから多少のゆらぎはあるかもしれないが、結果的に中央へと帰ってしまうような、そういうイメージです。

まとめ

確率を無限回にすっ飛ばしたり、ある時点での確率分布を求めたり、モンテカルロ法にも使われているマルコフ連鎖はとっても賢くてすごいやつという記事なのでした

前のセメスターのレポートを微妙に公開してみるという話

前のセメスターで、『固有値問題』『フーリエ変換』『モンテカルロ法』を利用した問題を作成し、レポートを提出するよう求められた授業がありました。

物理学科で『固有値問題』といいますと、普通は『時間に依存しないSchrodinger e.q.を解いて粒子の波動関数を求める』といった問題が一般的なんですが、そんな問題を解いてもみんな同じことやってるので正直つまらない。別に物理と絡めて解けと指示されたわけではありませんので、そんなら違う問題でもいーかということで自分はマルコフ連鎖を使用して、簡単な問題を解いてみるといったレポートを提出しました。

この問題は自分で設定したんですが、正直簡単なわりになかなかきれいにできてる(うわー自画自賛)ということで、このまま埋もれたままにするのはもったいないなーと思いまして、微妙に一部分を変更して公開してみることにしました。この記事利用してレポート書いたら多分すぐにバレるし、別に問題ないかなぁと。

2010/04/04

はてなスターを導入してみました

Bloggerでもはてなスターが導入できることを知ったので、試しに導入してみることにしました。導入自体はjavascriptコードを貼り付けて、CSSをちょこっといじるだけの簡単さ。うーん楽ちん。

追記
19:00 と…思ったら…正常にログイン処理が行われていない…
20:00 ん、ちょっとまった。ブックマークからスターつけるときちんと反映されるのに、なんでadd starボタンが機能してないのか。どうやら同じような現象に遭遇してるっぽいBloggerユーザーもいるんだけど、クリティカルな解決方法を提示しているブログが無い。なんでだ。たぶんどっかのjsと衝突しまっているためにこけてるんじゃないかと予想してるんだけど…
21:00 あ、でけた。あとで問題点のまとめを記事にしよう

2010/04/02

近況報告 2/2

前回の記事の続きです。

マダム・エドワルダ―バタイユ作品集 (角川文庫クラシックス)マダム・エドワルダ―バタイユ作品集 (角川文庫クラシックス)
生田 耕作

角川書店 1976-02
売り上げランキング : 161626
おすすめ平均

Amazonで詳しく見る by G-Tools

正直、クリスマスキャロルの次にバタイユさんを見るべきではありませんでした。『マダム・エドワルダ』はまだなんとか理解できた、読めたんですけど、『目玉の話(眼球譚)』はもう完全においてけぼりをくらいました。なんだこれは。なんていうかもう、すごい。さすが嫁に読んでほしくない作品ベスト5にランクインするだけはあるみたいな感じでした。ごめんなさい。ちょっと今の自分には理解できなかったです。

これは思春期に読ませると絶対悪影響が出る本。間違いない。

地下室の手記(光文社古典新訳文庫)地下室の手記(光文社古典新訳文庫)
安岡 治子

光文社 2007-05-10
売り上げランキング : 133420
おすすめ平均

Amazonで詳しく見る by G-Tools

ドフトエフスキーが面白かったので、次も攻めていこうと思った作品。古典とは思えないほど新鮮なテーマを扱っており、非常に面白く読める作品でした。何が新鮮かっていうと、現代におけるひきこもり問題や閉鎖的な人間関係、風潮を、150年も前に捉えてその心理状況を細かく描写しているという点が新鮮。自意識過剰な学生にぜひ読んでもらいたい小説。自分も少なからずそういう面がありましたので、なかなか参考になりました。うーん

遺産相続ゲーム―地獄の喜劇 (岩波現代文庫)遺産相続ゲーム―地獄の喜劇 (岩波現代文庫)
Michael Ende

岩波書店 2008-10-16
売り上げランキング : 83802
おすすめ平均

Amazonで詳しく見る by G-Tools
鏡のなかの鏡―迷宮 (岩波現代文庫)鏡のなかの鏡―迷宮 (岩波現代文庫)
Michael Ende

岩波書店 2001-01
売り上げランキング : 15666
おすすめ平均

Amazonで詳しく見る by G-Tools

最後にこの2冊を読んで終了。ミヒャエル・エンデは中学生のころから大好きで、今思えば自分の性格の形成に重要な役割を果たしていた作家でした。遺産相続ゲームは前々から読んでみたかった作品で、現代における社会問題をうまく劇の中に暗喩として組み込んだ戯曲です。メモを取りながら楽しく読ませていただきましたが、強いて言うなら冒頭の筆者の言い訳と最後の作者ノートはいらなかったんじゃ無いかなという気がします。だってこれのおかげで考える楽しみが半減してしまったんですよ。それはそれで答え合わせのようで楽しんだ部分もあるんですけど…
最後の鏡の中の鏡はこれで3度目です。今思うと、この作品って宗教やら資本主義やら現代社会やらの皮肉が多分に込められた作品だったんですね。中学、高校のときはそういう意図に全く気づかず、なんか雰囲気が不思議で面白いなぁとか情景描写が独特だなぁとか、そういった感覚で読んでいたような気がします。うーん、これは成長なのか、それとも純粋に楽しめなくなったのか、どうなんでしょう。

というかこれ、いま思ったら読んではいけない毒書小説の内3冊も読んでるじゃないですか。うわーだめだこりゃ。でも面白かったから、それはそれでいいか。

よーし、これで貴重な春休みが終わったので、いまんところはマクロ経済とミクロ経済を攻めていきたいと考えています。とにかく大学のうちは選り好みしないで、いろんなものに手を出してみたいです。はい。

追記(4/4)
あ、思ったんですけど、こーいった類の、いわゆる古典ってやつは、回りの知人や教授なんかと話をしていかないと、本当に本質が掴めずに訳わかんないまま終わります。普通の小説を読んでいく感じで読み進んでしまうと、ただ長ったらしい割に展開が薄く、つまんねーとか思ってしまうので注意。カラマーゾフの兄弟なんてあれ自分一人じゃ絶対に気づかないだろって箇所が何個もありました。本当に、せめてあれだけは、一人で読むことをお勧めしません。

2010/04/01

近況報告 1/2

"Recent Photos" by Art Pets Photography

大学生は当たり前ですが休みが2ヵ月もありー個人的にはそんなにいらないんじゃないかとも思うわけですがー特に4年生ともなりますと、自分の周りではそれはもう、いろんな人が好き勝手なことをやっているわけであります。具体例を挙げますと、雀荘でプロとして活躍していたり、iPhone, Androidなどのアプリを開発していたり、いきなり数十万を持って地球一周すると豪語して日本を飛び出していったり、おら医者になるとか言って医学部に入りなおしたり、路上でライブやってたり、かと思えば大学の図書館で泊まり込んで24時間勉学に励んでいたり、などなど…みなさん生き生きと活動をしているなぁという実感を持ちまして、自分もそれじゃあ社会人になって後悔しないような大学生活を送っていこうと、決意を新たにしたわけでございます。

で、自分はといいますと、ひたすら本を読んでおりました。なんだそれだけかと思うかもしれませんが、今まで自分が読むものと言えば技術書や学術書で、特に文学というものを深く嗜好してはおりませんでしたので、聡明な文学部の方と協力しながら、ひたすら本を読み込むという作業を行っていました。
ですから自分の春休みは、本を読んで、TOEICの対策をして、仕事をして、ちょくちょく飲み会やら気になる人と会う、という一日の繰り返しでした。というわけで、いままでどんな本を読んで、どんな感想を持ったのか、少し羅列してみることにします。

カラマーゾフの兄弟1 (光文社古典新訳文庫)カラマーゾフの兄弟1 (光文社古典新訳文庫)
亀山 郁夫

光文社 2006-09-07
売り上げランキング : 3999
おすすめ平均

Amazonで詳しく見る by G-Tools
まずはこれ。でででん。「この小説すげぇ!」という人が自分の回りに何人もおり、しかも『東大教官がすすめる100冊』にぶっちぎりトップになっているということで今までずっと読んでみたかった書籍(*1)なのですが、正直これ去年の夏に読もうとして挫折したんです。とにかく登場人物は多いし、愛称があるし、メインキャラクターの紹介で数百ページ続くし、文学に慣れてないのにこれはだいぶハードルが高い代物でした。

今回は前回の反省を生かして、常にノートを取るようにし、重要な箇所は線を引いてノートと比較してみるなどして、一日100ページくらいのゆったりしたペースで読み込んでいきました。あとは周りの人に質問をして、さらなる理解を深めるといった形です。この書籍は全部で5巻くらいあって、1巻につき大体500ページあるので、1ヵ月くらいで読破することができました。やった。

この小説の凄いところは、もうありとあらゆる欲が凄まじいリアリティを持って描かれているところです。そして、その欲にかかわる普遍的な悩みや行動が、これまでかというまでにせめぎあっているわけです。『こういう人間いるよなぁ』とも思いますし、『あ、これ自分だわ』とも思うような、そういう小説です(*2)。

個人的には2巻の大審問官とゾシマ長老の話が一番楽しめました。あれが一番読み応えのある箇所です。特に無心論者が多い日本では、大審問官の話はある程度共感できるのではないでしょうか。二者の対立した意見をそれぞれ『プロとコントラ(天使と悪魔)』とする亀山氏の解説は、なるほどなという印象です。

この小説はまた数年後にもう一回読み込んでおくことにします。とにかくこの作品は一回読んだだけでは完全に理解することはできません。しかも数年経ちますとまた全然違う印象になっているでしょうし。フョードルの心境が理解できるようになる日は来るんでしょうか。

(*1) 今回読んだ古典新訳文庫の亀山訳は誤訳が酷いということで、よく批判の対象となっています。確かに論文なんかで使うにはこの訳は不適切かなぁと思う箇所は(サイトを見るかぎりですと)いくつか存在しますが、普通に楽しむ分にはこれで問題無いような気がします。特に本をあまり読まない方々にとってはなおさらです。

(*2) ちなみに自分が一番近いなぁと思ったキャラクターは、イワンとコーリャです。イワンの独白やコーリャの暴走部分はなんかこう、自分を客観的に見ているようで、単調直入に言うとすんごく苦痛でした。あと1巻のドミートリーが自身の恋愛観をアリョーシャに伝えている箇所とかもう…あばばばばば

クリスマス・キャロル (光文社古典新訳文庫)クリスマス・キャロル (光文社古典新訳文庫)
池 央耿

光文社 2006-11-09
売り上げランキング : 124146
おすすめ平均

Amazonで詳しく見る by G-Tools
続けて重い本を読みたくなかったので、息抜きとして読んだ本。イギリスの文豪ディケンズの代表的な作品。読んでたら涙ぐんでしまい、周りの人に見られてちょっと恥ずかしかったので、読むときは家など人に見られない場所がおすすめです。ページ数も170Pと非常に少ないので、自分は2日で読了しました。

とにかく有名すぎる作品で、内容は非常にありきたりです。ですが、今後の先行きが不透明で、ますます拝金、功利主義がその勢力を強めている現在だからこそ、こういった作品が重要になってくるのだと思います。

最後にamazonのレビューで共感したtongue氏の文章を引用して終わります。
スクルージは守銭奴というより、心に傷を抱えながら、懸命に世間と戦い、いつしか損得しか信じなくなってしまった企業家といったほうがぴったりだ。そんな男が精霊の導きで、幼い自分や青春時代の自分を思い出し、少しずつ人間らしい暖かい心を取り戻していく。その暖かさの象徴は暖炉を囲んだ食事であり、家族だ。本書は子供より大人に読んでほしい。大人たちは多かれ少なかれ、スクルージであると思うから。
あーだめだ。たった2冊書いただけでこんなに多くなってしまった。また明日続きを書くことにします。

2010/01/19

iPhoneのアプリ『Sleep Cycle』は本当に凄い



たまには肩の入っていない話題を。巷では既にすごく有名ですが、とにかくこの『Sleep Cycle』の威力が凄すぎたので書いていきたいと思います。

動作は単純で、ベッドの上にiPhoneを置くことで、人間が寝返るときに発生する振動を感知してレム睡眠とノンレム睡眠のパターンを推測。ちょうど眠りが浅くなったときにアラームを鳴らすことで、気持ちよく起きられるという代物。アラームアプリのくせにちょうど鳴るときもあれば、15分前に鳴るときもあったりします。

最近これをここ一ヶ月くらいこのアプリをセットし続けているんですが、目覚ましが鳴ったときに度々生じる不快な目覚めが完全に無くなりました。目覚めが気持ちいい。すごい。今日も一日頑張ろうという気になります。これで115円はいいお買い物です。

問題としてはあまりに気持ちよさ過ぎるために二度寝してしまう危険があるってことです。これでスヌーズ機能が追加されれば文句ないのに…

2010/01/02

あけましておめでとうございます

改めまして、あけましておめでとうございます。本年もこのブログ『映像奮闘記』をよろしくお願いします。

2010年は自分たちの学年にとって激動の年になりそうです。文系は就活する人が殆どで、就職氷河期の今、とても戦況は厳しくなっていると話していました。理系は大学院に行く人が殆どですが、事業仕分けの影響で少なからず各研究室とも予算に余裕を持っていられる状態ではなくなってきました。そういった中、はたして自分はどのように過ごしているんでしょうか?ということで、自分が掲げる、1年間の目標を立ててみました。
  • Haskell, OCamlについてより詳しくなりたいです。コードすら書いていない状態ではとても身についているとは言えないので、きちんと書いて頭の中に叩き込んでいきます。
  • C++のboost、ジェネリック、メタプログラミングまでを理解したいです。C++の言語仕様はあんまり好きじゃないんですが、とにかく現状必要不可欠な言語ですので、遅かれ早かれ習得する必要がありそうです。
  • Qtもアニメーションなど、細かい箇所をより理解していきたいです。
  • 現在履修している物理は、とりあえずDirac e.q.までやっておきたいです(*1)。
  • 4年までに卒業製作としてなにか一つのソフトを作りあげたいです。ものつくるためにプログラミングやってるわけで、習ってなにも作らないってそりゃ本末転倒です。
    一応頭の中で考えていることはあるんですけど、もうすこし仕様をねって、現実的かどうか判断して、製作にとりかかってみたいです。
ご覧の通り、勉学や研究が主となっています。いかにも大学生的なことは1,2年で大体楽しみましたんで、もうそろそろ本気だして頑張っていこうかなぁと思います。
主な目標は一番下で、そのために1つ目と2つ目があるような感じです。一年後どれくらいの目標が達成できているんでしょうか?2010年の年末にこれを見てニヤニヤできるよう、さらに励んでいきたいです。

(*1) どうでもいいことですけど、自分は理学部の物理学科に所属しています。物理への限りない情熱があって、しかもかなりセンスがある人でないと理解ができない、厳しい世界です。自分は情熱もセンスもあまり無いので、ついていくのに精一杯です。げろげろ

2009/11/19

サイトデザインを更新しました。


前のサイトデザインだとありきたりなんで他のサイトと被ってたりとか、横幅がちっちゃかったから思いっきりスクロールしなきゃなんなかったりで結構気になってたんです。ソースコードもあんまり載せられないですし。

というわけでサイトのデザインを更新しました。たぶんこっちのほうがいろいろと見やすいと思います。なんせ横幅がでかいですし。前のなんか2-30文字かいて改行レベルでしたから…

どうでもいいですけど、さあテンプレートを変えようということでBlogger Templatesっていうところに行ってみたんですが、皆なかなかクオリティ高くてビックリです。流石米国で流行っているBlogger。日本のごにょごにょなサイトとエラい違いです。

2009/10/12

忘備録:cvCalibrateCamera2()について

これは完全に個人用のメモです。

OpenCVを使っていたときに次の記事を発見。

因果応報 | cvCalibrateCamera2関数

で、そこに世界座標系におけるカメラの位置と姿勢が数式で書いてあったんだけど、まだ3Dを始めたばっかりの自分は((なんで?))ってなった。で、考えて見た結果以下のような理由だという結論に至った。

まず、世界座標系 X = (X, Y, Z)T からカメラ座標系 x = (x, y, z)T に変換するためには4x4のカメラ行列を利用して以下の式で表現することができる:

ここで、Rは3x3の回転行列、tは3次元のベクトルとする。OpenCVのcvCalibrateCamera2()が返すRとtはこれ。

それじゃあカメラ座標系から世界座標系に変換するにはどうすればいいのよっていうと、逆行列を用いて以下のように表現できる:

つまり世界座標系におけるカメラの位置と姿勢を求めるためには、この逆行列を利用しなければならない、と。たぶんこんな感じかな…

2009/07/18

クレジットカードと脆弱性

「クレジットマスター」か? VIPルーム宿泊男を逮捕 警視庁

他人のクレジットカード番号を割り出してインターネット決済し宿泊代金の支払いを免れたとして、警視庁と北海道警が電子計算機使用詐欺などの疑いで、指定暴力団山口組系元組員、瓜生誠被告(35)=覚せい剤取締法違反罪(使用)で起訴=を逮捕していたことが15日、同庁への取材で分かった。同庁などは、不正に入手した他人のIDとパスワードを使ったとして、14日に不正アクセス禁止法違反の疑いで追送検した。

眠れないのでとりあえず記事を更新することにしよう。

さてと、最近なんかクレジットマスター関連の犯罪が増えているような気がします。「クレジットマスター」自体はもう10年くらい前から登場している、古典的な手法らしいんですが、なんで最近になってこんなに頻出しているんでしょうか?謎です。

まず、世界中でよく使われているVISAのクレジットカードだと、桁数は16桁となっています。このままですととりうるカード番号の数は10^16通りであり、とてもじゃないですが実際に使われているカード番号にはたどり着けなさそうです。

ですが、実は全てのクレジットカード番号の最初の6桁は銀行のID番号になっていますので、容易に推測可能です。さらに最後の1桁はチェックサムであり、これも残りの数値から算出することが可能である*1)ため、16-7=9で残りは10^9通りとなりました。
この値が一体どれくらいの多さなのかというと、会員数が多いであろう三井住友VISAカードを例にとりますと、会員数は1641万人(平成20年3月末日)であるので、割合は0.01641。なんとランダムに数値を取っただけで100回につき1、2回は本物のカード番号に突き当たってしまうという計算になってしまいます。これはひどい。


(クレジットマスターの例。アルゴリズムは非常に簡単なので、こんな感じで容易にキージェネが作れてしまいます。一応問題ないとは思いますがモザイク入れておきますね。)

後の残る問題は有効期限なんですが、せいぜい3〜5年以内ですし試行はスクリプトなりなんなりを使えば容易に自動化できますから、1晩か2晩くらい回せばある程度の量の有効なクレジットナンバーが手に入りそうです。

まぁ名義が違ったら目をつけられますし、本物の住所を書くとすぐにお縄になってしまうので、容易さの割に非常にリスクが高い手法なんですが、自分が言いたいのはそんなことじゃなく、ここまで容易に割り出せてしまうクレジットカードの制度自体に問題があると思うのです。今時ナンバーと有効期限だけで認証が通ってしまうシステムってどうなのさっていう話で。

*1) どうやって算出するのかというと、『MOD10』アルゴリズムを用いて算出します。これについては他のサイトをご覧になったほうが容易に理解できると思います。このアルゴリズムの致命的な問題としては、残りの数値からチェックサムの値が一意に推測できてしまうという点でしょうか。これによって桁が1つ少なくできてしまうので。

2009/07/14

ヤスオクと人間心理、上手い商売

新感覚オークション「ヤスオク」の仕組み - いぬビーム
http://d.hatena.ne.jp/kusigahama/20090713/1247446523

とりあえず何も読まずに開いて、どういうサイトなのか考えてみてください。

ヤスオク

内容は上の記事を読んでみれば分かるとして、なかなか上手い商売を考えつくものだなぁと思います。きな臭いとか、実際にやってみたいかどうかは別として。

さて、記事では胴元にとても有利なギャンブルとあります。それじゃあどれくらい有利なギャンブルであるのか、ちょっと確かめてみることにします。

まず、初めのオークション開始価格をS0、市場価格(この場合ですとamazonの価格ですね)をSm、入札単位金額をα、入札回数をn、入札手数料をpと定義すると、主催側の儲けは以下のように定式化できます。

Slastはオークションでの最終価格です。

逆に主催側の損失はSmだけです。これより、主催側の儲けと損失の和がちょうど0になるような入札回数n~は以下のような方程式を解けば算出できます。

これよりn~が求まったので、主催者が損しない最低限のラインである入札金額S~は以下のように求まります。

今回の場合ですとα=15、p=75、S0=0であるので、S~は

以上より、大体市場価格の17%くらいの価格を越えれば主催側は特をするわけです。言い換えれば83%オフの値段より落札価格が越えれば元がとれると。

このシステムの秀逸なところは、人間の価値関数を上手く利用している点にあります。プロスペクト理論によると、人間は損をすることを極端に嫌がります。そして殆どの場合、そのまま損失を認める選択肢を選ぶよりは、多少のリスクを背負ってでも損失を回避しようとする選択肢を選ぶわけです。今回の場合ですと75円損失して入札するというリスクを背負うわけですね。

それじゃあどうやって主催者を打ち負かせればいいのかというと実は簡単で、裏で話し合って誰も争うことなく次々と落札すればいいんです。いわゆる談合です。
ざっと利用規約を見た感じですと談合しないでくださいとは書いてありませんし、誰かやってくれないでしょうか(笑)

追記
typo ×ヤスログ ○ヤスオク
他、表記をより適切なものに修正致しました。

2009/05/14

東北大院生の自殺は決して対岸の火事じゃない


"Resume the suicide" by gfbpublez

東北大大学院生が自殺…博士論文、2年連続受け取り拒否され

東北大の理学研究科って…まんまうちの学部生が行くとこじゃないですか…
まさかこのまま順調に進めば進学するであろう大学院で自殺が起こるなんて。流石にショックです。

事件の内容はニュースに書いてある以上のことは知らないので、自分がいるキャンパスでの様子を書いていきますね。

まず東北大学理学部のキャンパス(青葉山キャンパス)っていうのは人里離れた山の上にあって、基本的に学生や大学院生はバスやバイクなどで通学します。5分くらい歩けば工学部のキャンパスに着くんですが、工学部に行くのはせいぜい図書館で珍しい本を借りることくらいしかないので殆ど行くことはありません。

そんな環境ですので、必然的に理学部の人間は山の上という隔離された空間の中で勉強にいそしむことになるわけです。大学院生でしたら泊まりがけの研究とかやることもあると思いますので、より環境的には隔離された状況なのかもしれません。自分はそれが嫌なので授業が終わったらさっさと山を降りて部活だのサークルだのやるようにしています。

で、今日のお昼休みでのこと。理学部の生協はいつものように理学部の学生と大学院生でごった返していたわけですが、テレビの前で学生がみんな微妙な表情で立ち止まっているんです。こんな状況は今まで見たことがなかったので、どうしたんだろうと思い自分もテレビの画面を覗き込んでみると、NHKニュースのテロップには東北大学院生自殺の文字が。
自分がこのショッキングなニュースを知ったのはこのときでした。殆どの学生もそうだと思います。風の噂ほども聞いたことがなかったので、もしかしたらその研究所には箝口令がしかれていたかもしれません。

各自テレビを見ながらいろんなを言葉を口走っています。
「勉強一筋の真面目ちゃんだったからこんなことで死にたくなるんじゃない?」とか、
「いや、自分も2年連続で受け取り拒否されたら死にたくなるかもしれない」
とかです。そのニュースが終わった後、学生たちは散らばって各自のテーブルで議論を飛ばしていました。

これは自分の異見なのですが、やはり理学部の研究室という非常に閉鎖的な環境だったからこそ起こった事件なのかなと思います。せめて他に論文を審査してくれる教授がいたのなら。合わなければ研究室を変えるという選択肢があったのなら。アカハラを行うクソ准教授を訴える場所があったのなら。こういう事態は起こらなかったかもしれません。

あーーーそれにしてもこの先どうしようーー理学部は就職先もないしーーーお先真っ暗だーーーー

2008/10/04

エッシャーくん、広がる。

なんか様々な方が様々な実装方法でエッシャーくんを作っているようですね。ここまで話が広がるとは思っていませんでした!

アニメーションでぐるぐるさせている方もいまして、自分としてはとっても大満足なんですけど、やっぱりリアルタイム処理はできなさそうですね…アルゴリズム上、どうしてもサイクル数がバカ高いexp,log,sin,cosなどの関数を全ピクセルに対して行う必要がありますから、全体の計算量が半端ないことになってますし。

仮にこのコードをC/C++にrewriteして実用化させようとかいうときには、やっぱり速度とかに気をつけなければならないんでしょうね。やっぱりpythonだけでなく、もうそろそろC++について本格的に学ばないと。
(それはそうとして、gccやLLVMの最適化処理って現状ではどうなっているんでしょうね?もはや人様が下手に最適化するよりも効率が良くなったりしているんだろうか?)

2008/08/11

Django始めました。

っていうとなんか冷やし中華っぽいですよね。

というわけで、新しくDjangoの勉強をすることにしました。ここでジャズ好きの人は「ラインハルトの勉強って…ジャズでも始めたんかい」って思うかもしれませんが、このDjangoはpythonで動くWebアプリケーションのフレームワークなんです。

Django(ジャンゴ)は、Pythonで実装されたWebアプリケーションフレームワーク。 model-view-controller デザインパターンを緩やかに従う。 もともとはローレンス (カンザス州)にある World Companyのために、ニュース系のサイトを管理する目的で開発され、2005年7月に BSD License で公式にリリースされた。フレームワークはバンド gypsy jazz のギタリスト ジャンゴ・ラインハルト にちなんで命名された。(From Wikipedia)

あぁなんてマニアックなんでしょう。すいませんこんなつまんないブログで。でもやってみたかったんです。とりあえず勉強してるんですから、なんか成果を出すことができたらいいですね。

追記
あーでもジャズもなんか面白そうですよね。やってみたい。

2008/07/25

CodeReposをやることにしました。

CodeReposのcommit権作っといたよーっいうメールが届いてました!

いままでプログラムを書く際にはローカルなレポジトリを作ってそこで管理するようにしていたんですが、これだと学校などで思いついたアイデアを実装したいときちょっとめんどいですし、なによりネット上で常に最新のリビジョンを公開することができません。
それでいろいろと調べてみた結果、CodeReposが一番自分の目的に合っているようなサービスだと感じましたので、これからはこのサービスを使って開発をしていきたいと思います。

それにしても、このサービスは基本的にハイレベルなプログラマーがちょこちょこcommitしているような印象がありますので、ちょっと緊張しますね。

2008/06/26

これは…

http://jihan.sblo.jp/
KOREHA…ここまで衝撃を受けたブログはもしかして初めてかもしれない。こういう地道な積み重ねは自分にも必要だと思う。

2008/06/04

iPhone meets Softbank mobile

この度、ソフトバンクモバイル株式会社は、今年中に日本国内において「iPhone」を発売することにつきまして、アップル社と契約を締結したことを発表いたします。
「iPhone」について | ソフトバンクモバイル株式会社

おお〜!!!!ついに日本でiPhoneが販売されるのか〜!でもまさかソフトバンクとは思わなかった…

正直パケット代とかCMとかどーなるんでしょー?あのお父さんCMで出すんでしょーか?うーん…

2008/05/24

う〜ん…

最近は映像だけじゃなく、投資についての勉強を両方してる感じなんで、もういい加減このブログのタイトルを変えるか、新しくブログをブランチする必要がでてきました。正直ダサいですしねこのタイトル。むぅ…今はまだ考え中ですけど、数日中に決める予定。

どっちにしろ、自分が書く情報がだれか他の人の役に立てるような記事を書きたいと思っています。映像にしろ金融工学にしろシステムトレードにしろ、そういう情報を日本語で公開しているとこって書籍でもネットでも少ないですし。

まだ自分は大学2年生なのであんま大したことは書けないですが、自分ができる最大限のことを実行していきたいと思います。更新量が他のブログと比べて極端にすくないこのブログですが、1人でも読んでくれる人がいるかぎりまだまだやっていくつもりですので、どうぞよろしくお願いします。