วันพุธที่ 30 กันยายน พ.ศ. 2569

๓๒ ปี ๕ เดือน ๑๐ วัน MO Memoir : Wednesday 30 September 2569

นับจากวันบรรจุเข้าทำงานอย่างเป็นทางการจนถึงวันนี้ซึ่งเป็นวันเกษียณอายุการทำงาน ก็นับเป็นเวลา ๓๒ ปี ๕ เดือน กับอีก ๑๐ วัน และตั้งแต่วันพรุ่งนี้เป็นต้นไป ก็คงจะผันตัวเองเป็นนักวิชาการอิสระกับเขาบ้าง

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

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

สามสิบปีที่แล้วยังได้สอบวิทยานิพนธ์นิสิตบัณฑิตศึกษาที่ทำวิจัยเกี่ยวกับเรื่อง artificial intelligent (หรือที่ปัจจุบันเรียกว่า AI) กับ artifical neural network (หรือ ANN) ซึ่งสิ่งที่เขาทำนั้นเป็นการพัฒนาอัลกอริทึมเพื่อหาคำตอบที่ดีที่สุดสำหรับข้อมูลที่มีอยู่ ไม่ว่าจะเป็นเรื่องของการให้น้ำหนักความสำคัญ (weight) ของข้อมูลแต่ละตัว และการหาคำตอบที่เหมาะสมที่สุด (optimisation) ซึ่งอัลกอริทึมที่คนยุคพัฒนาขึ้นมาก็เรียกว่าเป็นพื้นฐานของ AI ในยุคปัจจุบัน

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

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

สำหรับวันนี้ก็ไม่มีอะไรมาก ถือว่าเป็นเรื่องราวส่งท้ายชีวิตการรับราชการเป็นอาจารย์มหาวิทยาลัย


 

วันจันทร์ที่ 21 กันยายน พ.ศ. 2569

การหาค่าดีเทอร์มิแนนต์ (determinant) ของเมทริกซ์ MO Memoir : Monday 21 September 2569

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

 
การเรียนในระดับมัธยมปลายจะไปวัดผลตรงการสอบเข้ามหาวิทยาลัย และเพื่อให้การออกข้อสอบเพื่อการวัดผลทำได้ง่าย จึงต้องมีการกำหนดเนื้อหาในหลักสูตรให้ทุกโรงเรียนเรียนเหมือนกัน อย่างเช่นการเรียกชื่อสารเคมีหรือการใช้หน่วยวัดก็จะกำหนดให้ใช้ตามแบบระบบ IUPAC แต่ในโลกความเป็นจริงมันไม่ใช่เช่นนั้น ในอุตสาหกรรมยังมีการใช้ชื่อสามัญและ Engineering Unit อยู่ และเขาก็ไม่คิดจะเปลี่ยนด้วย ซึ่งบทบาทของมหาวิทยาลัยอยู่ตรงนี้ คือการเชื่อมต่อระหว่างโลกของตำรากับโลกของความเป็นจริง

ตอนสอนวิชาการคำนวณเชิงตัวเลขให้กับนิสิตปี ๓ เรื่องแรก ๆ ที่สอนก็คือการแก้ปัญหาระบบสมการพีชคณิตเชิงเส้นที่มีจำนวนสมการ (n) เท่ากับจำนวนตัวแปร (n) (เมื่อ n อาจมีค่าเป็นสิบ เป็นร้อย เป็นพัน หรือมากกว่านั้นก็เป็นเรื่องปรกติ) ก่อนเริ่มสอนก็จะถามนิสิตเป็นประจำว่ายังจำวิธีการหาคำตอนที่เรียนตอนมัธยมปลายได้หรือไม่ ที่ใช้ Cofactor และ Minor ในการหาค่าดีเทอร์มิแนนต์ หรือที่ผลคูณเฉียงลงมีค่าเป็นบวก ส่วนผลคูณเฉียงขึ้นมีค่าเป็นลบ (กรณีของเมทริกซ์ขนาด 3 x 3) ซึ่งบางคนก็บอกว่าจำได้ บางคนก็บอกว่าจำไม่ได้ ซึ่งก็ไม่ได้ว่าอะไร และอาจจะเป็นการดีแล้วก็ได้ที่จำไม่ได้ เพราะการหาค่าดีเทอร์มิแนนต์แบบนั้นมันมีปัญหา มันไม่เหมาะกับเมทริซ์ขนาดใหญ่กว่า 3 x 3

คือถ้าให้ n เป็นจำนวนสมการ (หรือขนาดของเมทริกซ์ซึ่งเท่ากับ n x n) การหาค่าดีเทอร์มิแนนต์ของเมทริกซ์เพียงเมทริกซ์ด้วยการใช้ Cofactor และ Minor จะมีจำนวนครั้งการคูณอยู่ที่ระดับประมาณ (n-1)(n!) (หมายเหตุ : ในเรื่องนี้เวลาพูดถึงการคูณก็จะนับรวมการหาเข้าไปด้วย เพราะถือว่าเป็นการคูณด้วยอินเวอร์ส และในทำนองเดียวกันเวลาพูดถึงการบวกก็จะรวมถึงการลบเข้าไปด้วย เพราะถือว่าเป็นการบวกด้วยอินเวอร์ส) และถ้าต้องการหาคำตอบของระบบสมการทั้งหมด จำนวนครั้งการคูณก็จะเพิ่มเป็น (n+1)(n-1)(n!) + n ครั้ง ซึ่งตรงนี้ลองไปกดเครื่องคิดเลขเองก็แล้วกันว่า สำหรับระบบ 10 สมการ 10 ตัวแปร จะมีจำนวนครั้งการคูณกี่ครั้ง

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

แล้วการหาค่าดีเทอร์มิแนนต์ของเมทริกซ์ขนาดใหญ่ทำได้อย่างไร เทคนิคที่ใช้กันก็คือใช้การกำจัดของเกาส์ (Gauss elimination) เพื่อทำให้ซีกซ้ายล่างของเมทริกซ์มีค่าเป็นศูนย์ จากนั้นก็เอาตัวเลขในแนวทแยงมุมคูณกัน เพื่อให้เห็นภาพ ก็ขอให้ลองพิจารณากรณีของเมทริกซ์ขนาด 3 x 3 ข้างล่าง

ตัวซ้ายสุดคือเมทริกซ์ที่ต้องการหาค่าดีเทอร์มิแนนต์ ขั้นตอนแรกคือการกำจัด 4 ออกจากแถวที่ 2 ด้วยการเอา ค่า (4/1) คูณกับแถวที่ 1 แล้วนำค่าที่ได้มาลบค่าในแถวที่ 2 ถัดไปก็คือการกำจัด 7 ออกจากแถวที่ 3 ด้วยการเอาค่า (7/1) คูณกับแถวที่ 1 แล้วนำค่าที่ได้มาลบในแถวที่ 3 ก็จะได้เมทริกซ์ตัวกลาง ถัดไปเป็นการกำจัด -6 ออกจากแถวที่ 3 ด้วยการเอาค่า (-6)/(-3) คูณกับแถวที่ 2 แล้วนำค่าที่ได้มาลบในแถวที่ 3 ก็จะได้เมทริกซ์ตัวขวาสุด

ค่าดีเทอร์มิแนนต์ของเมทริกซ์ตัวซ้ายสุดคือค่าผลคูณของตัวเลขในแนวทแยงมุมของเมทริกซ์ตัวขวาสุดคือ (1)(-3)(1) ซึ่งเท่ากับ -3

จะเห็นว่าในระหว่างการคำนวณนั้น ตัวเลขที่อยู่ในตำแหน่งทแยงมุมจะทำหน้าที่เป็นตัวหาร ในทางปฏิบัตินั้นถ้าตัวตั้งมีขนาดที่ใหญ่กว่าตัวหารมาก จะทำให้ค่าความคลาดเคลื่อนจากการปัดเศษเพิ่มขึ้นได้อย่างรวดเร็ว ในทางปฏิบัตินั้นจึงมักจะมีการจัดเรียงสมการใหม่ เพื่อให้ตัวหารมีขนาดที่ใหญ่กว่าตัวตั้ง อย่างเช่นในตัวอย่างข้างต้นนั้น ถ้าเราสลับตำแหน่งแถวที่ 1 กับแถวที่ 2 ก่อนเริ่มการคำนวณ ผลการคำนวณก็จะเป็นดังนี้

 

ตัวซ้ายสุดคือเมทริกซ์ที่ต้องการหาค่าดีเทอร์มิแนนต์ ขั้นตอนแรกคือการกำจัด 1 ออกจากแถวที่ 2 ด้วยการเอา ค่า (1/4) คูณกับแถวที่ 1 แล้วนำค่าที่ได้มาลบค่าในแถวที่ 2 ถัดไปก็คือการกำจัด 7 ออกจากแถวที่ 3 ด้วยการเอาค่า (7/4) คูณกับแถวที่ 1 แล้วนำค่าที่ได้มาลบในแถวที่ 3 ก็จะได้เมทริกซ์ตัวกลาง ถัดไปเป็นการกำจัด 0.75 ออกจากแถวที่ 3 ด้วยการเอาค่า (-0.75)/(0.75) คูณกับแถวที่ 2 แล้วนำค่าที่ได้มาลบในแถวที่ 3 ก็จะได้เมทริกซ์ตัวขวาสุด

ค่าดีเทอร์มิแนนต์ของเมทริกซ์ตัวซ้ายสุดคือค่าผลคูณของตัวเลขในแนวทแยงมุมของเมทริกซ์ตัวขวาสุดคือ (4)(0.75)(1) ซึ่งเท่ากับ 3

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

วันศุกร์ที่ 11 กันยายน พ.ศ. 2569

เมื่อภาพประกอบกับคำบรรยายไม่ตรงกัน MO Memoir : Friday 11 September 2569

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

สิ่งที่รูปแสดงไว้มันก็ชัดเจนว่าอันดับที่ 5 และ 7 นั้นเป็นรถยนต์ที่ใช้เครื่องยนต์สันดาปภายใน (ICE ในที่นี้ย่อมาจาก Internal Combustion Engine) แต่ในเนื้อหาที่เขาบรรยายนั้นบอกว่า "รถน้ำมันหายเกลี้ยงท็อป 10" และตรงสรุปประเด็นสำคัญที่น่าสนใจก็ยังพาดหัวต่อว่า "ไร้เงารถน้ำมันใน Top 10"

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

เพราะเวลาเกิดปัญหาเรื่องสิ่งที่ทำไปนั้นถูกต้องหรือไ เขาจะกลับไปดูที่ตัวบทกฎหมายว่าเขียนไว้ว่าอย่างไร ไม่ใช่อินฟลูฯกล่าวเอาไว้อย่างไร