期待値

期待値はあくまでも平均的にはその値が期待されているということなので、その試行を1回しかしない場合は参考にしかならない。例えば、1000万円もらえるとして、成功率75%の倍プッシュをするべきか考えているという状況を考える。期待値は1000万円×2×75%=1500万円となるので、500万円儲かることが期待される。しかし、もし運悪く25%の確率で失敗した場合は、もらえるはずだった1000万円を失い、そのことをずっと後悔することになるかもしれない。

ところが、試行を何回も行ってその平均をとるとすると状況がかなり変わってくる。例えば、上の試行を100回行ってその平均をとることを考える。このとき、50回以上成功すると1000万円以上もらえるわけだが、その確率は Maxima だと以下のように計算される。

load(distrib);
1-cdf_binomial(50-1,100,3/4);
float(%);

ここで cdf_binomial(50-1,100,3/4) は3/4の確率で成功する試行が100回中0回から49回成功する確率を計算する。以下にいくつかの場合についての結果を示す。

n 回以上成功 確率(近似値) x 万円以上を得る
50 0.99999998 1000
60 0.9997 1200
70 0.896 1400
75 0.553 1500
76 0.462 1520
80 0.149 1600
85 0.0111 1700

Ζガンダムで原子を覚える

スコッチ暴露マン(ScTiVCrMn)までの最初の25個は多少のバリエーションはありつつも定番のものがある。その続きについても有名なものがあるようだが、Ζガンダムをテーマに独自のものを考えてみた。原子番号26の鉄(Fe)から原子番号36のクリプトン(Kr)までの11個の原子を以下の表に示す。

原子番号 記号 名前
26 Fe
27 Co コバルト
28 Ni ニッケル
29 Cu
30 Zn 亜鉛
31 Ga ガリウム
32 Ge ゲルマニウム
33 As ヒ素
34 Se セレン
35 Br 臭素
36 Kr クリプトン

覚え方:

哀(iron)戦士フルコーラス(FeCo)二周(NiCu)するジオン(Zn)軍。
時は過ぎ、Ζガンダム(Ga、アナハイム・エレクトロニクス(=ae=GaGe)社製)にヴィクトリアズ(As)・シークレットを着用して乗り込むセイラ(Se)さんの写真(ブロマイド=Br)を見ているカクリコン(Kr)がいた。

  • どうしてセイラさんがΖガンダムに乗っているのかは不明。
  • 当然だが、カクリコンはセイラさんが何を着用しているかは知る由もない。また、ブロマイドとあるように、ディスプレイに映された画像を見ているのではなく写真を見ている。ただし普段はアメリアの写真を見ているのであって、他意はない。
  • 最近ヴィクトリアズ・シークレットが批判されることがあるようだが、この覚え方においては(肯定的あるいは否定的な)政治的意図はない。

次に原子番号77のイリジウム(Ir)から原子番号84のポロニウム(Po)までを考える。ところでタリウムが有毒であることは知っていたが、炎色反応は緑色であり、それが名前の由来にもなっている。

原子番号 記号 名前
77 Ir イリジウム
78 Pt 白金
79 Au
80 Hg 水銀
81 Tl タリウム
82 Pb
83 Bi ビスマス
84 Po ポロニウム

覚え方:

Irパーティー(Pt)開催中のエゥーゴ(AuHg)からTEL(Tl):「生(鉛=Pb)ビール(Bi)とポン・デ・リング(Po)を至急頼む」

  • Irパーティー=私(I)は赤い(red=r)彗星だパーティー(クワトロ主催)。
  • エゥーゴは本当はA.E.U.G.らしいが*1、仕方ない。
  • 電話は主催者のクワトロがかけている。

*1:公式サイトにはA.U.E.G.の表記もあり、はっきりしない。

ベータ関数

ベータ関数

ベータ関数は次の(広義)積分で定義される。

B(\alpha,\beta)=\int_{0}^{1} t^{\alpha-1} (1-t)^{\beta-1} dt

ここで\alpha,\beta>0としている。ただし、実際は解析接続されて、ガンマ関数による次の表示をもつ:

B(\alpha,\beta)=\frac{\Gamma(\alpha)\Gamma(\beta)}{\Gamma(\alpha+\beta)}

特に、\alpha,\betaが正の整数のときは

B(\alpha,\beta)=\frac{(\alpha-1)! (\beta-1)!}{(\alpha+\beta-1)!}=[(\alpha+\beta-1)\begin{pmatrix}{\alpha+\beta-2}\\{\alpha-1}\end{pmatrix}]^{-1}

と書ける。

不完全ベータ関数

次にベータ関数の一般化として、不完全ベータ関数(incomplete beta function)を次のように定義する:

B(x;\alpha,\beta)=\int_{0}^{x} t^{\alpha-1} (1-t)^{\beta-1} dt

ただし、冪を定義するために[tex:0

正則化されたベータ関数

ここまでの結果は確率の計算に応用される。まずは正則化された不完全ベータ関数(regularized incomplete beta function)を次で定義する:

I_x(\alpha,\beta)=\frac{B(x;\alpha,\beta)}{B(\alpha,\beta)}

以下では\alpha,\betaは正の整数であるとする。上の公式を適用することにより、

I_x(\alpha,\beta+1)-I_x(\alpha+1,\beta)=\begin{pmatrix}{\alpha+\beta}\\{\alpha}\end{pmatrix} x^\alpha (1-x)^\beta

がわかる。従って、

I_x(\alpha,\beta+1)=\sum_{i=\alpha}^{\alpha+\beta}\begin{pmatrix}{\alpha+\beta}\\{i}\end{pmatrix} x^i (1-x)^{\alpha+\beta-i}

を得る。つまり、I_x(\alpha,\beta+1)は例えば表が出る確率がxのコインを\alpha+\beta回投げたときに表が\alpha回以上出る確率に他ならない。この公式は、B(x;\alpha,\beta+1)を普通の多項式積分だと思って直接計算することによっても証明はできると思われるが、計算が大変そうではある。

確率の評価

ここまでの議論により、表が出る確率がpのコインをn回投げてk回以上表が出る確率は、I_p(k,n-k+1)であることがわかった。一方で表が出る期待値はnpである。したがって、k/npよりもそれなりに大きいときは、十分大きいnに対してI_p(k,n-k+1)はほとんど0になるはずである。実際、ヘフディング(Hoeffding)の不等式により、この確率は以下のように上から評価される:

\sum_{i=k}^{n} \begin{pmatrix}{n}\\{k}\end{pmatrix} p^i (1-p)^{n-i} \leq \exp(-2(np-k)^2/n)=\exp(-2n(p-k/n)^2)

この不等式はもう少し一般的な状況でも成立するが、その証明はなかなか見事というか面白い。因みにベータ関数は使わない。

表が出る確率が50%のコインと51%のコインがあったとする。この2つを見分けようとしたときに誤認する確率を考えてみる。実際には50%の方のコインだったとして、それを51%の方だと誤認する確率は、 n 回コインを投げた場合は

[tex:F(n)=I_p*1。例えば n=1000 のときは、505回以上表が出てしまうと誤認してしまうというわけである。いくつかの n に対する F(n) の値をまとめた*2

n F(n)
10^3 0.388
10^4 0.161
10^5 7.91*10^-4
10^6 7.69*10^-24

例えば10万回コインを投げれば誤認する確率は0.08%以下ということになる。 F(n) のグラフを以下に示す。青が F(n) で赤が上で与えた評価(上限)であり、縦軸は対数をとっている。従って上限は傾きが-2(p-k/n)^2=5 \times 10^{-5}の直線となる。見たところ、直線を使う限りにおいては、この評価は最良かそれに近いようである。

参考文献

*1:0.505) \times n,(0.495) \times n+1), \quad \quad \quad p=0.5] で与えられる((端数はあまり気にしないことにする。

*2:計算には Maxima を使った。

ミンコフスキー計量

メモ

ローレンツ計量(符号が(1,n-1)の計量)は双曲空間を埋め込む空間の計量として見かけることはあるが、相対性理論においては時空の4次元空間の上のミンコフスキー計量(符号が(1,3))を考えるものらしい。ある慣性系(加速していない系)の空間の座標が (x,y,z) で時間が t のときに、計量は
ds^2=dt^2-dx^2-dy^2-dz^2
で与えられる。ここでは光速が1になるように正規化した座標を考えている。この計量を使うことで、双子のパラドックス(直観的にどうかはともかく、理論上はパラドックスではない)として有名な宇宙船で宇宙旅行して帰ってくる例について計算することができる。宇宙船は地球を速度 v で出発して、同じ速度で帰ってくるものとする。上で述べたような正規化された座標を考えているので、宇宙船は光速の v 倍で移動する。速度 v は 1 を超えない。従って宇宙船の人と地球にいる人の (t,x,y,z) 空間における軌跡は下図のようになる(それぞれ赤と青の矢印を付けた)。

ただし、地球から見た座標系を使っている。また、宇宙船は (t,x) 平面から外には出ないものとして、座標 y と z は無視している。時刻 t=t0 のとき(地球から見て)、宇宙船は折り返していることになる。往路の宇宙船から見た座標系の場合は下図のようになる。

光速不変の原理より座標系を変えても計量 ds は変わらない。2つの図において、往路の宇宙船の経路に沿って ds を積分すると、
t0 (1-v^2)^1/2=t1
という等式を得る。宇宙船が地球に戻ってきたとき、地球では時刻 t=2 t0 となっている。一方で宇宙船の時計は時刻 t=2 t1 を指し示している。つまり、往路に対応したベクトル (t0,v t0) の(計量 ds についての)長さは t1=t0 (1-v^2)^1/2 であって、復路に対応したベクトル (t0,-v t0) も同じ長さをもっている。地球と宇宙船で経過した時間の比は (1-v^2)^1/2 で与えられることになる。

foobar2000 の titleformat のメモ

音楽再生ソフトの foobar2000 には titleformat という機能(スクリプト?)があって、曲名やトラック番号の表示を調整することができるわけだが、それについてのメモ。例として、設定(Preferences)の Display -> Default User Interface -> Playlist View において次のような項目を作る。

これをグループ分けに適用すると、次の画像の青文字の部分が得られる。適用するには、 Display -> Default User Interface で Enable layout editing mode に一旦チェックを入れてから本体の適当なところで右クリックして Group から追加した項目を選択すればよい。

少し説明すると、 %album artist% でファイルの album artist の値が得られる。これが四角い括弧で囲まれているので、もし値がなければこの部分は無視されて、値がある場合はその値に" - "を付け加えた文字列が表示される。それにさらにアルバム名(%album%)を付け加えたのが青文字の行となる。画像を見るとわかるように、これだと album artist が違うがアルバムは同じ場合も別のグループとして分けられるのが問題ではある。

コマンドの詳細については次が参考になった。
Title Formatting - foobar2000 Wiki*
また、例を見てみたい場合は次にいくつか挙げられている。
Foobar2000:Titleformat Examples - Hydrogenaudio Knowledgebase

実際のところ、元の設定で大体満足していたのだが、CD2枚組とかではないのにいちいちトラック番号にディスク番号も表示されるのが気になっていたので、これの改良を試みた。以下が自分なりに考えた結果である。

$puts(discnum,
 $ifgreater(%totaldiscs%,1,%disc number%,)
)
$puts(tracknum,
 $if(
  $and(%totaltracks%,$not(discnum)),
  $ifgreater(%totaltracks%,9,%track%,$meta(tracknumber)),
  %track%
 )
)
$if(
 %track%,
 $ifequal(%totaltracks%,1,,[$get(discnum)-]$get(tracknum)),

)

空白と改行を除いたもの。

$puts(discnum,$ifgreater(%totaldiscs%,1,%disc number%,))$puts(tracknum,$if($and(%totaltracks%,$not(discnum)),$ifgreater(%totaltracks%,9,%track%,$meta(tracknumber)),%track%))$if(%track%,$ifequal(%totaltracks%,1,,[$get(discnum)-]$get(tracknum)),)

何が起きているかというと、まず %totaldiscs% が値をもっていて1より大きい場合は(新たな)変数 discnum にその値が入る。そして、変数 tracknum にはトラック番号を入れるわけだが、トラックの総数が9以下の場合は1桁、10以上の場合は2桁(01,02,...)で表すようにしている。そしてそれを (discnum)-(tracknum) の形で表示する。但しそもそも %track% が値をもたない場合やトラックの総数が1の場合は空欄にすることにした。なお、実際に入力するときは空白や改行は全て削除してから貼り付ける必要があるようだ。また、例えば totaldiscs はプロパティでは Total Discs と表示されているが、クリックしてみると Fieldname: TOTALDISCS と書いてあるので、空白を入れない方でないとうまくいかない。

この titleformat は極めるとかなり高度なこともできるらしい。

スペシャルズ

The Specials - Nelson Mandela

アパルトヘイト運動で有名な曲らしい

マディーバ(ネルソン・マンデラ)の真の追悼とは

ビデオニュース

The Specials - Racist Friend