■キャノンボール問題(その30)
400年前にケプラーが予想した問題「フルーツを積み重ねるのに最もベストな方法は?」はコンピュータが道具として使える時代になるまでずっと未解決であった.
1998年,ヘールズがコンピュータの助けを借りた証明を提出した.しかし,証明は300頁という膨大な量だったため,ヘールズが用いたコンピュータプログラムの正当性に関しては99%の確率で正しいという不完全検証状態が続いていた.
杉本晃久さんからの情報によると,2014年8月10日,へールズの最密充填問題の証明の正しさをコンピューターがついに完全立証したとのことである.
http://gigazine.net/news/20140813-fruit-stacking-problem/
Proof confirmed of 400-year-old fruit-stacking problem - physics-math -
12 August 2014 - New Scientist
http://www.newscientist.com/article/dn26041-proof-confirmed-of-400yearold-fruitstacking-problem.html#.U-t0SmNfZ_I
===================================
【1】ケプラーの球体充填問題
1611年,ケプラーは,物質を構成する粒子は体積を最小とするように自己を組織化するだろうという構成原理を考えました.そこで,粒子が球形だと仮定して,さまざまな配置の空間充填率を計算してみました.ケプラーが最初に試みたのは,それぞれの球が6個の球に囲まれるように第1層を構成し,第2層は第1層のくぼみに球を置くという積み方です.
これは別の角度からみると,立方体の8個の頂点と6面の中心に球が配置されているところから,面心立方格子と呼ばれている配置ですが,この積み方は八百屋の店先でミカンなどの山を安定に積み上げるために使われている日常的な配置です.この場合の充填率は√2π/6(74.04%)になります.
他の配置と比較してみましょう.たとえば,下の層を正方形配列としその真上に球をのせていく単純立方格子の充填率はたったπ/6(53%)にすぎません.また,六方格子(第1層は面心立方格子と同じ正三角形配列だが,第2層は球の真上に球をのせる)の充填率は√3π/9(60%)であり,立方体の8個の頂点と中心に球を配置した体心立方格子の充填率は√3π/8(68%)です.こうして,さまざまな配置を調べてみたケプラーは,面心立方格子が最密充填構造であるという結論に達しました.
面心立方格子が最も密な球の充填方法だろうという予想は400年近く前のケプラーまでさかのぼります.日常の経験からしても,同じ大きさの球の最も効果的な配置問題は自明なものと考えてしまいがちで,直感的に面心立方格子をなす場合が最大に詰め込んだ配置のように思えます.しかしだからといって,無限にある可能性をすべてひっくるめて証明したわけではないので,これは定理ではなく予想にすぎません.ランダムな配置まで含めると,空間充填率が74.04%よりも引き上げられるかもしれないからです.
1958年,ロジャースが四面体配置から,空間充填率の上限を3√2(cos-11/3−π/3)=77.96%とはじき出しました.四面体配置は,3次元で相互に接するように球を配置するときの最大数となる配置ですが,全空間を充たすことはできないので,空間充填率の上限と考えられるわけです.
1988年には,この上限はわずかに改良され,77.84%よりも高密度の詰め込みは存在しないことが証明されています.これを74.04%まで引き下げることができれば,面心立方格子が最密充填構造だという証明になるのですが,残念ながら,上限の引き下げは骨の折れる厄介なプロセスであり,遅々として進みませんでした.
===================================
【2】ヘールズによるケプラー問題の証明
ケプラーの問題については,大半の数学者がまず間違いないだろうと考え,すべての物理学者が当たり前だと思っていたのですが,面心立方格子が3次元空間における最密充填構造だという証明は,わずか数%の差であるにもかかわらず,また,何世紀にもわたる研究にもかかわらず未解決でした.
ケプラー予想は,1994年に解決されたフェルマーの最終定理に取って代わる数学上の未解決問題になっていたわけですが,1998年にトマス・ヘールズによってとうとう
「キャノンボール・パッキングよりも密度の高い3次元パッキングは存在しない」
ことが証明されました.ケプラー予想から400年近く経って,やっと定理に昇格したのです.
===================================