You are on page 1of 11

Mquins de Turing.

Factorial y Fibonacci.
Alumna: Jessica Merari Dvalos Prez. Materia: Lenguajes y Autmatas I. Prof.: Ana Luisa Milln Castro.

16 de Mayo del 2013

Fibonacci.
Antes de empezar con la aplicacin de las mquinas de Turing a la sucesin de los nmeros de Fibonacci, definiremos primero: Qu es la Serie de Fibonacci?

En matemticas, la siguiente sucesin infinita de nmeros naturales:


Segn Wikipedia:

Serie

de

Fibonacci es

la

La cual es utilizada en infinidad de aplicaciones en las ciencias de la computacin, matemticas y teora de juegos. As como tambin aparece en configuraciones biolgicas, como por ejemplo en las ramas de los rboles, en la disposicin de las hojas en el tallo, en la flor de la alcachofa y en el arreglo de un cono.
Como podemos darnos cuenta, se comienza la sucesin con los nmeros 0 y 1. Y cada siguiente elemento de la serie corresponde a la suma de los dos nmeros anteriores. sta serie fue propuesta en Europa del siglo XIII por Leonardo de Pisa, tambin conocido como Fibonacci. Los nmeros de Fibonacci estn definidos por la ecuacin: de los dos primeros valores predeterminados y siguientes valores: , , , , , Partiendo , se obtienen los para

Entonces para la aplicacin de esta sucesin a la siguiente mquina de Turing necesitaremos tener presente los siguientes datos: 1- La siguiente mquina representa los nmeros por medio de unos, es decir: n= 3 - 1 1 1; n=5 - 1 1 1 1 1. 2- Tiene como entrada un nmero n (cmo en el punto anterior) y como salida un nmero de Fibonacci-n (Ejemplo: Fibonacci-6: 1 1 1 1 1 1 1 1). 3- Se compone de un estado inicial: q0, un estado final: qf y los siguientes estados internos:

4- Se compone del siguiente alfabeto:

A continuacin se muestra la tabla de transiciones, la cual se compone de 100 reglas, y cabe mencionar como observacin, esta mquina comienza la simulacin de la serie de Fibonacci a partir de los dos primeros unos. Lo primero que hace es, desde el estado q0 reconocer el primer 1, sustituir su valor por una x y mover el control finito a la derecha para luego pasar al estado q101 donde se seguirn reconociendo n cantidad de 1s que como ya lo haba mencionado, dicha mquina necesita que se introduzcan los nmeros representados por 1s (n=5 => 1 1 1 1 1) para luego reconocer a que numero de la serie de Fibonacci pertenece.

Factorial.
De la misma forma que explicamos la aplicacin de mquina de Turing a la sucesin de Fibonnaci, as mismo explicaremos de una maner ms practica el funcionamiento de una mquina de Turing para resolver el factorial de un nmero. Para eso primero debemos saber: Qu es un nmero factorial? Y Cmo se calcula? De nueva cuenta recurrimos a Wikipedia, quien nos informa: El factorial para todo entero positivo n, el factorial de n o n factorial se define

como el producto de todos los nmeros enteros positivos desde 1 (es decir, los nmeros naturales) hasta n. La multiplicacin anterior se puede simbolizar tambin como

La operacin de factorial aparece en muchas reas de las matemticas, particularmente en combinatoria y anlisis matemtico. De manera fundamental, el factorial de n representa el nmero de formas distintas de ordenar n objetos distintos (elementos sin repeticin). Este hecho ha sido conocido desde hace varios siglos, en el s. XII por los estudiosos indios. La notacin actual n! fue usada por primera vez por Christian Krampen 1803.
Entonces, para la explicacin del funcionamiento de una mquina de Turing para el factorial de un nmero nos apoyaremos en la siguiente pgina web: http://turingmaschine.klickagent.ch/mehrband/?lang=en#__ la cual nos proporciona una aplicacin que permite ver detalladamente los movimientos del control finito en la cinta que pertenece a la mquina de Turing, no slo calcula el factorial de un nmero sino que tambin calcula sumas, restas, divisiones y multiplicaciones de nmeros naturales.

Primero vamos a describir el funcionamiento de la aplicacin con la siguiente imagen:

Elige la operacin que deseas simular Introduce los valores para la simulacin. Aqu aparecern los movimientos del control finito.

Elige Reset para realizar otra simulacin. Steppara ver la simulacin paso a paso. Run para obtener un resultado rpido.

Muestra el diagrama de los movimientos de estados y sus transiciones. Muestra la tabla de transiciones.

Y como ejemplo vamos a simular el nmero 1! paso a paso y veremos su proceso en la tabla de transiciones que aparece bajo la cinta: Primero introducimos el numero que simularemos y la operacin que realizar la mquina.

Paso #1: Se sita el control finito en el primer carcter. Se pasa al estado 1.

Paso #2:Se lee el carcter, no se hacen cambios. Se mueve a la derecha al estado 2.

Paso #3: Con un blanco, se deja el blanco. Se mueve a la derecha al edo 12.

Paso #4: Se lee un . y se sustituye con . El control se mueve a la derecha al edo 13.

Paso #5: Se lee un y se deja intacto. El control se mueve a la derecha al edo 14.

Paso #6: Se lee un y se deja intacto. El control se mueve a la derecha al edo 15.

Paso #7: Se lee un y se deja intacto. El control se mueve a la derecha al edo 31.

Paso #8: Se lee un y se deja intacto. El control se mueve a la derecha al edo 98.

Paso #9: Se lee un y se sustitue con . y el control finito hace un halten el estado #98, marcado con la flecha roja. Marcando as el final del procesamiento.

Como pudimos ver con la explicacin anterior, el control finito de la maquina de turing para calcular el factorial, primero lee las casillas ocupadas por . para saber de qu nmero se desea calcular el factorial. Luego, se va moviendo el control finito a traves de los estados segn se desee calcular el nmero factorial, la cantidad de pasos necesitados variar segn lo grande de ese numero, por ejemplo para ste caso se necesitaron 8 movimientos del control finito antes de encontrarse con un halt, pero por ejemplo para 2! son 21 movimientos del control finito, para 3! = 210 movimientos y as respectivamente, se ir incrementando el nmero de movimientos.

Bibliografa.

http://turingmaschine.klickagent.ch/einband/?&lang=en#3_!_ http://es.wikipedia.org/wiki/Factorial http://es.wikipedia.org/wiki/Sucesi%C3%B3n_de_Fibonacci http://arxiv.org/pdf/cs/0601050.pdf

10