วิทยาการคำนวณ: การแก้ปัญหาด้วยคอมพิวเตอร์

หัวข้อที่ 5 ของวิชาวิทยาการคำนวณ ม.4 คือเรื่องของ การแก้ปัญหาด้วยคอมพิวเตอร์ ซึ่งเป็นเรื่องที่ผมคิดว่ามีความน่าสนใจมาก ผมจึงขอยกเนื้อหาของบทเรียนนี้มาทำการเขียน และเรียบเรียงในแบบฉบับของผมเองลงในบทความนี้

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

คอมพิวเตอร์มีความคิด?

ความสามารถอีกอย่างหนึ่งของคอมพิวเตอร์คือ การตัดสินใจ ถ้าใครเคยมีความรู้ด้านคอมพิวเตอร์มาบ้างจะทราบดีว่า CPU ของคอมพิวเตอร์นั้นมีองค์ประกอบ 2 ส่วนด้วยกัน คือ ส่วนควบคุม(Control Unit) และส่วนคำนวณและตรรกะ(ALU: Aritmetic and Logic Unit) ซึ่งส่วน ALU นี้เองที่มีการตัดสินใจการทำงานต่าง ๆ ของคอมพิวเตอร์

แล้วเคยสงสัยกันไหมว่าถ้าคอมพิวเตอร์มีการตัดสินใจแบบนี้ แสดงว่ามันมีสมองเหมือนคนหรือเปล่า คำตอบคือ CPU เปรียบได้กับสมองของคนเราจริง ๆ หน่วยของตรรกะก็มีหน้าที่ในการตัดสินใจเหมือนคน แต่การตัดสินใจของคอมพิวเตอร์ใช้การเปรียบเทียบข้อมูล และให้ผลลัพธ์แค่ ถูก-ผิด(True-False) เท่านั้น ไม่ได้ลึกซึ้งเท่ากันสมองคน แต่ก็ยังมีคอมพิวเตอร์ที่มีความคิดใกล้เคียงกับมนุษย์ที่สุดนั่นคือ AI

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

การแก้ปัญหาด้วยคอมพิวเตอร์

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

พูดแล้วอาจจะไม่เห็นภาพ เราต้องลงมือทำ เพราะการเรียนแบบ Learning by Doing ได้ผลดีกว่าการอ่านเฉย ๆ

ตัวอย่าง

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

รุ่นความแรง CPUความสวยของกล้องRAMขนาดพื้นที่จัดเก็บข้อมูลราคา
xx-1853 GB32GB3600 บาท
xx-2542GB16GB3300 บาท
xx-3984GB64GB5000 บาท
xx-4746GB128GB6000 บาท
xx-5634GB128GB5600 บาท

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

ข้อมูลเงื่อนไข
ราคาไม่เกิน 5000 บาท
พื้นที่จัดเก็บข้อมูลมากกว่า 16 GB
RAMมากกว่า 2 GB
ความเร็ว CPUสูง
ความสวยของกล้องสูง

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

จากเงื่อนไขที่ว่า ราคาต้องไม่เกิน 5000 บาท พื้นที่จัดเก็บข้อมูลมากกว่า 16 GB และRAM มากกว่า 2 GB ทำให้เราตัดตัวเลือกที่ไม่ตรงกับเงื่อนไขออกไปได้ 3 รุ่น คือ xx-2, xx-4 และxx-5

รุ่นความแรง CPUความสวยของกล้องRAMขนาดพื้นที่จัดเก็บข้อมูลราคา
xx-1853 GB32GB3600 บาท
xx-2542GB16GB3300 บาท
xx-3984GB64GB5000 บาท
xx-4746GB128GB6000 บาท
xx-5634GB128GB5600 บาท

จะเหลือเรื่องของความแรง CPU และความสวยของกล้องที่เป็นข้อมูลที่ไม่ได้ระบุไว้ชัดเจน ระบุไว้เป็นคะแนนคุณภาพที่เราให้คะแนนไว้เอง เราจึงต้องมาทำการหาคะแนนเฉลี่ยของทั้ง 2 อย่าง เนื่องจากเราเป็นคนที่เน้นเล่นเกมจึงให้คะแนนความแรง CPU ที่ 70% ส่วนกล้องก็มีการใช้ถ่ายบ้าง อยากได้กล้องดี ๆ สักหน่อยจึงให้คะแนนกล้องที่ 30% เมื่อนำมาเขียนเป็นสมการจะได้ ดังนี้

คะแนนความเหมาะสมของโทรศัพท์ = (ความแรง CPU * 0.7) + (ความสวยของกล้อง * 0.3)

*0.7 คือ 70% และ 0.3 คือ 30%

นำตัวเลขจากตารางมาแทนค่าในสมการจะได้

คะแนนความเหมาะสมของ xx-1 = (8 * 0.7) + (5 * 0.3)
คะแนนความเหมาะสมของ xx-3 = (9 * 0.7) + (8 * 0.3)

เมื่อคำนวณเสร็จแล้วจะได้คะแนนความเหมาะสมของ xx-1 = 7.1 และคะแนนความเหมาะสมของ xx-3 = 8.7 ดังนั้น โทรศัพท์รุ่นที่เหมาะสมกับเราที่สุดจึงเป็นรุ่น xx-3

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

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

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

ขอขอบคุณแหล่งข้อมูลดี ๆ : https://kru-it.com/

ติดตามบทความอื่น ๆ ได้ ที่นี่