火腿三明治定理(ham sandwich theorem)

這是將近二十年前,一個同學問我的、傳說中的「微軟面試題」:

問題1:有一個矩形紙片,中間剪掉了矩形的一塊(大小和位置隨意),如何才能直直地一剪子將剩下的紙片分成大小相等的兩部分?

例如下圖所示:

分析:將兩個矩形的中心連成一條線(兩個中心重合時隨便選一條通過中心的直線即可),沿著這條直線「咔嚓」一剪子下去!


問題1-2:一個圓形紙片中間剪掉了圓形的一塊(大小和位置隨意),如何才能直直地一剪子將剩下的紙片分成大小相等的兩部分?

問題1-3:一個圓形紙片中間剪掉了矩形的一塊(大小和位置隨意),如何才能直直地一剪子將剩下的紙片分成大小相等的兩部分?

問題1-4:一個長方體內部任意挖掉一個長方體,如何一刀下去將剩下的三維體分成體積相等的兩部分?

問題1-5:一個球形內部任意挖掉一個球形,如何一刀下去將剩下的三維體分成體積相等的兩部分?

問題1-6:一個球形內部任意挖掉一個長方體,如何一刀下去將剩下的三維體分成體積相等的兩部分?


問題2:一個等腰直角三角形內部任意挖掉一個圓形,如何一刀下去將剩下的紙片分成體積相等的兩部分?

分析:這問題比較麻煩了,因為等腰直角三角形對稱性不足

這樣來處理——把直角三角形以一種華麗的姿勢放在平面上,然後畫個優雅的坐標系。

考慮「切開」挖洞的直角三角形的垂直線,記垂直線 x=x_0 「切開」挖洞的直角三角形的「左邊」的面積為 f(x_0)

記挖洞的直角三角形的最左的 x 坐標為 x_l ,最右的 x 坐標為 x_r ,面積為 S

首先計算歐拉常數 gammapi 次冪,然後計算它的雙曲餘弦,再在1附近做一個閉合的線積分,就可以得到 f(x) 的顯式表達式。有——

  • f(x_l)-frac{S}{2}=-frac{S}{2}<0
  • f(x_r)-frac{S}{2}=frac{S}{2}>0

f(x)-frac{S}{2}連續的 ,因此一定存在某個 x_l<x<x_r 使得 f(x)-frac{S}{2}=0 ,也即在 x=x 位置垂直切一刀,可以將挖洞的直角三角形分成相等的兩部分。

問題2-2:一個紙片中間剪掉了一塊(大小和位置隨意),如何才能直直地一剪子將剩下的紙片分成大小相等的兩部分?


問題3:一個紙片中放置了一塊個大小和位置隨意的紙片(不超過底下的紙片的外邊界),如何才能直直地一剪子將兩張紙片分成大小相等的兩部分?

分析:先考慮內部的小紙片,根據之前「問題2」的分析,任意一個角度(任意 0leqtheta <2pi ) 的"一組"平行刀中至少有一刀可以將小紙片分成相等面積的兩半。

考慮這些「刀」切大紙片的情況——

首先,它們一定都和大紙片相交。

其次,給每一「刀」定向,保證 theta0 變化到 pi 時,方向是連續變化的。

(加圖)

考慮「刀」「右側」的大紙片的面積 g(theta) ,設大紙片面積為 S ,則

  • g 是連續的;
  •  g(pi)=S- g(0)
  • 於是left( g(pi)-frac{S}{2} right)timesleft( g(0)-frac{S}{2} right)leq0

因此類似於問題2的分析,一定存在某個 0leq theta_0<pi ,使得 g(theta_0)=S/2


問題4:對於任意正整數 n ,對於任意給出的 nn 維體,可以使用一個 n-1 維的超平面將它們每一個都等分為二。

——而這就是亞瑟斯通(Arthur H. Stone)和約翰圖基(John Tukey)在 1942 年證明的「火腿三明治定理」(的不談及「測度」的簡化版本)。

  • n=2 時,就是問題3的擴展情況,分析方法是同樣的;
  • n=3 時的一個特殊情形,就是這個定理的得名由來——「任意給定一個火腿三明治,總可以一刀能把它切開,使得火腿、乳酪和麵包片恰好都被分成兩等份。」

推薦閱讀:

平行四邊形對角線平分是否有必要解析法證明?
填坑:隨機級數
「青蛙過河」之我見
科學家爸爸如何讓孩子愛上數學?——啟蒙篇(二)

TAG:趣味数学 | 连续函数 | 微积分 |