หน้าแรก คลังความรู้ ลำดับและอนุกรม อุปนัยแบบเข้ม
Sequences & Series ดูครบทุกส่วน · 12 หน้า 2 · อนุกรมและการทดสอบการลู่เข้า 3 · อนุกรมกำลัง เทย์เลอร์ และโลรองต์ 4 · การประยุกต์ แล็บ และแนวข้อสอบ 5 · เครื่องคิดเลขและอุปนัยแบบเข้ม
// บทที่ 26.12 · ลำดับและอนุกรม · Strong Induction
อุปนัยแบบเข้ม (Strong Induction): หลักการ จำนวนกรณีฐาน ตัวอย่างเข้มข้น 17 ข้อ และแล็บฝึกพิสูจน์
อุปนัยธรรมดาบอกว่า “ถ้าตัวก่อนหน้าล้ม ตัวถัดไปล้ม” แต่โจทย์จริงจำนวนมากต้องการมากกว่านั้น: ฟีโบนัชชีต้องรู้สองตัวก่อนหน้า แสตมป์ 3 บาทย้อนกลับสามขั้น จำนวนเต็มแตกเป็นตัวประกอบที่เล็กกว่าเท่าไรก็ได้ อุปนัยแบบเข้มให้เราสมมติทุกกรณีที่เล็กกว่า พร้อมกัน หน้านี้พาฝึกตั้งแต่หลักการ การนับกรณีฐาน ไปจนถึงอัลกอริทึมและระบบควบคุม ด้วยตัวอย่าง 17 ข้อและแล็บที่ลองทำได้บนมือถือ
ระดับ พื้นฐาน ม.ปลาย · โอลิมปิกเบื้องต้นกลาง คณิตศาสตร์ไม่ต่อเนื่อง · แคลคูลัสขั้นสูง อัลกอริทึม · วิศวกรรม
สรุปสั้นที่สุด
สมมติฐานแบบเข้ม : P ( j ) P(j) P ( j ) จริงทุก n 0 ≤ j ≤ n − 1 n_0 \le j \le n - 1 n 0 ≤ j ≤ n − 1 แล้วพิสูจน์ P ( n ) P(n) P ( n )
จำนวนกรณีฐาน = จำนวนขั้นที่ย้อนกลับไกลที่สุด (ย้อน 2 ขั้น ต้องมี 2 กรณีฐาน)
ใช้เมื่อ P(n) อาศัย P ( n − 2 ) P(n-2) P ( n − 2 ) , P ( n − 3 ) P(n-3) P ( n − 3 ) , P ( ⌊ n / 2 ⌋ ) P(\lfloor n/2\rfloor) P (⌊ n /2 ⌋) , ตัวประกอบของ n หรือ “ชิ้นที่เล็กกว่า” ที่ไม่รู้ขนาดล่วงหน้า
แล็บ 11 ชุด : กรณีฐาน · แสตมป์ · ต้นไม้ตัวประกอบ · ช็อกโกแลต · เกม · ฐานสอง/ฟีโบนัชชี · ปูกระเบื้อง · ขอบเขต · เวียนเกิด · เรียงบทพิสูจน์ · หาจุดผิด
อุปนัยแบบเข้มคืออะไร ต่างจากอุปนัยธรรมดาอย่างไร พื้นฐาน
นึกถึงแถวโดมิโน อุปนัยธรรมดา (weak / ordinary induction) รับประกันว่า “ตัวที่ k ล้มแล้วชนตัวที่ k + 1” ส่วนอุปนัยแบบเข้ม (strong / complete induction) รับประกันว่า “ถ้าตัวที่ n 0 n_0 n 0 ถึง n − 1 n - 1 n − 1 ล้มหมดแล้ว ตัวที่ n ก็ล้ม” เปรียบได้กับโดมิโนที่ต้องถูกชนจากหลายตัวพร้อมกัน หรือจากตัวที่อยู่ห่างออกไป
N1 Principle of strong induction หลักอุปนัยแบบเข้ม
P ( n 0 ) ∧ [ ∀ n > n 0 : ( P ( n 0 ) ∧ ⋯ ∧ P ( n − 1 ) ) ⇒ P ( n ) ] ⟹ ∀ n ≥ n 0 : P ( n ) \begin{gathered} P(n_0) \\ \wedge\ \Big[\forall n > n_0:\ \big(P(n_0) \wedge \dots \wedge P(n-1)\big) \Rightarrow P(n)\Big] \\ \Longrightarrow\ \forall n \ge n_0:\ P(n) \end{gathered} P ( n 0 ) ∧ [ ∀ n > n 0 : ( P ( n 0 ) ∧ ⋯ ∧ P ( n − 1 ) ) ⇒ P ( n ) ] ⟹ ∀ n ≥ n 0 : P ( n )
ถ้าขั้นอุปนัยใช้ได้ตั้งแต่ n ≥ n 0 + b n \ge n_0 + b n ≥ n 0 + b เท่านั้น ต้องพิสูจน์ P ( n 0 ) , … , P ( n 0 + b − 1 ) P(n_0), \dots, P(n_0 + b - 1) P ( n 0 ) , … , P ( n 0 + b − 1 ) ตรง ๆ (กรณีฐาน b ตัว)
N2 Equivalence อุปนัยธรรมดา ⇔ แบบเข้ม ⇔ หลักการจัดอันดับดี
Q ( n ) : = P ( n 0 ) ∧ P ( n 0 + 1 ) ∧ ⋯ ∧ P ( n ) แบบเข้มบน P ≡ แบบธรรมดาบน Q \begin{gathered} Q(n) := P(n_0) \wedge P(n_0 + 1) \wedge \dots \wedge P(n) \\ \text{แบบเข้มบน } P \ \equiv\ \text{แบบธรรมดาบน } Q \end{gathered} Q ( n ) := P ( n 0 ) ∧ P ( n 0 + 1 ) ∧ ⋯ ∧ P ( n ) แบบเข้มบน P ≡ แบบธรรมดาบน Q
หลักการจัดอันดับดี (well-ordering): เซตย่อยไม่ว่างของจำนวนนับมีสมาชิกน้อยที่สุดเสมอ ใช้พิสูจน์แบบ “สมมติมีตัวอย่างค้าน ให้ n เป็นตัวที่เล็กที่สุด”
N3 How many base cases กฎจำนวนกรณีฐาน
P ( n ) ⇐ P ( n − s 1 ) , … , P ( n − s m ) ⇒ กรณีฐาน max i s i ตัวติดกัน \begin{gathered} P(n) \Leftarrow P(n - s_1), \dots, P(n - s_m) \\ \Rightarrow\ \text{กรณีฐาน } \max_i s_i \text{ ตัวติดกัน} \end{gathered} P ( n ) ⇐ P ( n − s 1 ) , … , P ( n − s m ) ⇒ กรณีฐาน i max s i ตัวติดกัน
ถ้าย้อนแบบ ⌊ n / 2 ⌋ \lfloor n/2\rfloor ⌊ n /2 ⌋ หรือตัวประกอบ ต้องตรวจว่าทุกกรณีที่ย้อนไปยังอยู่ในโดเมน ≥ n 0 \ge n_0 ≥ n 0
แม่แบบเขียนพิสูจน์ด้วยอุปนัยแบบเข้ม 5 ขั้น
ข้อความ เขียน P ( n ) P(n) P ( n ) ให้ชัด และบอกโดเมน n ≥ n 0 n \ge n_0 n ≥ n 0
ดูขั้นอุปนัยก่อน ร่างว่าจะพิสูจน์ P ( n ) P(n) P ( n ) จากกรณีใด (n − 1 n-1 n − 1 ? n − 2 n-2 n − 2 ? n − 3 n-3 n − 3 ? ตัวประกอบ?) เพื่อรู้ว่าต้องมีกรณีฐานกี่ตัว
กรณีฐาน ตรวจ P ( n 0 ) , P ( n 0 + 1 ) , … P(n_0), P(n_0+1), \dots P ( n 0 ) , P ( n 0 + 1 ) , … ครบทุกตัวที่ขั้นอุปนัยยังใช้ไม่ได้
สมมติฐานอุปนัยแบบเข้ม “ให้ n ≥ n 0 + b n \ge n_0 + b n ≥ n 0 + b และสมมติว่า P ( j ) P(j) P ( j ) จริงทุก n 0 ≤ j < n n_0 \le j < n n 0 ≤ j < n ”
ขั้นอุปนัย + สรุป แสดง P ( n ) P(n) P ( n ) โดยชี้ว่าใช้ P ( ⋅ ) P(\cdot) P ( ⋅ ) ตัวใดและทำไมมันอยู่ในช่วงที่สมมติ แล้วสรุป “โดยหลักอุปนัยแบบเข้ม P ( n ) P(n) P ( n ) จริงทุก n ≥ n 0 n \ge n_0 n ≥ n 0 ”
ภาษาอังกฤษที่ใช้ในข้อสอบ: “Assume, as the strong inductive hypothesis, that P ( j ) P(j) P ( j ) holds for all n 0 ≤ j ≤ k n_0 \le j \le k n 0 ≤ j ≤ k . We show P ( k + 1 ) P(k+1) P ( k + 1 ) .” · ทบทวนอุปนัยธรรมดาได้ที่ อุปนัยเชิงคณิตศาสตร์ (3.2)
ต้องมีกรณีฐานกี่ตัว: ทดลองให้บทพิสูจน์พังเอง พื้นฐาน
แล็บนี้แสดง P(n) ตั้งแต่ n 0 n_0 n 0 ถึง n 0 + 29 n_0 + 29 n 0 + 29 แต่ละช่องจะ “ล้ม” (เขียว) ได้ก็ต่อเมื่อกรณีที่มันอาศัยล้มหมดแล้ว แตะตัวเลขเพื่อดูว่ามันอาศัยใคร แล้วลองลดจำนวนกรณีฐาน ทีละหนึ่ง จะเห็นทันทีว่าช่องแรกที่ขาดหลักยึดอยู่ตรงไหน ลองแบบแบ่งครึ่ง ⌊n/2⌋ และแยกตัวประกอบด้วย: ขั้นอุปนัยกระโดดไกลมากแต่กรณีฐานกลับน้อย เพราะสิ่งที่สำคัญคือ “กรณีที่อ้างถึงถูกพิสูจน์ไปก่อนแล้วหรือยัง” ไม่ใช่ระยะห่าง
ฟีโบนัชชีที่มีกรณีฐานตัวเดียว แสตมป์ 3, 5 กรณีฐาน 2 ตัว ⌊n/2⌋ กรณีฐานตัวเดียวพอ ย้อน 2 และ 5 ขั้น
กฎที่ใช้ในข้อสอบ ก่อนเขียนกรณีฐาน ให้ร่างขั้นอุปนัยเสมอ ถ้าขั้นอุปนัยใช้
P ( n − 1 ) P(n-1) P ( n − 1 ) กับ
P ( n − 2 ) P(n-2) P ( n − 2 ) ขั้นอุปนัยนั้นใช้ได้ตั้งแต่
n ≥ n 0 + 2 n \ge n_0 + 2 n ≥ n 0 + 2 จึงต้องพิสูจน์
P ( n 0 ) P(n_0) P ( n 0 ) และ
P ( n 0 + 1 ) P(n_0+1) P ( n 0 + 1 ) เอง ข้อสอบมักหักคะแนนเต็มขั้นถ้าขาดกรณีฐานตัวที่สอง
กลุ่มที่ 1: แสตมป์และเหรียญ (ปัญหาโฟรเบเนียส) พื้นฐาน
“มีแสตมป์ราคา a และ b บาท ราคาใดบ้างที่รวมได้พอดี” เป็นตัวอย่างคลาสสิกที่สุดของอุปนัยแบบเข้ม เพราะขั้นอุปนัย “เติมแสตมป์ดวงที่ถูกที่สุดอีกดวง” ย้อนกลับไปหลายขั้นพร้อมกัน
N4 Frobenius number ราคาใหญ่สุดที่รวมไม่ได้ (สองชนิด)
gcd ( a , b ) = 1 ⇒ g ( a , b ) = a b − a − b # { ราคาที่รวมไม่ได้ } = ( a − 1 ) ( b − 1 ) 2 \begin{gathered} \gcd(a, b) = 1 \ \Rightarrow\ g(a, b) = ab - a - b \\ \#\{\text{ราคาที่รวมไม่ได้}\} = \frac{(a-1)(b-1)}{2} \end{gathered} g cd( a , b ) = 1 ⇒ g ( a , b ) = ab − a − b # { ราคาที่รวมไม่ได้ } = 2 ( a − 1 ) ( b − 1 )
ทุกราคา n > a b − a − b n > ab - a - b n > ab − a − b รวมได้ · ถ้า gcd ( a , b ) = d > 1 \gcd(a,b) = d > 1 g cd( a , b ) = d > 1 จะรวมได้เฉพาะพหุคูณของ d
ตัวอย่าง N-1 · กรณีฐานสามตัว แสดงว่าทุกราคา n ≥ 8 n \ge 8 n ≥ 8 บาท รวมได้พอดีด้วยแสตมป์ 3 และ 5 บาท
ข้อความ P ( n ) P(n) P ( n ) : มีจำนวนเต็ม x , y ≥ 0 x, y \ge 0 x , y ≥ 0 ที่ n = 3 x + 5 y n = 3x + 5y n = 3 x + 5 y
ดูขั้นอุปนัย : จะได้ n n n จาก n − 3 n - 3 n − 3 แล้วเติมแสตมป์ 3 บาท ⇒ ย้อน 3 ขั้น ⇒ ต้องมีกรณีฐาน 3 ตัว
กรณีฐาน : 8 = 3 + 5 8 = 3 + 5 8 = 3 + 5 , 9 = 3 + 3 + 3 9 = 3 + 3 + 3 9 = 3 + 3 + 3 , 10 = 5 + 5 10 = 5 + 5 10 = 5 + 5
สมมติฐานแบบเข้ม : ให้ n ≥ 11 n \ge 11 n ≥ 11 และ P ( j ) P(j) P ( j ) จริงทุก 8 ≤ j < n 8 \le j < n 8 ≤ j < n เพราะ 8 ≤ n − 3 < n 8 \le n - 3 < n 8 ≤ n − 3 < n จึงมี n − 3 = 3 x + 5 y \hlP{n - 3 = 3x + 5y} n − 3 = 3 x + 5 y
n = 3 ( x + 1 ) + 5 y n = 3(x + 1) + 5y n = 3 ( x + 1 ) + 5 y ⇒ P ( n ) P(n) P ( n ) จริง ∎
ราคาที่รวมไม่ได้มีเพียง 1, 2, 4, 7 (สี่ค่า = 2 ⋅ 4 2 = \tfrac{2\cdot4}{2} = 2 2 ⋅ 4 ) และ 7 = 3 ⋅ 5 − 3 − 5 7 = 3\cdot5 - 3 - 5 7 = 3 ⋅ 5 − 3 − 5
ตัวอย่าง N-2 · กรณีฐานสี่ตัว
แสตมป์ 4 และ 7 บาท ราคาใดบ้างที่รวมไม่ได้ และพิสูจน์ว่าราคาตั้งแต่ 18 บาทขึ้นไปรวมได้หมด
g ( 4 , 7 ) = 28 − 4 − 7 = 17 g(4, 7) = 28 - 4 - 7 = 17 g ( 4 , 7 ) = 28 − 4 − 7 = 17 ราคาที่รวมไม่ได้: 1, 2, 3, 5, 6, 9, 10, 13, 17 (เก้าค่า = 3 ⋅ 6 2 = \tfrac{3\cdot6}{2} = 2 3 ⋅ 6 )
ขั้นอุปนัยเติมแสตมป์ 4 บาท ⇒ กรณีฐาน 4 ตัว: 18 = 4 + 7 + 7 18 = 4 + 7 + 7 18 = 4 + 7 + 7 , 19 = 4 ⋅ 3 + 7 19 = 4\cdot3 + 7 19 = 4 ⋅ 3 + 7 , 20 = 4 ⋅ 5 20 = 4\cdot5 20 = 4 ⋅ 5 , 21 = 7 ⋅ 3 21 = 7\cdot3 21 = 7 ⋅ 3
ให้ n ≥ 22 n \ge 22 n ≥ 22 และสมมติ P ( j ) P(j) P ( j ) ทุก 18 ≤ j < n 18 \le j < n 18 ≤ j < n เพราะ n − 4 ≥ 18 n - 4 \ge 18 n − 4 ≥ 18 จึงมี P ( n − 4 ) \hlP{P(n-4)} P ( n − 4 ) เติม 4 บาทได้ P ( n ) P(n) P ( n ) ∎
รวมได้ทุก n ≥ 18 n \ge 18 n ≥ 18 เปิดในแล็บ
กลุ่มที่ 2: จำนวนเฉพาะ การแยกตัวประกอบ และการเขียนเลขฐานสอง พื้นฐาน
ตัวอย่างนี้แสดงเหตุผลที่อุปนัยธรรมดาไม่พอ: ถ้า n = 360 n = 360 n = 360 ไม่ใช่จำนวนเฉพาะ เราแตกเป็น 18 × 20 18 \times 20 18 × 20 การรู้ว่า 359 เป็นผลคูณของจำนวนเฉพาะไม่ช่วยอะไร สิ่งที่ต้องการคือรู้เรื่องของ 18 และ 20
N5 Fundamental theorem of arithmetic ทฤษฎีบทหลักมูลของเลขคณิต
n ≥ 2 ⇒ n = p 1 e 1 p 2 e 2 ⋯ p r e r n \ge 2\ \Rightarrow\ n = p_1^{e_1}p_2^{e_2}\cdots p_r^{e_r} n ≥ 2 ⇒ n = p 1 e 1 p 2 e 2 ⋯ p r e r
มีอยู่จริงและเขียนได้แบบเดียว (ไม่นับลำดับ) · ส่วน “มีอยู่จริง” พิสูจน์ด้วยอุปนัยแบบเข้ม ส่วน “แบบเดียว” ใช้บทตั้งของยุคลิด p ∣ a b ⇒ p ∣ a ∨ p ∣ b p \mid ab \Rightarrow p \mid a \lor p \mid b p ∣ ab ⇒ p ∣ a ∨ p ∣ b
ตัวอย่าง N-3 · ผลคูณจำนวนเฉพาะ พิสูจน์ว่าจำนวนเต็ม n ≥ 2 n \ge 2 n ≥ 2 ทุกตัวเขียนเป็นผลคูณของจำนวนเฉพาะได้
กรณีฐาน n = 2 n = 2 n = 2 เป็นจำนวนเฉพาะ (ผลคูณของจำนวนเฉพาะหนึ่งตัว)
สมมติฐานแบบเข้ม : ให้ n ≥ 3 n \ge 3 n ≥ 3 และทุก 2 ≤ j < n 2 \le j < n 2 ≤ j < n เป็นผลคูณของจำนวนเฉพาะ
ถ้า n เป็นจำนวนเฉพาะ จบทันที ถ้าไม่ใช่ n = a b n = ab n = ab โดย 2 ≤ a , b ≤ n / 2 < n 2 \le a, b \le n/2 < n 2 ≤ a , b ≤ n /2 < n จึงใช้ P ( a ) , P ( b ) \hlP{P(a),\ P(b)} P ( a ) , P ( b ) ได้
นำผลคูณจำนวนเฉพาะของ a กับ b มาต่อกันเป็นของ n ∎
กรณีฐานมีตัวเดียว แม้ขั้นอุปนัยกระโดดไกล เพราะ a, b ≥ 2 อยู่ในโดเมนเสมอ
ตัวอย่าง N-4 · เลขฐานสอง
พิสูจน์ว่าจำนวนนับ n ทุกตัวเขียนเป็นผลบวกของกำลังของ 2 ที่ไม่ซ้ำกันได้ (มีเลขฐานสองเสมอ)
กรณีฐาน n = 1 = 2 0 n = 1 = 2^0 n = 1 = 2 0
ให้ n ≥ 2 n \ge 2 n ≥ 2 และสมมติ P ( j ) P(j) P ( j ) ทุก 1 ≤ j < n 1 \le j < n 1 ≤ j < n เขียน n = 2 m + b n = 2m + b n = 2 m + b โดย b ∈ { 0 , 1 } b \in \{0, 1\} b ∈ { 0 , 1 } และ 1 ≤ m = ⌊ n / 2 ⌋ < n 1 \le m = \lfloor n/2\rfloor < n 1 ≤ m = ⌊ n /2 ⌋ < n
จาก P ( m ) \hlP{P(m)} P ( m ) : m = ∑ 2 e i m = \sum 2^{e_i} m = ∑ 2 e i (e ต่างกัน) ⇒ 2 m = ∑ 2 e i + 1 2m = \sum 2^{e_i + 1} 2 m = ∑ 2 e i + 1 ไม่มีพจน์ 2 0 2^0 2 0 จึงบวก b ⋅ 2 0 b\cdot 2^0 b ⋅ 2 0 ได้โดยไม่ซ้ำ ∎
นี่คือการหารสองซ้ำ ๆ แปลงเลขฐานสิบเป็นฐานสอง ดูในแล็บ (45)
กลุ่มที่ 3: ลำดับเวียนเกิด สูตรปิด และขอบเขต กลาง
นี่คือกลุ่มที่พบบ่อยที่สุดในข้อสอบมหาวิทยาลัย ความสัมพันธ์ a n = c 1 a n − 1 + c 2 a n − 2 a_n = c_1a_{n-1} + c_2a_{n-2} a n = c 1 a n − 1 + c 2 a n − 2 ย้อนสองขั้น จึงต้องใช้อุปนัยแบบเข้ม (หรืออุปนัยธรรมดาบนคู่ ( a n − 1 , a n ) (a_{n-1}, a_n) ( a n − 1 , a n ) ) และกรณีฐานสองตัวเสมอ
N6 Fibonacci bounds & Binet ขอบเขตและสูตรของบิเนต์
φ n − 2 ≤ F n ≤ φ n − 1 ( n ≥ 1 ) F n = φ n − ψ n 5 , φ , ψ = 1 ± 5 2 \begin{gathered} \varphi^{n-2} \le F_n \le \varphi^{n-1}\ (n \ge 1) \\ F_n = \frac{\varphi^n - \psi^n}{\sqrt5},\quad \varphi, \psi = \frac{1 \pm \sqrt5}{2} \end{gathered} φ n − 2 ≤ F n ≤ φ n − 1 ( n ≥ 1 ) F n = 5 φ n − ψ n , φ , ψ = 2 1 ± 5
กุญแจของทุกข้อคือ φ 2 = φ + 1 \varphi^2 = \varphi + 1 φ 2 = φ + 1 (และ ψ 2 = ψ + 1 \psi^2 = \psi + 1 ψ 2 = ψ + 1 )
N7 Geometric bound ขอบเขต a n ≤ C r n a_n \le Cr^n a n ≤ C r n ของเวียนเกิดสัมประสิทธิ์ไม่ติดลบ
a n = ∑ i = 1 k c i a n − i , c i ≥ 0 ∑ i = 1 k c i r − i ≤ 1 , a n 0 + j ≤ C r n 0 + j ( j < k ) ⟹ a n ≤ C r n \begin{gathered} a_n = \sum_{i=1}^{k} c_i a_{n-i},\ c_i \ge 0 \\ \sum_{i=1}^{k} c_i r^{-i} \le 1,\quad a_{n_0+j} \le C r^{n_0+j}\ (j < k) \\ \Longrightarrow\ a_n \le C r^n \end{gathered} a n = i = 1 ∑ k c i a n − i , c i ≥ 0 i = 1 ∑ k c i r − i ≤ 1 , a n 0 + j ≤ C r n 0 + j ( j < k ) ⟹ a n ≤ C r n
r ที่เล็กที่สุดที่ใช้ได้คือรากบวกที่ใหญ่ที่สุดของสมการลักษณะเฉพาะ
ตัวอย่าง N-5 · ขอบเขตบน F 1 = F 2 = 1 , F n = F n − 1 + F n − 2 F_1 = F_2 = 1,\ F_n = F_{n-1} + F_{n-2} F 1 = F 2 = 1 , F n = F n − 1 + F n − 2 พิสูจน์ว่า F n < 2 n F_n < 2^n F n < 2 n ทุก n ≥ 1 n \ge 1 n ≥ 1
กรณีฐาน (สองตัวเพราะย้อนสองขั้น): F 1 = 1 < 2 , F 2 = 1 < 4 F_1 = 1 < 2,\ F_2 = 1 < 4 F 1 = 1 < 2 , F 2 = 1 < 4
ให้ n ≥ 3 n \ge 3 n ≥ 3 และ P ( j ) P(j) P ( j ) ทุก 1 ≤ j < n 1 \le j < n 1 ≤ j < n : F n = F n − 1 + F n − 2 < 2 n − 1 + 2 n − 2 = 3 ⋅ 2 n − 2 < 4 ⋅ 2 n − 2 = 2 n F_n = \hlP{F_{n-1}} + \hlP{F_{n-2}} < 2^{n-1} + 2^{n-2} = 3\cdot2^{n-2} < 4\cdot 2^{n-2} = 2^n F n = F n − 1 + F n − 2 < 2 n − 1 + 2 n − 2 = 3 ⋅ 2 n − 2 < 4 ⋅ 2 n − 2 = 2 n ∎
ฐาน 2 “หลวม” มาก ฐานที่เล็กที่สุดที่ใช้ได้คือ φ ≈ 1.618 \varphi \approx 1.618 φ ≈ 1.618 ลองเลื่อนแถบในแล็บด้านล่างให้ r ต่ำกว่า φ แล้วดูขั้นอุปนัยพัง
ตัวอย่าง N-6 · ขอบเขตล่างด้วย φ พิสูจน์ว่า F n ≥ φ n − 2 F_n \ge \varphi^{n-2} F n ≥ φ n − 2 ทุก n ≥ 1 n \ge 1 n ≥ 1 เมื่อ φ = 1 + 5 2 \varphi = \tfrac{1+\sqrt5}{2} φ = 2 1 + 5
กรณีฐาน: F 1 = 1 ≥ φ − 1 ≈ 0.618 F_1 = 1 \ge \varphi^{-1} \approx 0.618 F 1 = 1 ≥ φ − 1 ≈ 0.618 และ F 2 = 1 ≥ φ 0 = 1 F_2 = 1 \ge \varphi^0 = 1 F 2 = 1 ≥ φ 0 = 1
F n = F n − 1 + F n − 2 ≥ φ n − 3 + φ n − 4 = φ n − 4 ( φ + 1 ) = φ n − 4 ⋅ φ 2 = φ n − 2 F_n = F_{n-1} + F_{n-2} \ge \varphi^{n-3} + \varphi^{n-4} = \varphi^{n-4}(\varphi + 1) = \varphi^{n-4}\cdot\varphi^2 = \varphi^{n-2} F n = F n − 1 + F n − 2 ≥ φ n − 3 + φ n − 4 = φ n − 4 ( φ + 1 ) = φ n − 4 ⋅ φ 2 = φ n − 2 ∎
ใช้ φ 2 = φ + 1 \varphi^2 = \varphi + 1 φ 2 = φ + 1 เป็นกุญแจ ผลนี้ทำให้รู้ว่าอัลกอริทึมยุคลิดใช้จำนวนรอบเป็นลอการิทึม (ทฤษฎีบทของลาเม)
ตัวอย่าง N-7 · สูตรปิด a 1 = 1 , a 2 = 5 , a n = a n − 1 + 2 a n − 2 a_1 = 1,\ a_2 = 5,\ a_n = a_{n-1} + 2a_{n-2} a 1 = 1 , a 2 = 5 , a n = a n − 1 + 2 a n − 2 พิสูจน์ว่า a n = 2 n + ( − 1 ) n a_n = 2^n + (-1)^n a n = 2 n + ( − 1 ) n
กรณีฐาน: 2 − 1 = 1 = a 1 2 - 1 = 1 = a_1 2 − 1 = 1 = a 1 , 4 + 1 = 5 = a 2 4 + 1 = 5 = a_2 4 + 1 = 5 = a 2 ✓
ให้ n ≥ 3 n \ge 3 n ≥ 3 และสมมติสูตรจริงสำหรับ n − 1 n - 1 n − 1 และ n − 2 n - 2 n − 2 :
a n = 2 n − 1 + ( − 1 ) n − 1 + 2 ( 2 n − 2 + ( − 1 ) n − 2 ) = 2 n − 1 + 2 n − 1 + ( − 1 ) n − 2 ( − 1 + 2 ) = 2 n + ( − 1 ) n \begin{aligned} a_n &= \hlP{2^{n-1} + (-1)^{n-1}} + 2\big(\hlP{2^{n-2} + (-1)^{n-2}}\big) \\ &= 2^{n-1} + 2^{n-1} + (-1)^{n-2}(-1 + 2) \\ &= 2^n + (-1)^n \end{aligned} a n = 2 n − 1 + ( − 1 ) n − 1 + 2 ( 2 n − 2 + ( − 1 ) n − 2 ) = 2 n − 1 + 2 n − 1 + ( − 1 ) n − 2 ( − 1 + 2 ) = 2 n + ( − 1 ) n
สูตรมาจากสมการลักษณะเฉพาะ t 2 = t + 2 t^2 = t + 2 t 2 = t + 2 ราก 2 และ −1 ให้เครื่องแก้สร้างบทพิสูจน์
ตัวอย่าง N-8 · กรณีฐานสามตัว T 1 = T 2 = T 3 = 1 , T n = T n − 1 + T n − 2 + T n − 3 T_1 = T_2 = T_3 = 1,\ T_n = T_{n-1} + T_{n-2} + T_{n-3} T 1 = T 2 = T 3 = 1 , T n = T n − 1 + T n − 2 + T n − 3 พิสูจน์ว่า T n < 2 n T_n < 2^n T n < 2 n
ย้อน 3 ขั้น ⇒ กรณีฐาน 3 ตัว: 1 < 2 , 1 < 4 , 1 < 8 1 < 2,\ 1 < 4,\ 1 < 8 1 < 2 , 1 < 4 , 1 < 8
ให้ n ≥ 4 n \ge 4 n ≥ 4 : T n < 2 n − 1 + 2 n − 2 + 2 n − 3 = 7 ⋅ 2 n − 3 < 8 ⋅ 2 n − 3 = 2 n T_n < 2^{n-1} + 2^{n-2} + 2^{n-3} = 7\cdot2^{n-3} < 8\cdot 2^{n-3} = 2^n T n < 2 n − 1 + 2 n − 2 + 2 n − 3 = 7 ⋅ 2 n − 3 < 8 ⋅ 2 n − 3 = 2 n ∎
ลำดับจริง 1, 1, 1, 3, 5, 9, 17, 31, 57, … โตด้วยฐานราว 1.839
ตัวอย่าง N-9 · สูตรของบิเนต์ F 0 = 0 , F 1 = 1 , F n = F n − 1 + F n − 2 F_0 = 0,\ F_1 = 1,\ F_n = F_{n-1} + F_{n-2} F 0 = 0 , F 1 = 1 , F n = F n − 1 + F n − 2 พิสูจน์ F n = φ n − ψ n 5 F_n = \dfrac{\varphi^n - \psi^n}{\sqrt5} F n = 5 φ n − ψ n
กรณีฐาน: n = 0 n = 0 n = 0 ได้ 0 0 0 และ n = 1 n = 1 n = 1 ได้ φ − ψ 5 = 5 5 = 1 \tfrac{\varphi - \psi}{\sqrt5} = \tfrac{\sqrt5}{\sqrt5} = 1 5 φ − ψ = 5 5 = 1
ให้ n ≥ 2 n \ge 2 n ≥ 2 : F n = φ n − 1 − ψ n − 1 5 + φ n − 2 − ψ n − 2 5 = φ n − 2 ( φ + 1 ) − ψ n − 2 ( ψ + 1 ) 5 F_n = \dfrac{\varphi^{n-1} - \psi^{n-1}}{\sqrt5} + \dfrac{\varphi^{n-2} - \psi^{n-2}}{\sqrt5} = \dfrac{\varphi^{n-2}(\varphi + 1) - \psi^{n-2}(\psi + 1)}{\sqrt5} F n = 5 φ n − 1 − ψ n − 1 + 5 φ n − 2 − ψ n − 2 = 5 φ n − 2 ( φ + 1 ) − ψ n − 2 ( ψ + 1 )
แทน φ + 1 = φ 2 , ψ + 1 = ψ 2 \varphi + 1 = \varphi^2,\ \psi + 1 = \psi^2 φ + 1 = φ 2 , ψ + 1 = ψ 2 ได้ φ n − ψ n 5 \dfrac{\varphi^n - \psi^n}{\sqrt5} 5 φ n − ψ n ∎
เพราะ ∣ ψ ∣ < 1 |\psi| < 1 ∣ ψ ∣ < 1 จึงได้ F n F_n F n = จำนวนเต็มที่ใกล้ φ n / 5 \varphi^n/\sqrt5 φ n / 5 ที่สุด
เครื่องแก้ความสัมพันธ์เวียนเกิดที่เขียนบทพิสูจน์ให้
พิมพ์ความสัมพันธ์และค่าเริ่มต้น เครื่องมือหาสูตรปิดแบบแม่นตรง แล้วสร้างบทพิสูจน์ด้วยอุปนัยแบบเข้ม (กดเปิดส่วน “พิสูจน์สูตรด้วยอุปนัยแบบเข้ม” ท้ายผลลัพธ์) ใช้ตรวจว่าเราเขียนกรณีฐานครบและอ้างสมมติฐานถูกตัวหรือไม่ · รายละเอียดวิธีอยู่ที่ เครื่องคิดเลข 26.11
กลุ่มที่ 4: การนับและการแบ่งชิ้น กลาง
เมื่อสิ่งของ “แตกเป็นสองชิ้นที่เล็กกว่า” โดยไม่รู้ว่าแต่ละชิ้นใหญ่เท่าไร อุปนัยแบบเข้มคือเครื่องมือธรรมชาติ
ตัวอย่าง N-10 · ช็อกโกแลต แท่งช็อกโกแลต m × n m \times n m × n หักได้ครั้งละหนึ่งชิ้นตามร่อง ต้องหักกี่ครั้งจึงได้ชิ้น 1 × 1 1 \times 1 1 × 1 ทั้งหมด
ให้ P ( k ) P(k) P ( k ) : แท่งที่มี k ช่อง (รูปใดก็ได้) ต้องหัก k − 1 k - 1 k − 1 ครั้งพอดี · กรณีฐาน k = 1 k = 1 k = 1 : หัก 0 ครั้ง
ให้ k ≥ 2 k \ge 2 k ≥ 2 สมมติ P ( j ) P(j) P ( j ) ทุก j < k j < k j < k การหักครั้งแรกให้สองชิ้นขนาด p , q p, q p , q โดย p + q = k p + q = k p + q = k และ 1 ≤ p , q < k 1 \le p, q < k 1 ≤ p , q < k
รวม 1 + ( p − 1 ) + ( q − 1 ) = k − 1 1 + \hlP{(p - 1)} + \hlP{(q - 1)} = k - 1 1 + ( p − 1 ) + ( q − 1 ) = k − 1 ∎ (มุมมองที่สั้นกว่า: หักหนึ่งครั้งเพิ่มชิ้นหนึ่งชิ้นเสมอ)
m n − 1 mn - 1 mn − 1 ครั้ง ไม่ว่าจะหักแบบไหน · แท่ง 3 × 4 ใช้ 11 ครั้ง
ตัวอย่าง N-11 · ปูกระเบื้องโดมิโน กระดาน 2 × n 2 \times n 2 × n ปูด้วยโดมิโน 1 × 2 1 \times 2 1 × 2 ได้กี่แบบ
ดูชิ้นสุดท้ายทางขวา: เป็นโดมิโนตั้งหนึ่งชิ้น (เหลือ 2 × ( n − 1 ) 2 \times (n-1) 2 × ( n − 1 ) ) หรือโดมิโนนอนสองชิ้นซ้อนกัน (เหลือ 2 × ( n − 2 ) 2 \times (n-2) 2 × ( n − 2 ) ) ⇒ T ( n ) = T ( n − 1 ) + T ( n − 2 ) T(n) = T(n-1) + T(n-2) T ( n ) = T ( n − 1 ) + T ( n − 2 )
กรณีฐาน T ( 1 ) = 1 , T ( 2 ) = 2 T(1) = 1,\ T(2) = 2 T ( 1 ) = 1 , T ( 2 ) = 2 จากนั้นอุปนัยแบบเข้มแสดงว่า T ( n ) = F n + 1 T(n) = F_{n+1} T ( n ) = F n + 1 (เพราะทั้งสองข้างมีความสัมพันธ์และกรณีฐานเดียวกัน)
T ( 5 ) = F 6 = 8 T(5) = F_6 = 8 T ( 5 ) = F 6 = 8 แบบ ดูทั้งแปดแบบในแล็บ
ตัวอย่าง N-12 · ทฤษฎีบทเซกเคนดอร์ฟ
พิสูจน์ว่าจำนวนนับทุกตัวเขียนเป็นผลบวกของเลขฟีโบนัชชี (1, 2, 3, 5, 8, …) ที่ไม่มีสองตัวใดติดกันในลำดับได้
กรณีฐาน n = 1 = F n = 1 = F n = 1 = F · ให้ n ≥ 2 n \ge 2 n ≥ 2 และสมมติ P ( j ) P(j) P ( j ) ทุก j < n j < n j < n
ถ้า n เป็นเลขฟีโบนัชชีจบทันที มิฉะนั้นให้ F k F_k F k ใหญ่สุดที่ F k < n < F k + 1 F_k < n < F_{k+1} F k < n < F k + 1 และ r = n − F k r = n - F_k r = n − F k
r < F k + 1 − F k = F k − 1 r < F_{k+1} - F_k = F_{k-1} r < F k + 1 − F k = F k − 1 และ r < n r < n r < n ⇒ P ( r ) \hlP{P(r)} P ( r ) ให้ผลบวกของเลขฟีโบนัชชีที่ไม่ติดกันซึ่งทุกตัวเล็กกว่า F k − 1 F_{k-1} F k − 1 จึงไม่ติดกับ F k F_k F k ∎
100 = 89 + 8 + 3 100 = 89 + 8 + 3 100 = 89 + 8 + 3 ดูในแล็บ
กลุ่มที่ 5: เกม อัลกอริทึม และระบบควบคุม ขั้นสูง
ในวิทยาการคอมพิวเตอร์ อุปนัยแบบเข้มคือวิธีมาตรฐานในการพิสูจน์อัลกอริทึมแบบเรียกตัวเอง (recursive) เพราะการเรียกซ้ำมักลดขนาดปัญหาเป็นครึ่งหรือเป็นชิ้นใด ๆ ที่เล็กกว่า
N8 Divide-and-conquer bounds ขอบเขตอัลกอริทึมแบ่งครึ่ง
T ( n ) = T ( ⌊ n 2 ⌋ ) + T ( ⌈ n 2 ⌉ ) + n ⇒ T ( n ) ≤ n ⌈ log 2 n ⌉ C ( n ) = 1 + C ( ⌊ n 2 ⌋ ) ⇒ C ( n ) = ⌊ log 2 n ⌋ + 1 \begin{gathered} T(n) = T\big(\lfloor\tfrac n2\rfloor\big) + T\big(\lceil\tfrac n2\rceil\big) + n \\ \Rightarrow\ T(n) \le n\lceil\log_2 n\rceil \\ C(n) = 1 + C\big(\lfloor\tfrac n2\rfloor\big) \ \Rightarrow\ C(n) = \lfloor\log_2 n\rfloor + 1 \end{gathered} T ( n ) = T ( ⌊ 2 n ⌋ ) + T ( ⌈ 2 n ⌉ ) + n ⇒ T ( n ) ≤ n ⌈ log 2 n ⌉ C ( n ) = 1 + C ( ⌊ 2 n ⌋ ) ⇒ C ( n ) = ⌊ log 2 n ⌋ + 1
T ( 1 ) = 0 , C ( 1 ) = 1 T(1) = 0,\ C(1) = 1 T ( 1 ) = 0 , C ( 1 ) = 1 · merge sort และ binary search ตามลำดับ
N9 Take-away games เกมหยิบ (P/N positions)
n แพ้ ⟺ ทุกการหยิบนำไปสู่ตำแหน่งชนะ หยิบ { 1 , … , k } : n แพ้ ⟺ ( k + 1 ) ∣ n \begin{gathered} n \text{ แพ้} \iff \text{ทุกการหยิบนำไปสู่ตำแหน่งชนะ} \\ \text{หยิบ } \{1, \dots, k\}:\ n \text{ แพ้} \iff (k+1) \mid n \end{gathered} n แพ้ ⟺ ทุกการหยิบนำไปสู่ตำแหน่งชนะ หยิบ { 1 , … , k } : n แพ้ ⟺ ( k + 1 ) ∣ n
ตำแหน่ง 0 เป็นกรณีฐาน (คนที่ต้องเดินแพ้) ทุกตำแหน่งตัดสินจากตำแหน่งที่เล็กกว่าหลายตัว
ตัวอย่าง N-13 · เกมหยิบเหรียญ มีเหรียญ n อัน ผลัดกันหยิบครั้งละ 1, 2 หรือ 3 อัน ผู้หยิบอันสุดท้ายชนะ พิสูจน์ว่าผู้เริ่มก่อนแพ้ก็ต่อเมื่อ 4 ∣ n 4 \mid n 4 ∣ n
P ( n ) P(n) P ( n ) : ตำแหน่ง n แพ้ (สำหรับคนที่ต้องเดิน) ⇔ 4 ∣ n 4 \mid n 4 ∣ n · กรณีฐาน n = 0 n = 0 n = 0 : ไม่มีให้หยิบ แพ้ และ 4 ∣ 0 4 \mid 0 4 ∣ 0 ✓
ให้ n ≥ 1 n \ge 1 n ≥ 1 และสมมติ P ( j ) P(j) P ( j ) ทุก j < n j < n j < n ถ้า 4 ∣ n 4 \mid n 4 ∣ n : ทุกการหยิบได้ n − 1 , n − 2 , n − 3 n - 1, n - 2, n - 3 n − 1 , n − 2 , n − 3 ซึ่งหาร 4 ไม่ลงตัว จึงเป็นตำแหน่งชนะตาม P ( n − 1 ) \hlP{P(n-1)} P ( n − 1 ) , P ( n − 2 ) \hlP{P(n-2)} P ( n − 2 ) , P ( n − 3 ) \hlP{P(n-3)} P ( n − 3 ) ⇒ n แพ้
ถ้า 4 ∤ n 4 \nmid n 4 ∤ n : หยิบ n m o d 4 n \bmod 4 n mod 4 อันไปที่พหุคูณของ 4 ซึ่งแพ้ตามสมมติฐาน ⇒ n ชนะ ∎
กลยุทธ์: ทิ้งพหุคูณของ 4 ให้คู่แข่งเสมอ ลองชนะคอมพิวเตอร์ในแล็บ
ตัวอย่าง N-14 · merge sort T ( 1 ) = 0 , T ( n ) = T ( ⌊ n / 2 ⌋ ) + T ( ⌈ n / 2 ⌉ ) + n T(1) = 0,\ T(n) = T(\lfloor n/2\rfloor) + T(\lceil n/2\rceil) + n T ( 1 ) = 0 , T ( n ) = T (⌊ n /2 ⌋) + T (⌈ n /2 ⌉) + n พิสูจน์ T ( n ) ≤ n ⌈ log 2 n ⌉ T(n) \le n\lceil\log_2 n\rceil T ( n ) ≤ n ⌈ log 2 n ⌉
กรณีฐาน T ( 1 ) = 0 ≤ 1 ⋅ 0 T(1) = 0 \le 1\cdot 0 T ( 1 ) = 0 ≤ 1 ⋅ 0 · ให้ n ≥ 2 n \ge 2 n ≥ 2 และ c = ⌈ log 2 n ⌉ c = \lceil\log_2 n\rceil c = ⌈ log 2 n ⌉ จึงมี n ≤ 2 c n \le 2^c n ≤ 2 c
⌈ n / 2 ⌉ ≤ 2 c − 1 \lceil n/2\rceil \le 2^{c-1} ⌈ n /2 ⌉ ≤ 2 c − 1 ⇒ ทั้งสองครึ่งมี ⌈ log 2 ( ⋅ ) ⌉ ≤ c − 1 \lceil\log_2(\cdot)\rceil \le c - 1 ⌈ log 2 ( ⋅ )⌉ ≤ c − 1 และเล็กกว่า n จึงใช้ สมมติฐานแบบเข้ม \hlP{\text{สมมติฐานแบบเข้ม}} สมมติฐานแบบเข้ม ได้
T ( n ) ≤ ⌊ n 2 ⌋ ( c − 1 ) + ⌈ n 2 ⌉ ( c − 1 ) + n = n ( c − 1 ) + n = n c T(n) \le \lfloor\tfrac n2\rfloor(c-1) + \lceil\tfrac n2\rceil(c-1) + n = n(c - 1) + n = nc T ( n ) ≤ ⌊ 2 n ⌋ ( c − 1 ) + ⌈ 2 n ⌉ ( c − 1 ) + n = n ( c − 1 ) + n = n c ∎
merge sort ใช้การเปรียบเทียบ O ( n log n ) O(n\log n) O ( n log n ) · อุปนัยธรรมดาบน n − 1 n - 1 n − 1 ใช้ไม่ได้เพราะการเรียกซ้ำกระโดดไปที่ n / 2 n/2 n /2
ตัวอย่าง N-15 · binary search C ( 1 ) = 1 , C ( n ) = 1 + C ( ⌊ n / 2 ⌋ ) C(1) = 1,\ C(n) = 1 + C(\lfloor n/2\rfloor) C ( 1 ) = 1 , C ( n ) = 1 + C (⌊ n /2 ⌋) พิสูจน์ C ( n ) = ⌊ log 2 n ⌋ + 1 C(n) = \lfloor\log_2 n\rfloor + 1 C ( n ) = ⌊ log 2 n ⌋ + 1
กรณีฐาน C ( 1 ) = 1 = 0 + 1 C(1) = 1 = 0 + 1 C ( 1 ) = 1 = 0 + 1 · ให้ n ≥ 2 n \ge 2 n ≥ 2 สมมติสูตรจริงทุก j < n j < n j < n โดยเฉพาะ j = ⌊ n / 2 ⌋ j = \lfloor n/2\rfloor j = ⌊ n /2 ⌋
ถ้า 2 m ≤ n < 2 m + 1 2^m \le n < 2^{m+1} 2 m ≤ n < 2 m + 1 แล้ว 2 m − 1 ≤ ⌊ n / 2 ⌋ < 2 m 2^{m-1} \le \lfloor n/2\rfloor < 2^m 2 m − 1 ≤ ⌊ n /2 ⌋ < 2 m ⇒ ⌊ log 2 ⌊ n / 2 ⌋ ⌋ = m − 1 \lfloor\log_2\lfloor n/2\rfloor\rfloor = m - 1 ⌊ log 2 ⌊ n /2 ⌋⌋ = m − 1
C ( n ) = 1 + ( m − 1 ) + 1 = m + 1 = ⌊ log 2 n ⌋ + 1 C(n) = 1 + \hlP{(m - 1) + 1} = m + 1 = \lfloor\log_2 n\rfloor + 1 C ( n ) = 1 + ( m − 1 ) + 1 = m + 1 = ⌊ log 2 n ⌋ + 1 ∎
ค้นข้อมูลล้านรายการ (เรียงแล้ว) ใช้ไม่เกิน 20 รอบ
ตัวอย่าง N-16 · เอกลักษณ์ของเบซู พิสูจน์ว่า gcd ( a , b ) = a x + b y \gcd(a, b) = ax + by g cd( a , b ) = a x + b y สำหรับจำนวนเต็ม x, y บางค่า (ทุก a ≥ 0 , b ≥ 0 a \ge 0,\ b \ge 0 a ≥ 0 , b ≥ 0 ไม่เป็นศูนย์พร้อมกัน) แล้วหา x, y ของ gcd ( 252 , 198 ) \gcd(252, 198) g cd( 252 , 198 )
อุปนัยแบบเข้มบน b · กรณีฐาน b = 0 b = 0 b = 0 : gcd ( a , 0 ) = a = a ⋅ 1 + 0 ⋅ 0 \gcd(a, 0) = a = a\cdot1 + 0\cdot0 g cd( a , 0 ) = a = a ⋅ 1 + 0 ⋅ 0
ให้ b ≥ 1 b \ge 1 b ≥ 1 : a = q b + r a = qb + r a = q b + r โดย 0 ≤ r < b 0 \le r < b 0 ≤ r < b และ gcd ( a , b ) = gcd ( b , r ) \gcd(a, b) = \gcd(b, r) g cd( a , b ) = g cd( b , r ) จาก P ( r ) \hlP{P(r)} P ( r ) (เพราะ r < b r < b r < b ): gcd ( b , r ) = b x ′ + r y ′ \gcd(b, r) = bx' + ry' g cd( b , r ) = b x ′ + r y ′
แทน r = a − q b r = a - qb r = a − q b : gcd ( a , b ) = a y ′ + b ( x ′ − q y ′ ) \gcd(a,b) = ay' + b(x' - qy') g cd( a , b ) = a y ′ + b ( x ′ − q y ′ ) ∎ (นี่คืออัลกอริทึมยุคลิดแบบขยาย)
252 = 1 ⋅ 198 + 54 , 198 = 3 ⋅ 54 + 36 , 54 = 1 ⋅ 36 + 18 , 36 = 2 ⋅ 18 252 = 1\cdot198 + 54,\ 198 = 3\cdot54 + 36,\ 54 = 1\cdot36 + 18,\ 36 = 2\cdot18 252 = 1 ⋅ 198 + 54 , 198 = 3 ⋅ 54 + 36 , 54 = 1 ⋅ 36 + 18 , 36 = 2 ⋅ 18 ย้อนกลับได้ 18 = 252 ⋅ 4 − 198 ⋅ 5 18 = 252\cdot4 - 198\cdot5 18 = 252 ⋅ 4 − 198 ⋅ 5
gcd ( 252 , 198 ) = 18 = 4 ( 252 ) − 5 ( 198 ) \gcd(252, 198) = 18 = 4(252) - 5(198) g cd( 252 , 198 ) = 18 = 4 ( 252 ) − 5 ( 198 ) · r เป็นค่าใดก็ได้ที่น้อยกว่า b จึงต้องใช้อุปนัยแบบเข้ม
ตัวอย่าง N-17 · ระบบควบคุมดิจิทัล ค่าความคลาดของลูปควบคุมแบบไม่ต่อเนื่องสอดคล้อง e n = 0.5 e n − 1 + 0.3 e n − 2 e_n = 0.5e_{n-1} + 0.3e_{n-2} e n = 0.5 e n − 1 + 0.3 e n − 2 โดย e 0 = e 1 = 1 e_0 = e_1 = 1 e 0 = e 1 = 1 พิสูจน์ว่า e n ≤ C ( 0.86 ) n e_n \le C(0.86)^n e n ≤ C ( 0.86 ) n และหา C
สัมประสิทธิ์ไม่ติดลบ ใช้ N7 กับ r = 0.86 r = 0.86 r = 0.86 : 0.5 0.86 + 0.3 0.86 2 = 0.5814 + 0.4056 = 0.9870 ≤ 1 \tfrac{0.5}{0.86} + \tfrac{0.3}{0.86^2} = 0.5814 + 0.4056 = 0.9870 \le 1 0.86 0.5 + 0.8 6 2 0.3 = 0.5814 + 0.4056 = 0.9870 ≤ 1 ✓ (ราก t 2 = 0.5 t + 0.3 t^2 = 0.5t + 0.3 t 2 = 0.5 t + 0.3 คือ 0.8521 จึงเลือก r ต่ำกว่า 0.8521 ไม่ได้)
กรณีฐานสองตัว: ต้องการ C ≥ e 0 = 1 C \ge e_0 = 1 C ≥ e 0 = 1 และ C ≥ e 1 / 0.86 = 1.1628 C \ge e_1/0.86 = 1.1628 C ≥ e 1 /0.86 = 1.1628 ⇒ เลือก C = 1.1628 C = 1.1628 C = 1.1628
ขั้นอุปนัยแบบเข้ม: e n ≤ 0.5 C r n − 1 + 0.3 C r n − 2 = C r n ( 0.5 r + 0.3 r 2 ) ≤ C r n e_n \le 0.5\,\hlP{Cr^{n-1}} + 0.3\,\hlP{Cr^{n-2}} = Cr^n\left(\tfrac{0.5}{r} + \tfrac{0.3}{r^2}\right) \le Cr^n e n ≤ 0.5 C r n − 1 + 0.3 C r n − 2 = C r n ( r 0.5 + r 2 0.3 ) ≤ C r n ∎
ความคลาดลดลงอย่างน้อยแบบเรขาคณิตด้วยอัตรา 0.86 ต่อรอบ: หลัง 30 รอบเหลือไม่เกิน 1.1628 ( 0.86 ) 30 ≈ 0.013 1.1628(0.86)^{30} \approx 0.013 1.1628 ( 0.86 ) 30 ≈ 0.013
เปรียบเทียบ: อุปนัยธรรมดา อุปนัยแบบเข้ม และหลักการจัดอันดับดี
อุปนัยธรรมดา อุปนัยแบบเข้ม หลักการจัดอันดับดี
สมมติ P ( k ) P(k) P ( k ) P ( n 0 ) , … , P ( n − 1 ) P(n_0), \dots, P(n-1) P ( n 0 ) , … , P ( n − 1 ) ทั้งหมดมีตัวอย่างค้านที่เล็กที่สุด n
พิสูจน์ P ( k + 1 ) P(k+1) P ( k + 1 ) P ( n ) P(n) P ( n ) ได้ตัวอย่างค้านที่เล็กกว่า n (ขัดแย้ง)
เหมาะกับ สูตรผลบวก การหารลงตัว อสมการทีละขั้น เวียนเกิดหลายขั้น ตัวประกอบ แบ่งครึ่ง แบ่งชิ้น พิสูจน์การมีอยู่ ความเป็นอตรรกยะ การสิ้นสุดของอัลกอริทึม
กรณีฐาน ส่วนใหญ่ 1 ตัว เท่ากับจำนวนขั้นที่ย้อนไกลที่สุด มักแฝงอยู่ในการแยกกรณี
ทั้งสามแบบพิสูจน์สิ่งเดียวกันได้เสมอ (N2) การเลือกแบบเข้มไม่ได้ทำให้บทพิสูจน์ “แข็งแรงกว่า” แต่ทำให้เขียนง่ายและอ่านเข้าใจกว่าเมื่อขั้นอุปนัยต้องการหลายกรณี ถ้าใช้แค่ P ( k ) P(k) P ( k ) ก็เขียนแบบธรรมดาได้ ไม่ผิด
ข้อผิดพลาดที่พบบ่อย: เกมหาจุดผิด
กรณีฐานไม่พอ : ย้อนสองขั้นแต่ตรวจแค่ตัวเดียว (ผิดบ่อยที่สุด)
อ้างกรณีที่อยู่นอกโดเมน : ใช้ P ( n − 3 ) P(n-3) P ( n − 3 ) เมื่อ n − 3 n - 3 n − 3 ยังต่ำกว่า n 0 n_0 n 0 หรือใช้ a − 1 = 0 a - 1 = 0 a − 1 = 0 ที่ไม่ใช่จำนวนนับ
อ้างสมมติฐานถูก แต่ตรรกะต่อจากนั้นผิด : เช่น “ผลคูณของจำนวนเฉพาะเป็นจำนวนเฉพาะ”
เขียนสมมติฐานไม่ครบ : ต้องบอกช่วง “ทุก n 0 ≤ j < n n_0 \le j < n n 0 ≤ j < n ” ไม่ใช่ “สมมติว่าจริง”
ฝึกพิสูจน์แบบภาคปฏิบัติ
เรียงบรรทัดบทพิสูจน์ (มีบรรทัดหลอก)
บทพิสูจน์ที่ได้คะแนนเต็มคือบทพิสูจน์ที่เรียงเหตุผลถูก แตะบรรทัดตามลำดับ ระวังบรรทัดหลอกที่ดูน่าเชื่อแต่ใช้ไม่ได้ เช่น “สมมติแค่ P(n − 1)” ในโจทย์ที่ต้องย้อนสามขั้น
โจทย์ฝึก 10 ข้อ (มีเฉลย)
S1 พื้นฐาน พิสูจน์ว่าทุกราคา n ≥ 12 n \ge 12 n ≥ 12 บาทรวมได้ด้วยแสตมป์ 4 และ 5 บาท กรณีฐาน 4 ตัว: 12 = 4 ⋅ 3 , 13 = 4 ⋅ 2 + 5 , 14 = 4 + 5 ⋅ 2 , 15 = 5 ⋅ 3 12 = 4\cdot3,\ 13 = 4\cdot2 + 5,\ 14 = 4 + 5\cdot2,\ 15 = 5\cdot3 12 = 4 ⋅ 3 , 13 = 4 ⋅ 2 + 5 , 14 = 4 + 5 ⋅ 2 , 15 = 5 ⋅ 3 ขั้นอุปนัย: n ≥ 16 n \ge 16 n ≥ 16 ⇒ n − 4 ≥ 12 n - 4 \ge 12 n − 4 ≥ 12 ใช้ P ( n − 4 ) P(n-4) P ( n − 4 ) แล้วเติม 4 บาท
g ( 4 , 5 ) = 11 g(4,5) = 11 g ( 4 , 5 ) = 11 ดูในแล็บ
S2 พื้นฐาน มีเหรียญ 6, 9, 20 (ชุดไก่ทอด) ราคาใดใหญ่สุดที่ซื้อพอดีไม่ได้ ไล่ตารางพบว่า 44, 45, 46, 47, 48, 49 ทำได้ครบหกค่าติดกัน (เท่ากับเหรียญที่เล็กที่สุด) จึงทำได้ทุกค่าที่มากกว่าด้วยการเติม 6 ค่าที่ทำไม่ได้ใหญ่สุดคือ 43
43 ดูในแล็บ
S3 พื้นฐาน a 1 = 1 , a 2 = 3 , a n = a n − 1 + a n − 2 a_1 = 1,\ a_2 = 3,\ a_n = a_{n-1} + a_{n-2} a 1 = 1 , a 2 = 3 , a n = a n − 1 + a n − 2 พิสูจน์ a n < ( 7 / 4 ) n a_n < (7/4)^n a n < ( 7/4 ) n กรณีฐาน 1 < 1.75 , 3 < 3.0625 1 < 1.75,\ 3 < 3.0625 1 < 1.75 , 3 < 3.0625 ขั้นอุปนัย: a n < ( 7 / 4 ) n − 1 + ( 7 / 4 ) n − 2 = ( 7 / 4 ) n − 2 ⋅ 11 4 a_n < (7/4)^{n-1} + (7/4)^{n-2} = (7/4)^{n-2}\cdot\tfrac{11}{4} a n < ( 7/4 ) n − 1 + ( 7/4 ) n − 2 = ( 7/4 ) n − 2 ⋅ 4 11 และ 11 4 < 49 16 \tfrac{11}{4} < \tfrac{49}{16} 4 11 < 16 49 ✓
ใช้ได้เพราะ 4 7 + 16 49 = 44 49 ≤ 1 \tfrac{4}{7} + \tfrac{16}{49} = \tfrac{44}{49} \le 1 7 4 + 49 16 = 49 44 ≤ 1 ดูโครงสร้างกรณีฐาน
S4 กลาง a 0 = 1 , a 1 = 4 , a n = 5 a n − 1 − 6 a n − 2 a_0 = 1,\ a_1 = 4,\ a_n = 5a_{n-1} - 6a_{n-2} a 0 = 1 , a 1 = 4 , a n = 5 a n − 1 − 6 a n − 2 พิสูจน์ a n = 2 ⋅ 3 n − 2 n a_n = 2\cdot3^n - 2^n a n = 2 ⋅ 3 n − 2 n กรณีฐาน 2 − 1 = 1 , 6 − 2 = 4 2 - 1 = 1,\ 6 - 2 = 4 2 − 1 = 1 , 6 − 2 = 4 ขั้นอุปนัย: 5 ( 2 ⋅ 3 n − 1 − 2 n − 1 ) − 6 ( 2 ⋅ 3 n − 2 − 2 n − 2 ) = 2 ⋅ 3 n − 2 ( 15 − 6 ) − 2 n − 2 ( 10 − 6 ) = 2 ⋅ 3 n − 2 n 5(2\cdot3^{n-1} - 2^{n-1}) - 6(2\cdot3^{n-2} - 2^{n-2}) = 2\cdot3^{n-2}(15 - 6) - 2^{n-2}(10 - 6) = 2\cdot3^n - 2^n 5 ( 2 ⋅ 3 n − 1 − 2 n − 1 ) − 6 ( 2 ⋅ 3 n − 2 − 2 n − 2 ) = 2 ⋅ 3 n − 2 ( 15 − 6 ) − 2 n − 2 ( 10 − 6 ) = 2 ⋅ 3 n − 2 n
✓ ให้เครื่องแก้สร้างบทพิสูจน์
S5 กลาง พิสูจน์ว่า F 1 + F 2 + ⋯ + F n = F n + 2 − 1 F_1 + F_2 + \dots + F_n = F_{n+2} - 1 F 1 + F 2 + ⋯ + F n = F n + 2 − 1 อุปนัยธรรมดาพอ (ใช้แค่ P(n−1)): ∑ k = 1 n F k = ( F n + 1 − 1 ) + F n = F n + 2 − 1 \sum_{k=1}^{n} F_k = (F_{n+1} - 1) + F_n = F_{n+2} - 1 ∑ k = 1 n F k = ( F n + 1 − 1 ) + F n = F n + 2 − 1 · ตัวอย่างนี้แสดงว่าไม่ต้องใช้แบบเข้มทุกครั้ง
กรณีฐาน F 1 = 1 = F 3 − 1 F_1 = 1 = F_3 - 1 F 1 = 1 = F 3 − 1
S6 กลาง เกมหยิบครั้งละ 1, 3 หรือ 4 อัน ตำแหน่งใดแพ้ ไล่ตาราง: 0 แพ้, 1 ชนะ, 2 แพ้, 3, 4, 5, 6 ชนะ, 7 แพ้, … ตำแหน่งแพ้คือ n ≡ 0 , 2 ( m o d 7 ) n \equiv 0, 2 \pmod 7 n ≡ 0 , 2 ( mod 7 ) พิสูจน์ด้วยอุปนัยแบบเข้มเพราะตำแหน่ง n ขึ้นกับ n−1, n−3, n−4
0, 2, 7, 9, 14, 16, … เปิดแล็บแล้วเลือก “หยิบ 1, 3 หรือ 4”
S7 กลาง พิสูจน์ว่าต้นไม้ (tree) ที่มี n จุดยอดมีเส้นเชื่อม n − 1 n - 1 n − 1 เส้น อุปนัยแบบเข้มบน n: ลบเส้นเชื่อมหนึ่งเส้นได้ต้นไม้สองต้นขนาด p + q = n p + q = n p + q = n จากสมมติฐานมีเส้น ( p − 1 ) + ( q − 1 ) (p-1) + (q-1) ( p − 1 ) + ( q − 1 ) รวมเส้นที่ลบกลับคืน = n − 1 = n - 1 = n − 1 (โครงสร้างเดียวกับช็อกโกแลต)
กรณีฐาน n = 1 มี 0 เส้น
S8 ขั้นสูง a 1 = 1 , a n = a ⌊ n / 2 ⌋ + a ⌈ n / 2 ⌉ a_1 = 1,\ a_n = a_{\lfloor n/2\rfloor} + a_{\lceil n/2\rceil} a 1 = 1 , a n = a ⌊ n /2 ⌋ + a ⌈ n /2 ⌉ สำหรับ n ≥ 2 n \ge 2 n ≥ 2 หาและพิสูจน์สูตรลองค่า: 1, 2, 3, 4, … เดา a n = n a_n = n a n = n ขั้นอุปนัย a n = ⌊ n / 2 ⌋ + ⌈ n / 2 ⌉ = n a_n = \lfloor n/2\rfloor + \lceil n/2\rceil = n a n = ⌊ n /2 ⌋ + ⌈ n /2 ⌉ = n ใช้ P ( ⌊ n / 2 ⌋ ) , P ( ⌈ n / 2 ⌉ ) P(\lfloor n/2\rfloor), P(\lceil n/2\rceil) P (⌊ n /2 ⌋) , P (⌈ n /2 ⌉) ซึ่งทั้งคู่ < n < n < n เมื่อ n ≥ 2 n \ge 2 n ≥ 2
a n = n a_n = n a n = n
S9 ขั้นสูง พิสูจน์ว่า 2 \sqrt2 2 เป็นจำนวนอตรรกยะด้วยหลักการจัดอันดับดี สมมติ 2 = p / q \sqrt2 = p/q 2 = p / q และให้ q เป็นตัวส่วนบวกที่เล็กที่สุด ได้ p 2 = 2 q 2 p^2 = 2q^2 p 2 = 2 q 2 ⇒ p คู่ ⇒ q คู่ ⇒ 2 = ( p / 2 ) / ( q / 2 ) \sqrt2 = (p/2)/(q/2) 2 = ( p /2 ) / ( q /2 ) มีตัวส่วนเล็กกว่า q ขัดแย้ง
เป็นรูป “ตัวอย่างค้านที่เล็กที่สุด” ของอุปนัยแบบเข้ม
S10 ขั้นสูง e n = 0.6 e n − 1 + 0.2 e n − 2 , e 0 = 2 , e 1 = 1 e_n = 0.6e_{n-1} + 0.2e_{n-2},\ e_0 = 2,\ e_1 = 1 e n = 0.6 e n − 1 + 0.2 e n − 2 , e 0 = 2 , e 1 = 1 หา r ที่เล็กที่สุดที่ e n ≤ C r n e_n \le Cr^n e n ≤ C r n พิสูจน์ได้ด้วยวิธี N7r ต้องสอดคล้อง 0.6 / r + 0.2 / r 2 ≤ 1 0.6/r + 0.2/r^2 \le 1 0.6/ r + 0.2/ r 2 ≤ 1 ⇔ r 2 − 0.6 r − 0.2 ≥ 0 r^2 - 0.6r - 0.2 \ge 0 r 2 − 0.6 r − 0.2 ≥ 0 ⇒ r ≥ 0.3 + 0.29 ≈ 0.8385 r \ge 0.3 + \sqrt{0.29} \approx 0.8385 r ≥ 0.3 + 0.29 ≈ 0.8385 เลือก r ใดก็ได้ที่ไม่น้อยกว่านี้ แล้วให้ C = max ( e 0 , e 1 / r ) C = \max(e_0, e_1/r) C = max ( e 0 , e 1 / r )
r min = 0.3 + 0.29 ≈ 0.8385 r_{\min} = 0.3 + \sqrt{0.29} \approx 0.8385 r m i n = 0.3 + 0.29 ≈ 0.8385
เรียนต่อ
ทบทวนอุปนัยธรรมดาและแม่แบบ 4 ขั้นที่ อุปนัยเชิงคณิตศาสตร์ (3.2) อ่านตัวอย่างอีก 14 ข้อใน บทความอุปนัยเชิงคณิตศาสตร์ หาสูตรที่จะพิสูจน์ด้วย เครื่องคิดเลขลำดับและอนุกรม (26.11) และดูทฤษฎีลำดับเวียนเกิดที่ ลำดับ (26.1)
คำถามที่พบบ่อย อุปนัยแบบเข้ม (strong induction) ต่างจากอุปนัยธรรมดาอย่างไร? อุปนัยธรรมดาสมมติเพียง P ( k ) P(k) P ( k ) แล้วพิสูจน์ P ( k + 1 ) P(k+1) P ( k + 1 ) ส่วนอุปนัยแบบเข้มสมมติว่า P ( j ) P(j) P ( j ) จริงทุก j ตั้งแต่กรณีฐานจนถึง n − 1 n-1 n − 1 แล้วพิสูจน์ P ( n ) P(n) P ( n ) ใช้เมื่อการพิสูจน์ P ( n ) P(n) P ( n ) ต้องอาศัยกรณีที่ย้อนไปไกลกว่าหนึ่งขั้นหรือไม่รู้ล่วงหน้าว่าย้อนไปเท่าไร เช่น P ( n − 2 ) P(n-2) P ( n − 2 ) , P ( ⌊ n / 2 ⌋ ) P(\lfloor n/2\rfloor) P (⌊ n /2 ⌋) หรือตัวประกอบของ n ทั้งสองแบบมีพลังเท่ากันในทางตรรกะ
ต้องมีกรณีฐานกี่ตัว? เท่ากับจำนวนขั้นที่ขั้นอุปนัยย้อนกลับไกลที่สุด ถ้าใช้ P ( n − 1 ) P(n-1) P ( n − 1 ) และ P ( n − 2 ) P(n-2) P ( n − 2 ) ต้องมีกรณีฐานสองตัว (เช่น F 1 F_1 F 1 และ F 2 F_2 F 2 ) ถ้าใช้ P ( n − 4 ) P(n-4) P ( n − 4 ) แบบโจทย์แสตมป์ 4 และ 5 บาทต้องมีสี่ตัว ถ้าขาดไปแม้ตัวเดียว ทั้งบทพิสูจน์ใช้ไม่ได้
พิสูจน์ว่าทุกราคาตั้งแต่ 8 บาทขึ้นไปรวมได้ด้วยแสตมป์ 3 และ 5 บาทอย่างไร? กรณีฐาน 8 = 3 + 5 , 9 = 3 + 3 + 3 , 10 = 5 + 5 8 = 3+5,\ 9 = 3+3+3,\ 10 = 5+5 8 = 3 + 5 , 9 = 3 + 3 + 3 , 10 = 5 + 5 ขั้นอุปนัยแบบเข้ม: ให้ n ≥ 11 n \ge 11 n ≥ 11 และสมมติว่าทุกราคา j ที่ 8 ≤ j < n 8 \le j < n 8 ≤ j < n รวมได้ เพราะ n − 3 ≥ 8 n - 3 \ge 8 n − 3 ≥ 8 จึงรวม n − 3 n-3 n − 3 ได้ แล้วเติมแสตมป์ 3 บาทอีกดวง ต้องมีกรณีฐานสามตัวเพราะขั้นอุปนัยย้อนกลับ 3 ขั้น
ทำไมการพิสูจน์ว่าทุกจำนวนเต็มเป็นผลคูณของจำนวนเฉพาะต้องใช้อุปนัยแบบเข้ม? เพราะถ้า n ไม่เป็นจำนวนเฉพาะ n = ab โดย a และ b เล็กกว่า n แต่ไม่ใช่ n − 1 การรู้ว่า n − 1 เป็นผลคูณของจำนวนเฉพาะไม่ช่วยอะไรเลย ต้องสมมติว่าทุกจำนวนที่เล็กกว่า n เป็นผลคูณของจำนวนเฉพาะ จึงใช้สมมติฐานกับ a และ b ได้
อุปนัยแบบเข้มใช้ในงานวิศวกรรมหรือวิทยาการคอมพิวเตอร์อย่างไร? ใช้พิสูจน์ความถูกต้องและเวลาทำงานของอัลกอริทึมแบบแบ่งแล้วเอาชนะ (เช่น merge sort ใช้การเปรียบเทียบไม่เกิน n ⌈ log 2 n ⌉ n\lceil\log_2 n\rceil n ⌈ log 2 n ⌉ ครั้ง binary search ใช้ ⌊ log 2 n ⌋ + 1 \lfloor\log_2 n\rfloor + 1 ⌊ log 2 n ⌋ + 1 รอบ) พิสูจน์สูตรปิดของลำดับเวียนเกิดในตัวกรองดิจิทัล และพิสูจน์ว่าค่าความคลาดในระบบควบคุมดิจิทัลลดลงแบบเรขาคณิต ∣ e n ∣ ≤ C r n |e_n| \le Cr^n ∣ e n ∣ ≤ C r n
มีที่ให้ฝึกเขียนพิสูจน์ด้วยอุปนัยแบบเข้มไหม? หน้านี้มีแล็บโต้ตอบ 11 ชุด เช่น ตารางว่าแต่ละ P(n) อาศัยกรณีใด ทดลองลดกรณีฐานแล้วดูบทพิสูจน์พัง เกมเรียงบรรทัดบทพิสูจน์ที่มีบรรทัดหลอก เกมหาจุดผิด และเครื่องแก้ความสัมพันธ์เวียนเกิดที่สร้างบทพิสูจน์ด้วยอุปนัยแบบเข้มให้อัตโนมัติ พร้อมโจทย์ฝึกที่มีเฉลย
มด
อาจารย์มด · ธีรวุฒิ แสวงบุญ อาจารย์สาขาวิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยราชภัฏธนบุรี สมุทรปราการ · ดูโปรไฟล์
บทความอ่านง่ายเกี่ยวกับหัวข้อนี้
ดูบทความทั้งหมด →