fbpx
Wikipedia

Función de Ackermann

En teoría de la computación, una función de Ackermann es una función matemática recursiva encontrada en 1926 por Wilhelm Ackermann. Tiene un crecimiento extremadamente rápido, lo que es de interés para la ciencia computacional teórica y la teoría de la computabilidad. Hoy en día hay una serie de funciones que son llamadas funciones de Ackermann. Todas ellas tienen una forma similar a la ley original la función de Ackermann y también tienen un comportamiento de crecimiento similar. Esta función toma dos números naturales como argumentos y devuelve un único número natural. Como norma general se define como sigue:

Propiedades

  • Sea  
  • Sea  
  • Sea  
  • Sea  

Además la función de Ackerman ( ) no es FRP (función recursiva primitiva). La demostración de este teorema se lleva a cabo por reducción al absurdo y utilizando el lema de que toda función recursiva primitiva está mayorada por una función de Ackermann.

Comenzamos suponiendo que  , por tanto  

Usando el lema de la mayoración, debe existir un k tal que  

Pero entonces, como esto vale para todo x, también valdrá para x=k.

 , usando la definición, llegamos a que:

 

Lo cual es absurdo.

Esta función crece extremadamente rápido: el valor A(4,2) ya tiene 19.729 dígitos. Este crecimiento desmesurado se puede utilizar para demostrar que la función computable f(n) = A(n, n) crece más rápido que cualquier función recursiva primitiva, y por ello no es recursiva primitiva.

Tabla de valores

Números de  
m\n 0 1 2 3 4 n
0 1 2 3 4 5 n + 1
1 2 3 4 5 6 n + 2
2 3 5 7 9 11 2n + 3
3 5 13 29 61 125  
4 13 65533    A(3,265536-3) A(3,A(4,3))   (  términos)
5 65533 A(4,65533) A(4,A(5,1)) A(4,A(5,2)) A(4,A(5,3))
6 A(5,1) A(5,A(5,1)) A(5,A(6,1)) A(5,A(6,2)) A(5,A(6,3))

Para hacerse una idea de la magnitud de los valores que aparecen de la fila 4 en adelante, se puede destacar que, por ejemplo, A(4, 2) es mayor que el número de partículas que forman el universo elevado a la potencia 200 y el resultado de A(5, 2) no se puede escribir dado que no cabría en el Universo físico. En general, por debajo de la fila 4 ya no es posible escribir todos los dígitos del resultado de la función.

Explicación intuitiva

La primera fila de la función de Ackerman contiene los enteros positivos, dado que A(0, n)) consiste en sumar uno a n. El resto de las filas se pueden ver como indirecciones hacia la primera. En el caso de m = 1, se redirige hacia A(0, n + 1); sin embargo, la simplificación es algo complicada:

   
 
 
 
 

Se puede intentar con un caso algo más complicado —como A(4, 3), el primer valor que no cabe en el universo físico.

   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Para seguir calculando este valor habría que encontrar que A(2, 5) vale 13, luego evaluar A(3, 13), que es 65533. Sin embargo, el valor de A(3, 65533) es comparable al número de átomos del Universo elevado a una potencia de más de 12. Ese número tendría que calcularse para hacer la llamada más externa a la función, pero ya no sería posible escribir los dígitos del resultado en el universo físico.

Todo esto por composición de la única operación aritmética que se utiliza, es decir, el incremento en uno de un valor (en el cálculo de A(0, n)).

Descripción explícita

Intuitivamente, la función de Ackermann define la generalización de la multiplicación por dos (sumas iteradas) y la exponenciación con base 2 (productos iterados) hasta la exponenciación iterada; la iteración de la exponenciación iterada; la iteración de la operación anterior;... etc. Puede expresarse de forma concisa y no recursiva mediante la notación de flecha de Conway:

 

o los hiper operadores:

 

Historia

En 1928, Wilhelm Ackermann consideró una función doblemente recursiva A(mnp) de tres variables: m → n → p en la notación de Conway. Ackermann demostró que se trata de una función recursiva que no es primitiva recursiva. Esa definición fue simplificada por Rózsa Péter y Raphael Robinson a la versión de dos variables. Rozsa Peter también demostró que la doble recursión no se puede reducir a recursión primitiva (y que de igual forma la triple recursión no se puede reducir a recursión primitiva y doble recursión, etc).

Sin embargo, la primera función doblemente recursiva que no es recursiva primitiva fue descubierta por Gabriel Sudan en 1927:

 
 
 

Tanto Sudan como Ackermann eran alumnos de David Hilbert en ese entonces.

Análisis de algoritmos

Así como la función diagonal  f (n) = A(nn) crece muy rápidamente, su inversa crece muy lentamente y se utiliza frecuentemente en análisis de algoritmos. En ese contexto, se suele redefinir la función de Ackermann por otra de comportamiento asintótico similar, pero evitando los términos −3, o partiendo de la potencias de 2 para la fila 0 (lo que equivale a omitir las tres primeras filas). Si bien el resultado de estas variantes no es idéntico al de la función original, se pueden ver como similares al ser posible acotar la diferencia. En el caso de la inversa de la función diagonal, su resultado es inferior a 4 para entradas de prácticamente cualquier tamaño, de manera que se asimila a una función constante.

Medida de comparación

Debido a su definición, profundamente recursiva, la función de Ackermann se utiliza con frecuencia para comparar compiladores en cuanto a su habilidad para optimizar la recursión. Por ejemplo, un compilador capaz de notar que A(3, 30) se puede calcular basándose en potencias de 2, o que guarda resultados intermediarios tales como A(3, n) y A(2, n) en lugar de recalcularlos cada vez, ahorraría tiempo de ejecución por un factor de 100 o 1000. Igualmente, al calcular directamente A(1, n) en lugar de hacer una llamada recursiva se realizan ahorros significativos.

Es posible calcular el término A(4, 2), pero no recursivamente, sino por otros medios.

Véase también

Bibliografía

  • Ackermann, Wilhelm: Zum Hilbertschen Aufbau der reelen Zahlen. Math. Annalen 99 (1928), pp. 118-133.
  • von Heijenoort, J. (ed.): From Frege to Gödel: A Source Book in Mathematical Logic. Cambridge: Harvard University Press, 1967. Disponible .
  • Kozen, Dexter C.: The Design and Analysis of Algorithms. Springer, 1992.
  • Robinson, Raphael M.: Recursion and double recursion. Bull. Amer. Math. Soc., Vol. 54, pp. 987-993.
  • Schöning, Uwe: Theoretische Informatik – kurzgefasst. Spektrum Akademischer. ISBN 3-8274-1099-1
  • Sundblad, Yngve: The Ackermann Function. A Theoretical, Computational, and Formula Manipulative Study. BIT 11 (1971), 107-119.

Enlaces externos

  •   Wikilibros alberga un libro o manual sobre Implementaciones de la función de Ackermann.
  • Some values of the Ackermann function.
  • .
  •   Datos: Q341835

función, ackermann, teoría, computación, función, ackermann, función, matemática, recursiva, encontrada, 1926, wilhelm, ackermann, tiene, crecimiento, extremadamente, rápido, interés, para, ciencia, computacional, teórica, teoría, computabilidad, día, serie, f. En teoria de la computacion una funcion de Ackermann es una funcion matematica recursiva encontrada en 1926 por Wilhelm Ackermann Tiene un crecimiento extremadamente rapido lo que es de interes para la ciencia computacional teorica y la teoria de la computabilidad Hoy en dia hay una serie de funciones que son llamadas funciones de Ackermann Todas ellas tienen una forma similar a la ley original la funcion de Ackermann y tambien tienen un comportamiento de crecimiento similar Esta funcion toma dos numeros naturales como argumentos y devuelve un unico numero natural Como norma general se define como sigue A m n n 1 si m 0 A m 1 1 si m gt 0 y n 0 A m 1 A m n 1 si m gt 0 y n gt 0 displaystyle A m n begin cases n 1 amp mbox si m 0 A m 1 1 amp mbox si m gt 0 mbox y n 0 A m 1 A m n 1 amp mbox si m gt 0 mbox y n gt 0 end cases Indice 1 Propiedades 2 Tabla de valores 3 Explicacion intuitiva 4 Descripcion explicita 5 Historia 6 Analisis de algoritmos 7 Medida de comparacion 8 Vease tambien 9 Bibliografia 10 Enlaces externosPropiedades EditarSea k N f k F R P displaystyle k in mathbb N f k in mathrm FRP Sea a gt b f k a gt f k b displaystyle a gt b f k a gt f k b Sea x k N f k x gt x displaystyle x k in mathbb N f k x gt x Sea k N f k 1 x gt f k x displaystyle k in mathbb N f k 1 x gt f k x Ademas la funcion de Ackerman A C K x f x x displaystyle mathrm ACK x f x x no es FRP funcion recursiva primitiva La demostracion de este teorema se lleva a cabo por reduccion al absurdo y utilizando el lema de que toda funcion recursiva primitiva esta mayorada por una funcion de Ackermann Comenzamos suponiendo que A C K x F R P displaystyle mathrm ACK x in mathrm FRP por tanto A C K x 1 F R P displaystyle mathrm ACK x 1 in mathrm FRP Usando el lema de la mayoracion debe existir un k tal que A C K x 1 f k x displaystyle mathrm ACK x 1 leq f k x Pero entonces como esto vale para todo x tambien valdra para x k A C K k 1 f k k displaystyle mathrm ACK k 1 leq f k k usando la definicion llegamos a que A C K k 1 A C K k displaystyle mathrm ACK k 1 leq mathrm ACK k Lo cual es absurdo Esta funcion crece extremadamente rapido el valor A 4 2 ya tiene 19 729 digitos Este crecimiento desmesurado se puede utilizar para demostrar que la funcion computable f n A n n crece mas rapido que cualquier funcion recursiva primitiva y por ello no es recursiva primitiva Tabla de valores EditarNumeros de m n displaystyle m n m n 0 1 2 3 4 n0 1 2 3 4 5 n 11 2 3 4 5 6 n 22 3 5 7 9 11 2n 33 5 13 29 61 125 8 2 n 3 displaystyle 8 cdot 2 n 3 4 13 65533 2 65536 3 2 10 19728 displaystyle 2 65536 3 approx 2 cdot 10 19728 A 3 265536 3 A 3 A 4 3 2 2 2 3 displaystyle 2 2 dots 2 3 n 3 displaystyle n 3 terminos 5 65533 A 4 65533 A 4 A 5 1 A 4 A 5 2 A 4 A 5 3 6 A 5 1 A 5 A 5 1 A 5 A 6 1 A 5 A 6 2 A 5 A 6 3 Para hacerse una idea de la magnitud de los valores que aparecen de la fila 4 en adelante se puede destacar que por ejemplo A 4 2 es mayor que el numero de particulas que forman el universo elevado a la potencia 200 y el resultado de A 5 2 no se puede escribir dado que no cabria en el Universo fisico En general por debajo de la fila 4 ya no es posible escribir todos los digitos del resultado de la funcion Explicacion intuitiva EditarLa primera fila de la funcion de Ackerman contiene los enteros positivos dado que A 0 n consiste en sumar uno a n El resto de las filas se pueden ver como indirecciones hacia la primera En el caso de m 1 se redirige hacia A 0 n 1 sin embargo la simplificacion es algo complicada A 1 2 displaystyle A 1 2 A 0 A 1 1 displaystyle A 0 A 1 1 A 0 A 0 A 1 0 displaystyle A 0 A 0 A 1 0 A 0 A 0 2 displaystyle A 0 A 0 2 A 0 3 displaystyle A 0 3 4 displaystyle 4 Se puede intentar con un caso algo mas complicado como A 4 3 el primer valor que no cabe en el universo fisico A 4 3 displaystyle A 4 3 A 3 A 4 2 displaystyle A 3 A 4 2 A 3 A 3 A 4 1 displaystyle A 3 A 3 A 4 1 A 3 A 3 A 3 A 4 0 displaystyle A 3 A 3 A 3 A 4 0 A 3 A 3 A 3 A 3 1 displaystyle A 3 A 3 A 3 A 3 1 A 3 A 3 A 3 A 2 A 3 0 displaystyle A 3 A 3 A 3 A 2 A 3 0 A 3 A 3 A 3 A 2 A 2 1 displaystyle A 3 A 3 A 3 A 2 A 2 1 A 3 A 3 A 3 A 2 A 1 A 2 0 displaystyle A 3 A 3 A 3 A 2 A 1 A 2 0 A 3 A 3 A 3 A 2 A 1 A 1 1 displaystyle A 3 A 3 A 3 A 2 A 1 A 1 1 A 3 A 3 A 3 A 2 A 1 A 0 A 1 0 displaystyle A 3 A 3 A 3 A 2 A 1 A 0 A 1 0 A 3 A 3 A 3 A 2 A 1 A 0 A 0 1 displaystyle A 3 A 3 A 3 A 2 A 1 A 0 A 0 1 A 3 A 3 A 3 A 2 A 1 A 0 2 displaystyle A 3 A 3 A 3 A 2 A 1 A 0 2 A 3 A 3 A 3 A 2 A 1 3 displaystyle A 3 A 3 A 3 A 2 A 1 3 A 3 A 3 A 3 A 2 A 0 A 1 2 displaystyle A 3 A 3 A 3 A 2 A 0 A 1 2 A 3 A 3 A 3 A 2 A 0 A 0 A 1 1 displaystyle A 3 A 3 A 3 A 2 A 0 A 0 A 1 1 A 3 A 3 A 3 A 2 A 0 A 0 A 0 A 1 0 displaystyle A 3 A 3 A 3 A 2 A 0 A 0 A 0 A 1 0 A 3 A 3 A 3 A 2 A 0 A 0 A 0 A 0 1 displaystyle A 3 A 3 A 3 A 2 A 0 A 0 A 0 A 0 1 A 3 A 3 A 3 A 2 A 0 A 0 A 0 2 displaystyle A 3 A 3 A 3 A 2 A 0 A 0 A 0 2 A 3 A 3 A 3 A 2 A 0 A 0 3 displaystyle A 3 A 3 A 3 A 2 A 0 A 0 3 A 3 A 3 A 3 A 2 A 0 4 displaystyle A 3 A 3 A 3 A 2 A 0 4 A 3 A 3 A 3 A 2 5 displaystyle A 3 A 3 A 3 A 2 5 Para seguir calculando este valor habria que encontrar que A 2 5 vale 13 luego evaluar A 3 13 que es 65533 Sin embargo el valor de A 3 65533 es comparable al numero de atomos del Universo elevado a una potencia de mas de 12 Ese numero tendria que calcularse para hacer la llamada mas externa a la funcion pero ya no seria posible escribir los digitos del resultado en el universo fisico Todo esto por composicion de la unica operacion aritmetica que se utiliza es decir el incremento en uno de un valor en el calculo de A 0 n Descripcion explicita EditarIntuitivamente la funcion de Ackermann define la generalizacion de la multiplicacion por dos sumas iteradas y la exponenciacion con base 2 productos iterados hasta la exponenciacion iterada la iteracion de la exponenciacion iterada la iteracion de la operacion anterior etc Puede expresarse de forma concisa y no recursiva mediante la notacion de flecha de Conway A m n 2 n 3 m 2 3 displaystyle A m n 2 rightarrow n 3 rightarrow m 2 3 o los hiper operadores A m n h y p e r 2 n 3 m 2 3 displaystyle A m n mathrm hyper 2 n 3 m 2 3 Historia EditarEn 1928 Wilhelm Ackermann considero una funcion doblemente recursiva A m n p de tres variables m n p en la notacion de Conway Ackermann demostro que se trata de una funcion recursiva que no es primitiva recursiva Esa definicion fue simplificada por Rozsa Peter y Raphael Robinson a la version de dos variables Rozsa Peter tambien demostro que la doble recursion no se puede reducir a recursion primitiva y que de igual forma la triple recursion no se puede reducir a recursion primitiva y doble recursion etc Sin embargo la primera funcion doblemente recursiva que no es recursiva primitiva fue descubierta por Gabriel Sudan en 1927 F 0 x y x y displaystyle F 0 x y x y F n 1 x 0 x n 0 displaystyle F n 1 x 0 x n geq 0 F n 1 x y 1 F n F n 1 x y F n 1 x y y 1 n 0 displaystyle F n 1 x y 1 F n F n 1 x y F n 1 x y y 1 n geq 0 Tanto Sudan como Ackermann eran alumnos de David Hilbert en ese entonces Analisis de algoritmos EditarAsi como la funcion diagonal f n A n n crece muy rapidamente su inversa crece muy lentamente y se utiliza frecuentemente en analisis de algoritmos En ese contexto se suele redefinir la funcion de Ackermann por otra de comportamiento asintotico similar pero evitando los terminos 3 o partiendo de la potencias de 2 para la fila 0 lo que equivale a omitir las tres primeras filas Si bien el resultado de estas variantes no es identico al de la funcion original se pueden ver como similares al ser posible acotar la diferencia En el caso de la inversa de la funcion diagonal su resultado es inferior a 4 para entradas de practicamente cualquier tamano de manera que se asimila a una funcion constante Medida de comparacion EditarDebido a su definicion profundamente recursiva la funcion de Ackermann se utiliza con frecuencia para comparar compiladores en cuanto a su habilidad para optimizar la recursion Por ejemplo un compilador capaz de notar que A 3 30 se puede calcular basandose en potencias de 2 o que guarda resultados intermediarios tales como A 3 n y A 2 n en lugar de recalcularlos cada vez ahorraria tiempo de ejecucion por un factor de 100 o 1000 Igualmente al calcular directamente A 1 n en lugar de hacer una llamada recursiva se realizan ahorros significativos Es posible calcular el termino A 4 2 pero no recursivamente sino por otros medios Vease tambien EditarNumero de GrahamBibliografia EditarAckermann Wilhelm Zum Hilbertschen Aufbau der reelen Zahlen Math Annalen 99 1928 pp 118 133 von Heijenoort J ed From Frege to Godel A Source Book in Mathematical Logic Cambridge Harvard University Press 1967 Disponible en linea Kozen Dexter C The Design and Analysis of Algorithms Springer 1992 Robinson Raphael M Recursion and double recursion Bull Amer Math Soc Vol 54 pp 987 993 Schoning Uwe Theoretische Informatik kurzgefasst Spektrum Akademischer ISBN 3 8274 1099 1 Sundblad Yngve The Ackermann Function A Theoretical Computational and Formula Manipulative Study BIT 11 1971 107 119 Enlaces externos Editar Wikilibros alberga un libro o manual sobre Implementaciones de la funcion de Ackermann Some values of the Ackermann function Example use of the Ackermann function as a benchmark Datos Q341835 Obtenido de https es wikipedia org w index php title Funcion de Ackermann amp oldid 142444318, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos