อัลกอริทึมเบื้องต้น

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

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

  • การเขียนอัลกอริทึมด้วยภาษาธรรมชาติ (Natural language)

  • การเขียนอัลกอริทึมด้วยรหัสจำลอง (Pseudocode)

  • การเขียนอัลกอริทึมด้วยผังงาน (Flowchart)

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

การต่อโมเดลเลโก้ (LEGO)

อัลกอริทึมที่ 1

  1. แกะกล่อง

  2. นำชิ้นส่วนออกจากกล่อง

  3. ทดลองประกอบชิ้นส่วนเข้าด้วยกัน

  4. ได้ผลลัพธ์เป็นเลโก้ตามรูปแบบหน้ากล่อง

อัลกอริทึมที่ 2

  1. แกะกล่อง

  2. นำชิ้นส่วนออกจากกล่อง

  3. เปิดคู่มืออ่านวิธีการประกอบโมเดล

  4. ประกอบโมเดลตามวิธีการที่คู่มือระบุ

  5. ได้ผลลัพธ์เป็นโมเดลเลโก้ตามรูปหน้ากล่อง

จากที่กล่าวมาแล้วว่า ผลลัพธ์เดียวกัน จากจุดเดียวกันสามารถทำได้โดยหลายวิธีที่แตกต่างกัน ซึ่งถูกวิธีของการหาผลลัพธ์นั้น คือ อัลกอริทึม

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

ข้อมูลอ้างอิง: ณัฏฐ์ โอธนาทรัพ และคณะ. 2562. การออกแบบและการเขียนอัลกอริทึม. ใน ดร.ฉัททวุฒิ พืชผล(บรรณาธิการ), เทคโนโลยี(วิทยาการคำนวณ) ชั้นมัธยมศึกษาปีที่ 1(7-8). บริษัทอักษรเจริญทัศน์ อจท. จำกัด 142 ถนนตะนาว เขตพระนคร กรุงเทพมหานคร 10200