​อัลกอริทึม (Algorithm)


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

 

อัลกอริทึม (Algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic)โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive)โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงานในการทำงานอย่างเดียวกัน เราอาจจะเลือกขั้นตอนวิธีที่ต่างกันเพื่อแก้ปัญหาได้ โดยที่ผลลัพธ์ที่ได้ในขั้นสุดท้ายจะออกมาเหมือนกันหรือไม่ก็ได้ และจะมีความแตกต่าง ที่จำนวนและชุดคำสั่งที่ใช้ต่างกันซึ่งส่งผลให้ เวลา (time) , และขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน หรือเรียกได้อีกอย่างว่ามีความซับซ้อน (complexity) ต่างกันการนำขั้นตอนวิธีไปใช้ ไม่จำกัดเฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหาอื่น ๆ ได้เช่น การออกแบบวงจรไฟฟ้า, การทำงานเครื่องจักรกล, หรือแม้กระทั่งปัญหาในธรรมชาติ เช่น วิธีของสมองมนุษย์ในการคิดเลข รือวิธีการขนอาหารของแมลง

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

คุณสมบัติของอัลกอริทึม

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

1. เป็นกระบวนวิธีการที่สร้างขึ้นจากกฎเกณฑ์ 

2. การเขียนอัลกอริทึมต้องไม่คลุมเครือ

3. ต้องมีลำดับขั้นตอนที่ชัดเจน 

4. กระบวนวิธีการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา

5. อัลกอริทึมต้องมีจุดสุดท้ายของการทำงาน 

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

หมายเลขบันทึก: 629762เขียนเมื่อ 14 มิถุนายน 2017 14:35 น. ()แก้ไขเมื่อ 26 พฤษภาคม 2022 10:46 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-ไม่ดัดแปลงจำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (1)
พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท