Szybko rosnąca hierarchia

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

Szybko rosnąca hierarchia również znana jako rozszerzona hierarchia Grzegorczyka, stworzona przez matematyka Andrzeja Grzegorczyka. Używana w teorii obliczalności, teorii złożoności obliczeniowej oraz teorii dowodu[1]. Jest to rodzina zbiorów szybko rosnących funkcji fα:𝐍𝐍 (gdzie 𝐍 jest zbiorem liczb naturalnych {0,1,2,}, natomiast α jest jakąś liczbą porządkową). Przykładami członków tej rodziny są hierarchia Wainera lub hierarchia Löba-Wainera, które są rozszerzeniem wszystkich α < ε0. Hierarchie te segregują funkcje obliczalne, bazując na ich tempie wzrostu oraz złożoności obliczeniowej[2].

Definicja i podstawowa hierarchia Grzegorczyka

Niech μ będzie dużą liczbą porządkową, taka że dla każdej granicznej liczby porządkowej α<μ przypisana jest fundamentalna sekwencja (szybko rosnąca sekwencja liczb porządkowych, których supremum jest α). Szybko rosnąca hierarchia funkcji fα:𝐍𝐍 dla α<μ zdefiniowana jest następująco:

  • f0(n)=n+1,
  • fα+1(n)=fαn(n),
  • fα(n)=fα[n](n), jeśli α jest graniczną liczbą porządkową.

Tutaj fαn(n)=fα(fα((fα(n)))), określa n-tą iterację fα nad argumentem n, natomiast α[n] oznacza n-ty element zbioru fundamentalnego przypisanego dla liczby porządkowej α.

Początkowa część tej hierarchii, tzn. wszystkie funkcje fα, gdzie α jest liczbą naturalną (α<ω) nazywana jest często podstawową hierarchią Grzegorczyka, gdyż ma z nią wiele wspólnych właściwości:

Hierarchia Grzegorczyka[3][4]

Zdefiniowane są funkcje Ei, gdzie i jest liczbą naturalną. Zdefiniowane jest E0(x,y)=x+y i E1(x)=x2+2 itd.[5] E0 jest funkcją dodawania, E1 jest funkcją dwuargumentową, która podnosi parametr do kwadratu, po czym zwiększa wynik o 2. Dla n większych od 1 definiujemy: En(x)=En1x(2), czyli x-owa iteracja funkcji En1 z podanym argumentem 2. Dalej zdefiniowany jest n, który można zapisać jako funkcję fn[6].

Przykłady

Zapis w szybko rosnącej hierarchii Wartość
f0(1) 1+1=2
f0(3) 3+1=4
f1(3) f03(3)=f0(f0(f0(3)))=f0(f0(4))=f0(5)=6
f2(3) f13(3)=2×(2×(2×3))=24
f3(3) f23(3)=f2(f2(23×3))=f2(224×24)=2(224×24)×224×24, wynik ma ponad 121 milionów cyfr.

Z przykładu numer trzy można wysnuć zasadę: f1(n)=2n, natomiast z przykładu numer cztery f2(n)=2nn.

Dla funkcji typu fk(n) można powiedzieć, że wyniki są porównywalne (zazwyczaj większe) do 2n1n co wynika z rekurencji kolejnych funkcji.

Liczby porządkowe do ε0

Pierwszą liczbą porządkową w szybko rosnącej hierarchii jest ω mająca do siebie przypisany zbiór {1,2,3,4,5,}, tzn. ω[n]=n[n] (n-ty element zbioru). Przykład: fω(3)=f3(3). Funkcja fω(n) przewyższa każdą funkcję fi(n) dla i<n[7][8].

Koleją liczbą porządkową jest ω+1, czyli zbiór: {0,1,2,3,4,}{ω}, funkcję z tą liczbą porządkową definiujemy następująco: fω+1(n)=fωn(n), na przykład fω+1(2)=fω(fω(2))=fω(f2(2))=fω(8)=f8(8)>278>g(1).

Dalej jest kolejno: fω+2(n)=fω+1n(n), np.: fω+2(2)=fω+1(fω+1(2))=fω+1(f8(8))=fω8(8)g(f8(8))>G, oznacza to, że liczba Grahama wynosi około fω+1(64), które jest znacznie mniejsze od fω+2(2). Obliczanie kolejnych liczb naturalnych dodanych do ω przebiega podobnie.

Kolejnym zbiorem jest: {ω+1,ω+2,ω+3,,ω+ω}=ω2. Obliczanie z użyciem tego zbioru wygląda następująco: fω2(n)=fω+n(n), np. fω2(2)=fω+2(2)=fω8(8)g(f8(8))>G. Kolejnym zbiorem możliwym do utworzenia jest ω3: fω3(2)=fω2+ω(2)=fω2+2(2)=fω2+12(2) itd. Podobnie postępuje się z ω4, ω5 itd.

Następnym zbiorem jest: {ω1,ω2,ω3,,ωω}=ω2, przykład: fω2(2)=fωω(2)=fω2(2). Kolejno zamiast 2 można podstawić większe liczby porządkowe: fω3(2)=fω2×ω(2)=fω2×2(2)=fω2+ω2(2)=fω2+ω+2(2)=fω2+ω+12(2).

Kolejnym zbiorem jest: {ω,ω2,ω3,ω4,,ωω} będące ωω. Możliwe jest tworzenie kolejnych zbiorów takich jak ωω2, ωω2, ωωω. Zbiór ωωωω jest odpowiednikiem ε0, które jest jednocześnie ostatnią liczbą porządkową Hierarchii Grzegorczyka[5][6].

Szacowanie tempa wzrostu funkcji

Każdą obliczalną funkcję można przybliżyć szybką rosnącą hierarchią przy użyciu odpowiednich funkcji. Przykładem może być funkcja Grahama, którą można zapisać jako g(n)fω+1(n), funkcja Ackermanna, która rośnie nieco wolniej Ack(n)fω(n), czy funkcja Goodsteina, której tempo wzrostu wynosi ε0.

Używając szybko rosnącej hierarchii, można ustalić także górną granicę danej notacji, czyli odpowiadające im miejsce w szybko rosnącej hierarchii, które wyznaczają granicę rekurencyjną danej notacji:

Przypisy

Szablon:Przypisy