114 年 國立中山大學資訊工程學系碩士班甲組《離散數學》
第 1 題10 分
- [10%] What is the value of sum after the following program segment is executed. (Here i, j, k, increment, and sum are integer variables.)
increment = 0
sum = 0
for i = 1 to 12 do
for j = 1 to i do
for k = 1 to j do
begin
increment = increment + 1
sum = sum + increment
end
登入後即可作答並保存紀錄。
核心觀念
- 迴圈執行次數與組合計數(Combinatorics):多重巢狀迴圈的總執行次數問題,本質為計算滿足 的三元組 個數。此累加和可透過曲棍球棒恆等式(Hockey-stick Identity)或重複組合公式求得。
- 變數累加的數理模型:變數
increment在每次最內層迴圈執行時均加 ,因此第 次執行時increment的值為 ;sum則是將每次更新後的increment連續加總,故最終結果等於前 個正整數的級數和 ,其中 為最內層迴圈的總執行次數。
解題方法
本題解法分為兩個關鍵推導步驟:
步驟一:計算最內層迴圈的總執行次數
迴圈範圍分別為 從 到 、 從 到 、 從 到 。總執行次數 可表示為三重求和式:
先計算最內層與中間層的求和:
將結果代回最外層對 的求和式:
利用曲棍球棒恆等式 (其中 ):
即最內層迴圈區塊共執行 次。
步驟二:推導變數 sum 的最終數值
設最內層迴圈(begin ... end)第 次執行():
- 執行
increment = increment + 1後,increment的值變為 。
第 2 題10 分
- [10%] Please prove the principle of mathematical induction by the well-ordering principle.
登入後即可作答並保存紀錄。
核心觀念
本題考查**良序原理(Well-Ordering Principle, WOP)與第一數學歸納法原理(Principle of Mathematical Induction, PMI)**之間的導出關係。
相關定義與定理如下:
-
良序原理(Well-Ordering Principle, WOP):
正整數集合 (或非負整數集合 )的任意非空子集 ,必然存在一個最小元素(least element)。即:
-
第一數學歸納法原理(Principle of Mathematical Induction, PMI):
設 為定義於正整數 上的命題。若滿足下列條件:- 基礎步驟(Base Step): 為真。
- 歸納步驟(Inductive Step):對任意 ,若 為真,則 亦為真。
則對所有正整數 , 皆為真。
解題方法
本題採用**反證法(Proof by Contradiction)結合良序原理(WOP)**進行推導。
完整證明推導步驟:
-
建立反例集合(Set of Counterexamples):
假設 PMI 的前提成立,即:
(i) 為真。
(ii) 對所有 ,若 為真,則 為真。定義使命題 為假的所有正整數所構成的集合 :
欲證明 對所有正整數 皆成立,等價於證明 。 -
引導反證假設與套用良序原理:
假設 (即存在使 為假的反例)。
第 3 題10 分
- Let A= {1,2,3,4,5,6,7,8,9} and B={a,b,c,d,e,f,g,h}. Determine the number of functions f: A→B, where
(a) [5%] f(A)={a,b,c}
(b) [5%] |f(A)|=3
登入後即可作答並保存紀錄。
核心觀念
-
滿射函數(Surjective Function / Onto Function)計數
設定義域 的元素個數為 ,值域 的元素個數為 。從 映至 的滿射函數個數(即值域中每個元素都至少被對應一次)可透過排容原理(Inclusion-Exclusion Principle)計算:
其中 為第二類史特林數(Stirling Numbers of the Second Kind),代表將 個相異元素分割成 個非空非標號子集的組合數。 -
組合計數與乘法原理
若值域未指定具體元素、僅指定元素個數為 ,則需先從到達域(Codomain)(設 )中任選 個元素作為值域,選法有 種;選定後再乘以將 滿射至該 個元素的函數總數。
解題方法
由題意知:
- 定義域 ,故 。
- 到達域 ,故 。
-
(a) 子題切入點:
條件 表示值域精確等於三個指定的元素集合 。這意味著 是從大小為 的集合 映射至大小為 的固定集合 的滿射函數。直接代入滿射函數排容公式即可求得。 -
(b) 子題切入點:
條件 表示值域大小為 3,但元素可以是到達域 中的任意 3 個元素。解題分為兩步驟:- 步驟一:從 的到達域中選擇 3 個元素作為值域,組合數為 。
- 步驟二:對於每一組選定的 3 元素集合,計算從 到該集合的滿射函數個數(即 (a) 小題之結果)。
- 由乘法原理,將步驟一與步驟二結果相乘即得解答。
選項與子題分析
(a) 計算 的函數個數
第 4 題10 分
- [10%] Find a sequence of ten distinct real numbers with no decreasing or increasing subsequence of length 3.
登入後即可作答並保存紀錄。
對每個元素 ,令 、 分別為以 結尾的最長遞增、遞減子序列長度。
若不存在長度 的遞增或遞減子序列,則
第 5 題10 分
- [10%] Construct a state diagram for a finite state machine with I = O = {0,1} that recognizes all strings in the language .
登入後即可作答並保存紀錄。
核心觀念
本題要求建立一個輸入、輸出皆為 的有限狀態機,辨識語言
其中 表示所有由 、 組成的有限字串,因此 包含:
- 以 結尾的字串;
- 以 結尾的字串。
換句話說,機器只需判斷「目前讀入的字串最後兩個符號是否為 或 」。
本題可採用 Mealy machine 表示法,令每條邊標示為:
輸出 表示目前讀入的完整字串屬於 ,輸出 表示不屬於 。
解題方法
建立三個狀態:
- :尚未讀入任何符號;
- :目前字串最後一個符號是 ;
- :目前字串最後一個符號是 。
讀入新符號時,只需根據前一個符號與目前輸入,判斷最後兩個符號是否為 或 。
狀態轉移如下:
| 目前狀態 | 輸入 | 下一狀態 | 輸出 | 判斷 |
|---|---|---|---|---|
| 字串僅為 ,尚未形成長度 2 的後綴 | ||||
| 字串僅為 ,尚未形成長度 2 的後綴 | ||||
| 最後兩碼為 | ||||
| 最後兩碼為 | ||||
| 最後兩碼為 | ||||
| 最後兩碼為 |
因此狀態圖可用下列方式表示:
- 初始狀態為 ;
- ;
- ;
- ;
- ;
- ;
- 。
其中:
第 6 題20 分
- (a) [10%] Find and solve a recurrence relation for the number of ways to perform two programs P1 and P2 sequentially for n seconds if each process of P1 requires one second and P2 needs four seconds.
(b) [10%] Find and solve a recurrence relation for the number of ways to perform two programs P1 and P2 for n seconds if each process of P1 requires one second and P2 needs four seconds, where the process of P2 for four different tasks and each P2 process with a different task is considered as a different process.
登入後即可作答並保存紀錄。
核心觀念
本題考查離散數學中遞迴關係式(Recurrence Relation)的建立與求解,涉及以下核心觀念與工具:
- 加法原理與乘法原理:透過分析序列最後一個執行的程式長度與種類,進行狀態轉移。
- 齊次線性遞迴關係式(Homogeneous Linear Recurrence Relation):確定階數與初始條件(Initial Conditions)。
- 特徵方程式法(Characteristic Equation Method):寫出對應的多項式特徵根形式。
- 生成函數法(Generating Function Method):將遞迴關係轉換為冪級數代數式求解。
- 組合計數(Combinatorial Counting):利用二項式係數(Binomial Coefficients)推導出不需解特徵根的顯式加總解(Explicit Summation Form)。
解題方法
(a) 小題 (a) 詳解
1. 建立遞迴關係式與初始條件
設 為執行總時間為 秒的相異程式執行序列數。
考慮長度為 秒的序列最後一個執行的程式:
- 情況一:最後一個程式為 (耗時 1 秒)。前 秒的執行序列方法數為 。
- 情況二:最後一個程式為 (耗時 4 秒)。前 秒的執行序列方法數為 。
依據加法原理,對於 ,遞迴關係式為:
初始條件():
- (0 秒,空序列 1 種)
- (僅有 )
- (僅有 )
- (僅有 )
2. 求解遞迴關係式
【解法一:生成函數法】
設生成函數 。將遞迴關係式兩邊同乘以 並對 加總:
帶入初始條件 :
【解法二:特徵方程式法】
對應的 4 階齊次線性遞迴特徵方程式為:
若設其四根為 ,則通解可表示為:
其中常數 由初始條件 決定。
【解法三:組合顯式解】
若在 秒的序列中使用了 個 程式():
- 個 佔用 秒,剩餘 秒由 個 填滿。
- 總程式個數為 個。
- 從 個位置中選出 個安排 的方法數為 。
因此, 的顯式組合解為:
(b) 小題 (b) 詳解
1. 建立遞迴關係式與初始條件
設 為執行總時間為 秒的相異程式執行序列數。
此題中 包含 4 種相異的任務(設為 ),每一種皆耗時 4 秒,且視為不同程式。
考慮長度為 秒的序列最後一個執行的程式:
- 情況一:最後一個程式為 (1 種選擇)。前 秒的執行方法數為 。
- 情況二:最後一個程式為 的某種任務(4 種選擇)。前 秒的執行方法數為 。
第 7 題10 分
- [10%] In how many ways, can Alice buy n boxes of meat from a supermarket that sells pork, chicken, and beef (each kind of meat is of the same brand and size) if the selection must an even number of beef boxes (beef can buy one and get one free)?
登入後即可作答並保存紀錄。
設豬肉、雞肉、牛肉盒數分別為 ,則
且 必須為偶數。令 ,其中 。固定 後,
共有 組非負整數解。因此總數為
第 8 題10 分
- [10%] If a 28-digital octal (0,1,2,3,4,5,6,7) sequence is randomly generated, what is the probability that it has an even number of 3's and even number of 7's?
登入後即可作答並保存紀錄。
核心觀念
本題考查組合數學中的排列計數與古典機率,核心解題工具有兩種主流觀念:
- 指數生成函數(Exponential Generating Function, EGF):
在處理有順序的排列問題且各元素出現次數具備奇偶性限制時,指數生成函數是最標準且通用的解法:- 出現任意次數的生成項:
- 出現偶數次(含 0 次)的生成項:
- 出現奇數次的生成項:
- 隨機變數期望值與奇偶投影法(Parity Indicator Method):
利用 的正負號判定奇偶性,並透過獨立隨機變數之期望值性質進行快速求值。
解題方法
方法一:指數生成函數法(標準正規解法)
八進位(Octal)系統共包含 8 個數字:。
-
建立各數字的生成項:
- 數字「3」出現偶數次,生成項為
- 數字「7」出現偶數次,生成項為
- 其餘 6 個數字 出現次數無限制,各自的生成項均為
-
建立整體指數生成函數 :
-
求長度為 之合法序列總數 :
將各項展開為 Maclaurin 級數:因此長度為 的合法排列數為 的係數 :
代入 :
-
計算機率:
長度為 28 的八進位序列總數為 。故所求機率 為:
方法二:期望值奇偶濾波法(快速驗算法)
第 9 題10 分
- [10%] Solve the following recurrence relation. , , .
登入後即可作答並保存紀錄。
核心觀念
本題考查二階非齊次常係數線性遞迴關係(Second-order Non-homogeneous Linear Recurrence Relation with Constant Coefficients)的求解。
求解此類遞迴關係式的核心原理為解的疊加原理(Superposition Principle):
全解(General Solution) 可拆解為齊次解(Homogeneous Solution) 與特解(Particular Solution) 之和:
- 齊次解 :將非齊次項令為 ,利用特徵方程式(Characteristic Equation)求出特徵根後構建。
- 特解 :根據非齊次項 的形式,使用未定係數法(Method of Undetermined Coefficients)假設特解形式並帶入求出係數。
- 未定常數求解:將初始條件 代入全解 ,解出齊次解中的線性組合係數。
解題方法
第一步:求解齊次解
考慮對應的齊次遞迴關係式:
寫出其特徵方程式:
因式分解得:
由於特徵根為兩個相異實根,故齊次解為:
第二步:求解特解
原式的非齊次項為 ,屬於一次多項式(即 )。
由於 並非齊次遞迴式的特徵根,故可設特解形式為一次多項式:
將 代回原非齊次遞迴關係式 :
展開並依 的同次項進行合併整理:
對比等號兩邊 的同次項係數:
解出係數:
因此,特解為:
第三步:合併為全解並帶入初始條件
將齊次解與特解相加得到全解:
帶入初始條件 與 :
- 當 時: