Category Archives: science class

จำลองวงโคจรของดาว

ผมไปทำกิจกรรมวิทย์กับเด็กประถมมาครับ เด็กๆหัดคิดแบบวิทย์โดยพยายามอธิบายมายากล ทำความคุ้นเคยกับวงโคจรของดาวโดยดูเว็บ My Solar System และจำลองโดยลูกเหล็กและแม่เหล็ก (ซึ่งแรงดึงดูดไม่เหมือนแรงโน้มถ่วงแต่ก็เล่นได้) ให้เด็กๆเห็นผลของระยะห่างและความเร็วมีผลกับการเลี้ยวเบนของลูกเหล็กอย่างไร

(อัลบั้มบรรยากาศกิจกรรมอยู่ที่นี่นะครับ กิจกรรมประถมคราวที่แล้วเรื่อง “ทำแบบจำลองระบบสุริยะ, เล่นกระปุกหลุมดำ” ครับ ลิงก์รวมทุกกิจกรรมอยู่ที่นี่นะครับ)

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

กิจกรรมนี้ฝีกเด็กๆให้คิดแบบวิทยาศาสตร์ครับ มีการสังเกต การตั้งสมมุติฐานเพื่ออธิบายสิ่งที่สังเกตมา การตรวจสอบสมมุติฐานกับข้อมูลที่สังเกตมา การตั้งสมมุติฐานใหม่เมื่อสมมุติฐานเดิมขัดกับข้อมูล นอกจากนี้เราพยายามให้เด็กๆมีความกล้าคิดและออกความเห็นครับ

จากนั้นเราก็เล่นวงโคจรจากแรงโน้มถ่วงที่เว็บ  My Solar System ซึ่งเป็นที่ทดลองวงโคจรแบบต่างๆที่เราออกแบบเองได้ครับ จะมีการคำนวณตำแหน่งของดาวที่เคลื่อนที่และดึงดูดกันด้วยแรงโน้มถ่วง ถ้ามีโอกาสแนะนำให้เข้าไปเล่นดูครับ หน้าตาจะประมาณนี้ครับ:

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

ผมให้เด็กๆเล่นปล่อยลูกเหล็กใกล้ๆแม่เหล็กแรงๆ แรงแม่เหล็กก็ลดลงเมื่อระยะห่างมากขึ้นเหมือนกัน แต่จะลดลงเร็วกว่าแรงโน้มถ่วง ถ้าเราปล่อยลูกเหล็กให้มีความเร็วและระยะห่างเหมาะสมเราจะเห็นลูกเหล็กเลี้ยวจากแรงดึงดูด เด็กๆพยายามเปลี่ยนระยะห่างและความเร็วเพื่อดูการโคจรแบบต่างๆกันครับ

วิทย์ม.ต้น: Information Bias, การเชื่อมต่อกันของชาวโลก, หัดเก็บข้อมูลเพื่อแก้ปัญหา

วันพุธสัปดาห์นี้เด็กๆมัธยมต้นเรียนเรื่อง If You Have an Enemy, Give Him Information จากหนังสือ The Art of Thinking Clearly โดยคุณ Rolf Dobelli ที่บางครั้งเรารวบรวมข้อมูลที่ไม่สำคัญมากเกินไปทำให้ตัดสินใจช้าหรือผิดพลาด ต้องพยายามแยกแยะให้ได้ว่าข้อมูลอะไรสำคัญ อะไรไม่สำคัญ

ผมแนะนำให้เด็กๆไปดูหนังเรื่อง The Big Short (2015) กันครับ เรื่องเกี่ยวกับ 2008 Financial Crisis

จากนั้นเราก็คุยกันเรื่องการเชื่อมต่อกันของชาวโลกที่นำไปสู่การพัฒนาและปฏิวัติอุตสาหกรรมสมัยใหม่ (ประมาณสองร้อยปีที่ผ่านมา) การติดต่อค้าขายและเดินทางทำให้ความรู้และเทคโนโลยีต่างๆแพร่กระจายไปทั่ว ทำให้ทั้งโลกพัฒนาในด้านต่างๆอย่างรวดเร็วกว่าแต่ก่อนมาก เป็น threshold 8 ของ Big History Project ครับ 

สำหรับเวลาที่เหลือ ผมเอากระปุกหลุมดำ (Vortex Piggy Bank) ที่ผมซื้อมาจากที่นี่มาให้เด็กๆทดลองเล่นดู ผมให้เด็กๆสังเกตว่าเหรียญต่างๆที่หยอดลงไปใช้เวลาต่างกัน จึงอยากให้เด็กๆหาทางดูว่าเหรียญแต่ละประเภทใช้เวลาเท่าไรในการวนและตกลงไป เด็กๆเลยคิดจับเวลาการตกของเหรียญประเภทต่างๆ เราเก็บข้อมูลไว้ก่อนเพื่อเอามาวิเคราะห์ต่อไปในอนาคตครับ

วิทย์ม.ต้น: StanDard Error of Mean = SEM = ประมาณคุณภาพของคำตอบจากการสุ่ม, “ปัญหาเลือกคู่” (Optimal Stopping Problem)

สัปดาห์ที่แล้วเด็กๆม.2-3 รู้จักการสุ่มหาคำตอบเมื่อปัญหาใหญ่เกินกำลังที่จะแก้แบบเป๊ะๆได้ สัปดาห์นี้จึงมาเข้าใจว่าคำตอบที่สุ่มได้มาพอเชื่อได้แค่ไหน

วิธีตรงไปตรงมาเข้าใจง่ายก็คือลองสุ่มหลายๆรอบแล้วเก็บคำตอบการสุ่มแต่ละรอบเอาไว้ แล้วเอาคำตอบที่เก็บไว้ทั้งหมดมาหาค่าเฉลี่ย (mean) และค่าเบี่ยงเบนของค่าเฉลี่ย (standard error of mean หรือ SEM) ถ้า SEM เล็กคำตอบก็พอเชื่อถือได้

เราคำนวณ SEM จาก ค่าเบี่ยงเบนมาตรฐานของตัวอย่าง (sample standard deviation หรือ s) กัน โดยที่ SEM = s/รูทที่สองของจำนวนคำตอบที่เก็บมา

เด็กๆรู้จักวิธีคำนวณ mean และ sample standard deviation แบบหน้าตาประมาณนี้:

แต่จริงๆแล้วเราสามารถใช้ฟังก์ชั่นที่มีในไพธอนอยู่แล้วมาคำนวณให้ก็ได้คือฟังก์ชั่น numpy.mean() และ numpy.std()

ใส่ doff = 1 ใน numpy.std() เพื่อหา sample standard deviation

หน้าตาของการหาค่าเฉลี่ยและ SEM ก็จะเป็นประมาณนี้ (เก็บข้อมูล n_trials ครั้ง):

ถ้าเก็บคำตอบมาหลายครั้ง (จำนวนครั้ง = n_trials) เราก็จะมั่นใจในคำตอบมากขึ้นเมื่อ SEM เล็กลงเรื่อยๆแบบนี้:

ผมแนะนำให้เด็กๆรู้จักกับ “ปัญหาเลือกคู่” (marriage problem หรือ secretary problem) หรือรู้จักในชื่อทั่วไปคือ optimal stopping problem คือสมมุติว่าเรามีโอกาสคบคนทั้งหมด n คน โดยที่ต้องคบทีละคน และต้องเลิกคบกับคนปัจจุบันก่อนที่จะไปคบคนต่อไป เมื่อเลิกคบกับใครแล้วห้ามกลับไปคบกับเขาอีก แล้วต้องตัดสินใจว่าจะเลือกใครเป็นคู่ โดยหวังว่าจะเลือกคนที่ดีที่สุดใน n คนนี้

ปรากฎว่ามีวิธีที่ทำให้เรามีโอกาสประมาณ 37% ที่จะเลือกคนที่ดีที่สุดได้ ไม่ว่าจำนวน n จะเป็น 3, 10, 100, หรือ 1 ล้าน คือให้คบคนไป n/e คนก่อน (e เป็นค่าคงที่ 2.71828… เรียกว่าค่าอีหรือค่าคงที่ของออยเลอร์) อย่าพึ่งเลือกคนเหล่านี้ จากนั้นให้เลือกคนแรกที่ดีกว่าคนที่เคยคบมา (หรือเลือกคนสุดท้ายเมื่อไม่เหลือใครแล้ว) ยกตัวอย่างเช่นถ้าเราคิดว่าคงมีเวลาคบคน 10 คน ค่า n ของเราก็คือ 10 ดังนั้นให้เราคบไป 10/e = 10/2.71828… = 3.6787.. เท่ากับประมาณ 4 โดยที่เรายังไม่ตัดสินใจเลือกใครใน 4 คนนี้ ต่อไปเราคบกับคนที่เหลือทีละคน แล้วเลือกคนแรกที่ดีกว่าคนที่เราเคยคบมา ถ้าหาไม่ได้ก็เลือกคนสุดท้าย

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

วิธีเลือกแบบนี้เป็นเรื่องเดียวกับการเลือกห้องน้ำในคอนเสิร์ตด้วยครับ 😃:

ถ้าสนใจว่า n/e มาได้อย่างไร ดูวิดีโอข้างบน จะมีลิงก์ไปวิดีโอที่แสดงวิธี หรืออ่านที่นี่ก็ได้ครับ