Az Ackermann-függvény kiszámításához hány iteráció kell ha definíció szerint számolunk?
Pl.:
ack(2,2) =
ack(1,ack(2,1)) =
ack(1,ack(1,ack(2,0))) =
ack(1,ack(1,ack(1,1))) =
ack(1,ack(1,ack(0,ack(1,0)))) =
ack(1,ack(1,ack(0,ack(0,1)))) =
ack(1,ack(1,ack(0,2))) =
ack(1,ack(1,3)) =
ack(1,ack(0,ack(1,2))) =
ack(1,ack(0,ack(0,ack(1,1)))) =
ack(1,ack(0,ack(0,ack(0,ack(1,0))))) =
ack(1,ack(0,ack(0,ack(0,ack(0,1))))) =
ack(1,ack(0,ack(0,ack(0,2)))) =
ack(1,ack(0,ack(0,3))) =
ack(1,ack(0,4)) =
ack(1,5) =
ack(0,ack(1,4)) =
ack(0,ack(0,ack(1,3))) =
ack(0,ack(0,ack(0,ack(1,2)))) =
ack(0,ack(0,ack(0,ack(0,ack(1,1))))) =
ack(0,ack(0,ack(0,ack(0,ack(0,ack(1,0)))))) =
ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,1)))))) =
ack(0,ack(0,ack(0,ack(0,ack(0,2))))) =
ack(0,ack(0,ack(0,ack(0,3)))) =
ack(0,ack(0,ack(0,4))) =
ack(0,ack(0,5)) =
ack(0,6) =
7
Dehát ack(2,2)-hez 27 iterációs lépés kellett.
ack(3,2)-hez:
ack(3,2) =
ack(2,ack(3,1)) =
ack(2,ack(2,ack(3,0))) =
ack(2,ack(2,ack(2,1))) =
ack(2,ack(2,ack(1,ack(2,0)))) =
ack(2,ack(2,ack(1,ack(1,1)))) =
ack(2,ack(2,ack(1,ack(0,ack(1,0))))) =
ack(2,ack(2,ack(1,ack(0,ack(0,1))))) =
ack(2,ack(2,ack(1,ack(0,2)))) =
ack(2,ack(2,ack(1,3))) =
ack(2,ack(2,ack(0,ack(1,2)))) =
ack(2,ack(2,ack(0,ack(0,ack(1,1))))) =
ack(2,ack(2,ack(0,ack(0,ack(0,ack(1,0)))))) =
ack(2,ack(2,ack(0,ack(0,ack(0,ack(0,1)))))) =
ack(2,ack(2,ack(0,ack(0,ack(0,2))))) =
ack(2,ack(2,ack(0,ack(0,3)))) =
ack(2,ack(2,ack(0,4))) =
ack(2,ack(2,5)) =
ack(2,ack(1,ack(2,4))) =
ack(2,ack(1,ack(1,ack(2,3)))) =
ack(2,ack(1,ack(1,ack(1,ack(2,2))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(2,1)))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(1,ack(2,0))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(1,ack(1,1))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(1,ack(0,ack(1,0)))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(1,ack(0,ack(0,1)))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(1,ack(0,2))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(1,3)))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(0,ack(1,2))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(0,ack(0,ack(1,1)))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,ack(1,0))))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,1))))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,2)))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(0,ack(0,3))))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,ack(0,4)))))) =
ack(2,ack(1,ack(1,ack(1,ack(1,5))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(1,4)))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(0,ack(1,3))))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,ack(1,2)))))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(1,1))))))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,ack(1,0)))))))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,1)))))))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,2))))))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,3)))))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(0,ack(0,4))))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,ack(0,5)))))) =
ack(2,ack(1,ack(1,ack(1,ack(0,6))))) =
ack(2,ack(1,ack(1,ack(1,7)))) =
ack(2,ack(1,ack(1,ack(0,ack(1,6))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(1,5)))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(1,4))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(1,3)))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,ack(1,2))))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,ack(1,1)))))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,ack(1,0))))))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,1))))))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,2)))))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,ack(0,3))))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,ack(0,4)))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,ack(0,5))))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,ack(0,6)))))) =
ack(2,ack(1,ack(1,ack(0,ack(0,7))))) =
ack(2,ack(1,ack(1,ack(0,8)))) =
...
Be se másolom végig, ehhez 541 iteráció kell, írtam rá egy srciptet ami kiírja és kiszámolja ezt egy pillanat alatt. Az ack(4,2)-höz mennyi lépés lenne szükséges? Már több mint egy órája futtatom "7 mérföld" hosszú egymásba ágyazott ack függvények lettek.
Vagyis ack(x,y) definíció szerinti kiszámításához mennyi lépés szükséges x és y függvényében?
Nem válaszolom meg a kérdéseidet, mert nem tudom a pontos választ, de hátha segít:
A(4,2) ~ 2×10^19728 (nem tudom érzékeled-e)
Tudjuk még, hogy a szükséges iterációk száma ennél több:
"Abból a szempontból érdekes még az Ackermann-függvény, hogy az egyetlen aritmetikai operátor, amit használ, az 1 hozzáadása és kivonása"
Tegyük fel, hogy a géped 300 millió iterációt számol ki mp-enként, tehát évente kb 10^16-ot.
Ebből következik, hogy legalább 2×10^19712 évig számolja.
Tudsz követni? Nem hiszem, hogy felfogod ezt a számot...
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!