Twierdzenie o rekurencji uniwersalnej

Z Wikipedii, wolnej encyklopedii

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

  • 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 .