Generating Function And Recurrence Rela
Generating Function 與遞推關係
从递推式到封闭公式,掌握系数提取与渐近分析
按 空格/→ 演示下一步
全部页面点击任意一页,跳回舞台从这页播放
Generating Function 與遞推關係
从递推式到封闭公式,掌握系数提取与渐近分析
什麼是生成函數
前頁我們看到了序列與遞推關係常常綁在一起——但更根本的問題是:給定一個序列 {aₙ},能不能把它打包成一個代數物件?
每本書=序列項 aₙ;分類編號=x 的冪次 n;整本索引=G(x);讀回任一項=取 xⁿ 係數
生成函數的兩種形態
普通生成函數 OGF 與指數生成函數 EGF 的對比
生成函數的三大本領
上页我们知道生成函数有普通型和指数型两张脸,但手里有了这个工具,到底能干什么?答案有三件大事。
序列说「递推」和「计数」,函数说「方程」和「系数」——两边话不通,它来翻
解遞推關係的完整流程
這五步把遞推關係逐步轉成可直接讀出的通項公式。
Hanoi 問題的規則回顧
前頁展示了生成函數解遞推的完整流程,但要落實它,我們需要一個能自然導出遞推式的經典問題——河內塔。先把規則釐清。
厚書壓薄書會把書脊壓壞——盤子也是,越小越嬌貴,必須留在上面
Hanoi 的遞推邏輯圖
讀法:fk 代表把 k 盤從來源移到目標;葉節點是最小盤直動,樹中間層的最大盤僅動一次。
遞推關係的精確推導
前頁用 Hanoi 問題建立了 a(n) = 2a(n−1)+1、a(1)=1 的遞推。這頁就一步步把 A(x) 解出來,看看生成函數如何把遞推『解開』成封閉式。
把含 A(x) 的等式當普通方程,先孤立再拆成幾何級數
生成函數法五步解題
生成函數解遞推,固定五步走完,從包裝序列到讀回閉式。
Hanoi 生成函數推導圖
從遞推式出發,沿箭頭順序完成六步代數推導,得到封閉解。
三柱 vs 四柱的複雜度鴻溝
多一根柱子,递推从有精确公式跌入只能靠算法逼近的困境。
- 递推:T(n) = 2T(n−1) + 1
- 封闭解:T(n) = 2ⁿ − 1(精确)
- 复杂度:Θ(2ⁿ),纯指数
- 求解:直接展开递推即可
- 递推:min_k [2T(k) + 2ⁿ⁻ᵏ − 1]
- 封闭解:无封闭表达式
- 复杂度:亚指数级(远小于 2ⁿ)
- 求解:必须枚举 k 找最优
Frame-Stewart 算法的思想
上頁看到四柱比三柱快得多,但「快」是靠什麼策略實現的?1975年 Frame 與 Stewart 提出了一個三階段拆分法,至今仍是四柱 Hanoi 的最佳算法。
小件先寄(階段一)→ 大件直送(階段二)→ 小件取回(階段三)
Frame-Stewart 的遞推樹
上為 n=6 拆解樹;下為 n=1~6 對應最優 k* 速查表。
生成函數方法地圖
- ✓生成函數 = 編碼→運算→解碼,把序列壓進函數空間
- ✓五步解題是套路,變形化簡才是真正考驗
- ✓Hanoi 證明:算法改進遠勝硬體升級
- ✓遞推結構決定工具選型
- ✓最優分組策略是四柱降複雜度的根源
核心概念自測
將遞推式 aₙ = 2aₙ₋₁ + n(n≥1)兩邊同乘 xⁿ 並對 n 從 1 起求和,其中 A(x)=∑aₙxⁿ。右端 aₙ₋₁·xⁿ 對應的生成函數表達為?
課後思考
先獨立思考,再看參考答案。三問覆蓋核心回顧、應用深化與邊界探索。
参考答案本質是「序列運算 → 冪級數運算」的翻譯:移位變乘 x、常數倍變係數乘法、捲積變冪級數乘法。線性遞推恰好落在這個代數閉包內,所以可被統一解出。
参考答案是的。Frame-Stewart 的最優拆分點 k(n) 隨 n 變動,遞推本身含 min 算子,無法寫成單一代數恆等式。這暗示問題的本質是「分段最優」而非「全域閉式」。
参考答案第一步列方程就斷裂。冪級數乘法雖然封閉(兩冪級數相乘仍是冪級數),但 aₙ₋₁² 對應的是「已知係數的非線性組合」——無法用 G(x) 的代數表達式封閉寫出。