วันศุกร์ที่ 21 กุมภาพันธ์ พ.ศ. 2563

หลักการแก้ปัญหา

หลักการแก้ปัญหา
          

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

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

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

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

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

ตัวอย่างรหัสลำลองและผังงาน
ผลการค้นหารูปภาพสำหรับ ตัวอย่างรหัสลำลองและผังงาน



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



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



ผลการค้นหารูปภาพสำหรับ การตรวจสอบและปรับปรุงวิธีการ


กระบวนการแก้ปัญหา

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



         1. การทำความเข้าใจปัญหา
ในการที่จะแก้ปัญหาหนึ่งได้นั้น สิ่งแรกที่ต้องทำ คือ ทำความเข้าใจถ้อยคำต่างๆ ในปัญหา แล้วแยกปัญหาให้ออกว่าอะไรเป็นสิ่งที่ต้องหา อะไรเป็นข้อมูลที่กำหนดให้ และมีเงื่อนไขใดบ้าง หลังจากนั้นจึงพิจารณาว่าข้อมูลและเงื่อนไขที่กำหนดให้นั้นเพียงพอที่จะหาคำตอบของปัญหาได้หรือไม่ ถ้าไม่เพียงพอก็ต้องหาข้อมูลเพิ่มเติมเพื่อให้แก้ปัญหาได้                                                                                                                     
2. การวางแผนในการแก้ปัญหา
จากกการทำความเข้าใจกับปัญหาจะช่วยให้เกิดการคาดคะเนว่าจะใช้วิธีการใดในการแก้ปัญหา เพื่อให้ได้มาซึ่งคำตอบ ประสบการณ์เดิมของผู้แก้ปัญหาจะมีส่วนช่วยอย่างมาก ฉะนั้นในการเริ่มต้นจึงควรเริ่มด้วยการถามตนเองว่า"เคยแก้ปัญหาในทำนองเดียวกันนี้มาก่อนหรือไม่"ในกรณีที่มีประสบการณืมาก่อนควรจะใช้ประสบการณ์เป็นแนวทางในการแก้ปัญหา สิ่งที่จะช่วยให้เราเลือกใช้ประสบการเดิมได้ คือ การมองดูสิ่งที่ต้องหา แล้วพยายามเลือกปัญหาเดิมที่มีลักษณะคล้ายคลึงกัน เมื่อเลือกได้แล้วก็เท่ากับมีแนวทางว่าจะใช้ความรู้ใดในการหาคำตอบ โดยพิจารณาว่าวิธีการแก้ปัญหาเดิมนั้นมีความเหมาะสมกับปัญหาหรือไม่ หรือต้องมีการปรับปรุงเพื่อให้ได้วิธีการแก้ปัญหาที่ดีขึ้น
ในกรณีที่ไม่เคยมีประสบการณ์ในการแก้ปัญหาทำนองเดียวกันมาก่อน ควรเริ่มจากการมองดูสิ่งที่ต้องการหาแล้วพยายามหาวิธีการเพื่อให้ได้ความสัมพันธ์ระหว่างสิ่งที่ต้องการหากับข้อมูลที่มีอยู่ เมื่อได้ความสัมพันธ์แล้วควรพิจารณาว่าความสัมพันธ์นั้นสามารถหาคำตอบได้หรือไม่ ถ้าไม่ได้ก็แสดงว่าจะต้องหาข้อมูลเพิ่มเติม หรืออาจจะต้องหาความสัมพันธ์ในรูปแบบอื่นต่อไป เมื่อได้แนวทางในการแก้ปัญหาแล้ว จึงวางแผนในการแก้ปัญหาอย่างเป็นขั้นตอน
3. การดำเนินการแก้ปัญหาตามแผนที่วางไว้
เมื่อได้วางแผนแล้วก็ดำเนินการแก้ปัญหา ระหว่างการดำเนินการแก้ปัญหาอาจได้แนวทางที่ดีกว่าวิธีที่คิดไว้ ก็สามารถนำมาปรับเปลี่ยนได้
4. การตรวจสอบการแก้ปัญหา
เมื่อได้วิธีการแก้ปัญหา แล้ว จำเป็นต้องตรวจสอบว่าวิธีการแก้ปัญหาได้ผลลัพธ์ถูกต้องหรือไม่ เป็นการประเมินภาพรวมของการแก้ปัญหา ทั้งในด้านวิธีการแก้ปัญหา ผลการแก้ปัญหาและการตัดสินใจ รวมทั้งการนำไปประยุกต์ใช้ ทั้งนี้ในการแก้ปัญหาใดๆ ต้องตรวจสอบถึงผลกระทบต่อสังคมและสิ่งแวดล้อมด้วย
แม้ว่าจะดำเนินตามขั้นตอนที่กล่าวมาแล้วก็ตาม ผู้แก้ปัญหายังต้องมีความมั่นใจว่าจะสามารถแก้ปัญหานั้นได้ รวมทั้งต้องมุ่งมั่นและทุ่มเทให้กับการแก้ปัญหา เนื่องจากบางปัญหาต้องใช้เวลาและความพยายามเป็นอย่างสูง

ไม่มีความคิดเห็น:

แสดงความคิดเห็น