Algorithm: แนวคิด คุณสมบัติ โครงสร้างและประเภท

สารบัญ:

Algorithm: แนวคิด คุณสมบัติ โครงสร้างและประเภท
Algorithm: แนวคิด คุณสมบัติ โครงสร้างและประเภท
Anonim

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

ในบทความนี้ เราจะวิเคราะห์แนวคิดพื้นฐานของอัลกอริทึม

ประวัติความเป็นมาของอัลกอริทึม

Algorithm - แนวคิดที่ปรากฏในศตวรรษที่สิบสอง คำว่า "อัลกอริทึม" นั้นมาจากการตีความภาษาละตินของชื่อของนักคณิตศาสตร์ชาวตะวันออกกลางที่มีชื่อเสียง Muhammad al-Khwarizmi ผู้เขียนหนังสือเรื่อง "On Indian Counting" หนังสือเล่มนี้อธิบายวิธีเขียนตัวเลขธรรมชาติอย่างถูกต้องโดยใช้ตัวเลขอารบิก และอธิบายอัลกอริธึมของการกระทำด้วยคอลัมน์เหนือตัวเลขดังกล่าว

ในศตวรรษที่ 12 หนังสือ "ในบัญชีอินเดีย" ได้รับการแปลเป็นภาษาละติน และคำจำกัดความนี้ก็ปรากฏขึ้น

การโต้ตอบของอัลกอริทึมกับมนุษย์และเครื่องจักร

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

ตัวอย่างที่ดีของการปฏิบัติตามคำแนะนำคือเตาไมโครเวฟเปล่าที่ยังคงทำงานต่อไปแม้จะไม่มีอาหารอยู่ข้างใน

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

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

อัลกอรึทึมคืออะไร

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

อัลกอริทึมคือแนวคิดที่อ้างถึงชุดคำสั่งที่บุคคลต้องปฏิบัติตามเพื่อแก้ปัญหาบางอย่าง

แนวคิดอัลกอริทึม
แนวคิดอัลกอริทึม

โดยทั่วไป อัลกอริธึมมีคำจำกัดความมากมาย นักวิทยาศาสตร์หลายคนอธิบายมันต่างกัน

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

อัลกอรึธึมมีแนวคิดที่แตกต่างกัน ประเภทของอัลกอริธึมก็ต่างกัน เช่น สำหรับผู้ที่ไล่ตามเป้าหมาย และเทคโนโลยี

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

อัลกอริทึมของโปรแกรม
อัลกอริทึมของโปรแกรม

คุณสมบัติพื้นฐานของอัลกอริทึม

1. ความไม่ต่อเนื่อง (ลำดับของการกระทำแต่ละอย่าง) - อัลกอริธึมใดๆ ควรแสดงเป็นชุดของการกระทำง่ายๆ ซึ่งแต่ละอย่างควรเริ่มต้นหลังจากเสร็จสิ้นขั้นตอนก่อนหน้า

2. ความแน่นอน - การดำเนินการแต่ละขั้นตอนของอัลกอริทึมควรเรียบง่ายและชัดเจนว่าผู้ดำเนินการไม่มีคำถามใดๆ และไม่มีเสรีภาพในการดำเนินการ

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

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

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

อัลกอรึทึมมีหลายประเภทแต่มีสามตัวหลัก

อัลกอริธึมวงจร

ในประเภทนี้ บางรายการซ้ำหลายครั้ง รายการการกระทำที่ต้องทำซ้ำเพื่อให้บรรลุเป้าหมายเรียกว่าเนื้อหาของอัลกอริทึม

การวนซ้ำคือการดำเนินการของรายการทั้งหมดที่รวมอยู่ในเนื้อหาของลูปส่วนของการวนซ้ำที่ดำเนินการอย่างต่อเนื่องเป็นจำนวนหนึ่งเรียกว่าการวนซ้ำที่มีจำนวนคงที่ ของการทำซ้ำ

ส่วนต่างๆ ของวัฏจักร ความถี่ซึ่งขึ้นกับเงื่อนไขจำนวนหนึ่งเรียกว่าไม่แน่นอน

วงจรที่ง่ายที่สุดได้รับการแก้ไข

อัลกอริธึมแบบวนมีสองประเภท:

  • วนรอบแบบมีเงื่อนไข ในกรณีนี้ เนื้อหาของลูปจะตรวจสอบเงื่อนไขก่อนที่จะดำเนินการ
  • วนรอบเงื่อนไขภายหลัง ในลูปที่มี postcondition เงื่อนไขจะถูกตรวจสอบหลังจากสิ้นสุดลูป
ประเภทของอัลกอริทึม
ประเภทของอัลกอริทึม

อัลกอริธึมประเภทเชิงเส้น

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

โครงสร้างอัลกอริทึม
โครงสร้างอัลกอริทึม

อัลกอริทึมการแบรนช์

ประเภทการแตกแขนงมีหลายแบบให้เลือก ขึ้นอยู่กับเงื่อนไข

ตัวอย่าง. คำถาม: ฝนตกไหม ตัวเลือกคำตอบ: "ใช่" หรือ "ไม่ใช่" ถ้า"ใช่" - เปิดร่ม ถ้า "ไม่" - ใส่ร่มในกระเป๋า

แบบจำลองอัลกอริทึม
แบบจำลองอัลกอริทึม

อัลกอรึทึมเสริม

อัลกอริทึมเสริมสามารถใช้กับอัลกอริธึมอื่นได้โดยการระบุชื่อเท่านั้น

เงื่อนไขที่พบในอัลกอริทึม

เงื่อนไขอยู่ระหว่างคำว่า "ถ้า" กับ "แล้ว"

เช่น ถ้ารู้ภาษาอังกฤษก็กดหนึ่ง ในประโยคนี้ ส่วนของวลี "you know English" จะเป็นเงื่อนไข

ข้อมูลคือข้อมูลที่มีการโหลดเชิงความหมายและนำเสนอในลักษณะที่สามารถส่งและใช้สำหรับอัลกอริธึมนี้ได้

กระบวนการอัลกอริทึม - การแก้ปัญหาตามอัลกอริทึมโดยใช้ข้อมูลบางอย่าง

โครงสร้างของอัลกอริทึม

อัลกอริทึมสามารถมีโครงสร้างที่แตกต่างกัน ในการอธิบายอัลกอริทึม แนวคิดซึ่งขึ้นอยู่กับโครงสร้างของอัลกอริทึมด้วย คุณสามารถใช้วิธีต่างๆ ได้หลายวิธี เช่น วาจา กราฟิค การใช้ภาษาอัลกอริธึมที่พัฒนาขึ้นเป็นพิเศษ

วิธีการที่จะใช้ขึ้นอยู่กับปัจจัยหลายประการ: ความซับซ้อนของงาน ความละเอียดของกระบวนการในการแก้ปัญหาที่ต้องการ ฯลฯ

อัลกอริธึมเวอร์ชันกราฟิก

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

ไดอะแกรมกราฟิกจะไม่แสดงแบบสุ่ม เพื่อให้พวกเขาสามารถเพื่อทำความเข้าใจบุคคลใด ๆ ผังงานและโครงสร้าง Nassi-Schneiderman มักใช้บ่อยที่สุด

นอกจากนี้ บล็อกไดอะแกรมยังวาดตาม GOST-19001-90 และ GOST-19.003-80กราฟิกที่ใช้ในอัลกอริทึมแบ่งออกเป็น:

  • พื้นฐาน. รูปภาพหลักใช้เพื่อระบุการดำเนินการที่จำเป็นในการประมวลผลข้อมูลเมื่อแก้ไขปัญหา
  • เสริม. จำเป็นต้องใช้รูปภาพเสริมเพื่อระบุองค์ประกอบในการแก้ปัญหาแต่ละส่วน ไม่ใช่องค์ประกอบที่สำคัญที่สุด

ในอัลกอริธึมแบบกราฟิก รูปทรงเรขาคณิตที่ใช้แสดงข้อมูลเรียกว่าบล็อก

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

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

วิธีสร้างอัลกอริธึมอย่างถูกต้อง

โครงสร้างของอัลกอริธึมดังที่กล่าวไว้ข้างต้นต้องสร้างขึ้นตาม GOST มิฉะนั้นจะไม่มีใครเข้าใจและเข้าถึงได้

วิธีการบันทึกทั่วไปรวมถึงรายการต่อไปนี้:

ชื่อที่จะบอกได้ชัดเจนว่าปัญหาใดสามารถแก้ไขได้โดยใช้แผนนี้

แต่ละอัลกอริธึมต้องมีจุดเริ่มต้นและจุดสิ้นสุดที่ชัดเจน

อัลกอริทึมข้อมูลทั้งหมดทั้งอินพุตและเอาต์พุตต้องอธิบายอย่างชัดเจนและชัดเจน

การคำนวณอัลกอริทึม
การคำนวณอัลกอริทึม

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

  • ชื่อคีมา
  • ข้อมูล
  • เริ่ม
  • ทีม
  • จบ

การสร้างวงจรอย่างเหมาะสมจะช่วยอำนวยความสะดวกในการคำนวณอัลกอริธึมอย่างมาก

รูปทรงเรขาคณิตที่รับผิดชอบการกระทำต่างๆ ในอัลกอริธึม

วงรีแนวนอน - จุดเริ่มต้นและจุดสิ้นสุด (เครื่องหมายสิ้นสุด)

สี่เหลี่ยมแนวนอน - การคำนวณหรือการดำเนินการอื่น ๆ (เครื่องหมายกระบวนการ).

สี่เหลี่ยมด้านขนานแนวนอน - อินพุตหรือเอาต์พุต (สัญญาณข้อมูล).

รูปสี่เหลี่ยมขนมเปียกปูนแนวนอน - ตรวจสอบสภาพ (สัญญาณตัดสินใจ).

หกเหลี่ยมแนวนอนยาว - ดัดแปลง (สัญลักษณ์ของการเตรียมการ).

รูปแบบอัลกอริทึมแสดงอยู่ด้านล่าง

การสร้างอัลกอริธึมเวอร์ชันสูตร-วาจา

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

แนวคิดของอัลกอริธึม ประเภทของอัลกอริธึม
แนวคิดของอัลกอริธึม ประเภทของอัลกอริธึม

แนวคิดของอัลกอริทึมในวิทยาการคอมพิวเตอร์

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

การสร้างและการใช้อัลกอริธึมในวิทยาการคอมพิวเตอร์เป็นกระบวนการที่สร้างสรรค์มากกว่าการทำตามคำแนะนำในการแก้ปัญหาทางคณิตศาสตร์

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

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

สรุป

ในบทความนี้ เราวิเคราะห์แนวคิดของอัลกอริทึมและประเภทของอัลกอริทึม เรียนรู้วิธีการเขียนโครงร่างกราฟิกอย่างถูกต้อง

แนะนำ: