การแก้สมการซ้ำที่มีการเรียกซ้ำสองครั้ง


15

ฉันพยายามหาถูกผูกไว้สำหรับสมการการเกิดซ้ำดังต่อไปนี้:Θ

T(n)=2T(n/2)+T(n/3)+2n2+5n+42

ฉันเข้าใจว่าทฤษฎีบทของ Master ไม่เหมาะสมเนื่องจากจำนวนย่อยและส่วนย่อยที่แตกต่างกัน นอกจากนี้ยังมีต้นไม้ recursion ไม่ทำงานเนื่องจากไม่มีT(1)หรือมากกว่าT(0)(0)


5
หากคุณมีการกำเริบของรูปแบบที่จะต้องมีกรณีฐานพูดT(n)42สำหรับทุกn<100<100 ถ้าไม่เช่นนั้นไม่มีการบอกว่าการเกิดซ้ำจะแก้ปัญหาได้อย่างไร: อาจจะT(n)=2ม.สำหรับทุกn<100โดยที่ม.คือขนาดของปัญหาดั้งเดิม! (ลองนึกภาพการสอบถามซ้ำที่สิ้นสุดลงในการเปรียบเทียบจำนวนคงที่ของสิ่งที่คุณเรียกซ้ำกับองค์ประกอบย่อยทั้งหมดขององค์ประกอบดั้งเดิม) กล่าวอีกอย่าง: ไม่มีกรณีฐานหมายถึงข้อมูลไม่เพียงพอที่จะแก้ปัญหาการเกิดซ้ำ
Alex สิบ Brink

คำตอบ:


15

ใช่ต้นไม้เรียกคืนยังคงทำงานได้! มันไม่สำคัญที่ทุกคนไม่ว่าจะเป็นกรณีฐานที่เกิดขึ้นในT(0)หรือT(1)หรือT(2)หรือแม้กระทั่งT(10100){100}) มันไม่สำคัญว่ามูลค่าจริงของเคสพื้นฐานคืออะไร ค่าอะไรก็ตามมันคือค่าคงที่

เห็นผ่านใหญ่ทีแว่นตากำเริบคือT(n)=2T(n/2)+T(n/3)+n2 2

  • รากของต้นไม้เรียกซ้ำมีค่าn2 2

  • รากมีลูกสามคนที่มีค่า(n/2)2 , (n/2)2และ(n/3)2 2 ดังนั้นมูลค่ารวมของเด็กทุกคนคือ(11/18)n2 2

  • ตรวจสอบสติ: รากมีหลานเก้า: สี่ที่มีค่าสี่ที่มีค่าและเป็นหนึ่งที่มีค่า 2 ผลรวมของค่าเหล่านั้นคือ 2 ( n / 6 ) 2 ( n / 9 ) 2 ( 11 / 18 ) 2 n 2(n/4)2(n/6)2(n/9)2(11/18)2n2

  • หลักฐานการเหนี่ยวนำง่ายหมายความว่าสำหรับการใด ๆ จำนวนเต็มที่โหนดในระดับมีมูลค่ารวม 23 ( 11 / 18 ) n 203(11/18)n2

  • จำนวนเงินที่ระดับรูปแบบลดหลั่นชุดเรขาคณิตเท่านั้นดังนั้นในระยะที่ใหญ่ที่สุดเรื่อง=0

  • เราสรุปได้ว่า2)T(n)=Θ(n2)


14

คุณสามารถใช้ทั่วไปมากขึ้นAkra-Bazziวิธี

ในกรณีของคุณเราจะต้องหานั้นp

12p1+13p=1

(ซึ่งให้ )p1.364

แล้วเราก็มี

T(x)=Θ(xp+xp1xt1pdt)=Θ(x2)

โปรดทราบว่าคุณไม่ได้จริงๆต้องแก้สำหรับพีทั้งหมดที่คุณต้องทราบว่าเป็นที่21 < p < 2p1<p<2

วิธีที่ง่ายกว่าคือการตั้งค่าและลองพิสูจน์ว่าถูก จำกัด ขอบเขตg ( x )T(x)=x2g(x)g(x)


14

ให้เป็นชวเลขสำหรับทางด้านขวามือของการเกิดซ้ำ เราพบขอบเขตล่างและบนสำหรับโดยใช้ :f T ( n / 3 ) T ( n / 2 )f(n)=2T(n/2)+T(n/3)+2n2+5n+42fT(n/3)T(n/2)

3T(n/3)+2n2+5n+42f(n)3T(n/2)+2n2+5n+42

ถ้าเราใช้การตอบสนองที่ต่ำกว่า ขอบเขตบนเป็นด้านขวาของการเกิดซ้ำเราได้ในทั้งสองกรณีโดยทฤษฎีบทหลัก ดังนั้นเป็นที่สิ้นสุดจากข้างต้นโดยและจากด้านล่างโดยหรือเท่ากัน2)T ( n ) O ( n 2 ) Ω ( n 2 ) T ( n ) Θ ( n 2 )T(n)Θ(n2)T(n)O(n2)Ω(n2)T(n)Θ(n2)


  1. สำหรับการพิสูจน์ที่สมบูรณ์คุณควรพิสูจน์ว่าเป็นฟังก์ชันที่เพิ่มขึ้นT


1
เคล็ดลับนั้นจะไม่ทำงานสำหรับการเกิดซ้ำที่คล้ายกันเช่นที่สามารถแก้ไขได้ด้วยต้นไม้เรียกซ้ำ (แต่ถึงแม้ว่าการเรียกคืนต้นไม้จะไม่ทำงานสำหรับT ( n ) = 2 T ( n / 2 ) + 4 T ( n / 3 ) + n 2ซึ่งสามารถแก้ไขได้ด้วย Akra-Bazzi)T(n)=2T(n/2)+3T(n/3)+n2T(n)=2T(n/2)+4T(n/3)+n2
JeffE
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.