ラベル science の投稿を表示しています。 すべての投稿を表示
ラベル science の投稿を表示しています。 すべての投稿を表示

2006-10-07

逆正弦定理

猫だっていろいろ考えているんです : 逆正弦定理

RinRin王国経由。逆正弦定理というのは良く分からないんだけど、リンク先のシミュレーションが気になる。


コインの裏、表を出す乱数はC言語のrand()関数を利用した。

と書いてあるからだ。奥村先生の本だったと思うのだけど、rand()関数の乱数としての性能はあまりよろしくないらしい。

まあ、「ツキの法則」はシミュレーションに頼らなくても日常で実感できている(させられている、と言ったほうが正確かもw)から、どんな乱数発生手段を使っても結果は変わらないと思うのだけど。

ところでたまたま前日にJIS Z 9031(乱数発生及びランダム化の手順)なんてのを発見していたのだけど、メルセンヌツイスターアルゴリズムまで載っていてちょっと感心。

P.S. OpenSolarisもglibc(のデフォルトPRNG)も線形合同法だった。

TEXHNOLYZEキターーー

ロボット義手を移植した女性 - Engadget Japanese

うーん、技術/医学の進歩ってすごいねえ。そのうち重いケガをした人だけじゃなく、一般の人もこういう機械のボディを使う攻殻機動隊な時代がくるかもしれないね。

自分としては機械の埋め込みはあまり必要性を感じないけど、頭の中にヘッドフォンを組み込みたいとひそかに思っていたりして。単純作業(仕事含むw)をする時、音楽が流れてないとダメなんだよね。素で電波を受信できる人になってしまうのかもしれないけど。

元記事の
資金の多くを提供しているのはもちろんDARPA。義手や義足を一番欲しがっているのが軍隊であることを思えば不思議はありませんが、どう考えても治療ではない方向の応用も狙っていることは間違いありません

だけど、これもまた映画の世界だなあ… リーサルウェポンだっけ?

2006-07-29

失敗知識データベース

「失敗知識データベース」は知識の宝庫!?

存在は/.jで知っていたのだけど、なんとなく読む機会がなかった失敗知識データベース。紹介記事を読むとやっぱりおもしろそう。

あーでもやっぱどうなんだろうなあ… いや、データベースそのものが面白いとしても、自分が「楽しめるか」というところが微妙。図面のラベルを「ちょっと」間違えただけなのに、部長と役員の前でレビューさせられた人が最近身近にいたので orz...

2006-07-18

電卓さらに続き

Windowsと浮動小数点演算の誤差を調べてみる。

JDS(GNOME): [1][tan/atan][*][4][-][PI][=]で"0"表示、このまま[1/x]を押すと"11136696004.299135332"

Windows: [1][tan/atan][*][4][-][PI][=]で"-1.393267707463821448075635979701e-37"表示、このまま[1/x]を押すと"-7.1773715463506261657687196560427e+36"

…CPU/FPUは同じはずなんだけどねえ。πの定義が違うのかな?

JDS=3.141592653, Windows=3.1415926535897932384626433832795

違うらしい… これでいいのかJDS(GNOME)… orz

ちなみにWM5(RPN Calculator on W-ZERO3)では[1][atan][4][*][pi][-]で"0"を表示、[1/x]で"INV Error: Division by zero"。なかなかすばらしい。

電卓続き

Windowsの電卓ソフトは有理数を正確に扱えるらしい。
つまり1/3*3を計算させるとぴったり1になるとのこと。おお、知らなかったよ。実際に試してみても、確かに浮動小数点化したことによる誤差がでないようだ。すげー。

JDS(GNOME)で同じことを試すとどうなるか。1/3*3を計算させてみると"1"の表示。でもこれは単にまるめられているだけだろう。この状態で[-][1][=]を押してやると、"-0"の表示になる。さらに[1/x]を押してやると、"-1.004336278e+59"の表示に。まあ普通に作ればこうなるよね。

ところで、学生時代はSHARPのPC-U6000というポケコンを使ってたので、関数電卓は社会人になってから買った。
シチズンのSRP280Qだけど、とくにこだわりもなく、傷モノが1000円くらいで売ってたので買ってみただけである。
入力は数式を入力するタイプ(ってHP以外は当たり前か)で、演算子の優先度を考慮する([=]キーを押すまで計算されない)。グラフ機能なし、統計機能あり、ビット演算なし、財務機能なし。カーソルキーを多用するところが利点であり、欠点。だれか他に持ってる人いるのかなあ…

Tom Boldt's RPN Calculator

W-ZERO3用のよさげな電卓ソフトはないものかと思っていろいろ調査。Hello worldと電卓はプログラミング入門の二大テーマだが(ちょっと嘘)、10/16進数の四則・論理演算がきっちりできるものはあまり多くない。しかもWM5用のフリーのものとなると… また、RPN電卓にもちょっと興味があるので、これをサポートしてればなお良し。

というわけで週間Windows CE通信経由でHP16Cエミュレータを探してみたがデッドリンク。

で、HP電卓が一種のステータスwになっているらしいのでEmu48というエミュレータを探し出してインストール。…すごい高機能ですなあ。方程式を解く機能があるらしいので、多項式を入れたら余裕で解く。まあそれは簡単すぎかなと思って、ためしに入れてみたsin(x)+cos(x)=0をあっさり解いてしまってちょっと興奮。作った人、いい仕事してますなあ。

んがこのEmu48、動作がかなり重い。キー入力がすぐに確認できないようでは実用にならないので、残念ながらパス。とはいえかなり勉強になりそうなので、時間があったらマニュアルでも読んでみますか。

次にHP11Cというプログラマ向け電卓のシミュレータをゲット。
何のシフト動作もなしにA〜Fを入力でき、ビット演算はもちろん、シフト演算、はてはローテート演算までやってのけるところは確かに計算機屋が喜びそうなところだ。操作もきわめて軽快。ただ、残念ながら10進実数演算がかなり弱い。[f][FLOAT]で有効桁(表示桁かも)を設定してやらないと、妙に桁数が少なく表示されてしまう。とどめにフリーソフトではない。よってパス。

というわけで、Tom Boldt's RPN Calculatorを試しているところ。

しかし、普通の用途では100円ショップの電卓で済ましているけど、実はかなり濃い世界だったのね… いろいろ勉強になりました。

2006-07-16

Bayesian推定を使ったファイル分類プログラム

CG定点観測などのサイトを巡る身としては、落してきた画像ファイルの分類は結構めんどうな作業だ。そこで、URL文字列に基づくBayesian推定を利用するファイル分類プログラムwを作り始めたり。

幸い、いままで「/a/flower/カテゴリ/image/取得元URL」というルールで画像ファイルを格納してきた。例えばダウソ元がhttp://www.haruhi.tv/img/sos_logo.gifならば、/a/flower/s/suzumiya_haruhi_no_yuuutu/image/www.haruhi.tv/img/sos_logo.gifに格納するといった具合。

だから、分類プログラムは/a/flower以下を走査し、カテゴリと分類キーワードを抜き出して出現確率を学習してやればよい。分類キーワードはURLから抜き出すものとし、上記の例ならば「www.haruhi.tv」「www.haruhi.tv/img」「sos_logo」が分類キーワードになる。

…で、試作品ができた。実行はこんな感じ
% java Bic learn
% java Bic prob nagato
P(An[s/suzumiya_haruhi_no_yuuutu])=577/23472 P(Bm[nagato])=43/92485 P(Bm|An)=41/2210 P(An|Bm)=0.9808896341240785

% java Bic prob sakura
P(An[c/card_captor_sakura])=465/23472 P(Bm[sakura])=42/92485 P(Bm|An)=35/2338 P(An|Bm)=0.6530529632379997
P(An[d/dc_da_capo])=177/23472 P(Bm[sakura])=42/92485 P(Bm|An)=1/684 P(An|Bm)=0.024276667975038708
P(An[n/nanika])=54/23472 P(Bm[sakura])=42/92485 P(Bm|An)=3/187 P(An|Bm)=0.08127281866455452
P(An[@Circle/neko_ni_terumin])=361/23472 P(Bm[sakura])=42/92485 P(Bm|An)=1/1467 P(An|Bm)=0.02308601651808125
P(An[m/mahojin_guruguru])=1304/23472 P(Bm[sakura])=42/92485 P(Bm|An)=2/5330 P(An|Bm)=0.04590418614808859

sakuraというキーワードから木之本桜だけではなく、芳乃さくら・任意さくらも自動的に候補としてくれるあたりが面白い。サクラ大戦の画像はほとんどないので、当然これはひっかからない。

んが、
% java Bic prob nanoha.com
P(An[l/lyrical_nanoha])=3229/23472 P(Bm[nanoha.com])=19/92485 P(Bm|An)=19/12567 P(An|Bm)=1.0124128163161337


100%越えてるよ!?www

2006-07-03

地図データ

W-ZERO3 Monitorがらみで公共の地図データを探していたのだけど…
なんだかずいぶん種類があるのにびっくり。

総務省統計局の統計GISプラザ(http://gisplaza.stat.go.jp/GISPlaza/)
国勢調査の結果を表示するために町丁・字等境界データもダウンロードさせてくれる。

国土交通省国土計画局の街区レベル位置参照情報ダウンロードサービス(http://nlftp.mlit.go.jp/isj/index.html)
街区単位の位置座標(代表点の緯度・経度、平面直角座標)がわかる。
使用条件的には一番融通が利いて使いやすい。

同じく国土交通省国土計画局の国土数値情報(http://nlftp.mlit.go.jp/ksj/index.html)
交通だけでも道路・鉄道などの基本的な情報だけでなく空港・航路も載ってるらしく、
さらには土地の利用用途・地価(笑)・公共施設などのデータも入っている。
これも使用条件的には使いやすい。

最後に国土地理院の数値地図(空間データ基盤)(http://sdf.gsi.go.jp/)
1/2500と1/25000のデータが入っていて、相当細かい(3m幅くらいの道路くらいまでは載ってる)街区データや、行政区分(番地表示)が入っている。
詳細さでは一番なんだけど、法律の関係か使用条件はかなり厳しい。

とこんな感じっぽい。
…まあ、用途ごとに調査項目が違うから、こんな別れてるんでしょうね(と信じたい)。
国土計画局と国土地理院でそれぞれ航空写真の閲覧サービスがあるらしいし…