時々帖

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

πの歴史

πの歴史 (ちくま学芸文庫)πの歴史 (ちくま学芸文庫)
(2006/04)
ペートル ベックマン

商品詳細を見る


πを切り口にして,数学の歴史を見ていく本.
数式をなるべく出さないようにする本が多い中,数式もばんばんだしてくる.
証明は結構はしょってるからわからない部分も多いけど,興味深い話が次々とでてくる.

定規とコンパスによる作図が2次方程式をつぎつぎに解いていくことに帰着できる(だからπは定規とコンパスによっては描けない)とか,確率を調べることでπを求めることができる(ビュフォンの針)とか.

実際に試してみたくなったのでPerlでちょっと書いてみた(本にはBASICで書かれたプログラムが載っていた).
ビュフォンの針とは簡単に言うと,針より幅がひろい線分の間に針を落とす試行を繰り返すと,針が線分を交わった回数と試行回数からπが求まるというもの(詳しくはここ).
これをプログラムに繰り返させてみると,実行結果はこんな感じ.
実際のπの値は3.141592653....だから1000万回の試行でも下3桁までしかあってないけどこんなもんか.
これで実行時間は6秒.

 % ./calc-pi-odds.pl 10000000
1000000: 3.14218381775334
2000000: 3.14295165590337
3000000: 3.14264793229479
4000000: 3.14335177171093
5000000: 3.14242178276501
6000000: 3.14205629255686
7000000: 3.14221555374255
8000000: 3.1422782342046
9000000: 3.14162936418134
10000000: 3.1414997456956

**** result ****
trial number : 10000000
calculateed PI: 3.1414997456956
elapsed time : 6.138486
****************


このプログラムでは簡単のために線分間の距離と針の長さは等しいとしてしまっている.

#!/usr/bin/perl

use strict;
use warnings;
use Time::HiRes qw/gettimeofday tv_interval/;

sub calc_pi {
my($trial, $touch) = @_;
if ($touch == 0) { return 0 }
return 2.0*$trial/$touch;
}

my $trial_num = $ARGV[0] || 1000000;
my $mid_num = $trial_num / 10;
my $pi = 3.141592653589793;

my $touch_num = 0;
my $calc_pi = 0;

srand(time);
my $start_time = [gettimeofday];

for my $i (1..$trial_num) {
my ($distance, $angle) = (rand, $pi*rand);
if ($distance < sin($angle)) { $touch_num++ }
if ($i % $mid_num == 0) {
print "$i:\t" . calc_pi($i, $touch_num) . "\n";
}
}

my $elapsed_time = tv_interval($start_time, [gettimeofday]);

print "\n**** result ****\n";
print "trial number : $trial_num\n";
print "calculateed PI: ". calc_pi($trial_num, $touch_num) . "\n";
print "elapsed time : " . $elapsed_time . "\n";
print "****************\n";


Perlでミリ秒をとるのってどうやってやるのかって調べたらこんなモジュールがあるのね(Time::HiRes).
スポンサーサイト

テーマ:読んだ本。 - ジャンル:本・雑誌

  1. 2007/11/25(日) 17:41:24|
  2. 読書
  3. | トラックバック:0
  4. | コメント:0

戦争の常識

戦争の常識 (文春新書)戦争の常識 (文春新書)
(2005/02)
鍛冶 俊樹

商品詳細を見る

戦闘機一機で200億円,ニミッツ級空母一隻で5兆円,激高い!!
昔から戦争にはお金がかかったんだろうけど,今の戦争は桁が違う.
陸,海,空,宇宙,ネットとどこでも軍事的優位を保つために惜しげもなく金をつぎ込み争いが繰り広げられている.
インターネットもGPSもそういう競争の中から生まれたもので,精度のよいGPSは今でもアメリカ軍専用で使わせてもらえないらしい.そう考えると,クローズドな思考をもつ軍事目的でつくられたインターネットからオープンソースなりが出てきたのは面白いな.著者はアメリカはインターネットで世界中を監視するためにインターネットを広めたって言ってるけど,そんな狭い考えを吹き飛ばすような新しい世界が広がりはじめているんだから.

では,新しいロボット技術もそういう軍事競争から生まれてくるんだろうか?
今の戦争は新しい技術を徹底的に使い自国の兵士が死なないようにするっていうことに重点がおかれる.その歩兵のハイテク機器装備化の行き着く先はロボット兵士になる.
きっと一般人からはうかがい知れないところで,日進月歩の開発が行われているんだろうな.
DARPA主催の無人ロボットカーレースUrban ChallengeBigDogを見ると,やっぱそういう文脈で開発したものは強いんだなと思う.
お金と人材,そしてそれをまとめる強烈な意思ってのが必要なのかな?

テーマ:読んだ本。 - ジャンル:本・雑誌

  1. 2007/11/23(金) 22:28:44|
  2. 読書
  3. | トラックバック:0
  4. | コメント:0

ウェブ時代をゆく

ウェブ時代をゆく ─いかに働き、いかに学ぶか (ちくま新書 687)ウェブ時代をゆく ─いかに働き、いかに学ぶか (ちくま新書 687)
(2007/11/06)
梅田 望夫

商品詳細を見る

これからの時代を生きることに対する心構えについて非常に考えさせられる本だ.
前作の「ウェブ進化論」はウェブによって世界が大きく変わろうとしているというのを語っている,いまは時代の転換点なんだということを語ったとてもわくわくさせられる本だった.
それに対し,今作ではそういう時代の変わり目にどうやって生きていくべきかということを自分を含めた様々な人の生き方を示すことで「こういう生き方もあるよ」と語りかけてくる.

著者が示すのは,ひとつの好きを貫き続ける生き方と様々な好きを組み合わせた総合力で勝負する生き方.
僕も,自分が好きだと思ってることに対して自分よりもすごいやつがいてそいつらには敵わないという気持ちがある.
じゃあどういう武器でこれから戦っていくんだってなるとやっぱり総合力ってことになる.
でも自分の総合力の内訳ってなんなんだろうって考えるとわからなくなる.
そういうもやもやした気持ちにこの本が語ってくれたは,自分の志向性に敏感になること,そして発見した志向性を育てることに全力をつくすこと.
これは会社に入っても同じで,与えられた仕事をこなすだけじゃなく,自分の志向と今の力を常に意識しながら仕事を選び,成長していく努力が必要なんだと思う.

いい刺激になりました.

テーマ:読んだ本。 - ジャンル:本・雑誌

  1. 2007/11/19(月) 18:43:38|
  2. 読書
  3. | トラックバック:0
  4. | コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。