อัลกอริทึมคือลำดับของคำสั่งหรือคำสั่งที่ดำเนินการอย่างเป็นระบบโดยมีวัตถุประสงค์เพื่อแก้ไขปัญหาหรือปฏิบัติงาน
คำว่า "อัลกอริทึม" หมายถึงนักคณิตศาสตร์ชาวอาหรับ Al Khowarizmi ที่อาศัยอยู่ในศตวรรษที่ 9 และอธิบายกฎสำหรับสมการทางคณิตศาสตร์
อัลกอริทึมเป็นเหมือนสูตรสำหรับเค้ก: ลำดับของการกระทำที่ต้องทำจนกว่าจะถึงเป้าหมายสุดท้าย - เค้กที่เสร็จแล้ว - จะถึง
อัลกอริทึมใช้ตั้งแต่งานง่ายๆ ในชีวิตประจำวันไปจนถึงโปรแกรมคอมพิวเตอร์และเครื่องมือที่ซับซ้อนซึ่งระบุพฤติกรรมของผู้บริโภคบนอินเทอร์เน็ต
ฟังก์ชั่นคอมพิวเตอร์ทั้งหมด, สมาร์ทโฟน และ แท็บเล็ตตัวอย่างเช่น เป็นผลลัพธ์ของอัลกอริธึม เครื่องเหล่านี้สามารถดำเนินการคำสั่งหลายพันล้านคำสั่งในไม่กี่วินาที
ตัวอย่างการทำงานของอัลกอริทึม
อัลกอริธึมเกิดขึ้นในคณิตศาสตร์เพื่ออธิบายกฎสำหรับสมการพีชคณิต แต่สามารถใช้กับลำดับของการกระทำที่มีขอบเขตจำกัดที่พยายามแก้ปัญหาได้
งานทั้งหมดที่เราทำในแต่ละวันสามารถเปลี่ยนเป็นอัลกอริธึมได้ เพียงแค่คลี่คลายการกระทำที่จำเป็นทั้งหมดเพื่อให้บรรลุเป้าหมายที่กำหนดไว้
หากเราทำอัลกอริธึมสำหรับการเตรียมกาแฟ เราสามารถมีขั้นตอนต่อไปนี้:
- ต้มน้ำ;
- ใส่ผงลงในตัวกรอง
- ปิดน้ำ
- ผ่านน้ำผ่านผงกาแฟ
อัลกอริธึมที่ใช้ในคอมพิวเตอร์นั้นซับซ้อนกว่าและมีความเป็นไปได้ด้วย พิจารณาตัวอย่างการใช้เมาส์เหนืออินเทอร์เน็ตเบราว์เซอร์
คำสั่งปิดหน้าจอถูกกำหนดโดยอัลกอริทึมที่เข้าใจว่า:
- หากเมาส์คลิกที่ "x" หน้าจะต้องปิด
- หากเมาส์ไม่คลิกบนตัว "x" ก็ไม่ต้องดำเนินการใดๆ
อัลกอริทึมนี้สามารถจัดโครงสร้างในผังงาน:
โดยทั่วไปอัลกอริทึมจะประกอบด้วยข้อมูลอินพุต (อินพุต) การประมวลผลและส่งออกข้อมูล (ผลผลิต). โครงสร้างนี้สามารถเข้าใจได้ง่ายด้วยตัวอย่างเครื่องคิดเลข:
- ป้อนข้อมูล: ค่านิยมและการดำเนินงานที่จะดำเนินการ
- การประมวลผล: การคำนวณที่ดำเนินการโดยเครื่อง
- ข้อมูลขาออก: ผลการดำเนินงาน
อัลกอริทึมที่ใช้ในการเขียนโปรแกรมคอมพิวเตอร์
อัลกอริธึมเป็นแนวคิดที่สำคัญมากสำหรับการเขียนโปรแกรม เนื่องจากเครื่องและโปรแกรมคอมพิวเตอร์ทั้งหมดทำงานจากลำดับของการกระทำที่จำกัดซึ่งนำไปสู่ความสมบูรณ์ของงาน
บทบาทของผู้ทำการเขียนโปรแกรมคอมพิวเตอร์และซอฟต์แวร์คือการคิดเกี่ยวกับขั้นตอนทั้งหมดของงานและอธิบายอย่างเป็นรูปธรรมและชัดเจนเพื่อให้คอมพิวเตอร์สามารถดำเนินการได้
ตัวอย่างจะเป็นโปรแกรมที่แสดงว่านักเรียนผ่านวิชาเฉพาะหรือไม่ เมื่อพิจารณาว่าเกรดสุดท้ายเป็นค่าเฉลี่ยของการทดสอบสองครั้งในภาคการศึกษา คำสั่งจะเป็นดังนี้:
- รวบรวมเกรดในการทดสอบสองครั้งที่ดำเนินการ
- คำนวณค่าเฉลี่ยเลขคณิตระหว่างกัน
- ถ้าผลมากกว่า 7 นักเรียนผ่าน
- หากผลน้อยกว่า 7 แสดงว่านักเรียนไม่ผ่าน
อย่างไรก็ตาม คอมพิวเตอร์ไม่เข้าใจภาษาที่เขียนในลักษณะนี้ ดังนั้นโปรแกรมเมอร์จึงต้อง "แปล" คำสั่งเหล่านี้เป็นภาษาโปรแกรม ตัวอย่างบางส่วนของ ภาษาโปรแกรม พวกเขาเป็น:
- Java
- ภาษาซี
- ภาษา C++
- ภาษาซี#
- Python
การทำงานของอัลกอริธึมทำได้เร็วมากโดยเครื่อง ตัวอย่างเช่น โน้ตบุ๊กทั่วไปมักจะดำเนินการมากกว่าพันล้านรายการต่อวินาที
ความเร็วในการทำงานนี้ปฏิวัติโลกของการคำนวณ เนื่องจากเครื่องจักรสามารถทำการคำนวณได้ในเวลาอันสั้นซึ่งมนุษย์จะใช้เวลาหลายวัน เดือน หรือหลายปี
อัลกอริทึมบนอินเทอร์เน็ต
อัลกอริธึมยังใช้บนอินเทอร์เน็ต โดยเฉพาะโดยเสิร์ชเอ็นจิ้นและโซเชียลเน็ตเวิร์ก
การใช้อัลกอริทึมในเครื่องมือค้นหา
ตัวอย่างที่จำได้มากที่สุดอย่างหนึ่งคืออัลกอริทึมของเครื่องมือค้นหาของ Google ซึ่งดำเนินการต่างๆ เพื่อจัดระเบียบวิธีที่ผลการค้นหาปรากฏต่อผู้ใช้
เมื่อผู้ใช้ค้นหาคำสำคัญใน Google เช่น "ประชาธิปไตยคืออะไร" ลำดับของ ผลลัพธ์ที่แสดงขึ้นอยู่กับการคำนวณหลายอย่างที่อัลกอริธึมดำเนินการเพื่อใส่ลงในนั้น ตำแหน่ง.
การคำนวณเหล่านี้อิงจากตัวแปรหลายอย่าง เช่น คุณภาพและความตรงต่อเวลาของเนื้อหา คุณภาพของไซต์ที่ใช้เนื้อหา และระยะเวลาที่ผู้คนมักจะอยู่ในหน้านั้น
อัลกอริทึมของ Google ค่อนข้างซับซ้อนและมีการอัปเดตเป็นครั้งคราวเพื่อมอบประสบการณ์ที่ดีขึ้นและนำเสนอผลลัพธ์ที่ดีที่สุดสำหรับผู้ใช้
การใช้อัลกอริทึมในโซเชียลเน็ตเวิร์ก
เครือข่ายโซเชียลยังตั้งโปรแกรมด้วยอัลกอริธึมที่ซับซ้อน คุณ ฟีด เช่น Facebook, Instagram และ Twitter แสดงโพสต์และโฆษณาตามพฤติกรรมของผู้ใช้
ซึ่งหมายความว่าไม่ใช่ทุกโพสต์จากเพื่อนของคุณจะปรากฏในโพสต์ของคุณ ให้อาหาร. อัลกอริธึมของโซเชียลเน็ตเวิร์กเหล่านี้เลือกอัลกอริธึมที่เหมาะสมที่สุดตามความต้องการของคุณ
อัลกอริทึมของ Facebook ที่เรียกว่า EdgeRankตัวอย่างเช่น เลือกเนื้อหาที่เกี่ยวข้องมากที่สุดสำหรับคุณตามปัจจัยหลายประการ เช่น:
- สิ่งพิมพ์และเพจที่คุณชอบ;
- คนที่คุณโต้ตอบด้วย
- หน้าที่คุณแสดงความคิดเห็น
- หุ้นของคุณ
Spotify เป็นอีกตัวอย่างหนึ่งของแอพและโซเชียลเน็ตเวิร์กที่ใช้อัลกอริธึมเพื่อให้ผู้ใช้ได้รับประสบการณ์ที่เป็นส่วนตัวมากขึ้น ทุกสัปดาห์แอพเสนอ a เพลย์ลิสต์ เรียกว่า “การค้นพบประจำสัปดาห์”
ที่ เพลย์ลิสต์ มี 30 เพลงที่ผู้ใช้ไม่เคยเล่นในแอป แต่คล้ายกับเพลงอื่น ๆ ที่เขามักจะฟัง
วัตถุประสงค์คือเพื่อนำเสนอเพลงและวงดนตรีที่ผู้ใช้ไม่รู้จักให้กับผู้ใช้ แต่นั่นอาจสอดคล้องกับรสนิยมทางดนตรีของเขา
ดูเพิ่มเติมที่ความหมายของ ซอฟต์แวร์ และ ฮาร์ดแวร์.