กระบวนทัศน์สำหรับการวิเคราะห์ความซับซ้อนของอัลกอริทึม


16

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

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

คำตอบ:


21

มีตัวแปรตามธรรมชาติของการวิเคราะห์กรณีที่เลวร้ายที่สุดที่ยังมีประโยชน์ บางทีสิ่งที่โด่งดังที่สุดก็คือความซับซ้อนที่ซับซ้อน ที่นี่เราพิจารณาการวัด "สองมิติ": ความยาวอินพุตปกติและจำนวนเต็มเพิ่มเติมที่ไม่ใช่ลบkพารามิเตอร์ แม้ว่าอัลกอริทึมอาจทำงานอย่างน่ากลัวในกรณีที่เลวร้ายที่สุด (สำหรับค่าทั้งหมดของnและk ) แต่ก็อาจเป็นได้ว่าทุกกรณีในแอปพลิเคชันที่ต้องแก้ไขพารามิเตอร์นี้kเกิดขึ้นต่ำดังนั้นอัลกอริทึมจึงทำงานได้ดี ในกรณีเหล่านั้นnknkk

ตัวอย่างเช่นสมมติว่าคุณต้องการแก้ปัญหาชุดอิสระสูงสุดบนกราฟบางคลาสและพัฒนาอัลกอริทึมที่น่าสนใจที่รวดเร็วอย่างน่าประหลาดใจ การสืบสวนต่อไปในชั้นเรียนของกราฟตัวเองคุณจะพบว่ากราฟทั้งหมดที่คุณตรวจสอบเพียงแค่เกิดขึ้นจะมี treewidth ที่มากที่สุด10ดี Bodlaender (cf Neidermeier [1]) พบว่าเมื่อ treewidth คือ k แม็กซ์ชุดอิสระคงเวไนยพารามิเตอร์ : จะสามารถแก้ไขได้ในO ( 2 k ( | E | + | V | ) )เวลา สิ่งนี้จะให้คำอธิบายเกี่ยวกับสาเหตุที่อัลกอริทึมของคุณทำงานได้ดี10O(2k(|E|+|V|))

[1] R. Niedermeier, เชิญชวนให้อัลกอริทึมคงที่พารามิเตอร์ Oxford Lecture Series ในวิชาคณิตศาสตร์และการประยุกต์สำนักพิมพ์ Oxford University, Oxford, 2006


15

มีความซับซ้อนตัดจำหน่าย - เหตุใดการดำเนินการบางอย่างอาจมีค่าใช้จ่ายสูงที่สุดในกรณีที่เลวร้ายที่สุด แต่ถ้าคุณพิจารณาการดำเนินการหลายอย่างค่าใช้จ่ายเฉลี่ยต่อการดำเนินงานดี

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.