อัลกอริธึม (algorithm)

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

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

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

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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s