โลโก้
ยูเนี่ยนพีเดีย
การสื่อสาร
ดาวน์โหลดได้จาก Google Play
ใหม่! ดาวน์โหลด ยูเนี่ยนพีเดีย บน Android ™ของคุณ!
ดาวน์โหลด
เร็วกว่าเบราว์เซอร์!
 

การวิเคราะห์ขั้นตอนวิธี

ดัชนี การวิเคราะห์ขั้นตอนวิธี

ในศาสตร์คอมพิวเตอร์ การวิเคราะห์ขั้นตอนวิธี เป็นการตัดสินเกี่ยวกับจำนวนทรัพยากร (เช่น เวลา หรือเนื้อที่หน่วยความจำ) ที่จำเป็นต้องใช้ประมวลผลมัน ขั้นตอนวิธีส่วนใหญ่ถูกออกแบบให้ทำงานกับอินพุตที่มีความยาวเท่าไรก็ได้ โดยปกติประสิทธิภาพ หรือเวลาการทำงานของขั้นตอนวิธีเขียนในรูปฟังก์ชันความสัมพันธ์ของความยาวอินพุตกับจำนวนขั้นตอนที่ต้องใช้ในการทำงานนั้น (ความซับซ้อนด้านเวลา) หรือตำแหน่งของเนื้อที่จัดเก็บ (ความซับซ้อนด้านเนื้อที่) การวิเคราะห์ขั้นตอนวิธีเป็นส่วนที่มีความสำคัญของทฤษฎีความซับซ้อนในการคำนวณที่กว้างขึ้น ซึ่งเอื้ออำนวยสำหรับการประมาณการเชิงทฤษฎีสำหรับทรัพยากรที่จำเป็นต้องใช้โดยขั้นตอนวิธีใด ๆ สำหรับใช้ไขปัญหาที่ต้องการคำนวณ การประมาณการนี้ช่วยให้เข้าใจอย่างลึกซึ้งถึงคำสั่งที่มีเหตุผลของการค้นหาประสิทธิภาพของขั้นตอนวิธี การวิเคราะห์ขั้นตอนวิธีทางทฤษฎีเป็นวิธีการปกติที่ใช้ประเมินความซับซ้อนของมันเมื่อพิจารณาประสิทธิภาพของขั้นตอนวิธีกับชุดข้อมูลที่มีขนาดใหญ่มาก เช่น ประมาณฟังก์ชันความซับซ้อนสำหรับอินพุตขนาดใหญ่ใด ๆ สัญกรณ์โอใหญ่ (Big O notation) สัญกรณ์โอเมก้า และสัญกรณ์ธีต้า (theta notation) ถูกใช้เพื่อการนี้ด้วย ตัวอย่างเช่น การทำงานสำหรับการค้นหาแบบทวิภาคเท่ากับจำนวนของขั้นตอนสัมพันธ์กับลอการิทึมของความยาวของรายการที่ต้องการค้นหา หรือ O (log (n)) หรือกว่าว่า "ในเวลาลอการิทึม" โดยปกติการประเมินประสิทธิภาพของขั้นตอนวิธีมักใช้กับข้อมูลขนาดใหญ่มาก ๆ เนื่องจากการดำเนินการที่แตกต่างกันของขั้นตอนวิธีเดียวกันอาจมีประสิทธิภาพต่างกัน อย่างไรก็ตามประสิทธิภาพของการดำเนินการอย่างมีเหตุผลสองวิธีของขั้นตอนวิธีที่ให้เกี่ยวข้องกันโดยปัจจัยตัวคูณคงที่ที่เรียกว่าค่าคงที่แฝง (Hidden factor) การวัดประสิทธิภาพอย่างแม่นยำ บางครั้งสามารถคำนวณได้ แต่มันต้องการสมมติฐานที่แน่นอนเกี่ยวกับการดำเนินการเป็นพิเศษของขั้นตอนวิธี เรียกว่าโมเดลของการคำนวณ ซึ่งอาจนิยามในเทอมของ คอมพิวเตอร์นามธรรม เช่น เครื่องจักรทัวริง และ/หรือ โดยการสมมุติว่าการดำเนินการที่แน่นอนถูกกระทำในเวลาหนึ่งหน่วย ตัวอย่างเช่น การค้นหาอิลีเมนต์จากรายการที่จัดเรียงแล้ว (Sorted list) n อิลีเมนต์ ด้วยวิธีค้นหาแบบทวิภาค และเราสามารถรับประกันว่าการค้นหาอิลีเมนต์แต่ละครั้งทำในเวลาหนึ่งหน่วย ดังนั้นคำตอบที่ได้จะใช้เวลาในการค้นหาอย่างมากที่สุดเท่ากับ log2 n + 1 หน่วยเวลา หมวดหมู่:ขั้นตอนวิธี หมวดหมู่:การวิเคราะห์ขั้นตอนวิธี.

5 ความสัมพันธ์: การค้นหาแบบทวิภาคสัญกรณ์โอใหญ่ทฤษฎีความซับซ้อนในการคำนวณขั้นตอนวิธีเครื่องทัวริง

การค้นหาแบบทวิภาค

ในสาขาวิทยาการคอมพิวเตอร์ การค้นหาแบบทวิภาค (binary search, half-interval search หรือ bisection search) เป็นขั้นตอนวิธีเพื่อหาตำแหน่งของค่าที่ต้องการ (ข้อมูลนำเข้า หรือ "key") ที่ใช้ในแถวลำดับที่ได้มีการเรียงลำดับข้อมูลแล้ว ขั้นตอนวิธีจะเริ่มจากเปรียบเทียบข้อมูลที่นำเข้ากับข้อมูลที่อยู่ตรงกลางของแถวลำดับ ถ้าข้อมูลมีค่าเท่ากันแสดงว่าพบ "คีย์" ที่ต้องการ อาจจะทำการคืนค่าตำแหน่งหรือในที่นี้คือ ดัชนี (index) กลับไป มิฉะนั้นถ้าค่าของข้อมูลนำเข้าที่ต้องการค้นหามีการน้อยกว่าค่าตรงกลางของแถวลำดับ ก็จะทำขั้นตอนวิธีนี้อีกครั้งแต่เปลี่ยนมาค้นหาในแถวลำดับย่อยของแถวลำดับที่ต้องการค้นหาโดยแถวลำดับย่อยจะมีจุดสิ้นสุดที่ตรงกลางของแถวลำดับหลัก หรือถ้าข้อมูลที่ต้องการค้นหามีค่ามากกว่าแล้วจะค้นหาในแถวลำดับย่อยเช่นกันแต่ย้ายจุดเริ่มต้นมาที่ตรงกลางของแถวลำดับหลัก เมื่อทำไปจนแถวลำดับไม่มีสมาชิกอยู่หรือจุดเริ่มต้นมากกว่าจุดสิ้นสุด แสดงว่าไม่มีสมาชิกในแถวลำดับตัวใดที่มีค่าเท่ากับข้อมูลนำเข้าที่ต้องการค้นหา อาจจะคืนค่าว่า "ไม่พบ" การค้นหาแบบทวิภาคจะแบ่งครึ่งชุดข้อมูลที่ต้องการค้นหา ดังนั้นจึงจัดให้การค้นหาแบบทวิภาคเป็นขั้นตอนวิธีแบ่งแยกและเอาชนะ และขั้นตอนวิธีการค้นห.

ใหม่!!: การวิเคราะห์ขั้นตอนวิธีและการค้นหาแบบทวิภาค · ดูเพิ่มเติม »

สัญกรณ์โอใหญ่

ตัวอย่างของสัญกรณ์โอใหญ่ โดย ''f''(''x'') ∈ O(''g''(''x'')) ซึ่งหมายความว่ามี ''c'' > 0 (เช่น ''c''.

ใหม่!!: การวิเคราะห์ขั้นตอนวิธีและสัญกรณ์โอใหญ่ · ดูเพิ่มเติม »

ทฤษฎีความซับซ้อนในการคำนวณ

ทฤษฎีความซับซ้อนในการคำนวณ (Computational Complexity Theory) เป็นสาขาหนึ่งของทฤษฎีการคำนวณ ที่มุ่งเน้นไปในการวิเคราะห์เวลาและเนื้อที่สำหรับการแก้ปัญหาหนึ่ง ๆ โดยปกติแล้วคำว่า "เวลา" ที่เราพูดถึงนั้น จะเป็นการนับจำนวนขั้นตอนที่ใช้ในการแก้ปัญหา ส่วนในเรื่องของ "เนื้อที่" เราจะพิจารณาเนื้อที่ ๆ ใช้ในการทำงานเท่านั้น (ไม่นับเนื้อที่ ๆ ใช้ในการเก็บข้อมูลป้อนเข้า).

ใหม่!!: การวิเคราะห์ขั้นตอนวิธีและทฤษฎีความซับซ้อนในการคำนวณ · ดูเพิ่มเติม »

ขั้นตอนวิธี

ั้นตอนวิธี หรือ อัลกอริทึม (algorithm) หมายถึงกระบวนการแก้ปัญหาที่สามารถเข้าใจได้ มีลำดับหรือวิธีการในการแก้ไขปัญหาใดปัญหาหนึ่งอย่างเป็นขั้นเป็นตอนและชัดเจน เมื่อนำเข้าอะไร แล้วจะต้องได้ผลลัพธ์เช่นไร ซึ่งแตกต่างจากการแก้ปัญหาแบบสามัญสำนึก หรือฮิวริสติก (heuristic) โดยทั่วไป ขั้นตอนวิธี จะประกอบด้วย วิธีการเป็นขั้นๆ และมีส่วนที่ต้องทำแบบวนซ้ำ (iterate) หรือ เวียนเกิด (recursive) โดยใช้ตรรกะ (logic) และ/หรือ ในการเปรียบเทียบ (comparison) ในขั้นตอนต่างๆ จนกระทั่งเสร็จสิ้นการทำงาน ในการทำงานอย่างเดียวกัน เราอาจจะเลือกขั้นตอนวิธีที่ต่างกันเพื่อแก้ปัญหาได้ โดยที่ผลลัพธ์ที่ได้ในขั้นสุดท้ายจะออกมาเหมือนกันหรือไม่ก็ได้ และจะมีความแตกต่าง ที่จำนวนและชุดคำสั่งที่ใช้ต่างกันซึ่งส่งผลให้ เวลา (time), และขนาดหน่วยความจำ (space) ที่ต้องการต่างกัน หรือเรียกได้อีกอย่างว่ามีความซับซ้อน (complexity) ต่างกัน การนำขั้นตอนวิธีไปใช้ ไม่จำกัดเฉพาะการเขียนโปรแกรมคอมพิวเตอร์ แต่สามารถใช้กับปัญหาอื่น ๆ ได้เช่น การออกแบบวงจรไฟฟ้า, การทำงานเครื่องจักรกล, หรือแม้กระทั่งปัญหาในธรรมชาติ เช่น วิธีของสมองมนุษย์ในการคิดเลข หรือวิธีการขนอาหารของแมลง หนึ่งในขั้นตอนวิธีอย่างง่าย คือ ขั้นตอนวิธีที่ใช้หาจำนวนที่มีค่ามากที่สุดในรายการ (ซึ่งไม่ได้เรียงลำดับไว้) ในการแก้ปัญหานี้ เราจะต้องดูจำนวนทุกจำนวนในรายการ ซึ่งมีขั้นตอนวิธีดังนี้.

ใหม่!!: การวิเคราะห์ขั้นตอนวิธีและขั้นตอนวิธี · ดูเพิ่มเติม »

เครื่องทัวริง

รื่องจักรทัวริง (Turing machine) คือเครื่องจักรนามธรรมที่แอลัน ทัวริงได้คิดค้นขึ้นใน..

ใหม่!!: การวิเคราะห์ขั้นตอนวิธีและเครื่องทัวริง · ดูเพิ่มเติม »

ขาออกขาเข้า
Hey! เราอยู่ใน Facebook ตอนนี้! »