Teorema principală a relațiilor de recurență

Teorema Master este utilizată în analiza algoritmilor pentru a  obține o estimare asimptotică pentru relațiile recursive ( ecuații recursive ), care apar adesea în analiza algoritmilor de tip „ divid și cuceri ” ( divide și cuceri ), de exemplu, la estimarea timpul lor de executare. Teorema a fost introdusă și demonstrată de John Bentley, Doroten Haken și James Haken în 1980. Teorema a fost popularizată în cartea Algorithms: Construction and Analysis ( Thomas Cormen , Charles Letherston , Ronald Rivest , Clifford Stein ) în care a fost dată.

Nu toate relațiile recursive pot fi rezolvate folosind teorema principală. Există mai multe generalizări ale acesteia, inclusiv metoda Akra-Bazzi .

Descriere

Luați în considerare o problemă care poate fi rezolvată printr-un algoritm recursiv :

funcția T(intrare n : dimensiunea sarcinii): dacă n < o constantă k : rezolvați problema pentru n în mod nerecursiv altfel : definiți un set de subsarcini , fiecare cu dimensiunea n/b apelați funcția T în mod recursiv pentru fiecare subsarcină combina solutii Sfârşit

În exemplul de mai sus, algoritmul împarte recursiv sarcina inițială de dimensiunea n în mai multe subsarcini noi, fiecare cu dimensiunea n/b . O astfel de partiție poate fi reprezentată ca un arbore de apeluri, în care fiecare nod corespunde unui apel recursiv, iar ramurile care ies din nod corespund apelurilor ulterioare pentru subsarcini. Fiecare nod va avea o ramuri. De asemenea, fiecare nod produce cantitatea de muncă corespunzătoare mărimii subsarcinii curente n (trecută la acest apel de funcție) conform relației . Cantitatea totală de lucru a algoritmului este definită ca suma tuturor lucrărilor din nodurile arborelui dat.

Complexitatea computațională a unor astfel de algoritmi poate fi reprezentată ca o relație recursivă . Poate fi rezolvată prin substituții multiple ale expresiei . [unu]

Cu ajutorul teoremei principale, este posibil să se calculeze rapid astfel de relații, ceea ce face posibilă obținerea unei estimări asimptotice a timpului de rulare a algoritmilor recursivi în notația O(n) ( notația Θ) fără substituții.

Forma generală

Teorema principală ia în considerare următoarele relații de recurență:

După cum se aplică analizei algoritmilor, constantele și funcțiile denotă:

Teorema principală ne permite să obținem o estimare asimptotică pentru următoarele trei cazuri:

Opțiunea 1

Forma generală

Dacă , și relația

apoi:

Exemplu

Conform formulei, valorile constantelor și complexitatea părții nerecursive a problemei sunt:

, Unde

Apoi, verificăm dacă relația de prima opțiune este îndeplinită:

.

Prin urmare,

(Pentru acest exemplu, soluția exactă de recurență oferă , cu condiția ).

Opțiunea 2

Forma generală

Dacă pentru o constantă k  ≥ 0 este valabilă următoarele:

Unde

apoi:

Exemplu

Conform formulei, valorile constantelor și complexitatea părții nerecursive a problemei sunt:

Unde

Verificarea raportului opțiunii 2:

, și, prin urmare

În conformitate cu cea de-a doua versiune a teoremei principale:

Astfel relația de recurență T ( n ) este Θ( n log n ).

(Acest rezultat poate fi verificat prin soluția exactă a relației în care , sub rezerva .)

Opțiunea 3

Forma generală

Dacă este executat:

Unde

si este de asemenea adevarat ca:

pentru unele constante și suficient de mari (așa-numita condiție de regularitate )

apoi:

Exemplu

Valori și funcții constante:

, Unde

Verificăm dacă relația de la opțiunea 3 este satisfăcută:

, și, prin urmare

Condiția de regularitate este valabilă și :

, la alegere

Prin urmare, conform celei de-a treia versiuni a teoremei principale:

Această relație recursivă T ( n ) este egală cu Θ( n 2 ), care este același cu f ( n ) în formula originală.

(Acest rezultat este confirmat de soluția exactă de recurență în care , sub rezerva .)

Expresii nerezolvate de teorema principală

Următoarele relații nu pot fi rezolvate folosind teorema principală: [2]

  • a nu este o constantă, teorema principală necesită un număr constant de subprobleme;
  • între f(n) și există o dependență nepolinomială;
  • a < 1, dar teorema principală necesită cel puțin o subsarcină;
  • f(n) este negativ;
  • aproape de varianta 3, dar conditia de regularitate nu este indeplinita .

În al doilea exemplu, diferența dintre și poate fi exprimată ca . Arată că pentru orice constantă . Prin urmare, diferența nu este un polinom și teorema principală nu se aplică.

Aplicarea unor algoritmi

Algoritm Relație recurentă Ore de lucru Notă
Căutare binară Teorema principală, a doua opțiune: , unde [3]
Traversarea arborelui binar Teorema principală, versiunea 1: unde [3]
Algoritmul Strassen Teorema principală, versiunea 1: , unde [4]
Căutare optimă în matrice sortată Teorema Akra-Bazzi pentru și pentru obținere
Sortare îmbinare Teorema principală, a 2-a opțiune: , unde

Vezi și

  • Metoda Akra-Bazzi

Note

  1. Universitatea Duke, „Big-Oh for Recursive Functions: Recurrence Relations”, http://www.cs.duke.edu/~ola/ap/recurrence.html Arhivat la 22 iunie 2012 la Wayback Machine
  2. Massachusetts Institute of Technology (MIT), „Master Theorem: Practice Problems and Solutions”, http://www.csail.mit.edu/~thies/6.046-web/master.pdf  (link mort)
  3. 1 2 Dartmouth College, http://www.math.dartmouth.edu/archive/m19w03/public_html/Section5-2.pdf Arhivat la 21 aprilie 2017 la Wayback Machine
  4. O teoremă principală pentru recurențe discrete de împărțire și cucerire . Preluat la 19 august 2016. Arhivat din original la 18 aprilie 2016.

Literatură

  • Kormen, T., Leizerson, C., Rivest, R., Stein, C. Algoritmi: construcție și analiză = Introduction to Algorithms. - al 2-lea. - M. : Williams, 2005. - 1296 p. — ISBN 5-8459-0857-4 . Capitolele 4.3 (teorema principală) și 4.4 (dovada)
    • Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford. Introducere în algoritmi. — al 2-lea. - MIT Press și McGraw-Hill, 2001. - ISBN 0-262-53196-8 . Secțiunile 4.3 (Metoda master) și 4.4 (Demonstrarea teoremei master), pp. 73-90. (Engleză)
  • Michael T. Goodrich și Roberto Tamassia . Proiectare algoritm: fundație, analiză și exemple de internet . Wiley, 2002. ISBN 0-471-38365-1 . Teorema principală (inclusiv versiunea Cazului 2 inclusă aici, care este mai puternică decât cea de la CLRS) este la pp. 268-270. (Engleză)
  • CAPITOLUL 5. RECURSIE ȘI RECUPERE 5.2 The Master Theorem Arhivat 21 aprilie 2017 la Wayback Machine , CS 21/Math 19 - Note de curs Arhivat 21 iulie 2010 la Wayback Machine , Ken Bogart și Cliff Stein: Discrete Math in Computer Science.