เลขฟีโบนัชชีและการพิสูจน์อุปนัยแบบพร้อมเพรียงกัน
ลำดับฟีโบนัชชีนั้น แม้จะนิยามขึ้นมาจากความสัมพันธ์เวียนเกิดง่ายๆ
แต่ก็ยังมีเอกลักษณ์บางอย่างที่ดูแล้วไม่น่าเป็นไปได้ที่จะพิสูจน์ด้วยเทคนิคข้างต้น เช่น
หรือเอกลักษณ์ที่คล้ายๆ กันอย่าง
ถึงแม้เราสามารถสังเกตจากการทดลองได้ว่า สมการข้างต้นเป็นจริงเมื่อ
เทคนิคที่จะนำมาใช้พิสูจน์สมการข้างต้น ทำได้โดยการขยายขีดความสามารถของการอุปนัยขึ้นไป กล่าวคือแทนที่เราจะพิสูจน์ให้เห็นว่าเป็นจริงทีละสมการ ก็เปลี่ยนมาพิสูจน์ทั้งสองสมการพร้อมกันไปเลย ซึ่งทำได้ดังนี้
ก่อนอื่น ให้
สังเกตได้ไม่ยากว่า
ขั้นต่อไป สมมติให้
เริ่มจากฝั่ง
และแน่นอนว่าฝั่ง
เราอาจเรียกเทคนิคนี้ว่าเป็นการพิสูจน์โดยอุปนัยแบบพร้อมเพรียงกัน (simultaneous induction)
แผนภาพแนวคิดการพิสูจน์โดยอุปนัยแบบพร้อมเพรียงกัน
ความเจ๋งของเอกลักษณ์ทั้ง 2 สมการข้างต้นนี้ คือมันช่วยให้เราได้อัลกอริทึมคำนวณค่าฟีโบนัชชีที่ตำแหน่ง
ส่วนการนำไปใช้งานจริงนั้น เราอาจจัดรูปเอกลักษณ์ในกรณีเลขคู่ให้กลายเป็น
def fibonacci(n):
if n in {1, 2}:
return 1
elif n % 2 == 0:
f0 = fibonacci(n//2)
f1 = fibonacci(n//2+1)
return f0 * (2*f1 - f0)
else:
f0 = fibonacci(n//2 + 1)
f1 = fibonacci(n//2)
return f0**2 + f1**2
หมายเหตุ
บล็อกตอนนี้อาจถือได้ว่าเป็นตอนต่อของการคำนวณค่าฟิโบนัชชีด้วยเมทริกซ์ ซึ่งเราสามารถมาถึงข้อสรุปของเอกลักษณ์ข้างต้นได้เช่นกัน ผ่านการแก้สมการเมทริกซ์จากตอนที่แล้วต่อดังนี้
อ้างอิง
- Lovász, L., Pelikán, J. and Vesztergombi, K., 2003. Discrete mathematics, Undergraduate Texts in Mathematics.

author