经典汉诺塔问题的深入解析
1. 汉诺塔问题基础与状态表示
在汉诺塔问题中,有一个重要的公式用于表示状态距离:$d(s,0^n) = \sum_{ν=0}^{n} ℓ_ν \cdot 2^ν$ ,其中 $ℓ_n = 0$ ,且对于所有 $d \in [n]$ ,有 $ℓ_{d - 1} = ℓ_d + (s_d \neq s_{d + 1})$ ,这里的加法是模 2 运算。
在实际操作中,人们往往难以一直遵循最优路径,这使得汉诺塔问题从一个简单的同构问题变成了具有挑战性的数学问题。接下来,我们重点探讨如何从任意常规状态达到完美状态,这被称为 P1 类型问题。
2. 从放弃的最优解继续
2.1 最优第一步移动算法
当在某个阶段放弃了最优解,处于状态 $s$ 时,我们可以利用以下规则继续:奇数编号的圆盘循环移动方向与圆盘 1 相同,偶数编号的圆盘循环移动方向相反,这被称为圆盘的正确方向。算法 8 提供了放弃状态后的最优第一步移动方案。
Algorithm 8 Optimal first move from abandoned state
Procedure p1a(n,i,j,s)
Parameter n: number of discs
{n ∈ N}
Parameter i: source peg
{i ∈ T}
Parameter j: goal peg
{j ∈ T}
Parameter s: regular state on the optimal path
{s ∈ T^n}
let d be the smallest top disc o
超级会员免费看
订阅专栏 解锁全文
20

被折叠的 条评论
为什么被折叠?



