5

Looking at the Wikipedia page, there's the table of values for small function inputs. I understand how the values are calculated by looking at the table, and how it's easy to see that 5,13,29,61,125 is $2^{n+3}-3$, but how does one go about calculating this "iterative" formula without pattern identification?

I started by looking at 61 (Ackermann 3,3) as being $2*(2*(2*(2*1+3)+3)+3)+3$ , which all I'm doing is expanding the recursive formula, but I have no idea that's simplified to create $2^{n+3}-3$ rather than just looking at patterns. This is not homework, just curiosity.

rb612
  • 3,710
  • The proof is pretty long... I once did it as an excercise, although I doubt I could find the paper I used. It is pretty easy to show the relationship between the hyperoperators and the Ackermann function through a little work. The basic idea is to use some basic logic and observe what happens as you continue to iterate something, as you get into clear repetitive loops that can't be easily solved by hand. Also, it is vital to use the result for $m-1$ to simplify $m$ in any reasonable space – Brevan Ellefsen Dec 24 '15 at 08:39
  • @BrevanEllefsen Nah, the proof isn't that long mind you. The only thing you really need is the last part of your answer below for the general hyperoperator. – Simply Beautiful Art Jul 25 '17 at 22:51
  • @SimplyBeautifulArt haha, when I came up with this proof two summers ago it felt horribly long to me... I've come a long way since then XD – Brevan Ellefsen Jul 25 '17 at 22:54
  • @BrevanEllefsen Lol =P – Simply Beautiful Art Jul 25 '17 at 22:54
  • @SimplyBeautifulArt The real question is: what brings you back to a question from 2015? This proof is a walk through the park compared to the large numbers you work with regularly! – Brevan Ellefsen Jul 25 '17 at 22:57
  • @BrevanEllefsen Oh nothing much, just browsing. If it interests you any, I recently made a function that grows at approximately the rate of $f_{\omega^\omega}(n)$ in the fast growing hierarchy when diagonalized, within 144 characters. Particularly in my function, $$AA(n)=A(n,n),\quad AA^n(n)\ll f(n,[0,-1],0)$$ You can try it out by typing p f(2,[0,-1],0) on any blank line that isn't commented out in green. – Simply Beautiful Art Jul 25 '17 at 23:03
  • @BrevanEllefsen Hopefully you'll be able to see the first few values. Indeed, it would be a good exercise to prove that $f(n,[a_1,a_2,\dots,a_k,-1],-1)$ grows about as fast as $f_{\omega^{k-1}a_k+\dots+\omega a_2+a_1+c}(n)$ in the fast growing hierarchy, for some fixed $c$, usually in $[0,5]$ I think, depending on the $a_p$. – Simply Beautiful Art Jul 25 '17 at 23:10

2 Answers2

4

$$A(0,n) = n+1 \;\text{(by definition)}$$


$$A(1,n) \rightarrow A(0,A(1,n-1)) \rightarrow A(1,n-1)+1 \rightarrow A(1,n-2)+2\Rightarrow A(1,0)+n$$ $$\rightarrow A(0,1)+n \rightarrow 2+n = \color{red}{2+(n+3)-3}$$


$$A(2,n) \rightarrow A(1,A(2,n-1)) \rightarrow A(2,n-1)+2 \rightarrow A(2,n-2)+4 \Rightarrow A(2,0)+2n$$ $$\rightarrow A(1,1)+2n \rightarrow 2n+3 = \color{red}{2(n+3)-3}$$


$$A(3,n) \rightarrow A(2,A(3,n-1)) \rightarrow 2(A(3,n-1)+3)-3 \rightarrow 4(A(3,n-2)+3)-3 $$ $$\Rightarrow 2^n(A(3,0)+3)-3 \rightarrow 2^n(A(2,1)+3)-3 = 2^n(2^3)-3 = \color{red}{2^{n+3}-3} $$


$$A(4,n) \rightarrow A(3,A(4,n-1)) \rightarrow 2^{A(4,n-1)+3}-3 \rightarrow 2^{2^{A(4,n-2)+3}}-3 \rightarrow 2^{2^{2^{A(4,n-3)+3}}}-3 $$ $$\Rightarrow\,(^{n}2)^{A(4,0)+3}-3 \rightarrow (^{n}2)^{A(3,1)+3}-3 \rightarrow (^{n}2)^{2^3}-3 \,=\, \color{red}{{^{n+3}}2-3}$$


$$\text{Assume}\;A(m,n) = 2[m](n+3)-3,\; \text{and note} \;2[m]2=4 \;\forall m>0$$ $$A(m+1,0) \rightarrow A(m,1) \rightarrow 2[m]4-3 = 2[m](2[m]2)-3 = \color{red}{2[m+1]3-3}$$ $$A(m+1,n+1) \rightarrow A(m,A(m+1,n)) \rightarrow 2[m](2[m+1](n+3)-3+3)-3\\ = 2[m](2[m+1](n+3))-3 = \color{red}{2[m+1](n+4)-3}$$ $$\mathbf{QED}$$


Note: single right arrow represents a single iteration of Ackermann function, and a double arrow represents many (usually $n$ iterations)

  • Thanks! I think this is on the right track to my answer. Is there a way you could show how the hyperoperations are found somehow by converting the recursive definition of the function to an iterative one? In other words, how do you get from $2n+3$ to $2^{n+3}-3$? – rb612 Dec 24 '15 at 08:51
  • @rb612 Would you mind specifying what you mean here by iterative? Do you mean an iterative proof of what I have above to account for all $m$ or a proof using an iterative definition of the Ackermann function? – Brevan Ellefsen Dec 24 '15 at 09:03
  • sorry, that might not be the right term, but in my question I was trying to somehow convert ackermann 3,3 written out to a non-recursive function. – rb612 Dec 24 '15 at 09:14
  • @rb612 Do you want it for just that one case? I show exponentiation above, but that alone took me a while... are you asking for just how to solve A(3,3) without doing it the long way (using the formula I prove above), or are you asking for a general $A(m,n)$ using an iterative proof? – Brevan Ellefsen Dec 24 '15 at 09:35
  • @rb612 I updated my answer to give all solutions through tetration without using any expanded recursion (which I am defining as having more than two nested instances of the Ackermann function per step, with the second usage being somewhat implicit). There are ways to show this for general $m$ without even doing all this (by analyzing functional properties of hyperoperators and the Ackermann function and "twisting them" to match), but I enjoy the process of solving them $1$ by $1$, so I figured I would share it (I really love how all the threes cancel with tetration!) – Brevan Ellefsen Dec 24 '15 at 10:27
  • @rb612 I am going to go to sleep now (I should probably get *at least* 5 hours!), but if you need anything else I can try to help tomorrow. Also, before I forget, here is a link to a paper that uses the method I mention above to prove the connection between the Ackermann function and hyperoperators for all $m$ using "functional properties" (is that correct math wording? it should be!) – Brevan Ellefsen Dec 24 '15 at 10:30
  • @rb612 I have updated my answer to include an inductive proof for all $m$ (this is not my own... I was having difficulty with writing one, so I looked it up and modified the variables to fit the definition you use. Here is the link I used for reference and to give credit where it is due!) – Brevan Ellefsen Dec 24 '15 at 21:31
2

From the definition of the Ackerman function, we have

\begin{align*} A(3, n) &= A(2, A(3, n - 1)) \end{align*}

Now $A(2, b)$ can be computated (at least from the table of values) to be $2b + 3$, so we find

$$A(3, n) = 2A(3, n - 1) + 3$$

This gives a recursive sequence; calling $A(3, n) = x_n$, we have the relationship

$$x_n = 2x_{n - 1} + 3$$ This can be solved directly (using, of course, an initial condition) or by substituting the guess from the pattern; either way, it's what you wrote.


Now all I did was transfer the problem to a different row of the table. Let's study $A(2, n)$ in the same way: We have

$$A(2, n) = A(1, A(2, n - 1))$$

From the table, we have that $A(1, b) = b + 2$, giving the recursion

$$y_n = y_{n - 1} + 2$$ This gives exactly the solution $y_n = 2n + 3$, when we figure out the initial condition.


But again, this has the same problem: I just used a different previously known row. Let's do this once more:

$$A(1, n) = A(0, A(1, n - 1))$$

But now we're in luck. By definition $A(0, b) = b = 1$, so

$$A(1, n) = A(1, n - 1) + 1$$

This is an easy recurrence to solve. The condition $A(1, 0) = 1$ gives us the base, and we find

$$\boxed{A(1, n) = n + 1}$$


So now let's put it all together, just backwards. We get $A(1, n)$ almost directly from the definition of the Ackermann function. Then we get $A(2, n)$ from a recurrence relation that reduced $A(2, n)$ to studying $A(1, A(2, n - 1))$. Then we can get $A(3, n)$ from a similar process.

  • Ah, thank you for your answer! So this makes a lot of sense to me. The issue I'm having is then how the exponentiation and eventually tetration is figured out. I get how it's defined recursively but working to define it iteratively I'm having trouble with. – rb612 Dec 24 '15 at 08:50
  • @rb612 Perhaps there's more insight at the next generation, then. We have $A(3, b) \approx 2^{n} b$ (only considering the most important terms). So $$A(4, n) = A(3, A(4, n - 1)) \approx 2^{A(4, n - 1)} \approx 2^{2^{A(4, n - 2)}} \approx \cdots$$ Of course, $\approx$ is used liberally here (and you should work out the details). But the point is that every step of the recursion sticks $A$ one step higher in a tower of $2$'s, which is exactly what's expected. –  Dec 24 '15 at 08:56