斐波那契博弈證明
阿新 • • 發佈:2018-12-16
斐波那契博弈:
有一堆個數為n的石子,遊戲雙方輪流取石子,滿足:
1)先手不能在第一次把所有的石子取完;
2)之後每次可以取的石子數介於1到對手剛取的石子數的2倍之間(包含1和對手剛取的石子數的2倍)。
約定取走最後一個石子的人為贏家,當n為斐波那契數時,先手必敗;否則先手必勝。
1. 證明n為斐波那契數時,先手必敗:
假設如今有 個石子,分成兩堆,有 ,兩堆數目是相鄰的斐波那契數。如今先手先取。設先手為 ,後手為 。
- 時: ,此時 < ,先手後手都沒能將 堆取完。經過這一輪,還是剩下兩堆石子,又回到原來的問題。a如果想贏的話,必然想要一下子取完剩下的 ,也就要求 取的儘量多,這種取的方法不是每次取的最優策略。
-
時:
- 如果 < ,此時仍有 < ,還是回到原來的問題。
- 如果 = ,則 = , 堆被取完。接下來該先手取, 最多為 。那麼接下來證明a的最大值小於剩下的石子數目的大小: 即:
該式恆成立,即 ,所以此時先手不能取完 。在不回到原來問題的條件下, 堆剩下的石子一定被後手,也就是 取完,一定是先手敗,因為先手(即 )取不完當前的堆。