Category Archives: math

วิทย์ม.ต้น: Cognitive Biases สองอัน, เปรียบเทียบการตกกรวยกระดาษและลูกบอล

วันนี้สำหรับมัธยมต้นพวกเราคุยกันเรื่อง cognitive biases ที่เด็กๆไปอ่านในหนังสือ The Art of Thinking Clearly ในสัปดาห์ที่ผ่านมาครับ คราวนี้เรื่อง Confirmation Bias และ Authority Bias

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

อันนี้เป็นเกมเกี่ยวกับ confirmation bias ครับ:

Authority Bias  คือการที่เราเชื่อหรือให้น้ำหนักความเห็นของ “ผู้ใหญ่” หรือ “ผู้นำ” มากเกินไป แม้ว่าจะมีหลักฐานว่าท่านเหล่านั้นมีความเห็นที่ผิดก็ตาม อันนี้รวมไปถึงความเชื่อในหนังสือ คัมภีร์ และ เรืองเล่าต่างๆที่คนคิดว่าศักดิ์สิทธิ์ด้วยครับ

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

กราฟระดับความสูงกรวยกระดาษที่ตกลงมาครับ (y vs. t)
กราฟระดับความสูงกรวยกระดาษที่ตกลงมาครับ (y vs. t) จะเห็นว่าอัตราการตกตอนหลังตกแบบความเร็วคงที่  คือความชันของกราฟคงที่
กราฟความเร็วในแนวดิ่งของกรวยกระดาษที่ตกลงมาครับ (V_y vs. t)
กราฟความเร็วในแนวดิ่งของกรวยกระดาษที่ตกลงมาครับ (V_y vs. t) เห็นว่าตอนหลังๆความเร็ว V_y มีค่าประมาณ -1.8 เมตรต่อวินาที
กราฟระดับความสูงลูกบาสที่ตกลงมาครับ (y vs. t)
กราฟระดับความสูงลูกบาสที่ตกลงมาครับ (y vs. t) ความเร็วการตกเพิ่มขึ้นเรื่อยๆคือความชันชันมากขึ้นเรื่อยๆ
กราฟความเร็วในแนวดิ่งของลูกบาสที่ตกลงมาครับ (V_y vs. t)
กราฟความเร็วในแนวดิ่งของลูกบาสที่ตกลงมาครับ (V_y vs. t) จะเห็นว่าความเร็วตกเร็วขึ้นเรื่อยๆ ความเร็วยังไม่คงที่
ความเร็วในแนวดิ่งของลูกบาสที่ตกลง จะเห็นว่าตกเร็วมากขึ้นเรื่อยๆด้วยอัตราคงที่
ความเร็วในแนวดิ่งของลูกบาสที่ตกลง จะเห็นว่าตกเร็วมากขึ้นเรื่อยๆด้วยอัตราคงที่

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

ดูคลิป terminal velocity ครับ:

ถ้าไม่เคยใช้ Tracker มาก่อน ลองดูวิธีใช้จากวิดีโอเหล่านี้นะครับ:

ผมเคยใช้ Tracker ศึกษาการกระเด้งของลูกปิงปองในอดีตครับ:

 

 

วิทย์ม.ต้น: โปรแกรม Scratch หาความชันของจุดตัดเส้นตรง, ประมาณค่า π (ค่าพาย)

วันนี้ผมเฉลยข้อสอบภาคที่แล้วครับ หน้าตาข้อสอบเป็นอย่างนี้ ให้เด็กๆไปทำที่บ้านมีเวลาตอนปิดเทอม 1 เดือน:

ข้อ 1-4 ก็ตอบได้ด้วยโน้ตที่นักเรียนบันทึระหว่างเรียน หรือไปดูที่ผมสรุปไว้ที่เว็บวิทย์พ่อโก้เช่นกดไล่ดูตาม https://witpoko.com/?tag=วิทย์ม-ต้น ครับ

สำหรับข้อ 5 ผมทำบนกระดานให้ดูว่าถ้ารู้จุดสองจุด (x1, y1) และ (x2, y2) เราจะรู้ว่าความชันและจุดตัดแกน x แกน y อยู่ที่ไหนบ้างดังนี้:

แล้วก็เขียนโปรแกรม Scratch เพื่อคำนวณค่าเหล่านั้นไว้ที่ https://scratch.mit.edu/projects/258997829/ หน้าตาจะเป็นปรมาณนี้ครับ:

ถ้าเด็กๆยังงงๆอยู่ลองไปลองเล่นขยับจุดไปมาที่หน้านี้ก็ได้ครับ: https://www.mathsisfun.com/algebra/line-equation-2points.html

สำหรับข้อ 6 เราประมาณค่า π  โดยการบวกลบเลขที่เล็กลงไปเรื่อยๆ ในที่นี้คือ  4 ( 1/1 – 1/3 + 1/5 – 1/7 + 1/9 ….) ไปเรื่อยๆ เราสามารถเขียนโปรแกรม Scratch ได้แบบ https://scratch.mit.edu/projects/259001246/ หน้าตาประมาณนี้ครับ:

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

นอกจากนี้ผมลองเขียนวิธีประมาณค่า π  ด้วย Python เพื่อให้เด็กๆเห็นว่ามันจัดการได้ง่ายกว่าด้วย Scratch ที่ https://repl.it/@PongskornSaipet/Approximating-Pi โดยประมาณ 2 แบบ แบบแรกคือประมาณค่า π = 4(1 – 1/3 + 1/5 – 1/7…) คือแบบที่อยู่ในข้อสอบ อีกแบบคือประมาณค่า π = sqrt(12) (1 – 1/(3×3) + 1/(5×9) – 1/(7×27) … ) ตามวิธีหนึ่งในหน้า  Approximations of π  ครับ พบว่าวิธีที่สองบวกลบเลขไม่กี่ตัวก็ได้ค่าใกล้ความจริงแล้วครับ เร็วกว่าวิธีแรกมากๆ

สำหรับการบ้านเด็กๆ ผมให้เด็กไปอ่าน Cognitive Biases มาสัปดาห์ละอย่างน้อย 3 ตัว ให้ทำโน้ตให้ตัวเองเข้าใจ และหัดแก้โจทย์เขียนโปรแกรม Python ต่อไป พยายามทำให้ได้อย่างน้อยเฉลี่ยวันละ 1 ข้อครับ

โจทย์แมลงวันบินระหว่างรถ (Two Trains Puzzle) และโปรแกรมที่เกี่ยวข้อง

(เขียนเพื่อรวบรวมโพสท์ต่างๆที่กระจายอยู่บน Facebook และจะได้เป็นที่โหลดโปรแกรมไปลองเล่นครับ โปรแกรมเป็นภาษา Mathematica นะครับ โปรแกรมอยู่ที่นี่ ถ้าไม่มี Mathematica สามารถลองใช้ได้ที่นี่ ถ้าไม่คุ้นเคยกับภาษานี้ลองเข้าไปดูที่ผมเขียนแนะนำที่นี่ครับ ถ้าอยากเขียนใหม่เป็น Python อาจต้องใช้โมดูล SymPy ช่วยนะครับ ถ้าจะดูโค้ดแต่ไม่มี Mathematica กดตรงนี้เพื่อดูไฟล์ PDF ครับ )

สัปดาห์ที่ผ่านมีมีดราม่าเรื่องข้อสอบ กพ. ที่ว่ามีรถสองคันอยู่ห่างกัน 40 กิโลเมตรวิ่งเข้าหากัน คันหนึ่งวิ่ง 60 กม/ชม อีกคันวิ่ง 40 กม/ชม มีแมลงวันที่บินกลับไปกลับมาระหว่างรถด้วยความเร็ว 80 กม/ชม คำถามคือแมลงวันบินได้ระยะทางเท่าไรก่อนที่รถจะชนกัน ถ้าเราไม่ซีเรียสเรื่องแมลงวันที่ไหนที่บินได้เร็วอย่างนั้น แถมยังเปลี่ยนความเร็วได้ทันทีเมื่อแตะรถอีก วิธีคิดง่ายๆก็คือระยะทางระหว่างรถทั้งสองลดลงด้วยอัตรา 60+40 = 100 กม/ชม ถ้าตอนเริ่มต้นรถห่างกัน 40 กิโล รถจะอยู่ติดกันที่เวลา 40/100 = 0.4 ชั่วโมง ดังนั้นแมลงวันก็จะบินอยู่ 0.4 ชั่วโมงคิดเป็นระยะทาง = 0.4 ชั่วโมง x 80 กิโลเมตร/ชม = 32 กิโลเมตร  (โจทย์นี้เป็นที่รู้จักกันในนาม Two Trains Puzzle เป็นเวลานานมากแล้ว มีตำนานว่ามีคนเอาปัญหานี้ไปถาม John von Neumann ผู้เป็นอัจฉริยะด้านคณิตศาสตร์และคอมพิวเตอร์ คุณ von Neumann ตอบทันที คนถามบอกว่าอ๋อคงรู้วิธีคิดลัดละสิ คุณ von Neumann บอกว่าวิธีลับอะไร ก็บวกอนุกรมอนันต์ธรรมดาไง)

แต่วิธีแก้แบบนั้นมันง่ายเกินไป เราเลยวาดกราฟ spacetime ของรถและแมลงวัน และคำนวณค่า (t, x) ที่แมลงวันแตะรถแต่ละคัน แล้วเอาตำแหน่ง x มาหาว่าแมลงวันบินรวมกี่กิโลเมตร ทำอย่างนี้ไม่มีประโยชน์อะไรเลยกับการตอบเฉพาะปัญหานี้ แต่ถ้าเด็กๆคิดทำอย่างนี้จะได้รู้เรื่องกราฟเส้นตรง รูปแบบสมการเชิงเส้นเมื่อเรารู้ความชันและจุดที่วิ่งผ่านหนึ่งจุด ตำแหน่งคู่ลำดับที่เส้นตรงสองเส้นตัดกัน และวิธีแปลงความคิดของเราเป็นโปรแกรมครับ 

คุณ Atis Yosprakob ทำ animation เรื่องนี้ไว้ที่ http://ayosp.info ด้วยนะครับ

ต่อมาอาจารย์ทีปานิส ชาชิโยถามว่าถ้าความเร็วของแมลงวันวิ่งไปทางซ้ายและขวาไม่เท่ากัน ระยะทางจะเป็นอย่างไร:

ผมดัดแปลงโปรแกรมแล้วลองบวกระยะทางส่งไปให้อาจารย์ดู แล้วอาจารย์ก็แสดงสูตรและวิธีทำดังนี้ครับ:

วิธีนี้เป็นวิธีบวกอนุกรมอนันต์ครับ วิธีแบบนี้เป็นวิธีที่ผมพยายามทำแต่ทำผิดเลยได้คำตอบผิดๆไม่ตรงกับโปรแกรมครับ

ช่วงเวลาประมาณเดียวกัน อาจารย์สุจินต์ วังสุยะก็แสดงวิธีทำอีกแบบหนึ่งที่ไม่ต้องบวกอนุกรมอนันต์ หน้าตาประมาณนี้ครับ:

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

หลังจากผมวาดกราฟไปสักพักผมก็สงสัยว่าจริงๆเราไม่ต้องใช้ความเร็วรถ A เลยนี่นา สิ่งที่สำคัญสำหรับการหาระยะทางมีแค่เวลาที่ใช้ทั้งหมด T และตำแหน่งที่รถชนกัน d กล่าวคือรถ A และ B จะวิ่งยังไงก็ได้ ตราบใดที่มันใช้เวลา T เพื่อมาชนกันที่ตำแหน่ง d, ระยะทางที่แมลงวันบินจะเท่ากับ:

S = ระยะทางที่แมลงวันบิน d = ตำแหน่งที่รถชนกัน T = เวลาที่รถชนกัน V1, V2 คืออัตราเร็วที่แมลงวันบินจากรถ A ไป B และจาก B ไป A
S = ระยะทางที่แมลงวันบิน d = ตำแหน่งที่รถชนกัน T = เวลาที่รถชนกัน V1, V2 คืออัตราเร็วที่แมลงวันบินจากรถ  A ไป  B และจากรถ  B ไป  A

ทั้งนี้รถทั้งสองคันต้องไม่เคยวิ่งแซงแมลงวันด้วยนะครับ (แปลว่าขนาด slope ของกราฟการเคลื่อนที่ของรถตอนแมลงวันไปถึงต้องไม่มากกว่าอัตราเร็วตอนแมลงวันบินหนีกลับมา)

วิธีแก้สมการก็ง่ายๆตรงไปตรงมาถ้าทำตามแบบอาจารย์สุจินต์ครับ ไม่ต้องบวกอนุกรมอนันต์ เป็นสมการเชิงเส้นสองตัวแปรสองสมการ:

T = เวลาที่รถชนกัน d = ตำแหน่งที่รถขนกัน t1 = เวลาทั้งหมดที่บินไปทางขวา t2 = เวลาทั้งหมดที่บินไปทางซ้าย
T = เวลาที่รถชนกัน
d = ตำแหน่งที่รถชนกัน
t1 = เวลาทั้งหมดที่บินไปทางขวา
t2 = เวลาทั้งหมดที่บินไปทางซ้าย

 

อันนี้เป็นสรุปในกระดาษทดหลังจากวาดกราฟดูไปเยอะๆครับ:

ตัวอย่างหน้าตากราฟการเคลื่อนที่แบบต่างๆที่แมลงวันบินระยะเท่ากันเพราะ T และ d เท่ากัน และรถไม่แซงแมลงวันครับ (T=0.4, d= 16):

หน้าตาโปรแกรมจะเป็นประมาณนี้ครับ โหลดได้ที่นี่นะครับ:

ผมขอแสดงความเสียใจล่วงหน้ากับเด็กๆที่จะโดนตั้งโจทย์การเคลื่อนที่ประหลาดๆของรถทั้งสองคันแล้วถามว่าแมลงวันบินได้ไกลแค่ไหนนะครับ ถ้าเจอในอนาคตก็พยายามหา T (ชนกันเมื่อไร) และ d (ชนกันที่ไหน) ไห้ได้แล้วก็จะหาคำตอบได้ง่ายๆครับ