--- title: การแก้ปัญหาด้วยคอมพิวเตอร์ (8.42 นาที) subtitle: date: วันพฤหัสบดีที่ 28 มีนาคม 2567 เวลา 11.22 น. --- (ข้อความสดจากระบบถอดความเสียงพูดทางไกล) (คุณครูดาวใจ) สวัสดีค่ะ จากที่ผ่านมา เราได้เรียนรู้หลักการคิดเชิงคำนวณมาแล้ว เราจะนำหลักการคิดเชิงคำนวณมาประยุกต์ใช้ในการออกแบบขั้นตอนวิธี สำหรับการแก้ปัญหาด้วยคอมพิวเตอร์กันค่ะ ปัจจุบันนี้เราคงปฏิเสธไม่ได้ค่ะ ว่าคอมพิวเตอร์ และเทคโนโลยี เข้ามามีบทบาทในวิถีชีวิตของเรา เพื่อเพิ่มประสิทธิภาพในการทำงาน และลดพลังงานที่สำคัญสอน แต่นักเรียนเคยตั้งคำถามในคำว่า คอมพิวเตอร์เราไม่ทำงานหรือไง เรามองดูสถานการณ์นี้กันค่ะ (คุณครูธนายุส) ใกล้เที่ยงแล้วกินอะไรดีนะ คอมพิวเตอร์จ๋าช่วยเลือกอาหารกลางวันที่เหมาะสมกับฉันหน่อยซิสวัสดีค่ะ ฉันคือฉันไม่สามารถเลือกอาหารให้คุณได้หรอกค่ะ เพราะไม่มีข้อมูลและเงื่อนไขอะไรในระบบนั่นไงโดนคอมพิวเตอร์ดุเลยนะครับ แสดงว่าถ้าเราไม่มีข้อมูลเลย คอมพิวเตอร์ก็ไม่สามารถทำงานให้เราได้น่ะสิครับ แล้วเราจะต้องกำหนดข้อมูลและเงื่อนไขอย่างไร เพื่อให้คอมพิวเตอร์ทำงานให้เราได้นะครับนี่ ก่อนอื่นเลยก็ต้องป้อนข้อมูลรายการอาหารให้คอมพิวเตอร์กันก่อนนะคะ ยกตัวอย่างรายการอาหารเช่นข้าวผัด ข้าวไข่เจียว, ขนมพุดดิ้งไอศกรีมกะทิขนมปังสังขยา, ข้าวยำและข้าวซอยไก่โดยแต่ละรายการอาจมีข้อมูลประกอบเพิ่มเติมได้แก่ประเภทคุณภาพความนิยม และราคาอาจมีรายละเอียดของรายการต่าง ๆ ดังนี้ค่ะ จากนั้นก็ต้องกำหนดเงื่อนไขซึ่งในสถานการณ์นี้นะคะ เป็นคำที่มีความคลุมเครือ ทำให้คอมพิวเตอร์ไม่สามารถตัดสินใจได้ ดังนั้นจึงต้องจัดการความคลุมเครือนี้ โดยการระบุเงื่อนไขให้ชัดเจนขึ้นยกตัวอย่างนั้นไขเช่น เลือกประเภทเป็นอาหารหลัก จากนั้นเลือกมา 1 อย่าง จากเงื่อนไขนี้นักเรียนคิดว่าคอมพิวเตอร์จะเลือกรายการอาหารใดให้บ้างคะ แน่นอนค่ะ คอมพิวเตอร์ก็อาจจะเลือกข้าวผัด, ข้าวไข่เจียว, ข้าวยำหรือข้าวซอยไก่ก็ได้ค่ะ มาพิจารณาอีกเงื่อนไขกันนะคะ ถ้าเงื่อไขในการเลือกถูกกำหนดเป็นเลือกประเภทอาหารหลัก ราคาไม่เกิน 40 บาท และมีความนิยมสูงสุด อันนี้นักเรียนคิดว่าคอมพิวเตอร์จะเลือกรายการอาหารใดให้คะ เงื่อนไขนี้นะคะ นักเรียนจะพบว่ามัน ประกอบไปด้วยเงื่อนไขย่อย ๆ หลายเงื่อนไข ซึ่งการแยกเงื่อนไขเป็นเงื่อนไขใด ๆ นี้ ก็เป็นกระบวนการแยกส่วนประกอบของปัญหา ในแนวคิดเชิงคำนวณที่นักเรียนได้เรียนมาแล้วนั่นเองค่ะ ไม่งั้นแค่นี้ก็สามารถแยกได้เป็น 3 เงื่อนไขย่อยดังนี้ค่ะ เงื่อนไขประเภทอาหารหลัก ซึ่งเมื่อเราพิจารณาเงื่อนไขนี้ ก็จะเหลือรายการที่สามารถเลือกได้ดังนี้ค่ะ จากนั้นพิจารณาเงื่อนไขถัดไปคือราคาไม่เกิน 40 บาท ซึ่งทุกรายการที่เลือกไว้ในเงื่อนไขแรก เป็นไปตามเงื่อนไขนี้ทั้งหมด จึงไม่มีรายการใดถูกตัดออกค่ะ สุดท้ายค่ะ เงื่อนไขมีความนิยมสูงสุด ตอนนี้จะพบว่าคอมพิวเตอร์จะเลือกข้าวไข่เจียวแน่นอนค่ะ เป็นไงคะ ตรงกับที่นักเรียนคิดไว้หรือไม่คะ (คุณครูธนายุส) ผมเข้าใจแล้วล่ะครับ คอมพิวเตอร์นี่ฉลาดจังเลยนะครับ สามารถพิจารณาข้อมูลและเงื่อนไขกำหนด และเลือกรายการอาหารได้เหมือนมนุษย์เลย แล้วคอมพิวเตอร์ที่คิดอย่างไรล่ะครับ จะคิดเหมือนมนุษย์หรือเปล่าครับ (Robot) จริง ๆ แล้วนอกจากข้อมูลและเงื่อนไขแล้วนะคะ คอมพิวเตอร์ก็ยังต้องมีขั้นตอนวิธีในการแก้ปัญหาที่ชัดเจนด้วยค่ะ จะให้คอมพิวเตอร์สามารถตัดสินใจเลือกรายการอาหารตามเงื่อนไขได้ถูกต้อง เราลองมาพิจารณาเงื่อนไขนี้กันนะคะ ถ้าเราให้คอมพิวเตอร์เลือกประเภทอาหารหลัก และมีคะแนนสูงสุดจากการคำนวณสมการ ป 6 ขุนภาคบวกด้วย 0.4 คูณด้วยคะแนนความนิยมนักเรียนคิดว่าจะมีเงื่อนไขนี้คอมพิวเตอร์จะตัดสินใจเลือกรายการอาหารใดให้และมีขั้นตอนในการเลือกอย่างไรคะ การละเล่นไทยดังกล่าวว่า สามารถแบ่งขั้นตอนการทำงานเป็น 3 ขั้นตอนดังนี้ค่ะ เลือกรายการอาหารทั้งหมดที่เป็นประเภทอาหารหลัก 2. จากรายการอาหารหลัก คำนวณคะแนนของอาหารแต่ละชนิดตามเงื่อนไข 3. จากรายการอาหารหลักที่ได้คำนวณคะแนนแล้ว เลือกอาหารที่มีคะแนนสูงที่สุด ซึ่งจากขั้นตอนดังกล่าวนะคะ ก็จะสรุปได้ว่ารายการอาหารที่ตรงตามเงื่อนไข ก็คือข้าวยำนั่นเองค่ะ โดยสามารถเขียนลำดับการทำงานดังเป็นขั้นตอนวิธีได้ดังนี้ค่ะ (คุณครูธนายุส) นอกจากข้อมูลและเงื่อนไขแล้ว ยังต้องมีขั้นตอนพิธีที่ชัดเจนให้เขาแต่ด้วย จึงจะสามารถแก้ปัญหาได้น่ะสิครับ แล้วแบบนี้จะทำงานได้ดีกว่ามนุษย์หรือเปล่าครับ (Robot) นักเรียนต้องลองคิดว่า ถ้าเรามีรายการอาหารเป็น 1,000 เป็นหมื่นรายการ เรียนจะสามารถคำนวณไหวไหมคะ คอมพิวเตอร์สามารถทำขั้นตอนเหล่านี้ซ้ำได้อย่างถูกและรวดเร็ว ผ่านการเขียนโปรแกรมทำซ้ำด้วยค่ะ ภาษาคอมพิวเตอร์ค่ะ แบบนี้ผมจะต้องไปศึกษาภาษาคอมพิวเตอร์ ภาษา C, ภาษา Java, ภาษา python แล้วล่ะครับผม จะได้สั่งงานคอมพิวเตอร์ได้ (คุณครูดาวใจ) ใช่เลยค่ะ ถ้าอยากให้คอมพิวเตอร์แก้ปัญหาได้นักเรียนต้องมีข้อมูลระบบเงื่อนไข และเขียนขั้นตอนวิธีที่ชัดเจนนะคะ ที่สำคัญหากเราจะเรียนรู้เกี่ยวกับการเขียนโปรแกรมก็ควรมีความรู้เรื่องการใช้งานตัวแปร ด้วยตัวอย่างที่ผ่านมาจะพบว่าขั้นตอนวิธีนี้ มีการกำหนดตัวแปร Q, ด้วย โดยทั่วไปในทางคอมพิวเตอร์ก็จะหมายถึงการเก็บข้อมูลซึ่งจะใช้สัญลักษณ์ในการกำหนดค่าให้กับตัวแปรค่ะ จากสถานการณ์ข้างต้นจะพบว่า มีการกำหนดข้อมูล เงื่อนไข ทำให้เราเข้าใจขั้นตอนวิธีในการแก้ปัญหาด้วยคอมพิวเตอร์แล้วนะคะ หลังจากดูคลิปนี้แล้ว ให้นักเรียนทำกิจกรรมคณะที่ใช่ ในหนังสือเรียนกันค่ะ แล้วพบกันใหม่ในคลิปถัดไปทุกปัญหามีทางแก้ เพียงแค่เข้าใจขั้นตอนวิธี