davalos perez - fibonacci factorial

11
Máquinás de Turing. Factorial y Fibonacci. Alumna: Jessica Merari Dávalos Pérez. Materia: Lenguajes y Autómatas I. Prof.: Ana Luisa Millán Castro. 16 de Mayo del 2013

Upload: merari-davalos-perez

Post on 03-Jan-2016

80 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Davalos Perez - Fibonacci Factorial

Má quinás de Turing. Factorial y Fibonacci.

Alumna: Jessica Merari Dávalos Pérez.

Materia: Lenguajes y Autómatas I.

Prof.: Ana Luisa Millán Castro.

16 de Mayo del 2013

Page 2: Davalos Perez - Fibonacci Factorial

1

Fibonacci.

Antes de empezar con la aplicación de las máquinas de Turing a la sucesión de los

números de Fibonacci, definiremos primero: ¿Qué es la Serie de Fibonacci?

Según Wikipedia: “En matemáticas, la Serie de Fibonacci es la

siguiente sucesión infinita de números naturales:

La cual es utilizada en infinidad de aplicaciones en las ciencias de la computación,

matemáticas y teoría de juegos. Así como también aparece en configuraciones

biológicas, como por ejemplo en las ramas de los árboles, en la disposición 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 sucesión con los números 0 y 1. Y cada

siguiente elemento de la serie corresponde a la suma de los dos números anteriores.

Ésta serie fue propuesta en Europa del siglo XIII por Leonardo de Pisa, también

conocido como Fibonacci.

Los números de Fibonacci están definidos por la ecuación: Partiendo

de los dos primeros valores predeterminados y , se obtienen los

siguientes valores: , , , , , para

Entonces para la aplicación de esta sucesión a la siguiente máquina de Turing

necesitaremos tener presente los siguientes datos:

1- La siguiente máquina representa los números por medio de unos, es decir:

n= 3 -» 1 1 1; n=5 -» 1 1 1 1 1.

2- Tiene como entrada un número n (cómo en el punto anterior) y como salida un

número 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:

Page 3: Davalos Perez - Fibonacci Factorial

2

4- Se compone del siguiente alfabeto:

A continuación se muestra la tabla de transiciones, la cual se compone de 100 reglas, y

cabe mencionar como observación, esta máquina comienza la simulación 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 seguirán reconociendo n cantidad de 1’s que

como ya lo había mencionado, dicha máquina necesita que se introduzcan los números

representados por 1’s (n=5 => 1 1 1 1 1) para luego reconocer a que numero de la

serie de Fibonacci pertenece.

Page 4: Davalos Perez - Fibonacci Factorial

3

Page 5: Davalos Perez - Fibonacci Factorial

4

Page 6: Davalos Perez - Fibonacci Factorial

5

Factorial.

De la misma forma que explicamos la aplicación de máquina de Turing a la sucesión de

Fibonnaci, así mismo explicaremos de una manerá más practica el funcionamiento de

una máquina de Turing para resolver el factorial de un número.

Para eso primero debemos saber: ¿Qué es un número factorial? Y ¿Cómo 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 números enteros positivos desde 1 (es decir, los números naturales) hasta n.

La multiplicación anterior se puede simbolizar también como

La operación de factorial aparece en muchas áreas de las matemáticas, particularmente en combinatoria y análisis matemático. De manera fundamental, el factorial de n representa el número de formas distintas de ordenar n objetos distintos (elementos sin repetición). Este hecho ha sido conocido desde hace varios siglos, en el s. XII por los estudiosos indios. La notación actual n! fue usada por primera vez por Christian Krampen 1803.”

Entonces, para la explicación del funcionamiento de una máquina de Turing para el factorial de un número nos apoyaremos en la siguiente página web:

http://turingmaschine.klickagent.ch/mehrband/?lang=en#__ la cual nos proporciona una aplicación que permite ver detalladamente los movimientos del control finito en la cinta que pertenece a la máquina de Turing, no sólo calcula el factorial de un número sino que también calcula sumas, restas, divisiones y multiplicaciones de números naturales.

Page 7: Davalos Perez - Fibonacci Factorial

6

Primero vamos a describir el funcionamiento de la aplicación con la siguiente imagen:

Y como ejemplo vamos a simular el número 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 operación que realizará la máquina.

Elige la operación que deseas

simular

Introduce los valores para la simulación.

Aquí aparecerán los

movimientos del

control finito. Elige “Reset” para realizar otra simulación. “Step”para ver la

simulación paso a paso. “Run” para obtener un resultado rápido.

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

Muestra la tabla de transiciones.

Page 8: Davalos Perez - Fibonacci Factorial

7

Paso #1: Se sitúa el control finito en el primer carácter. Se pasa al estado 1.

Paso #2:Se lee el carácter, 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.

Page 9: Davalos Perez - Fibonacci Factorial

8

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.

Page 10: Davalos Perez - Fibonacci Factorial

9

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 “halt”en el estado #98, marcado con la flecha roja. Marcando así el final del procesamiento.

Como pudimos ver con la explicación anterior, el control finito de la maquina de turing para calcular el factorial, primero “lee” las casillas ocupadas por “ . “ para saber de qué número se desea calcular el factorial. Luego, se va moviendo el control finito a traves de los estados según se desee calcular el número factorial, la cantidad de pasos necesitados variará según 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 número de movimientos.

Page 11: Davalos Perez - Fibonacci Factorial

10

Bibliografía.

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