วิทย์ม.ต้น: “กฎแห่ง 72”, ใช้ Bisection Method หาคำตอบสมการ, หัดใช้ command Line กับโปรแกรมไพธอน

สัปดาห์นี้เด็กๆม.2-3 ได้รู้จัก “กฎแห่ง 72” ไว้ใช้ประมาณในใจว่าถ้าลงทุนมีผลตอบแทนทบต้นที่ r % ต่อปี จะใช้เวลาประมาณ 72/r ปีที่เงินจะงอกเงยเป็น 2 เท่า ยกตัวอย่างเช่นถ้าผลตอบแทนเท่ากับ 3% ต่อปีจะใช้เวลา 72/3 = 24 ปี ถ้าผลตอบแทนเท่ากับ 8% ต่อปีจะใช้เวลา 72/8 = 9 ปี

มีหลายคนเข้าใจผิดว่ากฎนี้เป็นกฎที่ไอน์สไตน์คิดขึ้น แต่จริงๆแล้วน่าจะมีมาก่อนไอน์สไตน์หลายร้อยปี แต่ไอน์สไตน์เคยพูดเรื่องดอกเบี้ยทบต้นไว้ว่า “Compound interest is the eighth wonder of the world. He who understands it earns it … he who doesn’t … pays it.” เลยอาจมีคนเข้าใจผิดว่าไอน์สไตน์เป็นคนคิด

สำหรับเด็กๆที่รู้จัก logarithm เราสามารถคำนวณเวลาที่ทำให้เงินงอกเป็นสองเท่าได้เป๊ะๆเท่ากับ log(2)/log(1+r/100) ถ้ารู้จัก logarithm และ calculus สามารถอ่านคำอธิบายความเป็นมาได้ที่  กฎของ “70” (หรือ “72”) ครับ เป็นผลลัพธ์จากการกระจาย Taylor’s series

การประมาณด้วยกฎของ 72 มีความใกล้เคียงกับคำตอบจริงๆดีทีเดียวสำหรับผลตอบแทน r ที่ไม่สูงเกินไปครับ

ถ้าเด็กๆไม่รู้จักสูตร  log(2)/log(1+r/100) ก็ยังสามารถใช้วิธีให้คอมพิวเตอร์ไล่หาคำตอบที่เป็นตัวเลขด้วยวิธี bisection อย่างที่เคยเห็นที่ วิทย์ม.ต้น: เขียนโปรแกรมไพธอนหาว่าพาราโบลาตัดแกน x ที่ไหน, วิธีหาคำตอบโดย Bisection Method ก็ได้ครับ

นอกจากนี้เรายังสามารถประยุกต์เอาวิธี bisection หาคำตอบเป็นตัวเลขให้เราในปัญหาที่เราไม่แน่ใจว่าคำตอบเป็นสูตรอย่างไรก็ได้ครับ เช่นถ้าเราต้องการทราบว่าเราต้องออมเงินปีละเท่าไรเป็นเวลา 40 ปี ด้วยผลตอบแทนทบต้นปีละ 8% ถึงจะมีเงินเมื่อสิ้นปีที่ 40 เท่ากับ 40,000,000 บาท คำตอบจาก bisection คือ 142,969 บาท:

ถ้าเราต้องการออมเงินทุกปีเป็นเวลา 20 ปี ปีละ 100,000 บาท แล้วเราต้องการให้เงินตอนจบเป็น 10 ล้านบาท เราต้องหาผลตอบแทนทบต้นปีละกี่เปอร์เซ็นต์ เราก็สามารถใช้ bisection หาให้เราได้ว่าต้องหาอัตราตอบแทน 13.7% ต่อปี:

สามารถโหลดโค้ดต่างๆใน Jupyter Notebook ไปเล่นได้ที่นี่ หรือดูโค้ดออนไลน์ได้ที่ Colab Notebook นะครับ

สำหรับเด็กม.1 ผมให้หัดใช้ command line เรียกไพธอนมาทำงานให้ ที่ผ่านมาเด็กๆจะใช้ไพธอนผ่าน Jupyter Notebook ตลอด

เด็กๆลงโปรแกรมไพธอนด้วย Anaconda บน Windows กันจึงเรียก Anaconda Prompt ขึ้นมาแล้วพิมพ์คำสั่งประเภท python program_name.py arg1 arg2 arg3 (ถ้าใช้ macOS หรือ Linux ก็เรียก terminal ขึ้นมาพิมพ์เลยก็ได้ครับ)

แนะนำให้เด็กๆที่ใช้ Windows ไปอ่าน คำสั่ง Command Line พื้นฐาน และตัวอย่างการใช้คำสั่งต่างๆ ดูเพื่อเพิ่มความรู้และความเข้าใจนะครับ

สำหรับเด็กๆที่ใช้ macOS หรือ Linux ลองดู [Mac มือใหม่] มาเรียนรู้พื้นฐาน Linux + Command Line เบื้องต้นกันดีกว่า หรือหนังสือหัดใช้ Command-line Interface เถอะ ดูครับ

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.