wwibul
นาย วิบุล วงศ์ภูวรักษ์

ความเข้าใจ ไม่ใช่ การรู้จักชื่อ (2)


จะขอยกกรณีตัวอย่างที่ การรู้จัก กับ ความเข้าใจ เป็นคนละเรื่องกัน

ลองดูตัวเลข 365.2424 วัน (ค่าเฉลี่ยของปี ข้อมูลจาก wikipedia)

ถ้าเรารู้จัก จบแค่นี้

แต่ถ้าเราเข้าใจ นี่คือสูตรทำปฎิทินหมื่นปี

ตอนที่แล้ว เล่าเรื่องฟาย์นแมนเล่าถึงจารึกของชาวมายา

เขาได้จารึกจำลองเป็นของขวัญ เขาเริ่มจากไม่รู้อะไรเลย ค่อย ๆ หัดแกะจนรู้ว่า มีกลุ่มตัวเลขเป็นชุด เขาสามารถแกะจนเทียบเคียงกับเลขในปัจจุบัน

ตอนแรกเขานึกว่า เป็นตำราสอนคณิตศาสตร์ แต่ก็แปลกใจว่า ทำไมมีกรณีที่คูณกันแล้วผลคูณไม่สอดคล้องกับคณิตศาสตร์ ทำให้หลงดูถูกไปพักหนึ่งว่าคูณเลขไม่เก่ง

มาภายหลัง เขาจึงพบว่า ชุดตัวเลขเหล่านั้น ล้วนอธิบายดาราศาสตร์เกี่ยวกับดาวพระศุกร์ ในมุมมองของผู้สังเกตการณ์บนโลก ! และผลคูณที่คูณผิด จริง ๆ แล้วก็เหมือนการปรับแก้เลขครบรอบปีที่เราชิน

สมมติว่ามีนักดาราศาตร์ต่างดาว ส่องดูโลกจากที่ไกล ๆ แล้วบอกว่้า 365 x 4 = 1461 และ 1461 x 33 = 48212 ล่ะ

ใครเห็น ก็คงหัวเราะ ว่าคูณผิด

แต่คูณผิดทางคณิตศาสตร์ กลายเป็นคูณถูกทางดาราศาสตร์

ระบบปี มีรากเหง้าเกิดขึ้นจากการกำหนดตำแหน่งของโลก เทียบกับดาวอื่น การมีทศนิยม จึงไม่ใช่เรื่องแปลก เพราะเป็นตัวบอกว่า เมื่อตำแหน่งบนโลกกับดวงอาทิตย์จะกลับมาซ้ำเดิมอีกครั้ง อย่างหยาบมากคือทุก 365 วัน อย่างแม่นขึ้นมาหน่อย คือ ทุก 1461 วัน (เรารู้จักว่านี่คือ 4 ปี) และอย่างแม่นยำคือทุก 48212 วันให้หลัง (เรารู้จักว่า 132 ปี หรือคือรอบ 4 ปีซ้ำกัน 33 ครั้ง)

ลองมาดูสูตรการเขียนโปรแกรมที่โปรแกรมเมอร์เขาใช้ในการคำนวณว่า ปีไหน 365 หรือ 366 วันสิครับ อ่านจากล่างขึ้นบน นี่คือระบบคำนวณปฎิทินที่วิวัฒนาการขึ้นมาล้อมรอบค่า 365.2424

 

if year modulo 400 is 0 then leap             <- ปรับแก้รอบสาม ทุก 400 ปี ทำให้เฉลี่ยอยู่ที่ 365.2425 วัน
else if year modulo 100 is 0 then no_leap <- ปรับแก้รอบสอง ทุก 100 ปี ทำให้เฉลี่ยอยู่ที่ 365.24 วัน
else if year modulo 4 is 0 then leap         <-- ปรับแก้รอบแรก ทุก 4 ปี ทำให้เฉลี่ยอยู่ 365.25 วัน
else no_leap                                        <-- ปีปรกติมี 365 วัน

บรรทัดที่ 4 ล่างสุด บอกว่า ปี ตามปรกติ มี 365 วัน

บรรทัดที่ 3 บอกว่า ทุก 4 ปีต้องปรับแก้เพิ่ม 1 วัน ด้วยการทำให้เป็นปีอธิกสุรทิน (366 วัน)

ผลคือ คิดแบบนี้ ทำให้ 1 ปี มีค่าประมาณ 365 + 1/4 วัน = 365.25 วัน

 

บรรทัดที่ 2 บอกว่า ทุก 100 ปี ต้องปรับแก้ลดลง 1 วัน ด้วยการงด ไม่ให้เป็นปีอธิกสุรทิน

ผลคือ คิดแบบนี้ ทำให้ 1 ปี มีค่าประมาณ 365 + 1/4  - 1/100 วัน = 365.24 วัน

 

บรรทัดที่ 1 บอกว่า ทุก 400 ปี ต้องปรับแก้เพิ่มขึ้น 1 วัน ด้วยการทำให้เป็นปีอธิกสุรทิน (366 วัน)

ผลคือ คิดแบบนี้ ทำให้ 1 ปี มีค่าประมาณ 365 + 1/4 - 1/100 + 1/400 วัน = 365.2525 วัน

เวลาเขียนโปรแกรม เขาคิดแบบหนึ่ง แต่ต้องเขียนแบบหนึ่ง เพื่อให้แน่ใจว่า ข้อยกเว้นต่าง ๆ เก็บรายละเอียดได้หมด คือให้ความสำคัญกับข้อยกเว้นก่อน เอาข้อยกเว้นมาใส่ตอนต้นของโปรแกรม แล้วเอากรณีที่ทั่วไปมากกว่า ใส่ไว้ตอนท้ายของการเขียนโปรแกรม

ระบบคิดที่ซับซ้อนเหล่านี้ ที่แท้ ก็เพื่อคงให้ค่าเฉลี่ยระยะยาว อยู่ใกล้ 365.2424 วัน ให้มากที่สุด

 

ตัวเลข 365.2424 วัน ถ้าจะเอาแบบให้คำนวณแม่น ควรเป็น 365 + 1/4 - 1/132 แบบนั้น จะแม่นกว่า

คือ ทุก 4 ปี ต้องเป็นอธิกสุรทิน แล้วปรับแก้ทุก 132 ปี ด้วยการยกเว้น ไม่นับให้เป็นปีอธิกสุรทิน

หน้าตาโปรแกรม จะเป็นทำนองนี้

if year modulo 132 is 0 then no_leap
else if year modulo 4 is 0 then leap
else no_leap

เขียนง่าย แต่คำนวณยาก เพราะเลขฐาน 132 คงมีน้อยคนที่ใช้ได้อย่างเป็นธรรมชาติ ในไทยเอง ที่เคยเห็นว่าคณิตศาสตร์เลขฐานระดับเทพจริง ๆ ก็ใช้แค่ฐานร้อยยี่สิบเอง (เป็นข่าวด้วยละ ตอนเค้าซื้อบ้าน ช่วงนั้นรู้สึกจะมีเลือกตั้งด้วย คนร้องยี้กันทั้งเมือง คงเป็นเพราะคณิตศาสตร์ยากไป ฟังแล้วหูห้อย)

ถ้าใช้ระบบ 132 ปีจริง ๆ ทำแบบนั้น คนที่เกี่ยวข้อง คงสับสนมาก คือทุก 4 ปี ให้ปรับแก้เพิ่ม 1 วัน และทุก 132 ปี ปรับแก้ลดลง 1 วัน จะสร้างความปั่นป่วนในการเรียนรู้อย่างมหาศาล

ลองนึกถึงวิชาดูหมอ (หมายถึง "หมอดู" ไม่ใช่ "go to see a doctor") คงยากมาก จนคนเรียน หัวล้านกันถ้วนหน้า

เรียนไป ก็ทึ้งผมไป เรียนมาก ทึ้งมาก เรียนน้อย ทึ้งน้อย

เรียนจบ หัวล้านพอดี

แต่คิดอีกทีหนึ่ง ก็เหมือนยูโด วัดระดับกันด้วย สายสี เช่น สายดำ สายขาว

แต่หมอดูระบบปฎิทิน 132 ปี วัดฝีมือง่าย ดูระดับการหัวล้าน แผล็บ เอ๊ย แวบ เดียว ก็หยั่งระดับฝีมือได้

 

กลับมาที่ 365 x 4 = 1461 นี่ก็คือ 4 ปีผ่านไป เทียบเท่า 1461 วัน

1461 x 33 = 48212 ก็คือ ให้รอบ 4 ปีผ่านไป 33 ครั้ง (ก็คือ 132 ปี) ก็จะมี 48212 วัน นั่นเอง

นี่เป็นตัวอย่างว่า ตัวเลข 365.2424 วัน ก็คือ สูตรคำนวณปฎิทิน ในตัวของมันเอง สำหรับคนที่เข้าใจ

แต่ต่อให้ไม่เข้าใจ ก็มีคนจำนวนมาก เรียนรู้ลูกเล่นเหล่านี้ ดังในโค้ดโปรแกรมตัวอย่างที่ใส่ไว้

โปรแกรมเมอร์ที่เขียนโปรแกรมเกี่ยวกับระบบวันที่ ต้องใช้ลูกเล่นดังที่แสดงไว้ข้างต้น เพื่อสร้างปฎิทินใช้เองในโปรแกรม

 

แต่เมื่อเราใช้ความเข้าใจเป็นตัวตั้งแล้ว เราก็จะทำนายต่อไปได้อีกว่า ระบบปฎิทิน 365 + 1/4 - 1/132 = 365.2424 จะแม่นกว่า 365 + 1/4 - 1/100 + 1/400 วัน = 365.2525

ถ้าตัวเลข 365.2424 เชื่อถือได้มากกว่า 365.2425 แล้ว ระบบปฎิทินปัจจุบัน ทุก 1 หมื่นปี ต้องมีการปรับลดจำนวนปีอธิกสุรทินลงอีก 1 ครั้ง จึงจะแม่นเท่ากัน

 

หรือนั่นคือ โปรแกรมที่แม่นยำกว่า ควรเป็น

if year modulo 10000 is 0 then no_leap
else if year modulo 400 is 0 then leap
else if year modulo 100 is 0 then no_leap
else if year modulo 4 is 0 then leap
else no_leap

ถ้าใช้แบบนี้ จะแม่นยำขึ้น เทียบเท่าระบบการปรับแก้ทุก 132 ปี

พูดอีกนัยหนึ่ง ระบบปฎิทิน 400 ปีที่เราใช้ปัจจุบัน ไม่แม่นเท่าระบบปฎิทิน 132 ปี !

สิ่งที่น่าสนใจคือ อิหร่านในยุคโบราณ ใช้ปฎิทินระบบ 132 ปี (33 x 4) โดยมีการปรับแก้ให้อิงปรากฎการณ์ทางดาราศาสตร์ให้มากที่สุด ด้วยการใช้ 29 x 4 สลับกับ 37 x 4

 

ในทำนองเดียวกัน เวลาเห็นสมการ การรู้จัก กับ ความเข้าใจ จะมองไม่เหมือนกัน

เบื้องหลังสมการ คือเหตุการณ์

บางคนเห็นสมการ แล้วตีความพีชคณิตได้ แต่ก็ไม่ได้เห็นเหตุการณ์

 

ตัวอย่าง - คนอื่นตีความสมการของไอน์สไตน์ว่า พลังงาน เท่ากับมวล คูณ ความเร็วแสงยกกำลังสอง

แต่ไอน์สไตน์เอง มองว่า มวล คือ พลังงาน และ พลังงาน คือ มวล

ลองฟังเสียงไอน์สไตน์บรรยายดูเองนะครับ

 

สมการเดียวกัน ตีความไปคนละทาง ขึ้นกับว่า ตีความโดยคนที่ รู้จัก หรือ เข้าใจ

ไอน์สไตน์เองมองว่า พจน์ความเร็วแสงกำลังสอง ที่ต้องมีอยู่ เพราะหน่วยมวล หน่วยระยะทาง และหน่วยเวลาที่เราใช้ ไม่เหมาะสมพอ คือเป็นหน่วยที่มนุษย์ตั้งขึ้นเองตามใจชอบ ทำให้ต้องมีค่าคงที่โผล่ขึ้นมา หากใช้หน่วยที่ แสงเดินทางใน 1 หน่วยเวลาชนิดใหม่ ได้ 1 หน่วยระยะทางชนิดใหม่ สมการจะมีหน้าตาเป็น E = m แทน เวลาอ่านสมการหน้าตาอย่างนี้ ก็จะอ่านว่า ด้านซ้าย คือ ด้านขวา และ ด้านขวา คือ ด้านซ้าย

  

ตอนที่ฟายน์แมนบรรยายวิชาการครั้งแรกในชีวิต มียักษ์ใหญ่ของวงการเข้าฟังกันหลายคน เช่น เพาลี วอนนิวมาน ไอน์สไตน์ วิกเนอร์ เขาเล่าภายหลังถึงสิ่งที่เขาทำไปตอนนั้น และทำให้เขารู้สึกคับแค้นใจมาตลอด

เขาเล่าว่า เขามัวแต่เสียเวลาเขียนสมการร่ายยาวต่อหน้ายักษ์ใหญ่ในวงการเหล่านี้ แทนที่จะเล่าถึงสิ่งที่เขาเห็นในสมการเหล่านั้น

 

หมายเลขบันทึก: 220247เขียนเมื่อ 2 พฤศจิกายน 2008 00:27 น. ()แก้ไขเมื่อ 14 มิถุนายน 2012 00:01 น. ()สัญญาอนุญาต:


ความเห็น (7)

น่าสนใจทีเดียวอาจารย์ การรู้จักกับความเข้าใจไม่เหมือนกัน  เข้าใจครับเข้าใจ

เป็นข้อความธรรมดาที่ลึกซึ้งจริงๆค่ะ ใช้ได้กับอีกหลากหลายกรณีเสียด้วย

สวัสดีครับ P  ลุงเอก

  • สบายดีครับ
  • จะผ่านไปหาดใหญ่เมื่อไหร่ ขอผมเป็นเจ้ามือบ้างนะครับ
  • เอาเกณฑ์ ใครใช้ระบบปฎิบัคิการที่มีอาวุโสสูงสุด เป็นเจ้ามือ นะครับ

สวัสดีครับ คุณP  โอ๋-อโณ

  • อยากฟังขยายความบ้างจังเลยครับ

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

P Sasinand

 

  • ประโยคที่เขาบอกนี่ ฟังแล้วชวนสะดุ้งนะครับ

ผมมีสูตรคำนวณปฎิทิน 1,000 ปี ให้คำตอบได้ไม่เกิน 2 วินาที คำนวณในใจ

คุณ lima

  • สวัสดีครับ
  • น่าจะเขียนไว้นะครับ คงน่าอ่านมาก
พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ขอแนะนำ ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี