The Prachakorn

ขั้นตอนวิธี (algorithm)


วรชัย ทองไทย

16 ธันวาคม 2565
704



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

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

  • PageRank ในปี 1998 อันเป็นขั้นตอนวิธีที่ Google ใช้เพื่อวัดความสำคัญของหน้าเว็บไซต์
  • BitTorrent ในปี 2001 อันเป็นขั้นตอนวิธีที่ใช้ในการแลกเปลี่ยนข้อมูลโดยตรงระหว่างเครื่องคอมพิวเตอร์ด้วยกัน โดยผ่านเครือข่ายอินเทอร์เน็ต
  • Bitcoin ในปี 2009 อันเป็นขั้นตอนวิธีของสกุลเงินดิจิทัล (digital currency, cryptocurrency)

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


รูป ภาษาโปรแกรม
ที่มา: https://cdn.educba.com/academy/wp-content/uploads/2015/12/programming-1009134_1280.jpg
สืบค้นเมื่อ 9 พฤศจิกายน 2565

ขั้นตอนวิธีที่ดีประกอบด้วย

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

ในประเทศพัฒนาแล้วที่กำลังก้าวเข้าสู่ยุคหลังดิจิทัล (post-digital age) นั้น สิ่งของเครื่องใช้ต่างๆ จะเป็นอัจฉริยะ (smart) และมีใช้กันอย่างแพร่หลาย เช่น โทรศัพท์อัจฉริยะ (smart phone) รถยนต์อัจฉริยะ (smart car) บ้านอัจฉริยะ (smart home) โดยสิ่งของอัจฉริยะเหล่านี้ จะเชื่อมต่อกันด้วยเครือข่ายคอมพิวเตอร์และอินเทอร์เน็ต ที่ครอบคลุมและพร้อมใช้งานทุกที่ ทำให้เราสามารถควบคุมการทำงานได้จากระยะไกล หรือที่เรียกว่า Internet of Things (IoT)

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

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

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

ถ้าเราใช้เวลาอยู่ในแพลตฟอร์มเหล่านี้บ่อยๆ หรือนานๆ อาจทำให้แนวคิดและพฤติกรรมของเราเปลี่ยนไปได้โดยไม่รู้ตัว ดังเช่น ประเทศสหรัฐอเมริกาที่คนจำนวนมากยังคงหลงเชื่อในข่าวลือ ข่าวปลอม (fake news) ทฤษฎีสมคบคิด (conspiracy theory) และโกหกคำโต (big lie) ที่กล่าวหาโดยไม่เป็นความจริงจาก Donald J. Trump (อดีตประธานาธิบดี) ว่า เขาถูกโกงในการเลือกตั้งประธานาธิบดีที่ผ่านมา (2020) อันส่งผลให้สังคมแตกแยก

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

ในปีนี้ (2022) รางวัลอีกโนเบล สาขาสันติภาพ ได้มอบให้กับนักวิจัยจากจีน ฮังการี คานาดา เนเธอร์แลนด์ สหราชอาณาจักร อิตาลี ออสเตรเลีย สวิตเซอร์แลนด์ และสหรัฐอเมริกา (Junhui Wu, Szabolcs Számadó, Pat Barclay, Bianca Beersma, Terence Dores Cruz, Sergio Lo Iacono, Annika Nieper, Kim Peters, Wojtek Przepiorka, Leo Tiokhin และ Paul Van Lange) ที่ร่วมกันพัฒนาขั้นตอนวิธีที่ช่วยให้คนชอบนินทาตัดสินใจได้ว่า จะพูดจริงเมื่อไรและจะพูดเท็จเมื่อไร

รางวัลอีกโนเบล: รางวัลที่ทำให้หัวเราะก่อนได้คิด


หมายเหตุ: ขยายความจาก “ขั้นตอนวิธี” ใน ประชากรและการพัฒนา 43(2) ธันวาคม 2565 - มกราคม 2566: 8



CONTRIBUTOR

Copyright © 2020 สถาบันวิจัยประชากรและสังคม มหาวิทยาลัยมหิดล
ตำบลศาลายา อำเภอพุทธมณฑล จังหวัดนครปฐม 73170
โทรศัพท์ 02-441-0201-4 โทรสาร 02-441-9333
Webmaster: piyawat.saw@mahidol.ac.th