球の体積の不思議

最近、Wikipediaで知ったんだけど、球の体積というのは5次元が最高なんだってね。それより高次元だと次元数を上げるほど漸減して、極値は0!


超球でも超立方体でも次元を上げるほど体積は増加すると思ってたから、えらい驚いた。

直径2の円の面積は3.14159265
直径2の球の体積は4.1887902
直径2の4次元球の体積は4.9348022
直径2の5次元球の体積は5.26378901
直径2の6次元球の体積は5.16771278
直径2の7次元球の体積は4.72476597

…うわー減りだしたよ。
確かに正方形に内接する円の面積と正方形の面積の比(0.785398163)より立方体に内接する球の体積の比(0.523598775)は小さいよな。
こんなかんじでどんどん隙間の方がでかくなってくんだろうなぁ…と想像。
――想像できんけど。


以下、2010.09.07追記:


超球と外接立方体の関係で気付いた事。


最近、仕事でパラメータの最適化に「山登り法」を使った。
現在の係数群の位置の近傍により良い解があったら、そっちに移動する(山を登る)。
微分が定義できない離散値かつ適応度が動的に変動するんで、まあ山登り法しか無いだろうと。(他にもいろいろあるはあるけど…山登り法がお手軽だからね!)
で、係数のセットが10組あったんだけど、さてどの程度が「近傍」だろうと悩んでしまった。
係数が一個しかなければ近傍は両隣の二個。
係数が二個組なら「8近傍」ってのが昔からあるよね。自身の座標を中心とする3×3のマスから自身が今居る座標を除いた8箇所が近傍だ。
係数が三個組なら、3×3×3−1=26近傍だ。
この調子で行けば10組なら3の10乗−1=59049近傍!
今回の課題の場合、多数の候補に対して繰り返し演算しなきゃいけないので、ちょっと多すぎ。
第一、全部の係数を変更したら現在地点からのユークリッド距離は√10=3.16…
ちょっと現在地点から遠すぎない? 近傍を現在地点からの距離=1の超球面上と考えるとさ。
でも、離散値だからなあ…。
それでハミング距離で適当なところ*1で打ち切る事にした。
穴が空く*2けど速度とのトレードオフだから妥協。


ところで、この全部の係数を変更する点って、高次元立方体の頂点になるんだよね。
二次元(正方形)なら現在地点を(0,0)とすると二つの係数のどちらもが近傍に動いた(-1,-1)、(-1,1)、(1,-1)、(1,1)の4個が頂点。
三次元(立方体)なら三つの係数全部が近傍に動いた点が8個=8頂点。
四次元なら16頂点。
10次元なら1024頂点。
そして、この高次元立方体の頂点と中心座標の距離は次元数の平方根に比例してどんどん遠くなってく。
立方体に内接する高次元球との隙間はそれに累乗で効いてくるだろうから、どんどん大きくなるわけだなあ、と実感した。

*1:この場合はユークリッド距離使うのと等価

*2:高次元立方体で考えれば特に頂点方向まわりに大きな穴が空くね