關於二維情況下另類切蛋糕問題的思路
阿新 • • 發佈:2019-01-09
這個情況下,我們不再考慮切幾刀,而是圓周上有n個點,每一刀的刀痕都必須通過圓周上這n個點中的兩個點的情況。求最大分割數。
這個問題有一個非常有趣又詭異的答案
當只有1個點的時候,最多隻能有個區域
當有2個點的時候,最多可以分成個區域
當有3個點的時候,最多可以分成個區域
當有4個點的時候,最多可以分成個區域
當有5個點的時候,最多可以分成個區域
似乎是非常簡單的規律,然而:
當有6個點的時候,最多隻能分成個區域了,差一個就滿足的規律了,但已經不太對了
當有7個點的時候,最多隻能分成個區域了,差的有點多
當有8個點的時候,最多是 個區域
當有9個點的時候,最多是個區域了
然而,後面又出現一個巧合,
當有10個點的時候,最多是個區域了,雖然不是,但是的冪再次出現
解題主要的思路是根據尤拉示性數公式(Euler’s Characteristic Formula):V-E+F=2
解釋一下這個公式,這是指在聯通的平面圖(Planar graph)上,頂點的個數-邊的調數+平面區域的個數=2
舉個例子:
下圖中有5個頂點,8條邊,5個平面區域(其中第五個區域是環繞1234區域的無限大平面)
尤拉公式的證明這裡不給出
因為切蛋糕問題也可以變成一個平面圖問題,我們為了得到蛋糕可以分成的塊數,即F,只剩下了兩步:
- 求出平面圖中頂點的個數
我們需要判斷是否有多條切痕交於一個點的情況,但如果多條切痕交於圓內同一點,其實會導致能夠產生的平面區域數量減少,舉一個簡單的例子如下:第一張圖中心區域由於三切痕交於圓內一點,相比第二張圖少了一個區域。
那麼,我們就從任意三條切痕都不交於圓內同一點的情況進行討論
觀察下面這張圖,我們發現,任意一個交點(橙色箭頭)對應圓周上的四個點(紅色剪頭),換而言之,對於邊上有n個點的情況而言,圖中將會有個交點,此外還有個交點是本身存在的,所以圖中的總頂點數表示為:
- 求出平面圖中邊的個數
如果僅僅將切痕和圓周看作邊,原本就存在的頂點看作圖的頂點的話,圖中的邊其實是相交了的,這就不能算是平面圖了。所以我們將這些刀痕的交點也算作是圖的頂點。我們就得到了一張平面圖。
如何計算邊的條數呢?
在圖論中,有一個度(degree)的概念,對於無向圖來說(這篇博文中的內容都是無向圖),一個頂點的度數定義為與該頂點相連的邊的條數。由於任意三條刀痕都不交於圓內的同一點,所以圓內的所有交點由且僅由兩條切痕構成,所以這些點的度數是4,而圓周上的n個點中,由於每個點都會與其他n-1個點相連,而與最近的兩個點會連線兩條邊(一條是切痕,另一條是圓周),所以每個點的度數都是n+1
所以圖中的總度數表示為
度數跟邊的關係非常簡單,由於在無向圖中,每條邊都會給兩個頂點各貢獻一個度,所以無向圖中邊數就等於總度數的一半
根據尤拉示性數公式,
當然,由於這個F是考慮了圓外的那片無限大空間的,所以真實的結果還要減一,答案是:
這個時候,我們結合帕斯卡三角(或者說楊輝三角)來看待最前面的那個詭異的現象是如何產生的。
因為
所以最好的方法是將三角寫成如下矩陣,且行列都從0開始計數:
除去第0行,每個數都由其上方與左上方的數相加而得