เหตุใดจึงมีสภาพปกติในทฤษฎีบทหลัก


15

ฉันได้อ่านIntroduction to Algorithmsโดย Cormen และคณะ และฉันอ่านงบทฤษฎีบทปริญญาโทที่เริ่มต้นในหน้า 73 ในกรณีที่ 3 นอกจากนี้ยังมีเงื่อนไขปกติที่ต้องมีความพึงพอใจในการใช้ทฤษฎีบท:

... 3. ถ้า

f(n)=Ω(nlogba+ε)

สำหรับค่าคงที่และ ifε>0

af(n/b)cf(n)      [ นี่คือเงื่อนไขปกติ ]

สำหรับค่าคงที่และสำหรับขนาดใหญ่พอทั้งหมดแล้ว ..c<1n

มีคนบอกฉันได้ไหมว่าทำไมต้องมีสภาพความเป็นปกติ? ทฤษฎีบทล้มเหลวอย่างไรหากสภาพไม่เป็นที่พอใจ?


คุณสามารถเขียนสิ่งที่เป็นกรณีและเงื่อนไขกฎระเบียบคืออะไร?

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

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

คำตอบ:


10

ไม่ใช่หลักฐานที่เข้มงวด แต่เป็นคำอธิบาย "จากส่วนบนของหัว"

ลองนึกภาพการเกิดซ้ำT ( n /) + F ( n )เป็นต้นไม้ กรณีที่สามครอบคลุมสถานการณ์เมื่อโหนดรูตควบคุมเวลาทำงานแบบไม่ต่อเนื่องนั่นคืองานส่วนใหญ่จะถูกดำเนินการในโหนดที่มีการวัดที่ด้านบนของแผนภูมิการเกิดซ้ำ จากนั้นเวลาทำงานเป็นΘ ( F ( n ) )aT(n/)+(n)Θ((n))

เพื่อให้แน่ใจว่ารูททำงานได้จริงคุณต้องใช้

)a(n/)(n)

สิ่งนี้บอกว่า (จำนวนงานที่ทำในรูท) ต้องมีอย่างน้อยใหญ่เท่ากับผลรวมของงานที่ทำในระดับต่ำกว่า (การเกิดซ้ำเรียกว่าหนึ่งครั้งต่อn / bของอินพุต)(n)an/

เช่นสำหรับการเกิดซ้ำการทำงานในระดับที่ต่ำกว่ารูตคือหนึ่งในสี่ที่ใหญ่และทำเพียงสองครั้งเท่านั้น( n / 4 + n / 4 )เมื่อเทียบกับnดังนั้นรากจึงครอบงำ .T(n)=2T(n/4)+n(n/4+n/4)n

แต่ถ้าฟังก์ชั่นไม่ตรงตามเงื่อนไขปกติ? เช่นแทนn ? จากนั้นงานที่ทำในระดับต่ำกว่าอาจใหญ่กว่างานที่ทำในรูทดังนั้นคุณจึงไม่แน่ใจว่ารูตครอบงำcos(n)n


3
ฉันใช้การจัดรูปแบบข้อความสำหรับคณิตศาสตร์ของคุณดีกว่า คุณสามารถคลิกลิงก์ "แก้ไข" และดูสิ่งที่ฉันทำ
Juho

7

ให้= 1และB = 2เพื่อให้ T ( 2 n ) = n Σ k = 0( 2 k ) สำหรับกรณีที่ 3 ที่จะนำไปใช้เราต้องการf ( n ) = Ω ( n ϵ ) (สำหรับบางϵ > 0 ) และเงื่อนไขปกติf ( n / 2 ) ( 1 - δ ) fa=1=2

T(2n)=Σk=0n(2k).
(n)=Ω(nε)ε>0 (สำหรับบางคน δ > 0 ) คุณได้รับสภาพความสม่ำเสมอจากการพิสูจน์นั่นคือแนวคิดที่สร้างขึ้นมาเพื่อพิสูจน์ ในขณะที่เงื่อนไขปกติไม่จำเป็น (พิจารณาตัวอย่างที่ให้ไว้ใน Wikipedia, f ( n ) = n ( 2 - cos n ) ) คุณไม่สามารถวางได้อย่างสมบูรณ์ตามตัวอย่างต่อไปนี้แสดงให้เห็นถึง พิจารณา f ( 2 n ) = 2 2 log 2 n > 2 2 log 2 n -(n/2)(1-δ)(n)δ>0(n)=n(2-cosn) ให้n=2ม.+1-1 จากนั้น T(2n)= m k = 0 2 k + 1 - 1 t = 2 k 2 2 k = m k = 0 2 2 k +k=Θ(2 2 m +
(2n)=22เข้าสู่ระบบ2n>22เข้าสู่ระบบ2n-1=2n/2.
n=2ม.+1-1 ดังนั้นจึงไม่เป็นความจริงว่า T ( 2 n ) = Θ ( ( 2 n ) )
T(2n)=Σk=0ม.Σเสื้อ=2k2k+1-122k=Σk=0ม.22k+k=Θ(22ม.+ม.),(2n)=22ม..
T(2n)=Θ((2n))

มีทฤษฎีบททั่วไปมากขึ้นคือ Akra-Bazzi ซึ่งเงื่อนไขความเป็นระเบียบจะถูกแทนที่ด้วยปริมาณที่ชัดเจนที่เกิดขึ้น


ขออภัยที่กลับคำตอบเดิมนี้อีกครั้ง คุณช่วยอธิบายได้ไหมว่าทำไมฟังก์ชั่น f ของคุณละเมิดเงื่อนไขความเป็นระเบียบ?
Maiaux

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