パソコンを地下鉄の網棚に置き忘れ

今日ほんとは飲み方だったのだが、毎コミで軽い打ち合わせを終えいざ移動というところでノートパソコンがないことに気づいた。
六本木ー茅場町日比谷線で網棚に置き忘れた!
幸い北千住で保管されていることが判明し、竹橋からすぐ取りに行き今、無事家に帰還。
すべてはiphoneのせいです。

とさっきtwitterに書き込んだのだが、無事取り戻せたのもラッキーだったが、受け取りが北千住で済んだのも実にラッキーだった。
私が乗ったのは19:44六本木発北千住行。
この時間帯4分に1本出ていて、前後の電車の行き先を見てみると・・。
32分 東武動物公園
36分 竹ノ塚行
40分 北越谷行
44分 北千住行 ←私が乗ったやつ
48分 東武動物公園
52分 北春日部行

一番マシな竹ノ塚だって北千住と比べれば往復20分くらいは違うし、他のどこに行っても往復1時間以上余計に時間がかかるところだった。
網棚の上のパソコンもそんな長旅をするうちに誰かが持って行ってしまわないとも限らないし。

メジャーリーグの数理科学

メジャーリーグの数理科学、上下巻を図書館で借りてきて斜め読みした。
自分のような数字好きにとってはいろいろ面白い統計が載っていて楽しめた。

以下一部抜粋。
1.最小2乗法による得点への貢献率(1954-99年データより)
単打:0.52、二塁打:0.66、三塁打:1.17、本塁打:1.49
=> 平均するとホームランは単打3本分くらいの価値ってことか。
長打率の1:2:3:4は極端、前にOPSという指標が得点との相関が高いそうだと書いたが2:3:4:5なので確かに上の比率により近い。
なるほどー。

2.アウト数、塁の埋まり具合状況別期待得点(1963年データより)
アウト数の種類(3通り)×3つの塁の埋まり具合(2^3=8通り)=24通りごとに期待得点が載っている。
これで個人的に一番興味があるのはノーアウト1塁と1アウト2塁での期待得点。
要は送りバントが有効かどうかが知りたい。
これは前者0.813対後者0.671となる。
この結果から単純に考えると、送りバントによりわざわざ0.142点も期待得点が低い状態に自ら遷移していることになる。
ただし、期待値は低くても1点以上取る確率は高いという可能性もある。
例えば最終回で同点というような局面では、5点も6点も取っても意味がないがとにかく1点欲しいという状況になるので期待値はあまり意味がない。
ではその数値はどうか。
ノーアウト1塁で1点以上得点する確率:0.396
1アウト2塁で1点以上得点する確率:0.390
これはかなり僅差になったが、この結果からも送りバントが有効でないという結論が出てしまう。
あと、ノーアウト2塁と1アウト3塁という送りバントがよく使われる状況も見てみたが、これは期待得点はやはり前者が高い(1.194 > 0.980)が、1点以上取る確率は後者が逆転している(0.619 < 0.693)。
いやー面白い。
もちろんこれらの数値はだいぶ昔の大リーグの平均的打者と平均的投手の対戦の数値なので、あらゆる状況で送りバントが否定されるようなものではもちろん全くないのだが、監督の勘ピューターでやらせていると損をしているかもしれないということくらいは示唆しているんじゃないだろうか。

美しすぎるプログラム

前に私が書いたプログラムです。
これはある問題に対する解答なんですが、ネタ狙いじゃなくて真面目に考えてこのコードに辿りつきました。
視覚的にこれ以上美しいプログラムはそうそうないんではないかと自負していますがいかがでしょう。
メイン部分はなんと11重ループです。
これが何を求めるプログラムか分かった人には・・何もあげませんがすごいです。
あるウェブサイトで出されている問題の一つなので知ってる人は知ってるかもしれないですが。


#include
#include
using namespace std;

long long dp[18][4][4][4][4][4][4][4][4][4][4];

#define FORN( n ) for ( int i##n = 0; i##n < 4; i##n ++ )

int main()
{
memset( dp, 0, sizeof( dp ) );

FORN( 0 ) FORN( 1 ) FORN( 2 ) FORN( 3 ) FORN( 4 ) FORN( 5 ) FORN( 6 ) FORN( 7 ) FORN( 8 ) FORN( 9 )
dp[0][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] = 1;

for ( int r = 1; r <= 17; r ++ )
{
FORN( 0 ) FORN( 1 ) FORN( 2 ) FORN( 3 ) FORN( 4 ) FORN( 5 ) FORN( 6 ) FORN( 7 ) FORN( 8 ) FORN( 9 )
{
if ( i0 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0+1][i1][i2][i3][i4][i5][i6][i7][i8][i9];
if ( i1 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0][i1+1][i2][i3][i4][i5][i6][i7][i8][i9];
if ( i2 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0][i1][i2+1][i3][i4][i5][i6][i7][i8][i9];
if ( i3 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0][i1][i2][i3+1][i4][i5][i6][i7][i8][i9];
if ( i4 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0][i1][i2][i3][i4+1][i5][i6][i7][i8][i9];
if ( i5 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0][i1][i2][i3][i4][i5+1][i6][i7][i8][i9];
if ( i6 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0][i1][i2][i3][i4][i5][i6+1][i7][i8][i9];
if ( i7 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0][i1][i2][i3][i4][i5][i6][i7+1][i8][i9];
if ( i8 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0][i1][i2][i3][i4][i5][i6][i7][i8+1][i9];
if ( i9 < 3 ) dp[r][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9] += dp[r-1][i0][i1][i2][i3][i4][i5][i6][i7][i8][i9+1];
}
}

long long res = 0;
res += dp[17][0][1][0][0][0][0][0][0][0][0];
res += dp[17][0][0][1][0][0][0][0][0][0][0];
res += dp[17][0][0][0][1][0][0][0][0][0][0];
res += dp[17][0][0][0][0][1][0][0][0][0][0];
res += dp[17][0][0][0][0][0][1][0][0][0][0];
res += dp[17][0][0][0][0][0][0][1][0][0][0];
res += dp[17][0][0][0][0][0][0][0][1][0][0];
res += dp[17][0][0][0][0][0][0][0][0][1][0];
res += dp[17][0][0][0][0][0][0][0][0][0][1];

cout << res << endl;

return 0;
}

清水 - あから戦 展望

いよいよ間近に迫った清水 - あから戦。
清水さんの得意戦法と言えば相掛かりとか右四間とかのイメージ。
正直言ってコンピュータ相手にぶつけたら相当やばそう。
私の希望としては徹底的に勝ちに行く将棋が見たい。自分のいつもの戦い方で正々堂々とかじゃなくて。
人間が勝つイメージとしては局所的なテーマ性のある戦い、一点突破とか、と金づくりとか。逆に盤面全体の複雑な戦いになったら厳しいだろう。
やはり穴熊、しかも自分から組める振飛車穴熊しかない??
清水さんが本当に振り穴にしたらかなり驚きだが、さてどうなるか。

イチロー>松井?

世間ではイチロー松井秀よりもはるかにすごい打者だと思われているみたいだが、純粋な打者としての実力を見た場合、松井はイチローよりも上の打者であると言わざるを得ないと思う。
まず打率の平均の比較。日本でもメジャーでもイチローが4分から5分勝っている。
(以下のデータは2009年までのもの)

打率日本MLB
松井.304.292
イチロー.353.333
一方、出塁率を見ると日本、メジャーいずれでも差は1分もない。 実は松井はイチローと遜色ないくらい塁に出ている。
出塁率日本MLB
松井.413.370
イチロー.421.378
次に長打率。単打=1、二塁打=2、三塁打=3、本塁打=4の重み付き打率。 これはやはり松井が上。
長打率日本MLB
松井.582.482
イチロー.522.434
最後にOPS。これは出塁率長打率で、四死球=1、単打=2、二塁打=3、・・の重み付き打率に相当する。 wikipediaによると、得点との相関係数が非常に高い指数らしい(打率=0.849、出塁率=0.910、長打率=0.913、OPS=0.955)
OPS日本MLB
松井.996.852
イチロー.943.811
以上、打者として松井>イチローは自明、ですよね? もちろん、得点への貢献度という点では全く同じでも、エンターテイメントとしては内野安打>四球かもしれないし、プロ野球選手としてのトータルの価値は、イチローと松井の年俸の差が物語っているのかもしれないが、打者として松井が不当に低く評価されているように見える現状には一言申しておきたい次第です。

Googleトレンドが面白い

初めてGoogleトレンドを使ってみたが、なかなか面白い。
例えばsecondlife
http://www.google.com/trends?q=secondlife&ctab=0&geo=all&date=all&sort=0
2007年に大ブレーク、その後落ちつづけているのが分かる。
その他、linux, RSSなども同様に一貫した下降を示している。
linuxは少し意外な気もしたが、確かに以前はWindows vs linuxという文脈でよく話題になっていたような気もする。
Microsoftの凋落(少なくとも話題性という意味で)と共にlinuxも話題に登らなくなったのかも。
RSStwitterなどにとって変わられているし当然の下降曲線。

また、複数の言葉の比較も出来るので、facebook,myspaceと打ち込んでみる。
http://www.google.com/trends?q=facebook,myspace&ctab=0&geo=all&date=all&sort=0
2008年くらいにfacebookが追いつき、あっという間に大差がついてしまっている。

これらのグラフを見ていて思うのが、株価などと比べてはるかに一方向性があるということ。
天井を打った後、ひとたび下落しだしたらひたすら下落する傾向がある。
ある分野が下降トレンドに入ったら未練を捨てて早めに逃げ出した方がよい?

最後に棚瀬将棋
http://www.google.com/trends?q=%E6%A3%9A%E7%80%AC%E5%B0%86%E6%A3%8B&ctab=0&geo=all&date=all&sort=0
予想どおり2008年5月に強烈なパルスが。
うーん、あの時はyahooトピックスにもなって小学校の友達から連絡来たりしたもんな。
yahooやら新聞やらを見てまったく棚瀬将棋のことなんて知らない人もたくさん検索してくれたのだろう。
そのトラフィックがその場限りのものになったのは、昔はなんとも思わなかったけど、今ウェブサイトなんて運営していると少しもったいない気がするな。