ตัวอย่างการแก้ปัญหาโดยใช้แนวคิดเชิงคำนวณ

ตัวอย่างการแก้ปัญหาโดยใช้แนวคิดเชิงคำนวณ
2.1 ตัวอย่างปัญหาการเข้าแถวตามลำดับความสูงของนักเรียนให้เร็วที่สุด
แนวคิดเชิงคำนวณในการแก้ปัญหาการเข้าแถวตามลำดับความสูงของนักเรียนให้เร็วที่สุด
1.แนวคิดการแยกย่อย (Decomposition) คือ การแตกปัญหาใหฐ่ออกเป็ยปัญหาย่อยในที่นี้ เช่น ปัญหาการเข้าแถว ซึ่งเป็นปัญหาใหญ่ คือการแถวตามลำดับความสูงของนักเรียนทั้งหมด หากนำนักเรียนทุกคนมาเข้าแถวตามลำกับความสูงในคราวเดียว อาจทำให้ใใช้เวลานานในการเรียงลำดับ แต่หากแตกปัญหาออกเป็นปัญหาย่อย และแก้ปัญหาย่อยนั้น ทีละปัญหา จะทำให้สามารถแก้ปัญหาได้เร็วขึ้น ซึ่งสามารถแบ่งปัญหาการเข้าแถวให้เรียงตามความสูงออกเป็นขั้นตอนย่อยได้ดังนี้
ขั้นตอนที่ 1 กำหนดนักเรียนคนแรกเป็นนักเรียนตำแหน่งหลัก
ขั้นตอนที่ 2 แบ่งกลุ่มนักเรียนออกเป็น 2 กลุ่ม โดยมีเงื่อนไข ดังนี้
- กลุ่มที่ 1 นักเรียนที่มีความสูงน้อยกว่านักเรียนตำแหน่งหลัก ให้ไปตั้งแถวอยู่ด้านซ้ายของนักเรียนที่เป็นตำแหน่งหลัก
- กลุ่มที่ 2 นักเรียนที่มีความสูงเท้่ากับหรือมากกว่านักเรียนตำแหน่งหลักให้ไปตั้งแถวอยู่ด้านขวาของนักเรียนที่เป็นตำแหน่งหลัก
ขั้นตอนที่ 3 ทั้ง 2 กลุ่ม ทำซ้ำขั้นตอนที่ 1 และขั้นตอนที่ 2 จนกระทั่งไม่สามารถแบ่งกลุ่มได้อีก และนักเรียนเข้าแถวเรียงตามลำดับความสูงจากน้อยไปมากได้อย่างถูกต้อง
2.แนวคิดการหารูปแบบ (Pattern Recognition) คือ การเข้าใจรูปแบบของปัญหา โดยในกรณีนี้ การเข้าแถวตามลำดับความสูงในแต่ละรอบ จะมีการแบ่งกลุ่มในรูปแบบที่เหมือนกัน โดยนักเรียนที่มีความสูงน้อยกว่าให้เข้าแถวทางด้านซ้ายของนักเรียนที่เป็นตำแหน่งหลัก และนักเรียนที่มีความสูงเท่ากับหรือมากกว่าให้เข้าแถวทางด้านขวาของนัดเรียนที่เป็นตำแหน่งหลัก ดังนี้
3.แนวคิดเชิงนามธรรม (Abstraction) คือ การคิดรวบยอดปัญหา และไม่สนใจที่ไม่จำเป็น โดยการเข้าแถวเรียงตามลำดับความสูงนั้น แนวคิดหลัก คือ การเรียงลำดับนักเรียนตามความสูงจากกน้อยไปมาก ซึ่งนักเรียนที่มีความสูงน้อยกว่าจะต้องอยู่ด้านซ้ายของนักเเรียนที่มีความสูงมากกว่าเสมอ
4.แนวคิดการออกแบบขั้นตอนวิธี (Algorithm Design) มีลำดับขั้นตอน ดังนี้
- กำหนดนักเรียนคนแรก (ซ้ายสุด) ของนักเรียนทั้งหมด เป็นตำแหน่งหลัก
- แบ่งนักเรียนออกเป็น 2 กลุ่ม ดังนี้
กลุ่มที่ 1 นักเรียนที่มีความสูงน้อยกว่านักเรียนตำแหน่งหลัก ให้ไปตั้งแถวอยู่ด้านซ้ายของนักเรียนตำแหน่งหลัก
กลุ่มที่ 2 นักเรียนทีมีความสูงเท่ากับหรือมากกว่านักเรียนตำแหน่งหลัก ให้ไปตั้งแถวอยู่ด้านซ้ายด้านขวาของนักเรียนตำแหน่งหลัก
- กำหนดนักเรียนคนแรก (ซ้ายสุด) ของนักเรียนแต่ละกลุ่ม เป็นตำแหน่งของกลุ่มที่ 1 และ 2
- แบ่งนักเรียนในกลุ่มที่ 1 และ 2 ดังนี้
- กลุ่มที่ 1 นักเรียนที่ความสูงน้อยกว่าตำแหน่งหลักของกลุ่มที่ 1 ให้ไปตั้งแถวอยู่ด้านซ้ายของตำแหน่งของกลุ่มที่ 1 และนักเรียนที่มีความสูงเท่ากับหรือมากกว่าตำแหน่งหลักขิองกลุ่มที่ 1 ให้ไปตั้งแถวด้านขวาของตำแหน่งหลักของกลุ่มที่ 1
- กลุ่มที่ 2 นักเรียนที่มีความสูงน้อยกว่าตำแหน่งของกลุ่มที่ 2 ให้ไปตั้งแถวอยู่ด้านซ้ายของตำแหน่งลักของกลุ่มที่ 2 และนักเรียนที่มีความสูงเท่ากับหรือมากกว้่ในตำแหน่งของกลุ่มที่ 2 ให้ไปตั้งแถวอยู่ด้านขวาของตำแหน่งหลักของกลุ่มที่ 2
- จะได้แถวเรียงลำดับความสูงจากน้อยไปมาก
จากขั้นตอนข้างต้นสรุปได้ ดังนี้ เริ่มต้นให้นักเรียนเข้าแถวโดยไม่สนใจความสูง ซึ่งกำหนดนักเรียนคนแรกให้เป็นตำแหน่งหลัก แบ่งออกเป็น 2 กลุ่ม โดยกลุ่มที่ 1 คือกลุ่มที่มีความสูงน้อยกว่าตำแหน่งหลัก ให้เข้าแถวอยู่ด้านซ้ายของตำแหน่งหลัก และกลุ่มที่ 2 คือกลุ่มที่มีความสูงเท่ากับหรือมากกว่าตำแหน่งหลัก ให้เข้าแถวอยู่ด้านขวาของตำแหน่งหลัก เมื่อแบ่งกลุ่มเรียบร้อยแล้ว ให้ทำซ้ำการแบ่งกลุ่มในลักษณะเช่นเดียวกันนี้ไปเรื่อยๆ จนกว่าจะไม่สามารถแบ่งกลุ่มได้อีกและนักเรียนเข้าแถวเรียงตามลำดับความสูงจากน้อยไปมากได้อย่างถูกต้อง โดยจำนวนรอบในการทำซ้ำขึ้นอยู่กับจำนวนนักเรียนที่เข้าแถว
เมื่อเปรียบเทียบกับการเข้าแถวแบบปกติแล้ว การเข้าแถวแบบการใช้แนวคิดเชิงคำนวณเข้ามาช่วยในการแก้ปัญหาจะมีความเป็นระเบียบ มีความเป็นขั้นตอน และสามารถจัดแถวได้อย่างเป็นระบบระเบียบ โดยใช้การลำดับขั้นตอนในการเข้าแถวเข้ามาช่วยในการแก้ปัญหา ดังนั้นการเข้าแถวแบบการใช้แนวคิดเชิงคำนวณ จึงมีความเป็นขั้นตอนและเป็นระบบมากกว่าในการเข้าแถวปกติ
2.2 ตัวอย่างการจัดเรียงเสื้อผ้าให้ง่ายที่สุด
ในกรณีนี้ จะยกตัวอย่างการจัดเรียงด้วยการแบ่งกลุ่มประเภทของเสื้อผ้าเป้น 2 ประเภทหลัก ซึ่งแต่ละประเภทหลัก จะแบ่งประเภทย่อย
แนวคิดเชิงคำนวณในการแก้ปัญหาการจัดเรียงเสื้อผ้าให้หาง่ายที่สุด
1. แนวคิดการแยกย่อย (Decomposition) คือ การแตกปัญหาใหญ่ออกเป็นปัญหาย่อย ในที่นี้ปัญหาใหญ่ คือ การจัดเรียงเสื้อผ้าให้หาง่ายที่สุด โดยสามารถแบ่งปัญหาออกเป็นขั้นตอนย่อยได้ดังนี้
ขั้นตอนที่ 1 หาวัตถุประสงค์หลักในการค้นหาว่า จะค้นหาจากคุณสมบัติของเสื้อผ้า เช่น ประเภท สี เพื่อนำไปใช้เป็นเกณฑ์ในการแบ่งกลุ่มเสื้อผ้า
ขั้นตอนที่ 2 แบ่งกลุ่มเสื้ิอผ้า โดยแบ่งเป็นกุล่มกระโปรงและกางเกง
ขั้นตอนที่ 3 จัดเรียงเสื้อผ้าในแต่ละกลุ่ม โดยยึดตามประเภทและสีของเสื้อผ้า
2. แนวคิดการหารูปแบบ (Pattern Recognition) คือ เข้าใจรูปแบบของปัญหา ในกรณีนี้การจัดเรียงเสื้อฟ้าให้หาง่ายที่สุด จะมีรูปแบบ ดังนี้
- หาวัตถุประสงค์หลักในการค้นหาเสื้อผ้า
- แบ่งกลุ่มเสื้อผ้าตามวัตถุประสงค์
- จัดเรียงเสื้อผ้า
3. แนวคิดเชิงนามธรรม (Abstraction) การคิดรวบยอดปัญหา และไม่สนใจสิ่งที่ไม่จำเป็น โดยในการจัดเรียงเสื้อผ้าให้หาง่ายที่สุด แนวคิดหลัก คือ จะต้องหาวัตถประสงค์หลักให้ได้ก่อนเสมอ จากนั้นจึงจะทำการแบ่งกลุ่มตามวัตถุประสงค์หลัก โดยไม่สนใจสิ่งที่ไม่จำเป็นซึ่งในตัวอย่างนี้ สิ่งที่ไม่จำเป็น คือ ยี่ห้อและขนาด
4.แนวคิดการออกแบบและขั้นตอนวิธี (Algorithm Design) ลำดับขั้นตอนในการแก้ปัญหามีดังนี้
- หาวัตถุประสงค์หลักในการค้นหาเสื้อผ้า โดยตัวอย่างนี้จะค้นหาจาก ประเภทและสี ตามลำดับ
- แบ่งกลุ่มเสื้อผ้า โดยแบ่งกลุ่มเสื้อผ้าเป็นกลุ่มเสื้อและกลุ่มกางเกงหรือกระโปรง
3.แบ่งกลุ่มเสื้อเป็นเสื้อยืดกลุ่มหนึ่งกับเสื้อเชิ้ตอีกกลุ่มหนึ่ง และแบ่งกลุ่มกางเกงหรือกระโปรงเป็นกางเกงกลุ่มหนึ่งกับกระโปรงอีกกลุ่มหนึ่ง
4. แบ่งกลุ่มเสื้อยิดตามสี แบ่งกลุ่มเสื้อเชิ้ตตามสี แบ่งกลุ่มกางเกงตามสี และแบ่งกลุ่มกระโปรงตามสี
จากขั้นตอนข้างต้นสรุปได้ดังนี้ การจัดเสื้อผ้าโดยใช้แนวคิดเชิงคำนวณเข้ามาแก้ปัญหาจะมีวิธีในการแก้ปัญหาโดบแบ่งกลุ่มของเสื้อผ้าออกเป็นประเภทการใช้งาน สีของเสื้อผ้า เพื่อเป็นการประประหยัดเวลาในการค้นหาเสื้อผ้าแต่ละชนิด และสะดวกรวดกับการใช้งานในชีวิตประจำวันมากกว่าการไม่แบ่งประเภทเสื้อผ้า เพราะเสื้อผ้าจะปะปนกันทำให้เสียเวลาในการค้นหาเสื้อผ้าแต่ละชนิดและเกิดความยุ่งยาก