如果把一大堆的乒乓球倒进一个箱内,倒至最後还剩下几个,但看来箱子也满了,你会怎样做呢?用力把乒乓球压下去吗?当然不会,聪明的你会尝试把箱子抖几下,使球与球之间的空隙减少,好让你可以把剩馀的几个放进箱子内。这个经验可能很多人也有过,但你又可想到这个乒乓球装箱的问题,其实是一个数学上的难题呢?
从以上的经验中,随即想到一个十分自然的问题,就是「如何把乒乓球装箱,才可以装到最多乒乓球呢?」这便是有名的「球体填充问题」(sphere-packing problem),亦称「开普勒猜想」(kelper conjecture)。表面上看,这个似乎算不上甚么难题,但想清楚便真的不容易了。把以上的问题化为数学问题,即设箱子的容量为l,球的半径为r,球的数量为n,那么有
(n x 4πr3/3)/l < 1
其中左边的式子,可以看成为密度。当然以上的式子是十分粗糙,球体填充问题便是要找上这个密度的上确界,而如果可能的话,希望能找出装箱的方法。
1611年,著名的天体物理学家开普勒(johannes kelper,公元1571年─1630年)写了一本小册子《新年的礼物──论六出的雪花》,当中提到一种球体装箱的方法,并猜想这是一种「最密」的装箱方法。他的方法是这样的:考虑一个边长为2的正立方体,分别以它的八个顶点及六个面的中心为球心,以[sqrt(2)/2]为半径作球,因此在这正立方体内,球的体积便有4个整球的体积(八个角,每个角有八分一个球;六个面,每个面有半个球),所以密度如下:
{4 x 4π[sqrt(2)/2]3/3}/23 = π/[3 x sqrt(2)] = 0.740480...
也就是说,开普勒认为球体装箱的密度上确界为π/sqrt(18),并以π/sqrt(18)为最密。
虽然在上述的方法中,在那个正立方体内是没有一个完整的球,但当考虑一个大的箱子,以这些正立方体为基本单位来填满箱子时,不完整的球的体积跟中间完整球的体积相比是微乎其微的。同样道理,箱子的形状也不影响密度。
开普勒的这个装箱方法称为「面心晶」(face-centred-cube,简写为f.c.c.),是化学上原子在晶体中的其中一种排列形式。当然这种方法可以把球体排得很密,不过是否最密呢?开普勒则没有证明。但不难看出,这种方法有其精妙之处,就是每个球也跟其馀12个球相切,上、中、下每层4个,这也是一个球在同一时间内的最多切球数目。直至到1831年,高斯(gauss)证明了开普勒的猜想在「格点型」的装箱法是成立的,所谓格点型便是当用坐标表示时,所有的球心也在坐标和是偶数的整数点上。
但1883年,巴洛(barlow)发现有无穷多的非格点装箱方法其密度(极限值)也是π/sqrt(18),而开普勒的猜想对非格点的装箱方法仍然是有待证明。在这百多年间,很多数学家不断给出密度的上界的值,当中以1993年,墨德尔(muder)的数值最佳,约0.77305。另外,在1990年,美国加州大学柏克莱分校的项武义教授宣称他已经证明了开普勒的猜想,但却不被数学界所承认,认为他的证明还有不完全及不清楚的部分。而在1991年,比士狄克(bezdek)、古皮尔堡(kuperberg)及小麦佳(makai jr.)则证明了对於平行的球串,开普勒的猜想是成立的,这样又向攻克这问题迈进一步。
另一方面,托特(tóth)曾提出解决这猜想可以尝试用电脑方法,而在1998年,美国密芝根大学的希尔斯(hales)宣称他利用电脑的协助,解决了开普勒的猜想,证明猜想对所有装法也是正确。整个证明共250页及3gb的电脑资料,现在放了在互联网希尔斯的网址中给同业验证,有数学界人士认为这次证明的真确性很高,但仍然有待考证。