next up previous contents index
suivant: Le programme monter: Un exemple de fonction précédent: Un exemple de fonction   Table des matières   Index

La définition

Voici la définition de la fonction a dite fonction de ackermann qui est une fonction de $ \mathbb {N}$×$ \mathbb {N}$ dans $ \mathbb {N}$ :
a(0,y)=y+1,
a(x,0)=a(x-1,1) si x>0,
a(x,y)=a(x-1,a(x,y-1) si x>0 et si y>0.
Ainsi on a :
a(0,0)=1
a(1,0)=a(0,1)=2
a(1,1)=a(0,a(1,0))=a(0,2)=3
a(1,2)=a(0,a(1,1))=4
a(1,n)=a(0,a(1,n-1))=1+a(1,n-1)=...=n+2
a(2,0)=a(1,1)=3
a(2,1)=a(1,a(2,0))=a(1,3)=5
a(2,2)=a(1,a(2,1))=2+a(2,1)=7
a(2,n)=a(1,a(2,n-1))=2+a(2,n-1)=2n+3
a(3,0)=a(2,1)=5
a(3,1)=a(2,a(3,0))=2*a(3,0)+3=13
a(3,2)=a(2,a(3,1))=2*a(3,1)+3=29
a(3,n)=a(2,a(3,n-1))=2*a(3,n-1)+3
 *1.5cm=2^(n+1)+3*(2^n+2^(n-1)...+1)
 *1.5cm=2^(n+1)+3*(2^(n+1)-1)= 2^(n+3)-3
On a donc par exemple : a(3,5)=2^8-3=253
Les calculs sont vite gigantesques on a par exemple :
a(4,1)=a(3,a(4,0)=a(3,a(3,1))=a(3,13)=65533
a(4,2)=a(3,a(4,1))=a(3,65533)=2^65536-3
a(4,3)=a(3,a(4,2))=a(3,2^65533-3)=2^(2^65536-3)-3
On a donc :
a(4,y)=a(3,a(4,y-1))=2^(a(4,y-1)+3)-3
 *1.5cm=2^(2^(a(4,y-2)+3)-3+3)-3=2^(2^(a(4,y-2)+3))-3
et donc
a(4,y)=2^(2^..(2^(a(4,0)+3))..)-3= 2^(2^..(2^16)..)-3,
avec 2^ qui se répète y fois, et comme 16=2^(2^2) on a,
a(4,y)=2^(2^..(2^2)..)-3,
avec 2 qui se répète y + 3 fois.

Documentation de giac écrite par Renée De Graeve