本周的谜语人经典是一个结合了逻辑和博弈论的棘手难题。
狮身人面像会问你四个看似武断的真假问题,而你对此一无所知。在问第一个问题之前,你正好有1美元。对于每个问题,你可以用任何非负数的钱来下注,这样你就能正确回答。也就是说,你可以在零和当前的钱数之间下注任何实数(包括分数)。在你的每一个答案之后,狮身人面像都会给出正确的答案。如果你是对的,你就赢了你下注的钱;如果你错了,你就输掉了赌注。
然而,有一个陷阱。(狮身人面像不总是这样吗?)连续三个问题的答案永远不会一样。
有了这些信息,无论最终的答案是什么,你能确定你能赢的最大金额是多少?
额外加分:这个谜语可以概括为斯芬克斯人面像问了N个问题,所以对于连续的Q个问题,答案是不一样的。在N和Q方面,您的最高保证奖金是多少?
如果你只是在寻找答案,那么答案是:
[显示解决方案]
假设总共有$N$个问题,而狮身人面像从未连续$Q$次给出相同的答案。
定义$F^{问}_{n} $是$n^\text{th}$$Q$广义斐波那契数。明确地:
\开始{align}
F^Q_{n}&=0&\text{for}n\leq 0\\
F^Q_1&=1\\
F^Q_n&=F^Q_{n-1}+F^Q_{n-2}+\cdots+F^Q{n-Q}&\text{for}n\geq 2
\结束{align}这些也被称为斐波那契$Q$-步数以下是一些示例(借用自在这里)
$Q美元$ |
组织环境信息系统 |
姓名 |
序列$F^{Q}_{n} $起始于$n=0$ |
1 |
|
退化的 |
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, … |
2 |
A000045号 |
斐波那契 |
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, … |
三 |
A000073号 |
摩擦Nacci |
0, 1, 1, 2, 4, 7, 13, 24, 44, 81, … |
4 |
A000078号 |
四Nacci |
0, 1, 1, 2, 4, 8, 15, 29, 56, 108, … |
5 |
A001591号 |
彭塔纳奇 |
0, 1, 1, 2, 4, 8, 16, 31, 61, 120, … |
6 |
A001592号 |
己糖 |
0, 1, 1, 2, 4, 8, 16, 32, 63, 125, … |
7 |
A066178号 |
赫普塔纳奇 |
0, 1, 1, 2, 4, 8, 16, 32, 64, 127, … |
假设最优游戏由以下公式给出,在$N$问题后,我们可以期望获得的最大金额:
$\显示样式
\text{最大保证奖金}=\frac{2^{N-1}}{F^{问题1}_{N+1}
$
以下是实现此收益的最佳策略:
- 在第一个问题上,回答任何问题(无关紧要)并下注0。
- 记录连胜长度$q$,即狮身人面像连续回答了多少次相同的问题,以及剩余的问题数,我们称之为$n$。
- 在接下来的每个问题中,回答与最近一个问题的正确答案相反的问题。这确保了如果狮身人面像想让你再次失败,她必须延长连胜。您还应该下注当前总金额的以下部分:
\[
\开始{cases}
0&\text{if}n+q\ltQ\\
\压裂{2F^{问题1}_{n+1}}{F^{问题1}_{n+1}+F^{问题1}_{n} +\cdots+F^{问题1}_{n-(Q-Q)+2}}-1&&text{if}n+Q\geq Q
\结束{cases}
\]
请注意,随着$q$的增加(狮身人面像越来越接近被强制回答),赌注也会越来越大。当$q=q-1$时,下注分数简化为$1$,即我们应该下注所有东西,因为我们知道我们会赢。当$n+q\lt q$时,没有足够的问题可以迫使狮身人面像做出可预测的回答,所以我们可以预期总是输,我们不应该下注。
这是一个图表,显示了作为$N$和$Q$函数的最大保证奖金,如果我们从\$1开始,它由公式$\frac{2^{N-1}}}{F给出^{问题1}_{N+1}}$。
当$Q=2$时,狮身人面像必须交替回答,这样我们每次都可以加倍!这解释了为什么当$Q=2$(纵轴是对数刻度)时,曲线会以2倍的倍数增长。$N\leq Q-1$的地块也持平。这与我们没有足够的问题来迫使狮身人面像做出可预测的回答的情况相对应,所以我们最好的选择是不下注,减少损失。
在详细的总结中,我解释了所有这些公式是如何推导出来的,并且我还详细介绍了我们可以预期的不同$Q$的渐近增长率。
下面是解决方案的更详细概述:
[显示解决方案]
我们将解决这个问题的最一般版本,$N$个问题和没有$Q$个答案是相同的。这是一个顺序决策问题,在游戏的每个回合中,我们都会做出一个动作(选择答案并下注),然后狮身人面像会做出一次动作(选择正确的答案)。我们正在寻求最大限度地保证赢款这意味着我们应该假设狮身人面像正在尽最大努力减少我们的奖金,而我们正在尽最大的努力增加我们的奖金。
我们将使用递归来解决这个问题,用游戏的简单状态来表示游戏的任何给定状态。为此,我们必须考虑状态游戏的特点;决定我们下一步行动的完整信息是什么?根据游戏规则,关键信息包括:
- 还有多少问题,我们称之为$n$。最初,$n=n$。
- 当前的连续应答长度,我们称之为$q$。例如,如果狮身人面像的最后几个回答是(…,假,真,假,假),那么$q=2$,因为末尾有两个错误。最初,$q=0$。
- 问题中给出的条纹长度限制$Q$。这意味着狮身人面像永远不会以相同的方式连续回答$Q$次。在这个问题中,我们假设$Q\geq 2$。
重要的是,我们目前持有的资金数额无关紧要,因为我们总是会在当前持有的资金中下注一定比例。同样,我们最终赢得的金额也将与我们目前持有的股份成比例。例如,如果我们目前拥有1美元,那么任何保证我们最终拥有1.5美元的策略都可以用来保证我们目前拥有2美元时拥有3美元,如果我们现在拥有10美元时拥有15美元。
记住这一点,定义$V_{q,n}^q$为如果我们以$1开始,并且两个玩家(我们和狮身人面像)都打得很好,那么我们在结束时将获得的金额,当前的连胜为$q$,限制为$q$,并且我们还有$n$个回合。最终,我们的目标是找到$V_{0,N}^Q$,但我们将在解决问题的过程中找到所有可能的值。我们将使用动态规划方法,从简单的案例(小$n$)开始,然后回到一般的$n=n$案例。我们定义的函数$V$通常称为价值函数.
基本案例
让我们把$u$称为我们下注的金额,其中$0\leq u\leq为1$。我们可以考虑几个基本(或特殊)情况,对于这些情况,答案是显而易见的。它们在这里:
案例$n=0$。如果没有问题需要回答,游戏就结束了,我们把目前的钱带回家。所以我们可以写:
\[
V_{q,0}^q=1
\qquad\text{代表所有}q,q。
\]
案例$n+q\lt q$。如果没有足够的问题留给斯芬克斯来重置他们的连胜配额,那么斯芬克斯可以让我们失去剩下的回合,他们不会受到任何后果。如果我们遇到这种情况,我们应该减少损失,下注$u=0美元。因此,
\[
V_{q,n}^q=1\qquad\text{if}q+n\ltQ\quad\text{下注}u=0
\]
案例$q=q-1$。这是斯芬克斯的手被强迫的情况。他们已经以同样的方式回答了$Q-1$的连续转弯,所以他们在下一个转弯时被迫以不同的方式回答,所以我们可以赌我们所有的东西,我们保证会赢,我们的钱也会加倍!因此,我们应该回答与当前连胜相反的任何问题(即,如果正确答案是True$Q-1$次,那么我们应该回答下一个问题False),我们将获胜:
\[
V_{Q-1,n}^Q=2V_{1,n-1}^Q\qquad\text{我们应该下注}u=1。
\]
案例$q=0$。这种情况也很有趣,因为它只发生在游戏开始时。一旦比赛开始,我们就有了$q\geq 1$。让我们看看第一步会发生什么。在我们移动后,$n$减少了一,我们要么有$1+u$,要么有$1-u$,这取决于我们的回答是否正确。
\[
V_{0,n}^Q=\开始{cases}
(1+u)V_{1,n-1}^Q&\text{如果我们是正确的}\\
(1-u)V_{1,n-1}^Q&\text{如果我们不正确}
\结束{cases}
\]记住,狮身人面像是要毁灭我们的,所以无论出于何种意图和目的,狮身像都会决定我们是否正确。无论发生什么,狮身人面像都将获得1连胜,因此$q=1$。这里没有权衡;狮身人面像可以让我们输掉,而且不会让她付出任何代价!我们将输掉所有下注的金额,所以在这种情况下,唯一安全的做法是不下注,基本上跳过我们的第一个回合。所以我们有:
\[
V_{0,n}^Q=V_{1,n-1}^Q
\qquad\text{我们应该下注}u=0。
\]
一般情况
在一般情况下,如果当前连续出现$1\leq q\leq q-2$和$n$个问题需要回答,我们可以回答与当前连续相同的问题,也可以回答不同的问题。我们也可以是对的或错的。所以有四种可能性。可能性有:
\[
V_{q,n}^q=\开始{cases}
\text{答案相同:}&&开始{case}
(1+u)V^Q_{Q+1,n-1}&\text{如果正确}\\
(1-u)V^Q_{1,n-1}&\text{如果不正确}
\结束{cases}\\
\文本{回答不同:}&\开始{案例}
(1+u)V^Q_{1,n-1}&\text{如果正确}\\
(1-u)V^Q_{Q+1,n-1}&\text{如果不正确}
\结束{cases}
\结束{cases}
\]狮身人面像总是会选择让我们损失尽可能多的选项,所以我们可以将其简化为:
\[
V_{q,n}^q=\开始{cases}
\min\左\{(1+u)V^Q_{Q+1,n-1},(1-u)V_Q_{1,n-1{右\}
&\text{如果我们回答相同}\\
\min\left\{(1+u)V^Q_{1,n-1},(1-u)V_Q_{Q+1,n-1{right\}
&\text{如果我们回答不同}
\结束{cases}
\]我们可以进一步简化,因为$V^Q_{Q,n}$是$Q$的递增函数。换句话说,目前的连胜时间越长,我们就越有希望获胜,因为我们更接近于从狮身人面像中得到答案。这些性质意味着$(1+u)V^Q{Q+1,n-1}\geq(1-u)V*Q{1,n-1{$。因此,如果我们“回答相同”,狮身人面像总是会让我们输。当然,如果我们给狮身人面像一个机会拿走我们的一些钱和重置它的连胜计数器,她当然会拿走!这促使我们得出一个惊人的结论:
总是用与前一个正确答案相反的答案回答。
这大大简化了事情,但我们仍然不知道下注多少。假设狮身人面像玩得很好,我们应该下注$u$,使我们的赢款最大化。因此:
\[
V_{q,n}^q=max_{0\lequ\leq1}
\min\left\{(1+u)V^Q_{1,n-1},(1-u)V_Q_{Q+1,n-1{right\}
\]换句话说,我们向狮身人面像提出了一个权衡:她可以选择让我们输掉赌注,但这将使她更接近完成连胜配额并迫使她下注。或者,她可以重置连胜配额,但代价是我们赢了赌注。
求解递归
把所有内容放在一起,下面是我们的值函数的动态编程递归。
\开始{align}
V_{0,n}^Q&=V_{1,n-1}^Q\qquad\text{if}n\geq1\quad\text{下注}u=0\\
V_{q,0}^q&=1\qquad\text{forall}q\\
V_{q,n}^q&=1\qquad\text{if}q+n\lt q\quad\text{with beth}u=0\\
V_{Q-1,n}^Q&=2V_{1,n-1}^Q\qquad\text{if}n\geq1\quad\text{下注}u=1\\
V_{q,n}^q&=\最大_{0\leq u\leq 1}
\min\left\{(1+u)V^Q_{1,n-1},(1-u)V_Q_{Q+1,n-1{right\}\\
&\quad\text{代表}\quad 1\leq q\leq q-2\text{和}n\geq\max\{q-q,1\}
\结束{对齐}
最小/最大优化现在很容易解决。所有涉及的函数在$u$中都是线性的,因此最优值要么出现在边界上($u=0$或$u=1$),要么出现在两个函数的交点上。我们已经处理了所有边界案件,因此我们现在正在处理后一个案件。因此,最优赌注满足$(1+u)V^Q_{1,n-1}=(1-u)V*Q_{Q+1,n-1{$,这导致:
\[
u_\text{opt}=frac{V^Q{Q+1,n-1}-V^Q{1,n-1{{V^Q{Q+1
\quad\text{和}\quad
V^Q_{Q,n}=\压裂{2V^Q_{Q+1,n-1}
\]因此,我们的简化递归是:
\开始{align}
V_{0,n}^Q&=V_{1,n-1}^Q\qquad\text{if}n\geq1\quad\text{下注}u=0\\
V_{q,0}^q&=1\qquad\text{forall}q\\
V_{q,n}^q&=1\qquad\text{if}q+n\ltQquad\text{下注}u=0\\
V_{Q-1,n}^Q&=2V_{1,n-1}^Q\qquad\text{if}n\geq1\quad\text{下注}u=1\\
V_{q,n}^q&=frac{2V^q_{q+1,n-1}V^q_1,n-1{V^q{q+1
\四元\text{下注}u=frac{V^Q_{Q+1,n-1}-V^Q_}1,n-1{{V^Q_{Q+1,n-1neneneep+V^Q{1,n-1}}\\
&\qquad\text{代表}\quad 1\leq q\leq q-2\text{和}n\geq\max\{q-q,1\}
\结束{align}此看起来仍然很复杂,但我们可以做最后一个简化。注意,我们唯一混乱的表达式是通用递归,它看起来像$v=\frac{2ab}{a+b}$。我们可以将其改写为:$\frac{1}{v}=\frac}1}{2}\left(\frac{1}}{a}+\frac{1'{b}\right)$,这看起来更好。为此,让我们更改变量:
\[
W^Q_{Q,n}:=\frac{2^n}{V^Q_},n}}\qquad\text{代表所有}Q,Q,n。
\]随着变量的改变,递归变成线性的!
\开始{align}
W_{0,n}^Q&=2W_{1,n-1}^Q\qquad\text{if}n\geq1\quad\text{下注}u=0\\
W_{q,0}^q&=1\qquad\text{forall}q\\
W_{q,n}^q&=2^n\qquad\text{if}q+n\ltQquad\text{下注}u=0\\
W_{Q-1,n}^Q&=W_{1,n-1}^Q\qquad\text{if}n\geq1\quad\text{下注}u=1\\
W_{q,n}^q&=W^q_{1,n-1}+W^q{q+1,n-1{
\quad\text{下注}u=\frac{W^Q_{1,n-1}-W^Q_{Q+1,n-1}}{W^Q_{1,n-1}+W^Q_{Q+1,n-1}}\\
&\qquad\text{代表}\quad 1\leq q\leq q-2\text{和}n\geq\max\{q-q,1\}
\结束{对齐}
让我们从情况$q=1$开始,我们将求解$W^q_{1,n}$。应用最后三个递归,我们得到:
\开始{align}
W^Q_{1,n}&=2^n\qquad\text{for}0\leq n\leq Q-2\\
W^Q_{1,n}&=W^Q_2{1,n-1}+W^Q_1,n-2}+cdots+W^Q_1,n-(Q-1)}\qquad\text{for}n\geqQ-1
\结束{align}此进一步简化为紧凑形式:
\开始{align}
W^Q_{1,-k}&=0\qquad\text{代表所有}k\geq 2\\
W^Q_{1,-1}&=1\\
W^Q{1,n}&=W^Q_{1,n-1}+W^Q_1,n-2}+\cdots+W^Q{1,n-(Q-1)}\qquad\text{表示}n \geq 0。
\结束{align}$W^Q_{1,n}$的序列正是广义斐波那契数! 我想我们可以叫他们$Q$bonacci数字?当$Q=3$时,我们恢复标准斐波那契数(A000045号):
\[
\{1,1,2,3,5,8,13,21,\点\}
\]但偏移了2(我们从-1开始索引,但通常斐波那契数是在第一个“1”出现在索引1处定义的)。当$Q=4$时,我们得到了所谓的Tribonacci数(A000073号):
\[
\{1,1,2,4,7,13,24,44,\点\}
\]再次移动了2。让我们重命名该序列,使其符合标准的广义斐波那契数字命名约定。
\[
F^Q_n:=W^{Q+1}_{1,n-2}
\]
我们可以通过再次使用递归来导出$W^Q_{Q,n}$的其余部分,这允许我们用$Q$bonacci数来写下所有的$W^Q_{Q、n}$。
\开始{align}
W^Q_{Q,n}
&=W^Q_{1,n-1}+W^Q_1,n-2}+\cdots+W^Q{1,n-(Q-Q)}\\
&=F^{问题1}_{n+1}+F^{问题1}_{n} +\cdots+F^{问题1}_{n-(Q-Q)+2}
\结束{align}转换回到值函数表示法,我们可以根据$Q$bonacci数为$V^Q_{Q,n}$和最佳下注$U^Q_}Q,n{$编写一个公式:
\[
\开始{对齐}
V^Q_{0,n}&=V^Q_{1,n-1}=\frac{2^{n-1}}{W^Q_{1,n-1}}=\frac{2^{n-1}}{F^{问题1}_{n+1}\\
U^Q_{0,n}&=0\\
V^Q_{Q,n}&=frac{2^n}{W^Q_},n}}=frac}2^n{F^{Q-1}_{n+1}+F^{问题1}_{n} +\cdots+F^{问题1}_{n-(Q-Q)+2}}\qquad\text{for}1\leqq\leqQ-1\\
U^Q_{Q,n}&=\压裂{2F^{问题1}_{n+1}}{F^{问题1}_{n+1}+F^{问题1}_{n} +\cdots+F^{问题1}_{n-(Q-Q)+2}}-1
\结束{对齐}
\]
因此,原始问题的答案是,如果我们以最佳方式下注,我们可以保证赢多少钱
$\显示样式
V^Q_{0,N}=\压裂{2^{N-1}}{F^{问题1}_{N+1}
$
随时间增长
我们可能还对限额$N\to\infty$感兴趣。换句话说,如果$N$远大于$Q$,我们的渐进增长率会是什么样子?广义斐波那契数具有渐近指数增长,因为它们是线性递归的解。这导致比奈公式对于$n^\text{th}$Fibonacci数:
\[
F^2_n=\frac{1}{\sqrt{5}}\左(\左(\frac}1+\sqrt}}{2}\右)^n–\左(\frac{1-\sqrt{5%}}{2\右)^n\right)
\]尽管有$\sqrt{5}$项,此公式始终生成整数!$F^2_n$的渐近增长由最大量级的项决定。在本例中,$F^2_n\sim O\left(\varphi^n\right)$,其中$\varphi=\frac{1+\sqrt{5}}{2}$是黄金比率Binet公式也可以推广到$Q\gt 2$,渐近速率也可以推广。以下内容Dresden和Du的论文就是这样。我将总结关键结果。
\[
F^Q_n=O(α^n)
\]其中$\alpha$是方程的正实根(只有一个)
\[
\α^Q=\alpha^{Q-1}+\alpha^{Q-2}+\cdots+\alpha+1
\]一般来说,此多项式的一个根为正且小于2,其他根为负或复数且大小小于1。在这篇论文中,作者证明了$\alpha$随着$Q$和$2-\frac{1}{Q}\lt\alpha\lt 2$的增加而增加。我们的收入增长率由$\frac{2}{\alpha}$给出。以下是我们获得的不同$Q$值:
问 |
增长率$\frac{2}{\alpha}$ |
2 |
2 |
三 |
1.236068 |
4 |
1.087378 |
5 |
1.0375801 |
6 |
1.0173208 |
7 |
1.00827652 |
8 |
1.00403411 |
9 |
1.00198836 |
10 |
1.000986237 |
当$Q\geq5$作为五次多项式(次数$5$的多项式)为无法解决使用平方根等标准函数,但很容易进行近似。一种方法是注意,定义$\alpha$的多项式正是$Q\times Q$矩阵的特征多项式:
\[
A=\开始{bmatrix}
0&1&0&\cdots&0\\
0&0&1&\ddots&0\\
\vdots&\vdots&\ddots&\ ddots&\ vdots\\
0&0&\cdots&0&1\\
1&1&\cdots&1&1
\结束{bmatrix}\in\mathbb{R}^{Q\次Q}
\]因此,$\alpha=\rho(A)$是光谱半径矩阵$A$的。使用类似于幂迭代特别是因为这个顶部特征值与其他特征值(其量级小于1)分离得很好。