Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

วิธีพื้นฐาน (Potential Method) ในการวิเคราะห์แอมอร์ไทซ์


นิยาม

ตามทฤษฎีความซับซ้อนทางการคำนวณ Potential Method เป็นวิธีที่ใช้วิเคราะห์ เวลาและพื้นที่แบบแอมอร์ไทซ์ (Amortized Time and Space Complexity) ของโครงสร้างข้อมูล – วัดประสิทธิภาพตลอดลำดับการดำเนินการที่กำจัดต้นทุนของการดำเนินการที่เกิดขึ้นนานแต่นานแต่มีค่าใช้จ่ายสูง

แนวคิดหลัก

ใน Potential Method จะเลือกฟังก์ชัน Φ (Phi) ที่แปลงสถานะของโครงสร้างข้อมูลเป็นจำนวนไม่ติดลบ

  • หาก S เป็นสถานะของโครงสร้างข้อมูล Φ(S) แทนงานที่นับแล้วในการวิเคราะห์แอมอร์ไทซ์แต่ยังไม่ได้ทำจริง
  • อาจจินตนาการได้ว่าเป็น พลังงานศักย์ (Potential Energy) ที่เก็บอยู่ในสถานะนั้น
  • ก่อนเริ่มต้นโครงสร้างข้อมูล ค่า Potential ถูกกำหนดเป็นศูนย์
  • หรือมองว่า Φ(S) แทน ความไม่เป็นระเบียบ (Disorder) ในสถานะ S หรือระยะห่างจากสถานะที่เหมาะสม

ตัวอย่าง

ให้ฟังก์ชันพื้นฐาน Φ บนสถานะของโครงสร้างข้อมูล ตอบสนองเงื่อนไข:

  • Φ(a₀) = 0 โดยที่ a₀ คือสถานะเริ่มต้น
  • Φ(aₜ) ≥ 0 สำหรับทุกสถานะ aₜ ที่เกิดขึ้นตลอดการคำนวณ

โดย 직관 (Intuition) ฟังก์ชันพื้นฐานจะติดตาม เวลาที่จ่ายล่วงหน้า (Precharged Time) ในจุดใดจุดหนึ่งของการคำนวณ วัดปริมาณเวลาที่เก็บไว้เพื่อจ่ายค่าใช้จ่ายการดำเนินการที่แพง – เหมือน ยอดเงินในธนาคาร (Banker's Method) แต่น่าสนใจที่มันขึ้นอยู่กับ สถานะปัจจุบันของโครงสร้างข้อมูลอย่างเดียว ไม่ขึ้นกับประวัติการคำนวณ

นิยามเวลาแอมอร์ไทซ์

เวลาแอมอร์ไทซ์ของการดำเนินการนิยามว่า:

c + Φ(a') – Φ(a)

โดยที่ c คือต้นทุนจริงของการดำเนินการ และ a, a' คือสถานะของโครงสร้างข้อมูลก่อนและหลังการดำเนินการตามลำดับ ดังนั้น เวลาแอมอร์ไทซ์ = เวลาจริง + การเปลี่ยนแปลงของ Potential

ในลักษณะที่เหมาะสม Φ ควรนิยามให้ เวลาแอมอร์ไทซ์ของแต่ละการดำเนินการเล็ก การเปลี่ยนแปลง Potential ควรเป็นบวกสำหรับการดำเนินการต้นทุนต่ำ และลบสำหรับการดำเนินการต้นทุนสูง