Reasoning with Discrete Maths Review

รีวิวสั้นๆ หลังเรียน reasoning with discrete maths กับอาจารย์เดฟ: วันนี้เราแทบจะไม่กลัวคณิตศาสตร์แล้วนะ

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

เรื่องนี้จริงๆ กระทบการเขียนโปรแกรมเรามานานเหมือนกัน รู้สึกว่าพอเราไม่มีพื้นคณิตศาสตร์ เรามี gap บางอย่างที่ทำให้เราโมเดล architecture, program design หรือ algorithm ที่ซับซ้อนได้ไม่ดีเท่าที่ควร หรือหลายครั้งก็ก็อปสมการมาเขียนเป็นโค้ด มารันดูค่า แต่ไม่ได้เข้าใจมันจริงๆ ในขณะที่คนรอบข้างดูมี sense บางอย่างที่เราไม่มี บางวันก็รู้สึกว่าตัวเองควรเลิกเขียนโปรแกรมแล้วไปเอาดีด้านอื่นดีกว่า

ปีก่อนหลังจากลง maths for working programmers และ category theory for working programmers แล้วเริ่มเข้าใจเหตุผลที่เราไม่ชอบคณิต เพราะการเรียนปกติให้ความสำคัญกับการคำนวณ (computation) เราเลยตั้งคำถามมาตลอดว่าทำไมต้องมาทำมือ รันใน interpreter ในคอมก็ได้ปะวะ จนหลังจบคลาสรู้สึกว่าเห็น the core of mathematics จริงๆ ว่ามันคืออะไร เริ่มแยกมันออกจาก programming constructs ออก เห็นความสวยงามของมันมากขึ้น

รอบนี้พอเห็นคลาสชื่อ reasoning with discrete mathematics แล้วเลยสนใจมาก สนใจทั้งคำว่า "discrete maths" เพราะหลายคนบอกว่ามันสำคัญแต่เราก็ไม่รู้มาก่อนว่าทำไมมันสำคัญ แล้วก็สนใจคำว่า "reasoning" เพราะเห็นอ. เดฟโพสต์การสื่อสารด้วย mathematical structures / visualizations บ่อยมาก รู้สึกว่าถ้าเราทำเป็นจะช่วยให้สื่อสารความเข้าใจตัวเองออกมา และเช็คความคิดตัวเองได้ดีขึ้น

หลังจากเรียนก็ยิ่งเข้าใจว่ารากปัญหาของเรา คือเราไม่เคยได้ develop intuition ของคณิตศาสตร์เลย การที่เรารู้ definition ว่าสิ่งต่างๆ คืออะไร มันต่างจากการที่เราจะมี intuition กับสิ่งนั้น เอาไปใช้เพื่อการสื่อสารในชีวิตประจำวันได้

เนื้อหาในคลาสนี้จริงๆ คือเรื่องพื้นฐานที่ทุกคนเคยเรียนตั้งแต่ม. 4 อย่าง set, logic, domain, function and relations ไม่มีอะไรที่เราไม่เคยได้ยิน ความน่าสนใจคือคลาสนี้ตอบคำถามว่า "เอาคณิตศาสตร์ไปใช้งานยังไง" ในแง่ที่ไม่ใช่ applied domain แบบเอาไปใช้เขียนโปรแกรม เขียนกราฟฟิคเกม เอาไปใช้คำนวณราคา ซื้อขายประกัน แบบที่ทุกคนพูดกัน แต่พูดในแง่ "pure logical domain" เลย ซึ่งโคตรชอบ กระตุกจิตกระชากใจมากๆ

ประเด็นมันอยู่ที่เราเคย develop intuition เชิงคณิตศาสตร์กันในระดับที่เราใช้มันเพื่อตั้งคำถามและ "หาเหตุผล" กับโลกรอบตัวเรา เพื่อ model สิ่งที่เกิดกับชีวิตเราได้หรือเปล่า เพื่อสื่อสารกับคนอื่น เพื่อวิเคราะห์ตรรกะของตัวเองและคนอื่น หรือเราจำกัดตัวเองให้ใช้มันแค่ใน "applied domain" แบบที่ทุกคนก็พูดกันมาตลอด

ก่อนที่จะเรียน maths for working programmers ตอนปีก่อน เราจะ comfortable มากกว่ากับการเข้าใจ discrete structures ตามความหมายของโค้ด เช่น Set คือ a collection of items that cannot be duplicated, Functor is something that we can map over its items ซึ่งพอได้เรียนจริงๆ แล้วได้เข้าใจว่าเราเห็นแค่ยอดภูเขาน้ำแข็งที่มันเป็น "applied domain"

หลายคนอาจจะสงสัยว่า reasoning มันมีบทบาทยังไง จะบอกว่าคลาสอาจารย์เดฟเจ๋งที่ storytelling ทุกคลาส เวลาอาจารย์เล่าแต่ละเรื่อง (ซึ่งแต่ละตัวอย่างกระตุกจิตกระชากใจมาก) ก็จะวาดออกมาเป็น set & logical representation แบบที่เข้าใจตามได้ เราได้เห็นที่มาของตรรกะวิบัติและการถกเถียงกัน หลายครั้งเกิดจากนิยามและโครงสร้างของ set เราไม่เท่ากัน และ cause and effect ที่มันไม่ได้สัมพันธ์กันเสมอ เพราะ perspective ที่เรามีมันมาจากประสบการณ์มันต่างกัน หลายๆ ครั้งการสื่อสารด้วย discrete structures มันทำให้ mental model ของแต่ละคนมันลู่เข้ามาถึงจุดเดียวกัน

หลังเรียนคลาสนี้ เรารู้สึกว่าเราเข้าใจ discrete structures ได้แบบ intuitive มากๆ รู้สึกว่าพอได้เห็นตัวอย่างของการใช้ set, logic, domain, function, relations ในระดับที่มันเป็นการสื่อสารในชีวิตประจำวัน การเข้าใจโลกในหลายๆ pattern จนถึงจุดนึงเราจะมองมันเป็น purely logical structure ได้ธรรมชาติมากๆ จนถึงจุดที่ใช้คุยกับคนรอบตัวได้ อธิบายและวาดรูปความเข้าใจของแต่ละคนให้เค้าดูได้โดยไม่รู้สึกติดขัดอะไร

อีกคำแนะนำง่ายๆ ของคลาสนี้สำหรับคนที่ยังไม่เก่งคณิตศาสตร์ที่อาจารย์แนะนำ คือ อ่านออกเสียง วาดรูปออกมา แทนค่าตัวแปร ซึ่งมันช่วยได้มากๆ เราเป็น aphantasia และไม่มี mind's eye เลยสร้าง mental image ในหัวไม่ได้ จินตภาพเราคือความมืดสนิท ไม่รู้จะแก้ยังไง ทำให้คำแนะนำนี้ช่วยเราได้เยอะกว่าที่คิด

เอาเป็นว่าแนะนำครับ ยิ่งใครที่เกลียดคณิตศาสตร์ หรือไม่มี intuition ด้านคณิตศาสตร์ยิ่งแนะนำ

#note#article#review#content