Twierdzenie o rekurencji uniwersalnej

Twierdzenie o rekurencji uniwersalnej jest twierdzeniem matematycznym pozwalającym w łatwy sposób znajdować ograniczenie asymptotyczne pewnej klasy funkcji zdefiniowanych rekurencyjnie.

Twierdzenie o rekurencji uniwersalnej

edytuj

Niech   będą stałymi niezależnymi od   i niech   będzie funkcją asymptotycznie nieujemną, czyli przyjmującą wartości nieujemne dla wystarczająco dużych  . Jeżeli funkcja   dla   jest zdefiniowana następująco:

 

to:

  1. jeżeli istnieje stała   dla której  , to  
  2. jeżeli istnieje stała   dla której   to
     
  3. jeżeli istnieje stała   dla której   i jeżeli dodatkowo spełniony jest warunek regularności,   dla pewnej stałej   dla dostatecznie dużych   to  

Tak zdefiniowane funkcje   stanowią pewien schemat działania algorytmów typu „dziel i zwyciężaj” – problem o rozmiarze   dzielony jest na   podproblemów, każdy wielkości   funkcja   przedstawia koszt dzielenia problemu, oraz połączenia rozwiązań podproblemów.

Intuicyjna interpretacja

edytuj

Przypadki 1 i 3 rekurencji uniwersalnej polegają na rozstrzyganiu, która z funkcji   czy   rośnie wielomianowo szybciej, i funkcja ta stanowi wówczas dokładne oszacowanie rekurencji  . W przypadku 2 funkcje te rosną w takim samym tempie wielomianowym, jednak z możliwym czynnikiem polilogarytmicznym.   ma wówczas rozwiązanie zbliżone do tego wspólnego tempa wzrostu.

„Dziury” rekurencji uniwersalnej

edytuj

Twierdzenie o rekurencji uniwersalnej nie wyczerpuje wszystkich przypadków dla rekurencji w powyższej postaci. Nie znajduje ono zastosowania gdy funkcji   i   nie da się porównać asymptotycznie, np. gdy dla dowolnie dużych  ,   i dla innych dowolnie dużych  ,  . W przypadkach 1 i 3 tempa wzrostu funkcji   i   muszą różnić się o czynnik wielomianowy. Dodatkowo w przypadku 3 oprócz dominacji asymptotycznej wymagana jest pewna „regularność” funkcji  . Intuicyjnie, warunek regularności może nie być spełniony, jeśli funkcja ta rośnie zbyt wolno lokalnie, mimo wystarczającego globalnego tempa wzrostu.

Przykłady rekurencji nierozwiązywalnych metodą rekurencji uniwersalnej

edytuj
  •  
  •  
  •  
      nie jest stałą niezależną od  .
  •  
    Funkcja   nie jest asymptotycznie nieujemna.
  •  
    Zarówno   jak i   - nie da się więc asymptotycznie porównać   i  .
  •  
    Nie jest zachowany wielomianowy wzrost między   i  .
  •  
    Nie zachodzi warunek regularności:
     
    Czynnik   jest mniejszy od 1 dla każdego  , ale wraz ze wzrostem   zbliża się dowolnie do 1, dlatego nie istnieje stała   taka że  .