fib博弈

本文详细探讨了Fib博弈的规则和性质,包括Fib数列的递推关系、不等式性质以及必败态的证明。通过分析得出所有Fib数都是先手必败态,而非Fib数则是先手必胜态。同时,阐述了如何将任何整数拆分为Fib数的和,揭示了齐肯多夫定理的应用。
摘要由CSDN通过智能技术生成

fib博弈定义

fib:

性质1:
f ( i ) > f ( i − 1 ) , 因为 f ( i ) = f ( i − 1 ) + f ( i − 2 ) , f ( i − 2 ) > 0 ; f(i)>f(i-1),因为f(i)=f(i-1)+f(i-2),f(i-2)>0; f(i)>f(i1),因为f(i)=f(i1)+f(i2),f(i2)>0;
性质2:
f ( i ) > 2 f ( i − 2 ) , 证明类 1 f(i)>2f(i-2),证明类1 f(i)>2f(i2),证明类1
性质3:
f ( i ) < 2 f ( i − 1 ) f ( i ) = f ( i − 1 ) + f ( i − 2 ) , 由性质 1 得 f ( i − 1 ) > f ( i − 2 ) ,故 f ( i ) < 2 f ( i − 1 ) . f(i)<2f(i-1)\\\\ f(i)=f(i-1)+f(i-2),由性质1得f(i-1)>f(i-2),故f(i)<2f(i-1). f(i)<2f(i1)f(i)=f(i1)+f(i2),由性质1f(i1)>f(i2),故f(i)<2f(i1).
性质4:
f ( i ) > 3 f ( i − 2 ) f ( i ) = f ( i − 1 ) + f ( i − 2 ) = f ( i − 2 ) + f ( i − 3 ) + f ( i − 2 ) < 3 f ( i − 2 ) \begin{align} f(i)>3f(i-2)\\\\f(i)=f(i-1)+f(i-2)&=f(i-2)+f(i-3)+f(i-2)\\&<3f(i-2) \end{align} f(i)>3f(i2)f(i)=f(i1)+f(i2)=f(i2)+f(i3)+f(i2)<3f(i2)
性质5:
4 f ( i − 2 ) < 3 f ( i − 1 ) 由性质 3 得: 4 f ( i − 2 ) < f ( i + 1 ) < 3 f ( i − 1 ) f ( i + 1 ) = f ( i ) + f ( i − 1 ) = [ f ( i − 1 ) + f ( i − 2 ) ] + [ f ( i − 2 ) + f ( i − 3 ) ] = [ f ( i − 2 ) + f ( i − 3 ) + f ( i − 2 ) ] + [ f ( i − 2 ) + f ( i − 3 ) ] = 3 ∗ f ( i − 2 ) + 2 ∗ f ( i − 3 ) > 4 f ( i − 2 ) \begin{align} 4f(i-2)<3f(i-1)\\ \\ 由性质3得:\\ 4f(i-2)<f(i+1)<3f(i-1)\\ f(i+1)=f(i)+f(i-1)&=[f(i-1)+f(i-2)]+[f(i-2)+f(i-3)]\\ &=[f(i-2)+f(i-3)+f(i-2)]+[f(i-2)+f(i-3)]\\ &=3*f(i-2)+2*f(i-3)>4f(i-2) \end{align} 4f(i2)<3f(i1)由性质3得:4f(i2)<f(i+1)<3f(i1)f(i+1)=f(i)+f(i1)=[f(i1)+f(i2)]+[f(i2)+f(i3)]=[f(i2)+f(i3)+f(i2)]+[f(i2)+f(i3)]=3f(i2)+2f(i3)>4f(i2)
石子个数 n > = 2 n>=2 n>=2,先手一开始可以拿任意个,第一次不可直接拿完,接下来每次至少拿一个,且不能超过上一次的两倍,求先手必败态。

必败态性质:
后手最后一次最多可以拿 2 3 f ( k ) \frac{2}{3}f(k) 32f(k)个,最后一次后手拿完,共拿 k k k个,则前一次至少为 k / 2 k/2 k/2个,和为 3 2 k \frac{3}{2}k 23k,故不能超过 2 3 f ( k ) \frac{2}{3}f(k) 32f(k)个。

结论,fib数均为必败态。

##证明

  1. f ( 1 ) = 2 , f ( 2 ) = 3 f(1)=2,f(2)=3 f(1)=2,f(2)=3均为必败态。
  2. 假设 f ( i − 1 ) , f ( i − 2 ) f(i-1),f(i-2) f(i1),f(i2)均为必败态。
  3. f ( i ) = f ( i − 1 ) + f ( i − 2 ) f(i)=f(i-1)+f(i-2) f(i)=f(i1)+f(i2),对于状态 f ( i ) f(i) f(i),如果先手拿了不少于 k > = f ( i − 2 ) k>=f(i-2) k>=f(i2),则后手可直接拿完,fib数性质。
    f ( i ) = f ( i − 1 ) + f ( i − 2 ) f(i)=f(i-1)+f(i-2) f(i)=f(i1)+f(i2),对于状态 f ( i ) f(i) f(i),如果先手拿了小于 k > = 1 3 f ( i − 2 ) k>=\frac{1}{3}f(i-2) k>=31f(i2),后手拿 y = f ( i − 2 ) − k < = 2 3 f ( i − 2 ) y=f(i-2)-k<=\frac{2}{3}f(i-2) y=f(i2)k<=32f(i2), f ( i − 1 ) > 4 3 f ( i − 2 ) f(i-1)>\frac{4}{3}f(i-2) f(i1)>34f(i2),变为了 f ( i − 1 ) f(i-1) f(i1)问题的一个子集。
  4. f ( i ) = f ( i − 1 ) + f ( i − 2 ) f(i)=f(i-1)+f(i-2) f(i)=f(i1)+f(i2),如果先手拿了小于 k < 1 3 f ( i − 2 ) k<\frac{1}{3}f(i-2) k<31f(i2),由于 f ( i − 2 ) f(i-2) f(i2)必败,故后手一定可以拿最后k个,易得 k < = 2 3 f ( i − 2 ) k<=\frac{2}{3}f(i-2) k<=32f(i2),反证,假设大于,则有倒数第二次不少于 1 3 f ( i − 2 ) \frac{1}{3}f(i-2) 31f(i2),其和超过 f ( i − 2 ) f(i-2) f(i2)不可能。

非fib数均为必胜态

任何一个整数均可以拆为fib数之和,齐肯多夫定理的结论。

任何正整数可以表示为若干个不连续的Fibonacci数之和

对于Fib数是显然成立的。
对于非Fib数,
长为2的连续段为 f ( k ) + f ( k − 1 ) f(k)+f(k-1) f(k)+f(k1)可拆为 f ( k + 1 ) f(k+1) f(k+1)
长为3的连续段为 f ( k ) + f ( k − 1 ) + f ( k − 2 ) f(k)+f(k-1)+f(k-2) f(k)+f(k1)+f(k2)可拆为 f ( k + 1 ) + f ( k + 2 ) f(k+1)+f(k+2) f(k+1)+f(k+2)
长为4的连续段为 f ( k ) + f ( k − 1 ) + f ( k − 2 ) + f ( k − 3 ) f(k)+f(k-1)+f(k-2)+f(k-3) f(k)+f(k1)+f(k2)+f(k3)可拆为 f ( k + 1 ) + g a p + f ( k − 2 ) + f ( k − 3 ) f(k+1)+ gap+f(k-2)+f(k-3) f(k+1)+gap+f(k2)+f(k3)变成了长为2的连续段了。

必胜取法, f ( a ) + f ( b ) + f ( c ) + . . . + f ( z ) f(a)+f(b)+f(c)+...+f(z) f(a)+f(b)+f(c)+...+f(z),第一步直接取 f ( z ) f(z) f(z)个。 f ( b e f o r e ) > 2 f ( z ) f(before)>2f(z) f(before)>2f(z),走完第一步后,后手变先手,由于他不能一次拿完,则在 f ( b e f o r e ) f(before) f(before)最后一些个必由先手拿完,同理,后手将一直输下去,直到人都输麻了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值