108 年 國立成功大學工程科學系碩士班乙組《計算機概論》

📄 試題原卷 免費註冊後即可對照原始考卷 PDF免費註冊

第 1 題10 分

Let the set of integers denotes by ZZ. Which of the following relations on the set of all functions from ZZ to ZZ are equivalence relations? Determine the properties of an equivalence relation that the others lack.
(a) {(f,g)∣f(1)=g(1)}\{ (f, g) \mid f(1) = g(1)\}
(b) {(f,g)∣f(0)=g(1) and f(1)=g(0)}\{ (f, g) \mid f(0) = g(1) \text{ and } f(1) = g(0)\}
(c) {(f,g)∣f(x)−g(x)=1 for all x∈Z}\{ (f, g) \mid f(x) - g(x) = 1 \text{ for all } x \in Z\}
(d) {(f,g)∣f(x)−g(x)=C for some C∈Z for all x∈Z}\{ (f, g) \mid f(x) - g(x) = C \text{ for some } C \in Z \text{ for all } x \in Z \}
(e) {(f,g)∣f(0)=g(0) or f(1)=g(1)}\{ (f, g) \mid f(0) = g(0) \text{ or } f(1) = g(1)\}

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

設函數集合為

F={f∣f:Z→Z}.\mathcal{F}=\{f\mid f:\mathbb{Z}\to\mathbb{Z}\}.

關係 RR 是等價關係,必須同時滿足:

  1. 自反性:對所有 f∈Ff\in\mathcal{F},皆有 fRffRf。
  2. 對稱性:若 fRgfRg,則必有 gRfgRf。
  3. 遞移性:若 fRgfRg 且 gRhgRh,則必有 fRhfRh。

判斷此題時,只要分別檢查這三項即可。若要證明不具某項性質,只需找出一組反例。


選項分析

(a) {(f,g)∣f(1)=g(1)}\{(f,g)\mid f(1)=g(1)\}

此關係表示兩函數在 x=1x=1 的函數值相同。

自反性

對任意函數 ff,必然有

f(1)=f(1),f(1)=f(1),

因此 fRffRf,具備自反性。

對稱性

若 fRgfRg,則

f(1)=g(1).f(1)=g(1).

等式具有對稱性,因此

g(1)=f(1),g(1)=f(1),

故 gRfgRf,具備對稱性。

遞移性

若 fRgfRg 且 gRhgRh,則

f(1)=g(1),g(1)=h(1).f(1)=g(1),\qquad g(1)=h(1).

由等式的遞移性可得

f(1)=h(1),f(1)=h(1),

所以 fRhfRh,具備遞移性。

因此,(a) 是等價關係。


(b) {(f,g)∣f(0)=g(1) 且 f(1)=g(0)}\{(f,g)\mid f(0)=g(1)\text{ 且 }f(1)=g(0)\}

此關係表示 ff 與 gg 在 00、11 的函數值互相交換。

自反性

若要具備自反性,對所有 ff 必須有

f(0)=f(1).f(0)=f(1).

但取函數 f(x)=xf(x)=x,則

f(0)=0,f(1)=1,f(0)=0,\qquad f(1)=1,

不滿足 f(0)=f(1)f(0)=f(1)。因此此關係不具自反性。

對稱性

若 fRgfRg,則

f(0)=g(1),f(1)=g(0).f(0)=g(1),\qquad f(1)=g(0).

將等式左右對調,可得

g(1)=f(0),g(0)=f(1),g(1)=f(0),\qquad g(0)=f(1),

也就是

g(0)=f(1),g(1)=f(0).g(0)=f(1),\qquad g(1)=f(0).

因此 gRfgRf,具備對稱性。

遞移性

令三個函數在 0,10,1 的函數值如下:

(f(0),f(1))=(0,1),(f(0),f(1))=(0,1), (g(0),g(1))=(1,0),(g(0),g(1))=(1,0), (h(0),h(1))=(0,1).(h(0),h(1))=(0,1).

則

f(0)=0=g(1),f(1)=1=g(0),f(0)=0=g(1),\qquad f(1)=1=g(0),

所以 fRgfRg;同理,

g(0)=1=h(1),g(1)=0=h(0),g(0)=1=h(1),\qquad g(1)=0=h(0),

所以 $gRh。

但

f(0)=0≠h(1)=1,f(0)=0\ne h(1)=1,

故 fR̸hf\not Rh。因此此關係不具遞移性。

所以,(b) 具對稱性,但缺乏自反性與遞移性。


(c) {(f,g)∣f(x)−g(x)=1,對所有 x∈Z}\{(f,g)\mid f(x)-g(x)=1\text{,對所有 }x\in\mathbb{Z}\}

此關係要求兩函數在每一個整數點的函數值都相差 11。

自反性

若 fRffRf,則必須有

f(x)−f(x)=1.f(x)-f(x)=1.

但實際上

f(x)−f(x)=0≠1.f(x)-f(x)=0\ne 1.

因此不具自反性。

對稱性

若 fRgfRg,則

f(x)−g(x)=1.f(x)-g(x)=1.

交換 f,gf,g 後得到

g(x)−f(x)=−1≠1.g(x)-f(x)=-1\ne 1.

因此 gR̸fg\not Rf,不具對稱性。

遞移性

若 fRgfRg 且 $gRh

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 2 題10 分

(a) What is the second principle of mathematical induction? (5%)
(b) Use the second principle of mathematical induction to show that if nn is an integer greater than 1, then nn can be written as the product of primes. (5%)

登入後即可作答並保存紀錄。

這一題的完整詳解

本題考驗對數學歸納法第二原理(又稱強歸納法)的理解與應用。

核心觀念: 數學歸納法第二原理,質數的定義與性質。

(a) 數學歸納法第二原理 (The Second Principle of Mathematical Induction)

數學歸納法第二原理(或稱強歸納法)如下:
假設 P(n)P(n) 是一個關於正整數 nn 的敘述。若滿足以下兩個條件:

  1. 基本情況 (Base Case): P(1)P(1) 為真。
  2. 歸納步驟 (Inductive Step): 對於任意整數 k≥1k \ge 1,如果 P(1),P(2),…,P(k)P(1), P(2), \dots, P(k) 都為真,則 P(k+1)P(k+1) 也為真。

則對於所有大於等於 1 的正整數 nn,敘述 P(n)P(n) 都為真。

說明:
與標準的數學歸納法(第一原理)僅假設 P(k)P(k) 為真來證明 P(k+1)P(k+1) 為真不同,第二原理允許我們假設從 P(1)P(1) 到 P(k)P(k) 的所有敘述都為真,這提供了更強的假設,使得在證明某些性質時更加方便。

(b) 證明大於 1 的整數皆可寫為質數的乘積

我們需要證明:對於任意整數 n>1n > 1, nn 可以被寫成質數的乘積。
我們將使用數學歸納法第二原理來證明此敘述。

設 P(n)P(n) 為敘述:「整數 nn 可以被寫成質數的乘積」。

  1. 基本情況 (Base Case):
    考慮最小的大於 1 的整數,即 n=2n=2。
    n=2n=2 本身就是一個質數,因此它可以被寫成質數的乘積(一個質數的乘積)。所以 P(2)P(2) 為真。

  2. 歸納步驟 (Inductive Step):
    假設對於所有滿足 1<k<n1 < k < n 的整數 kk,敘述 P(k)P(k) 都為真。也就是說,假設所有大於 1 且小於 nn 的整數都可以寫成質數的乘積。
    我們需要證明 P(n)P(n) 也為真,即證明整數 nn 可以被寫成質數的乘積。

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 3 題11 分

A string that contains only 0s, 1s, and 2s is called a ternary string.
(a) Find a recurrence relation for the number of ternary strings that do not contain two consecutive 0s. (4%)
(b) What are the initial conditions? (3%)
(c) How many ternary strings of length 6 do not contain two consecutive 0s? (3%)

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

設 ana_n 表示長度為 nn 的三元字串數量,其中每個字元只能是 00、11、22,且不含有連續的兩個 00,也就是不出現子字串 0000。

本題使用「依最後一個字元分類」的遞迴計數法,將長度為 nn 的合法字串分成兩類:

  1. 最後一個字元是 11 或 22。
  2. 最後一個字元是 00。

解題方法

(a)建立遞迴關係

情況一:最後一個字元是 11 或 22

前面的 n−1n-1 個字元只要是合法字串即可,共有 an−1a_{n-1} 種。

最後一個字元有 22 種選擇,因此此類共有

2an−12a_{n-1}

種。

情況二:最後一個字元是 00

為避免出現 0000,倒數第二個字元必須是 11 或 22。

前面的 n−2n-2 個字元形成任意合法字串,共有 an−2a_{n-2} 種;倒數第二個字元有 22 種選擇。因此此類共有

2an−22a_{n-2}

種。

合併兩種情況,得到

an=2an−1+2an−2,n≥2.a_n=2a_{n-1}+2a_{n-2},\qquad n\ge 2.

(b)初始條件

長度為 00 的空字串視為一種合法字串,因此

a0=1.a_0=1.

長度為 11 時,字串可以是 00、11 或 22,三者皆合法,因此

a1=3.a_1=3.

所以初始條件為

a0=1,a1=3.\boxed{a_0=1,\qquad a_1=3}.

若從長度 22 開始使用遞迴式,也可先計算

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 4 題10 分

(a) Show that if five integers are selected from the first eight positive integers, there must be a pair of these integers with a sum equal to 9. (5%)
(b) Is the conclusion in (a) true if four integers are selected rather than five? Explain your answer. (5%)

登入後即可作答並保存紀錄。

這一題的完整詳解

本題考驗鴿籠原理(Pigeonhole Principle)的應用。

核心觀念: 鴿籠原理,反證法。

(a) 證明從前八個正整數中選五個,必有一對和為 9

我們考慮前八個正整數:{1,2,3,4,5,6,7,8}\{1, 2, 3, 4, 5, 6, 7, 8\}。
我們要找出所有和為 9 的整數對:
(1,8)(1, 8)
(2,7)(2, 7)
(3,6)(3, 6)
(4,5)(4, 5)

我們可以將這八個數字分成四對,每一對的和都為 9。這四對是:
{1,8},{2,7},{3,6},{4,5}\{1, 8\}, \{2, 7\}, \{3, 6\}, \{4, 5\}

現在,我們從這八個數字中選取五個數字。將這五個數字視為「鴿子」,而上述四個數字對視為「鴿籠」。
根據鴿籠原理,如果我們有 NN 個鴿子要放入 KK 個鴿籠,且 N>KN > K,則至少有一個鴿籠中至少有 ⌈N/K⌉\lceil N/K \rceil 個鴿子。

在這裡,我們選了 5 個數字(鴿子),而這 5 個數字來自 4 個對(鴿籠)。
由於 5>45 > 4,根據鴿籠原理,至少有一個對(鴿籠)會包含至少 ⌈5/4⌉=2\lceil 5/4 \rceil = 2 個數字。
如果一個對(例如 {1,8}\{1, 8\})包含了兩個數字,這意味著我們選取的這兩個數字就是 1 和 8。它們的和是 1+8=91+8=9。
因此,如果我們從 {1,2,3,4,5,6,7,8}\{1, 2, 3, 4, 5, 6, 7, 8\} 中選取五個數字,必有一對數字的和為 9。

另一種表述方式(更直接):
我們將這八個數字分成四組,每組包含兩個數字,且每組內任意兩個數字相加都等於 9:
組 1: {1,8}\{1, 8\}
組 2: {2,7}\{2, 7\}
組 3: {3,6}\{3, 6\}
組 4: {4,5}\{4, 5\}

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 5 題5 分

Find the zero-one matrix of the transitive closure of the relation R where the relation is represented by matrix

MR=[101010110]M_R = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 1 & 0 \end{bmatrix}

登入後即可作答並保存紀錄。

這一題的完整詳解

本題考驗圖論中遞移閉包(Transitive Closure)的計算,以及利用矩陣運算來實現。

核心觀念: 遞移閉包的定義,Warshall 演算法或矩陣乘法。

設關係 RR 在一個有 nn 個元素的集合上的表示矩陣為 MRM_R。
遞移閉包 R∗R^* 的矩陣表示 MR∗M_{R^*} 可以通過 Warshall 演算法計算。
Warshall 演算法的基本思想是:對於集合中的每一個點 kk,檢查是否存在從點 ii 到點 jj 的路徑,該路徑可以經過點 kk。

矩陣表示法:
若 MRM_R 是關係 RR 的鄰接矩陣,則 MR2=MR×MRM_{R^2} = M_R \times M_R (矩陣乘法,但這裡的乘法是邏輯乘法,即 1+1=11+1=1,0+0=00+0=0,1+0=11+0=1,0×1=00 \times 1 = 0,1×1=11 \times 1 = 1 等)。
更精確地說,在二元關係的上下文中,我們通常進行布林矩陣乘法(Boolean matrix multiplication),其中加法對應於邏輯 OR,乘法對應於邏輯 AND。
MR2[i,j]=⋁k=1n(MR[i,k]∧MR[k,j])M_{R^2}[i, j] = \bigvee_{k=1}^n (M_R[i, k] \land M_R[k, j])。
遞移閉包 R∗R^* 包含所有長度為 1 的路徑,以及所有長度為 2, 3, ..., n 的路徑。
MR∗=MR∨MR2∨MR3∨⋯∨MRnM_{R^*} = M_R \lor M_R^2 \lor M_R^3 \lor \dots \lor M_R^n。
其中 ∨\lor 是矩陣的邏輯 OR 運算。

對於一個有 nn 個元素的集合,遞移閉包的矩陣 MR∗M_{R^*} 可以通過計算 MRM_R 的 nn 次方(布林矩陣乘法),然後將 MRM_R 和所有 MRkM_R^k (k=2,…,nk=2, \dots, n) 的結果進行邏輯 OR 運算得到。
然而,更有效的方法是使用 Warshall 演算法。

Warshall 演算法:
初始化 M=MRM = M_R。
對於 kk 從 1 到 nn:
對於 ii 從 1 到 nn:
對於 jj 從 1 到 nn:
M[i,j]=M[i,j]∨(M[i,k]∧M[k,j])M[i, j] = M[i, j] \lor (M[i, k] \land M[k, j])

這裡,集合的元素數量是 3,所以 n=3n=3。
MR=[101010110]M_R = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 1 & 0 \end{bmatrix}

步驟 1:k = 1
M(1)=MRM^{(1)} = M_R
對於 i=1,…,3i=1, \dots, 3, j=1,…,3j=1, \dots, 3: M(1)[i,j]=MR[i,j]∨(MR[i,1]∧MR[1,j])M^{(1)}[i, j] = M_R[i, j] \lor (M_R[i, 1] \land M_R[1, j])

i=1i=1: M[1,j]=MR[1,j]∨(MR[1,1]∧MR[1,j])=MR[1,j]∨(1∧MR[1,j])=MR[1,j]M[1,j] = M_R[1,j] \lor (M_R[1,1] \land M_R[1,j]) = M_R[1,j] \lor (1 \land M_R[1,j]) = M_R[1,j] (第一列不受影響)
i=2i=2: M[2,j]=MR[2,j]∨(MR[2,1]∧MR[1,j])=MR[2,j]∨(0∧MR[1,j])=MR[2,j]M[2,j] = M_R[2,j] \lor (M_R[2,1] \land M_R[1,j]) = M_R[2,j] \lor (0 \land M_R[1,j]) = M_R[2,j] (第二列不受影響)
i=3i=3: M[3,j]=MR[3,j]∨(MR[3,1]∧MR[1,j])=MR[3,j]∨(1∧MR[1,j])M[3,j] = M_R[3,j] \lor (M_R[3,1] \land M_R[1,j]) = M_R[3,j] \lor (1 \land M_R[1,j])
j=1j=1: M[3,1]=MR[3,1]∨(1∧MR[1,1])=1∨(1∧1)=1∨1=1M[3,1] = M_R[3,1] \lor (1 \land M_R[1,1]) = 1 \lor (1 \land 1) = 1 \lor 1 = 1
j=2j=2: M[3,2]=MR[3,2]∨(1∧MR[1,2])=1∨(1∧0)=1∨0=1M[3,2] = M_R[3,2] \lor (1 \land M_R[1,2]) = 1 \lor (1 \land 0) = 1 \lor 0 = 1
j=3j=3: M[3,3]=MR[3,3]∨(1∧MR[1,3])=0∨(1∧1)=0∨1=1M[3,3] = M_R[3,3] \lor (1 \land M_R[1,3]) = 0 \lor (1 \land 1) = 0 \lor 1 = 1
所以,經過 k=1k=1 後的矩陣是:
M(1)=[101010111]M^{(1)} = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 1 & 1 \end{bmatrix}

步驟 2:k = 2
M(2)[i,j]=M(1)[i,j]∨(M(1)[i,2]∧M(1)[2,j])M^{(2)}[i, j] = M^{(1)}[i, j] \lor (M^{(1)}[i, 2] \land M^{(1)}[2, j])

i=1i=1: M[1,j]=M(1)[1,j]∨(M(1)[1,2]∧M(1)[2,j])=M(1)[1,j]∨(0∧M(1)[2,j])=M(1)[1,j]M[1,j] = M^{(1)}[1,j] \lor (M^{(1)}[1,2] \land M^{(1)}[2,j]) = M^{(1)}[1,j] \lor (0 \land M^{(1)}[2,j]) = M^{(1)}[1,j] (第一列不受影響)
i=2i=2: M[2,j]=M(1)[2,j]∨(M(1)[2,2]∧M(1)[2,j])=M(1)[2,j]∨(1∧M(1)[2,j])=M(1)[2,j]M[2,j] = M^{(1)}[2,j] \lor (M^{(1)}[2,2] \land M^{(1)}[2,j]) = M^{(1)}[2,j] \lor (1 \land M^{(1)}[2,j]) = M^{(1)}[2,j] (第二列不受影響)
i=3i=3: M[3,j]=M(1)[3,j]∨(M(1)[3,2]∧M(1)[2,j])=M(1)[3,j]∨(1∧M(1)[2,j])M[3,j] = M^{(1)}[3,j] \lor (M^{(1)}[3,2] \land M^{(1)}[2,j]) = M^{(1)}[3,j] \lor (1 \land M^{(1)}[2,j])
j=1j=1: M[3,1]=M(1)[3,1]∨(1∧M(1)[2,1])=1∨(1∧0)=1∨0=1M[3,1] = M^{(1)}[3,1] \lor (1 \land M^{(1)}[2,1]) = 1 \lor (1 \land 0) = 1 \lor 0 = 1
j=2j=2: M[3,2]=M(1)[3,2]∨(1∧M(1)[2,2])=1∨(1∧1)=1∨1=1M[3,2] = M^{(1)}[3,2] \lor (1 \land M^{(1)}[2,2]) = 1 \lor (1 \land 1) = 1 \lor 1 = 1
j=3j=3: M[3,3]=M(1)[3,3]∨(1∧M(1)[2,3])=1∨(1∧0)=1∨0=1M[3,3] = M^{(1)}[3,3] \lor (1 \land M^{(1)}[2,3]) = 1 \lor (1 \land 0) = 1 \lor 0 = 1
所以,經過 k=2k=2 後的矩陣是:
M(2)=[101010111]M^{(2)} = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 1 & 1 & 1 \end{bmatrix} (與 M(1)M^{(1)} 相同)

步驟 3:k = 3
M(3)[i,j]=M(2)[i,j]∨(M(2)[i,3]∧M(2)[3,j])M^{(3)}[i, j] = M^{(2)}[i, j] \lor (M^{(2)}[i, 3] \land M^{(2)}[3, j])

i=1i=1: M[1,j]=M(2)[1,j]∨(M(2)[1,3]∧M(2)[3,j])=M(2)[1,j]∨(1∧M(2)[3,j])M[1,j] = M^{(2)}[1,j] \lor (M^{(2)}[1,3] \land M^{(2)}[3,j]) = M^{(2)}[1,j] \lor (1 \land M^{(2)}[3,j])
j=1j=1: M[1,1]=M(2)[1,1]∨(1∧M(2)[3,1])=1∨(1∧1)=1∨1=1M[1,1] = M^{(2)}[1,1] \lor (1 \land M^{(2)}[3,1]) = 1 \lor (1 \land 1) = 1 \lor 1 = 1
j=2j=2: M[1,2]=M(2)[1,2]∨(1∧M(2)[3,2])=0∨(1∧1)=0∨1=1M[1,2] = M^{(2)}[1,2] \lor (1 \land M^{(2)}[3,2]) = 0 \lor (1 \land 1) = 0 \lor 1 = 1
j=3j=3: M[1,3]=M(2)[1,3]∨(1∧M(2)[3,3])=1∨(1∧1)=1∨1=1M[1,3] = M^{(2)}[1,3] \lor (1 \land M^{(2)}[3,3]) = 1 \lor (1 \land 1) = 1 \lor 1 = 1
i=2i=2: M[2,j]=M(2)[2,j]∨(M(2)[2,3]∧M(2)[3,j])=M(2)[2,j]∨(0∧M(2)[3,j])=M(2)[2,j]M[2,j] = M^{(2)}[2,j] \lor (M^{(2)}[2,3] \land M^{(2)}[3,j]) = M^{(2)}[2,j] \lor (0 \land M^{(2)}[3,j]) = M^{(2)}[2,j] (第二列不受影響)

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 6 題5 分

Show that the "greater than or equal" relation (≥\geq) is a partial ordering on the set of integers.

登入後即可作答並保存紀錄。

這一題的完整詳解

本題考驗對偏序關係(Partial Ordering Relation)定義的理解。

核心觀念: 偏序關係的定義(自反性、反對稱性、遞移性)。

一個關係 RR 在一個集合 SS 上稱為一個偏序關係,如果它滿足以下三個性質:

  1. 自反性 (Reflexivity): 對於 SS 中的任意元素 aa,必須有 aRaa R a。
  2. 反對稱性 (Antisymmetry): 對於 SS 中的任意元素 a,ba, b,如果 aRba R b 且 bRab R a,則必須有 a=ba = b。
  3. 遞移性 (Transitivity): 對於 SS 中的任意元素 a,b,ca, b, c,如果 aRba R b 且 bRcb R c,則必須有 aRca R c。

我們要證明關係 ≥\geq 在整數集合 ZZ 上是一個偏序關係。

證明:
設 a,b,ca, b, c 是任意三個整數。

  1. 自反性:
    對於任意整數 a∈Za \in Z,我們知道 a=aa = a。因此,a≥aa \geq a 成立。
    所以,≥\geq 是自反的。

  2. 反對稱性:
    對於任意整數 a,b∈Za, b \in Z,假設 a≥ba \geq b 且 b≥ab \geq a。

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 7 題10 分

Let G=(V,E)G = (V, E) be a simple graph. Let RR be the relation on VV consisting of pairs of vertices (u,v)(u, v) such that there is a path from uu to vv or such that u=vu = v. Show that RR is an equivalence relation.

登入後即可作答並保存紀錄。

這一題的完整詳解

本題考驗對等價關係(equivalence relation)定義的理解,並將其應用於圖論中的路徑概念。

核心觀念: 等價關係的定義(自反性、對稱性、遞移性),圖中的路徑。

一個關係 RR 在集合 VV 上是一個等價關係,如果它滿足以下三個性質:

  1. 自反性 (Reflexivity): 對於 VV 中的任意元素 uu,必須有 (u,u)∈R(u, u) \in R。
  2. 對稱性 (Symmetry): 對於 VV 中的任意元素 u,vu, v,如果 (u,v)∈R(u, v) \in R,則必須有 (v,u)∈R(v, u) \in R。
  3. 遞移性 (Transitivity): 對於 VV 中的任意元素 u,v,wu, v, w,如果 (u,v)∈R(u, v) \in R 且 (v,w)∈R(v, w) \in R,則必須有 (u,w)∈R(u, w) \in R。

給定一個簡單圖 G=(V,E)G = (V, E)。關係 RR 定義在頂點集合 VV 上,其中 (u,v)∈R(u, v) \in R 若且唯若存在一條從 uu 到 vv 的路徑,或者 u=vu=v。
我們需要證明 RR 是等價關係。

證明:
令 u,v,wu, v, w 是圖 GG 的任意三個頂點。

  1. 自反性:
    我們需要證明對於任意頂點 u∈Vu \in V, (u,u)∈R(u, u) \in R。
    根據 RR 的定義,如果 u=uu=u,則 (u,u)∈R(u, u) \in R。
    每個頂點都等於自身,所以存在一條從 uu 到 uu 的「長度為 0 的路徑」(或者直接滿足 u=vu=v 的條件)。
    因此,RR 是自反的。

  2. 對稱性:
    我們需要證明對於任意頂點 u,v∈Vu, v \in V,如果 (u,v)∈R(u, v) \in R,則 (v,u)∈R(v, u) \in R。
    假設 (u,v)∈R(u, v) \in R。根據定義,這意味著:

    • 存在一條從 uu 到 vv 的路徑,或者

    • u=vu = v。

    • 情況 1: u=vu = v。
      如果 u=vu = v,那麼 (u,u)∈R(u, u) \in R。這也意味著 (v,u)∈R(v, u) \in R(因為 v=uv=u)。

    • 情況 2: 存在一條從 uu 到 vv 的路徑。
      設這條路徑為 u=x0,x1,…,xk=vu = x_0, x_1, \dots, x_k = v。
      由於圖是無向圖(題目中提到「connected undirected graph」在第 8 題,雖然此處未明確說明,但一般圖論中的「簡單圖」且討論路徑時,若未特別說明通常是無向的。即使是方向圖,如果存在從 uu 到 vv 的路徑,我們也需要證明是否存在從 vv 到 uu 的路徑。然而,題目通常預設「簡單圖」為無向圖,若為有向圖則會明確標示。假設為無向圖),如果存在一條從 uu 到 vv 的路徑,那麼我們也可以沿著相同的邊反方向行走,從 vv 到 uu 找到一條路徑:v=xk,xk−1,…,x0=uv = x_k, x_{k-1}, \dots, x_0 = u。
      因此,存在一條從 vv 到 uu 的路徑。
      根據 RR 的定義,這意味著 (v,u)∈R(v, u) \in R。

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 8 題10 分

Show that there is a simple path between every pair of distinct vertices for a connected undirected graph.

登入後即可作答並保存紀錄。

這一題的完整詳解

本題考驗圖論中連通圖(Connected Graph)的定義及其性質。

核心觀念: 連通圖的定義,路徑(Path),簡單路徑(Simple Path)。

定義:

  • 無向圖 (Undirected Graph): 一個圖 G=(V,E)G=(V, E),其中邊集 EE 中的邊是無序對 {u,v}\{u, v\}。
  • 連通圖 (Connected Graph): 一個無向圖,對於圖中任意兩個不同的頂點 uu 和 vv,都存在一條從 uu 到 vv 的路徑。
  • 路徑 (Path): 一個頂點序列 v0,v1,…,vkv_0, v_1, \dots, v_k,其中 {vi−1,vi}\{v_{i-1}, v_i\} 是圖中的一條邊,對於所有 i=1,…,ki = 1, \dots, k。
  • 簡單路徑 (Simple Path): 一個路徑,其中所有頂點都是不同的(除了起點和終點可能相同,但這裡題目要求是「distinct vertices」,所以起點和終點也必須不同)。也就是說,在一個簡單路徑 v0,v1,…,vkv_0, v_1, \dots, v_k 中,vi≠vjv_i \neq v_j 對於所有 i≠ji \neq j。

題目要求:
證明對於一個連通的無向圖,任意兩個不同的頂點之間都存在一條簡單路徑。

證明:
假設 G=(V,E)G=(V, E) 是一個連通的無向圖。
令 uu 和 vv 是圖 GG 中任意兩個不同的頂點 (u≠vu \neq v)。
由於圖 GG 是連通的,根據連通圖的定義,必然存在一條從 uu 到 vv 的路徑。
設這條路徑為 P=(v0,v1,…,vk)P = (v_0, v_1, \dots, v_k),其中 v0=uv_0 = u 且 vk=vv_k = v。

現在我們需要證明這條路徑 PP 可以被簡化成一條簡單路徑。
如果路徑 PP 本身就是一條簡單路徑,那麼我們的證明就完成了。
如果路徑 PP 不是一條簡單路徑,這意味著路徑中至少有兩個頂點是重複的。也就是說,存在 ii 和 jj 使得 0≤i<j≤k0 \le i < j \le k 且 vi=vjv_i = v_j。

我們可以通過「縮短」路徑來去除重複的頂點。
假設路徑 PP 第一次出現重複頂點是在 vi=vjv_i = v_j(其中 jj 是第一個使得 vjv_j 重複的索引,而 viv_i 是第一次出現的那個相同的頂點,且 i<ji < j)。
那麼,我們可以構造一個新的路徑 P′P',將原路徑 PP 中從 viv_i 到 vjv_j 的部分替換掉。
新的路徑 P′P' 可以是:
(v0,v1,…,vi,vj+1,…,vk)(v_0, v_1, \dots, v_i, v_{j+1}, \dots, v_k)。

這個新的路徑 P′P' 仍然從 u=v0u=v_0 開始,並結束於 v=vkv=v_k。
由於我們移除了從 viv_i 到 vjv_j 的這一段(包括 vjv_j),路徑的長度縮短了。

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 9 題15 分

Assume 7 courses called A to G, will be taken the final exams. Suppose that the following pairs of courses have common students: A and B, A and C, A and D, A and G, B and C, B and D, B and E, B and G, C and D, C and F, C and G, D and E, D and F, E and F, E and G, F and G. How can the final exams be scheduled so that no student has two exams at the same time?

登入後即可作答並保存紀錄。

這一題的完整詳解

本題是一個典型的圖著色(Graph Coloring)問題,可以轉化為尋找課程時間表的問題。

核心觀念: 圖的著色,關聯圖(Interval Graph 或 Conflict Graph),最小著色數。

問題轉化:
我們可以將這個問題建模成一個圖論問題。

  1. 頂點 (Vertices): 將每一門課程視為圖中的一個頂點。這裡有 A, B, C, D, E, F, G 共 7 個頂點。
  2. 邊 (Edges): 如果兩門課程有共同的學生,則在這兩門課程對應的頂點之間連一條邊。這意味著這兩門課程不能安排在同一個考試時間。
  3. 目標: 我們需要為這個圖的頂點分配「考試時間」,使得相鄰的頂點(有共同學生的課程)被分配到不同的考試時間。我們希望使用的考試時間(顏色)的數量最少。這個問題實際上是在尋找圖的最小著色數(chromatic number)。

建立關聯圖:
根據題目給出的「有共同學生的課程對」,我們建立圖的邊:

  • A: 和 B, C, D, G 有共同學生。連邊 (A,B), (A,C), (A,D), (A,G)。
  • B: 和 A, C, D, E, G 有共同學生。連邊 (B,A), (B,C), (B,D), (B,E), (B,G)。 (A,B) 已有。
  • C: 和 A, B, D, F, G 有共同學生。連邊 (C,A), (C,B), (C,D), (C,F), (C,G)。 (A,C), (B,C) 已有。
  • D: 和 A, B, C, E, F 有共同學生。連邊 (D,A), (D,B), (D,C), (D,E), (D,F)。 (A,D), (B,D), (C,D) 已有。
  • E: 和 B, D, F, G 有共同學生。連邊 (E,B), (E,D), (E,F), (E,G)。 (B,E), (D,E) 已有。
  • F: 和 C, D, E, G 有共同學生。連邊 (F,C), (F,D), (F,E), (F,G)。 (C,F), (D,F), (E,F) 已有。
  • G: 和 A, B, C, E, F 有共同學生。連邊 (G,A), (G,B), (G,C), (G,E), (G,F)。 (A,G), (B,G), (C,G), (E,G), (F,G) 已有。

整理邊集(不重複):
(A,B), (A,C), (A,D), (A,G)
(B,C), (B,D), (B,E), (B,G)
(C,D), (C,F), (C,G)
(D,E), (D,F)
(E,F), (E,G)
(F,G)

圖的結構分析:
這個圖是一個 7 個頂點的圖。我們需要找到最小的「顏色數」(考試時間數)。
首先,尋找圖中的「完全子圖」(Clique),因為一個大小為 kk 的完全子圖至少需要 kk 種顏色。
觀察:

  • 頂點 A, B, C, D 之間是否有互相連接?
    • A-B, A-C, A-D
    • B-C, B-D
    • C-D
      是的,頂點 A, B, C, D 構成一個 K4K_4(四個頂點的完全圖)。
      這意味著 A, B, C, D 四門課程之間都有共同的學生,所以這四門課程必須安排在不同的考試時間。
      因此,我們至少需要 4 個考試時間。

圖著色(分配考試時間):
我們嘗試使用 4 個時間點(例如,時間 1, 2, 3, 4)來安排考試。

  1. 給 A, B, C, D 著色:
    由於 A, B, C, D 構成 K4K_4,它們必須有不同的顏色。
    令:
    A: 時間 1
    B: 時間 2
    C: 時間 3
    D: 時間 4

  2. 給 E 著色:
    E 與 B, D, F, G 有共同學生。
    E 不能與 B (時間 2) 同時考試。
    E 不能與 D (時間 4) 同時考試。
    E 可以與 A (時間 1) 同時考試。
    E 可以與 C (時間 3) 同時考試。
    我們還有 F 和 G 未確定顏色。
    E 與 F 有共同學生,E 與 G 有共同學生。
    我們需要檢查 E 的鄰居:B (時間 2), D (時間 4), F, G。
    所以,E 的顏色不能是 2 或 4。我們可以給 E 著色為 1 或 3。
    假設我們給 E 著色為 1。
    A: 1
    B: 2
    C: 3
    D: 4
    E: 1 (因為 E 和 A 沒有邊)

  3. 給 F 著色:
    F 與 C, D, E, G 有共同學生。
    F 不能與 C (時間 3) 同時考試。
    F 不能與 D (時間 4) 同時考試。
    F 不能與 E (時間 1) 同時考試。
    F 的鄰居是 C (3), D (4), E (1), G。
    F 的顏色不能是 1, 3, 4。
    所以 F 的顏色必須是 2。
    A: 1
    B: 2
    C: 3
    D: 4
    E: 1
    F: 2

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 10 題15 分

Find a deterministic finite-state automaton that recognizes the same language as the following nondeterministic finite-state automaton.
🖼️【此處有附圖,請對照原卷】

🖼️ 本題含圖表,以下為原卷對應頁面:
原卷第 2 頁

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查以子集合建構法(subset construction),將 NFA 轉換為 DFA。

DFA 的每一個狀態,代表 NFA 可能同時所在的狀態集合。DFA 狀態若包含 NFA 的終止狀態,便是 DFA 的終止狀態。

由圖可讀得:

  • 初始狀態:S0S_0
  • 終止狀態:S0,S1S_0,S_1
  • 轉移:
    • S0→0,1S1S_0 \xrightarrow{0,1} S_1
    • S0→1S2S_0 \xrightarrow{1} S_2
    • S2→0S1S_2 \xrightarrow{0} S_1
    • S2→1S2S_2 \xrightarrow{1} S_2

解題方法:子集合建構法

令 DFA 初始狀態為:

A={S0}A=\{S_0\}

依序計算各集合在輸入 0,10,1 下的轉移。

DFA 狀態NFA 狀態集合輸入 00輸入 11是否終止狀態
AA{S0}\{S_0\}{S1}=B\{S_1\}=B{S1,S2}=C\{S_1,S_2\}=C是
BB{S1}\{S_1\}∅=E\varnothing=E∅=E\varnothing=E是
CC{S1,S2}\{S_1,S_2\}{S1}=B\{S_1\}=B{S2}=D\{S_2\}=D是
DD{S2}\{S_2\}{S1}=B\{S_1\}=B{S2}=D\{S_2\}=D否
EE∅\varnothing∅=E\varnothing=E∅=E\varnothing=E否

其中:

  • AA 是初始狀態。
  • A,B,CA,B,C 為終止狀態,因為集合中含有 S0S_0 或 S1S_1。
  • EE 是死狀態,代表 NFA 已沒有任何可能的所在狀態。

因此,子集合建構所得的 DFA 為:

Q={A,B,C,D,E}Q=\{A,B,C,D,E\} Σ={0,1}\Sigma=\{0,1\} q0=Aq_0=A F={A,B,C}F=\{A,B,C\}

轉移函數如下:

δ(A,0)=B,δ(A,1)=C\delta(A,0)=B,\qquad \delta(A,1)=C
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

其他考古題