Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
FUNCIONES PRIMITIVAS RECURSIVAS
• Subconjunto de las funciones recursivas
• Siempre son totales
• Incluyen las funciones aritméticas más comunes:
– Suma
– Resta
– Multiplicación
– División
– Potencia
– Factorial
– ...
• Hay funciones totales recursivas que no son
primitivas recursivas
– Argumento diagonal
– Función de Ackermann
• Proyecciones
• Sucesor
S(x)=x+1
2
FUNCIONES PRIMITIVAS RECURSIVAS
• Son funciones primitivas recursivas:
f(x1, x2, ..., xm)=h(g1(x1, x2, ..., xm),..., gn(x1, x2, ..., xm))
• Ejemplo:
f(x)=x+2
h=S
g=S
f(x)=h(g(x))=S(S(x))=x+2
f(0,x)=x
f(k+1,x)=h(f(k,x),k,x)=f(k,x)+1
3
FUNCIONES PRIMITIVAS RECURSIVAS
• Ejemplo (factorial):
g=S(0)
h(a,b)=mult(U2,1(a,b),S(U2,2(a,b)))=mult(a,b+1)
f(0)=1
f(k+1)=h(f(k),k)=f(k)*(k+1)
• Ejemplo (predecesor):
g=0
h(a,b)=U2,2(a,b)=b
f(0)=0
f(k+1)=h(f(k),k)=k
r(0,x)=g(x)=x
r(k+1,x)=h(r(k,x),k,x)=pred(r(k,x))
f(a,b)=r(U2,2(a,b), U1,2(a,b))=r(b,a)=a-b
4
FUNCIONES PRIMITIVAS RECURSIVAS
• Todas las funciones PR son totales
• Hay funciones computables totales que no son PR
– Argumento diagonal
• Enumerar de forma computable las PR: fn(x)
• Considerar g(x)= fx(x)+1
• Es una función total y computable pero distinta de cada fn
• El argumento funciona con cualquier familia computable de
funciones totales y computables
– Función de Ackermann
A(0,n)=n+1
A(m,0)=A(m-1,1) si m>0
A(m,n)=A(m-1,A(m,n-1)) si m>0 y n>0
LA FUNCIÓN DE ACKERMANN
• Crece más rápido que cualquier función PR
• Algunos valores
m=0 1 2 3 4
m=1 2 3 4 5
m=2 3 5 7 9
m=3 5 13 29 61
5
LA FUNCIÓN DE ACKERMANN
• Una definición alternativa
A(0, n) = n + 1
A(1, n) = 2 + (n + 3) – 3 = n+2
A(2, n) = 2 (n + 3) - 3 = 2n -3
A(3, n) = 2n + 3 - 3
...2
A(4, n) = 22 -3 (n + 3 potencias)
…
• A partir de aquí se necesitan nuevas notaciones:
– Flechas de Knuth
– Cadenas de Conway
– Polígonos de Steinhaus y de Moser
NÚMEROS ENORMES
• ¿Quién puede nombrar el mayor número? (googol)
• El número de granos de arena: Arquímedes (1063)
• Partículas en el universo (menor que 1087)
• Hay números mucho más grandes
• Los números grandes tienen aplicaciones:
79
– El (primer) número de Skewes: eee
• Aproximadante 10 101034
6
NÚMEROS ENORMES
• Nombres y números:
– Uno, dos, muchos
– El mayor número natural que puede ser nombrado con menos
de 100 palabras (lo mismo, pero más uno)
– Paradoja de Berry
– Teoría algorítmica de la información
• Debida a Chaitin
• Extiende los trabajos de Gödel y Turing
• Más información:
– The book of numbers, John Conway y Richard Guy
– Who can name the biggest number?
http://www.scottaaronson.com/writings/bignumbers.html
– Large numbers
http://home.earthlink.net/~mrob/pub/math/largenum.html
7
FUNCIONES PARCIALES RECURSIVAS
• Ejemplo: la división
• También es primitiva recursiva
• Necesitaremos funciones auxiliares
– positivo(x)=1 si x>0, 0 si no
– Definición como primitiva recursiva
positivo(0)=0
positivo(x+1)=S(Z(U2,1(positivo(x),x)))=1
– mayor(x,y)=1 si x>y, 0 si no
– Definición como primitiva recursiva
mayor(x,y)=positivo(resta(U2,1(x,y),U2,2(x,y)))
• Entonces:
Dividendo – cociente * divisor = resto
Dividendo – (cociente+1) * divisor = resto –divisor <0
Dividendo < (cociente+1)*divisor
• Por tanto
division(x,y)=µz[mayor((z+1)*y,x)=1]