Está en la página 1de 16

Mquinas de Estados Finitos a

Breve Introduccin o Jorge Alejandro Gutirrez Orozco e Escuela Superior de Cmputo o 22 de agosto de 2008
Resumen Hablaremos de algunas de las ms comunes Mquinas de Estados Fina a tos, una breve descripcin sobre ellas, su denicin formal y sus relacioo o nes entre ellas. En la ultima seccin se da una sencilla denicin de una o o Mquina de Turing. Existen varios temas que se deben de conocer antes de a abordar Mquina de Turing, pero dado que la explicacin que se propone a o no es del todo profunda, no es necesario tener amplias bases tericas. El o presente va dirigido a alumnos de Nivel Superior como material de apoyo en el estudio de Mquinas de estados nitos. Se ofrece un enfoque diferente a con explicaciones sumamente sencillas.

Se necesitan conocimientos previos antes abordar los siguientes temas, as que explicaremos brevemente algunos conceptos que utilizaremos. Conjunto: Es un coleccin de objetos relacionados entre ellos. Un conjunto o solo indica los elementos que lo componen, por tanto no es necesario tener un orden y no se repiten los elementos dentro de un conjunto. Un Conjunto nito es aquel donde podemos contar sus elemntos, por ejemplo: C = {, , , } claramente podemos notar que son cuatro elementos. En un Conjunto innito encontramos de dos tipos: los Conjuntos Innitos no Numerables donde no podemos contar todos los elementos, un buen ejemplo es el conjunto de todos los n meros reales y el conjunto de los u Inniftos Numerables como el caso de los n meros naturales N, donde u podemos numerar todos los elementos aunque haya un innito de ellos. Subconjunto: Es una coleccin de elementos que a su vez pertenece a otro o conjunto de igual o mayor n mero de miembros. Por ejemplo: consideu remos los conjuntos A = {a, b} y B = {z, a, c, b, d} se dice que A es un subconjunto propio de B y se escribe como A B, si en alg n momento u el conjunto A pudiese llegar a tener los mismos elementos que B pero sin dejar de ser subconjunto se deber escribir A B. Dos conjuntos con los a mismos elementos son iguales. Smbolo: Es la representacin abstracta de un objeto, puede ser un d o gito o una letra. En general es cualquier caracter que nos represente alg n u elemento. Algunos ejemplos son: a, 1, , etc. Alfabeto: Tambin llamado Vocabulario, es un conjunto nito de s e mbolos. Debe existir al menos un s mbolo en el alfabeto, es decir el alfabeto no puede ser un conjunto vac Comunmente se le denomina a este o. conjunto. Cadena: Es una secuencia de s mbolos hecha con los elementos de un Alfabeto, por eso se dice que una cadena sobre un alfabeto es un elemento del alfabeto universal , es decir , donde es un conjunto formado de todas las posibles cadenas que se puedan hacer con los elementos de . Una cadena no es un subconjunto del Alfabeto universal, es alguno de sus elementos. Una cadena no puede ser innita. Tambin e se le conoce como frase o palabra. Por ejemplo consideremos un alfabeto = {1, 0}, entonces = {1, 0, 00, 01, 10, 11, 000, ...} una cadena sobre podr ser 101011010, esta cadena es un elemento de . a Lenguaje: Es un conjunto de cadenas, las cuales deben estar formadas con los s mbolos de un Alfabeto , entonces decimos que el Lenguaje L est sobre el Alfabeto . Por ejemplo: el lenguaje L = {100, 001, 00, 1111} a se forma con los elemetos de = {1, 0}, la cadena = 1010 se forma tambin con los elemntos de (i.e. ) pero no pertenece al lenguaje e L y se denota L. / Estado: Es la situacin o las condiciones en que se halla un objeto en o alg n momento, dicho objeto no puede estar en ms de un estado al mismo u a tiempo. En el caso de una mquina son las caracter a sticas que posee en un momento dado. 2

Algoritmo: Es una secuencia nita de instrucciones bien denidas. Un algoritmo est compuesto por una sucesin de pasos que llevan siempre a a o un mismo resultado. Computacin: Es la aplicacin de un algoritmo sobre un conjunto de dao o tos de entrada, obteniendo como resultado otro conjunto de datos de tal proceso.

1.

Introduccin o

Las Mquinas de estados Finitos conocidas como Finite State Machines por a su traduccin al Ingls, nos sirven para realizar procesos bien denidos en un o e tiempo discreto. Reciben una entrada, hacen un proceso y nos entregan una salida. Notemos que stas mquinas hacen una computacin. e a o En otras palabras, imaginemos una mquina capaz de seguir una secuencia a nita de pasos al introducir un conjunto de datos en ella, solo se puede leer un dato en cada paso que se realize, por tanto el n mero de pasos a seguir est dado u a por el n mero de datos a introducir. Cada entrada diferente genera una salida u diferente, pero siempre el mismo resultado con los mismos datos de entrada. Por lo tanto una computacin es capaz de resolver un problema, s y solo o s tiene una solucin algor o tmica, es decir, puede ser descrito mediante una secuencia nita de pasos bien denidos. Mediante una computacin podemos encontrar soluciones a problemas que o tericamente tienen una representacin algor o o tmica, pero que pueden necesitar tal cantidad de recursos (factores como el tiempo y el espacio de almacenamiento) que desde el punto de vista prctico no se puede llegar a la solucin. a o

2.

Mquinas de Estados Finitos a

Una mquina de estados nitos en un modelo abstracto para la manipulaa cin de s o mbolos, nos permiten saber si una cadena pertence a un lenguaje o nos pueden generar otro conjutno de s mbolos como resultado. Llamaremos una Mquina de Estados Finitos como Autmata Finito, el hea o cho es que un Autmata y una Mquina de Estados Finitos son lo mismo, o a podemos utilizar ambos trminos de forma indistinta. e Los Autmatas se caracterizan por tener un Estado inicial, reciben una cadeo na de s mbolos, cambian de estado por cada elemento le o pueden permanecer do en el mismo estado. Tambin tienen un conjunto de Estados Finales o Aceptae bles que nos indican si una cadena pertenece al lenguaje al nal de una lectura.

Los Autmatas se clasican en 2 tipos: o Autmata Finito Determin o sta. Autmata Finito no Determin o sta. Siempre llamamos un Autmata como Autmata Finito, esto nos puede lleo o var a pensar que existe algun tipo de Autmata Innito, lo cual no tiene mucho o sentido pensar en un tipo de Mquina que tiene un conjunto innito de estados, a pero a n se discute su utilidad para propsitos prcticos. Un Autmata Inniu o a o to tiene cintas innitas o registros de almacenamiento de capacidad ilimitada, esto le da el carcter de innito [5]. a Autmatas Finitos Determin o stas. Un Autmata recibe secuencialmente o una cadena de s mbolos y cambia de estado por cada s mbolo le o tamdo bin puede permanecer en el mismo estado. Al nal de la lectura el estado del e Autmata nos indica si la cadena es aceptada o mejor dicho pertenece al Leno guaje que describe nuestra mquina. Si al nal de leer todos los s a mbolos de entrada la mquina est en alguno de los estados Finales entonces esa cadena a a es aceptada, si el estado no es nal entonces la cadena no pertenece al lenguaje. Las partes que componen una Autmata son 5 y se pueden denir: o A = {Q, q0 , F, , } donde: Q: Conjunto nito de estados. q0 : Estado inicial donde q0 Q. Debe haber uno y slo un estado incial. o F : Conjunto de estados nales F Q. El estado q0 tambin puede ser nal. e : Alfabeto nito de entrada. : Funcin de Transicin Q Q. o o Supongamos que el Autmata se encuentra en el estado qi donde qi Q, o tambin tenemos el s e mbolo a donde a . Una entrada a causa que el Autmao ta cambie del estado qi al estado qk . La funcin , llamada funcin de transicin, o o o describe este cambio de la forma (qi , a) qk de esta forma obtenemos un nuevo estado. Se entiende por transicin como el proceso que hace un Autmata al o o cambiar de estado. La forma mas fcil de imaginarnos un Autmata es mediante un diagrama de a o transicin. Un diagrama de transicin es un digrafo etiquetado con los elementos o o de un Autmata para este caso, pero de hecho se puede representar cualquier o Mquina de Etados Finitos por medio de un diagrama de transicin, es la forma a o ms com n de hacerlo por ejemplo (ver gura 1): a u

Figura 1: Diagrama de Transicin de un Autmata o o

En un diagrama de transicin existe un nodo por cada estado qi de Q. Los o estados nales esta encerrados en un c n rculo doble. El estado incial q0 es apuntado por una echa que no proviene de ning n otro estado. Para cada estado qi u y un s mbolo a, hay exactamente una y slo una echa que inicia en qi y termina o en (qi , a), es decir en qk , la echa es etiquetada como a. Si qk pertenece a F decimos que la entrada es aceptada. Debe haber exactamente una echa saliendo de cada estado por cada s mbolo a0 , a1 , a2 ...an , por tanto todos los estados tienen el mismo n mero de echas u saliendo de cada uno de ellos. Con esto garantizamos que nuestro Autmata o pueda ser llamado Determinsta. No importa el estado ni el s mbolo le do, siempre hay una transicin denida. o Para describir por completo una funcin de transicin ocupamos una Tabla o o de Transicin. Las columnas se etiquetan con los s o mbolos de entrada, la las son etiquetadas con los estados y en las intersecciones se colocan los nuevos estados (qi , a), suponinedo que qi Q es la columna y a la la que lo intersecta. La tabla de transicin de la gura 1 es: o q0 q1 q2 a1 q1 q0 q1 a2 q2 q2 q2

El estado incial tiene una echa que apunta a l, los estados nales tienen e una echa que sale de ellos y los estados que no son nales y no son el inicial no tienen echa. En caso de que nuestro estado inicial tambin sea un estado e nal, se apuntar con una echa doble . a Una tabla de transicin representa una funcin la cual recibe un s o o mbolo y un estado, si queremos introducir una cadena donde , donde es la

cerradura de , 1 en lugar de un solo s mbolo debemos usar conocida como Funcin de Transicin Extendida que nos permite manejar una cadena dado o o que es una funcin de Q y cumple con: o (qi , a) (qi , a) donde qi Q y a (qi , ) (qi , a) donde es el elmento vac o. (qi , aw) ((qi , a), w) donde a y w Si evaluamos con un estado qi Q y con un s mbolo a se comporta de la misma forma que . El primer elemento de generalmente es el elemento vac puede ser o el unico elemento de nuestro lenguaje L = {} o podemos suponer que ( + ). El autmata permanece en el mismo estado al introducir , es decir no cambia o el estado, se comporta como un s mbolo neutro para . El elemento puede ser aceptado s y solo s el estado inicial q0 tambin per e tenece al conjunto de estados nales q0 F . El Autmata que solo acepta el o elemento vac es: o

Figura 2: Autmata que acepta el s o mbolo

La ultima propiedad de nos dene como evaluar cadenas en una forma recursiva. Se toma el primer s mbolo de la cadena y se evala con , el estado u resultante es evaluado con el segundo s mbolo para obtener un nuevo estado que a su vez ser usado con el tercer s a mbolo y as sucesivamente. De esta forma pasamos por los estados (q0 , a0 ), ((q0 , a0 ), a1 )... hasta terminar de evaluar la cadena, si el Autmata se encuentra en un estado nal f se entiende que o (q0 , ) = f y la cadena es aceptada. No importa si en alg n momento de la lectura de s u mbolos llegamos a un estado nal, si no se ha terminado de leer la cadena, el autmata contin a reo u cibiendo s mbolos y cambiando de estado.
conocido como lenguaje universal, consta de todas las posibles cadenas que se puedan formar con los s mbolos de [6]
1 Tambin e

Formalmente se dice que un Lenguaje L es aceptado por un Autmata A o s y solo s y cumple con (q0 , ) = f donde q0 Q y f F . Nuestro Lenguaje es aceptado y se compone de todos los de la siguiente forma: L(A) = { | (q0 , ) F } Autmatas Finitos No Determin o stas A diferencia de los Autmatas Fio nitos Determin stas, donde existe una unica forma de llegar de un estado a otro con una entrada y se tiene solo un estado incial, los Autmatas Finitos o No Determin stas no cuentan con estas virtudes, pero son una herramienta de mucha ayuda cuando queremos dise ar un Autmata Determin n o sta. Para cada Autmata No Determin existe un Autmata Determin que lo representa o sta o sta y que acepta el mismo lenguaje. Podemos denir un Autmata Finito No Determin o sta como: A = {Q, I, F, , } donde: Q: Conjunto nito de estados. I: Conjunto de estados inicales donde I Q. F : Conjunto de estados nales F Q. : Alfabeto nito de entrada. : Funcin de Transicin Q S donde S Q. o o Aparentemente es muy similar a un Autmata Finito Determin o sta, pero se perciben algunas diferencias. Puede existir ms de un Estado inicial [8] y la a funcin de transicin ahora nos entrega un conjunto, tal vez vac de posibles o o o, estados. Precisamente esta es la diferencia entre un Autmata Determin o sta y uno No Determin sta. Cuando todas las transiciones estn determinadas en un a Autmata, es decir para cada par de (estado,smbolo) existe uno y slo un eso o tado correspondiente, se tiene un Autmata Determin o sta. Si se tiene al menos una transicin no denida o indeterminada entonces tenemos un Autmata No o o Determin sta. En la funcin de transicin extendida tambin hay algunos cambios, se puede o o e comenzar en cualquiera de los estados iniciales qI (donde qI I ) y suma todas las posibles transiciones t que inicien en el mismo estado pero que lleven a estados diferentes a pesar que el s mbolo le a es el mismo. Denimos cualquier do transicin como t = (q, a) donde q Q es un estado y a es un s o mbolo. Entonces podemos denir: (qI , aw) =
n i=0

(ti , w)

El n mero mximo de transiciones para ese par (estado,s u a mbolo) est dado por a n, es decir todas las echas que salen de cualquier estado q y que estn etia quetadas por el mismo s mbolo a. Para comenzar a evaluar la cadena, donde w , partimos de cualquier estado inicial qI , evaluamos el primer s mbolo a y sumamos todas las transiciones posibles, notese que ahora nos entrega un conjunto de posibles estados, es decir (qI , aw) S donde S Q se pueden dar los siguientes casos: Si se evalua un solo s mbolo (q, a) = (q, a) el conjunto S que obetenemos tiene un solo elemento que es el estado siguiente. Si el s mbolo a evaluar es el vac (qi , ) = qi entonces no existe trano sicin alguna para ese par (q, a), es decir se comporta como un valor o neutro para el operador . Si existen n transiciones para los mismos valores ( (q, a) = q1 )+( (q, a) = q2 ) + ... + ( (q, a) = qn ) entonces el conjunto S contiene los valores q1 , q2 , ..., qn . Se dice que una cadena es aceptada si (qI , aw) = qf donde qf F . Un ejemplo de un Autmata Finito No Determin es la gura 3: o sta

Figura 3: Diagrama de transicin de un Autmata Finito No Determin o o sta Se puede observar que existe ms de un estado inicial y las transiciones a (q1 , a2 ) y (q3 , a1 ) no estn determinadas, basta solo una de las condiciones a anteriores para considerar al Autmata como No Determin o sta. Su tabla de transicin de la gura 3 es: o

q0 q1 q2 q3 q4

a1 q1 q4 q1 q2

a2 q3 q0 q2 q3

Equivalencia entre Autmatas Finitos Las transiciones que no estn deo a terminadas en el diagrama de la gura 3 se relacionan con el s mbolo , ste e s mbolo nos representa un conjunto vac Por lo tanto podemos decir que las o. transiciones indeterminadas llevan a un estado . Si inclu mos el estado vaco para que forme parte de nuestro autmata no determin de la forma Q se o sta puede completar la tabla de transicin (como la tabla anterior), con esto quedan o denidas todas las transiciones del autmata o por lo menos garantizamos que o cualquier s mbolo de entrada nos lleve a otro u otros estados, tal vez al mismo. Aunque se tenga completa la tabla de transicin, es decir se tiene una reso puesta para toda (q, a), un autmata podr tener ms de un estado inicial, o a a razn suciente para llamarse no determinsta. Entonces se necesita crear un o estado que represente todos los posibles estados iniciales el cual ser nuestro a nuevo estado incial, tambin necesitamos crear un estado para las transiciones e no determinadas. Una herramineta util para encontrar tales estados es el conjunto potencia P que representa todas las posibles combinaciones que se pueden hacer con un conjunto (incluyendo el ) y generalmete contiene 2n elementos, donde n es el total de elementos del conjunto evaluado[4]. Por ejemplo el conjunto W = {1, 0} contiene 2 elementos, el conjunto potencia P (W ) tiene (2)2 = 4 elementos y es de la forma P (W ) = {, 0, 1, {0, 1}}. Para poder encontrar un autmata nito determin o sta equivalente a otro autmata nito no determin o sta, necesitamos dirigir a un estado aquellas transiciones que no estn determinadas, reducir el conjunto de estados inciae les a un unico estado que los represente a todos y encontrar los estados que son alcanzados por la misma transicin para crear unicos y difernetes estados que o los representen. As obtenemos una forma de convertir cualquier Autmata No o Determin sta en uno Determin sta. Para ilustrar mejor el proceso de crear un Autmata Equivalente a otro, es o decir un autmata que acepte el mismo lenguaje L, vamos a dar un ejemplo: o Dado el Autmata No determin o sta AN = {QN , , I, FN , } donde QN = {q0 , q1 , q2 } y = {a1 , a2 }, vamos a convertirlo en un Autmata Determin o sta AD que acepte el mismo legunaje, es decir L(AN ) = L(AD ) con el mismo alfabeto de entrada , el diagrama de transicin es: o

ht

Figura 4: Ejemplo de Autmata Finito No Determin o sta

La tabla de transicin del autmata es: o o a1 q1 q2 a2 q2 {q0 , q2} q2

q0 q1 q2

Denimos el conjunto potencia P (AN ) = {, q0 , q1 , q2 , {q0 , q1 }, {q0 , q2 }, {q1 , q2 }, {q0 , q1 , q2 }} el total de elementos es (2)3 = 8 dado que |QN | = 3. Por comodidad vamos a escribir los estados que nos representan la combinacin de otros estados de la o forma q3 = {q0 , q1 } , q4 = {q0 , q2 }, q5 = {q1 , q2 } y q6 = {q0 , q1 , q2 }, ahora dibujemos el diagrama:

10

ht

Figura 5: Autmata Finito Determin o sta

Notamos que el estado incial sigue siendo uno. Todos los estados tienen determinadas todas las transiciones, las transiciones etiquetadas con dos s mbolos son equivalentes a tener dos transiciones con una etiqueta. Tenemos dos estados ms, el vac y el estado q4 el cual es un estado nal porque se obtuvo a a o partir de otros estados de los cuales uno ya era nal. Los estados q3 , q5 y q6 no aparecen en el diagrama porque no existe transicin alguna que permita llegar o a ellos. Cualquier cadena que pertenezca al Autmata de la gura 4 tambin o e pertenecer al Autmata de la gura 5. a o

2.1.

Mquinas de Estados Finitos Transductoras a

Una derivacin de los Autmatas son la Mquinas de Estados Finitos Transo o a ductoras, la diferencia es que las Transductoras nos entregan como resultado un conjunto de s mbolos que pertenecen al lenguaje, las aceptadoras nos indican si un conjunto de s mbolos pertenece o no al lenguaje. La diferencia radica en cambiar el conjunto de estados nales por alg n tipo de funcin que nos arroje u o valores. Por su funcionamiento podemos denir a las Mquinas de Estados Finitos a en dos tipos: 1. Mquinas de Estados Finitos Transductoras. a 2. Mquinas de Estados Finitos Aceptadoras. a Ambos tipos de mquinas siguen siendo Autmatas, las transductoras son a o una variacin de las Aceptadoras. o En estas mquinas existe una funcin (la llameremos funcin de salida) que a o o puede tomar como parmetro el estado actual o la transicin de nuestra mquina a o a y arroja un elemento del conjunto de s mbolos de salida. Existe otra funcin (la o llamermos funcin estado) que nos indicar el estado siguiente que deber adopo a a tar nuestra mquina seg n el caracter le de la cadena de entrada y el estado a u do 11

actual. Observamos que la funcin de salida puede tomar como parmetro el o a estado o la transicin, por tanto tenemos 2 tipos de mquinas, las que entregan o a un valor al llegar a un estado y las que entegan un valor al momento de cambiar de estado (transicin). o Mquina de Moore Se denie como la 6-tupla {Q, , S, , , q0 } donde: a Q: Es el conjunto nito de estados. : Es el alfabeto de entrada. S: Es el alfabeto de salida. : Funcin de transicin Q Q. o o : Funcin de Q a S, dado q nos arroja una s donde s S y q Q. o q0 : Estado inicial. Nuestra mquina comienza en su estado inicial q0 , la funcin de salida nos a o entrega un s mbolo s cada vez que llegamos a un estado, la funcin de transio cin lee un elemento de la cadena de entrada e indica el nuevo estado que o adoptaremos, puede ser el mismo, depende del s mbolo le y del estado actual. do Un bonito ejemplo es:

Figura 6: Ejemplo de una Mquina de Moore a

Si introducimos la cadena 11001 la mquina arroja la secuencia de datos a baabba. El primer s mbolo simpre ser el mismo ya que siempre que comenzamos a a analizar una cadena partimos del estado inicial. Mquina de Mealy Tambin se dene como una 6-tupla {Q, , S, , , q0 } a e donde: Q: Es el conjunto nito de estados. : Es el alfabeto de entrada. S: Es el alfabeto de salida. : Funcin de transicin Q Q. o o : Funcin de salida Q S, (qi , a) s donde s S, q Q y a . o 12

q0 : Estado inicial. Aparentemente es muy similar a la Mquina de Moore, notemos que solo a cambia en la funcin de salida , ahora es una funcin donde necesitamos sao o ber un elemento de la cadena de entrada. Ahora nos entregar un resultado a en cada transicin o y no al llegar a cada estado como en las Mquinas Mooo a re. Supongamos que existe una Mquina de Mealy y una Mquina de Moore, a a ambas con el mismo conjunto de estados, el mismo estado incial, el mismo alfabeto de entrada y la misma funcin de transicin. La Mquina de Moore nos o o a arroja un s mbolo desde que entramos al estado inicial, mientras la Mquina de a Mealy hasta que realizamos la primera transicin. Esto da como resultado que o la Mquina de Moore tenga un elemento ms en la salida que la Mquina de a a a Mealy, siempre y cuando se tengan los mismos componentes en ambas mquinas. a Un ejemplo de una Mquina de Mealy es: a

Figura 7: Mquina de Mealy a

A diferencia de la Mquina de Moore se excluye el primer elemento en toa das las cadenas de salida, es decir, si introducimos la misma cadena que en el ejemplo anterior 11001 obtenemos como resultado aabba y podemos observar la equivalencia de ambas mquinas. a

3.

Mquina de Turing a

La idea de una Mquina que pudiera seguir un conjunto de pasos que desa criben cualquier sentencia matemtica, es decir que puede ser descrita por un a algoritmo fu introducida por primera vez por Alan Turing en 1936 en su trae bajo on computable numbers, with an application to the entscheidungsproblem. Una Mquina de Turing es solamente un concepto abstracto y no realmente a una mquina como posiblemente la imaginemos (engranes, circuitos, etc.), pero a s podemos darnos una idea seg n sus propiedades bsicas. u a

13

Imaginemos que nuestra mquina tiene un conjunto nito de estados (Q), a tiene uno y slo un estado inicial (q0 ) el cual siempre es el primero cuando la o mquina comienza a trabajar, puede tener uno o ms estados nales (F ) que le a a indican a la mquina cuando parar . Cambia de un estado a otro y regresa a a ellos cuantas veces es necesario hasta llegar a uno de los estados nales y haber recorrido todos los elementos de una cadena de entrada (E). Tambin tiene un e cabezal de lectura y escritura con el cual puede obtener datos y escribirlos en una cinta que idealmente es innitamete larga, la cual est dividida en casillas a o celdas donde solo puede contener uno y slo uno de los s o mbolos de entrada. Su forma de trabajo es la siguiente: Seg n el estado de la mquina y el valor le de la cadena de entrada escrita en u a do la cinta (un s mbolo por celda), escribe un nuevo s mbolo en esa casilla, mueve la cinta a la derecha o a la izquierda (una celda a la vez) y cambia de estado. Nuevamente lee el s mbolo de la celda actual y seg n su nuevo estado repetir el u a mismo proceso hasta recorrer todos los s mbolos de entrada o situarse en un estado terminal. Existe una funcin de trancis () o tabla de transicin que nos indica, seg n o on o u el estado de la mquina y el valor le el s a do, mbolo a ser escrito y el nuevo estado que se debe adoptar as como el movimiento de la cinta (derecha o izquierda) que se va a realizar. Ahora podemos denir formalmente una Mquina de Turing (MT) como una a 7-tupla de la forma: M T = {Q, , , , q0, B, F } Q: Es el conjunto nifto de estados, son todos y cada uno de los posibles estados en que puede estar nuestra mquina. a : Es un conjunto nito de s mbolos de entrada. Son todos aquellos elementos que va a recibir nuestra mquia para su lectura. a : Es el conjunto nito de s mbolos que puede reconocer nuestra mquina, a es decir, el alfabeto, donde . : Es la funcin de transicin (qi , ) (qk , , R|L), tambin puede ser o o e respresentada por una tabla llamada Tabla de transicin. Y nos indica la funcin o o de nuestra mquina: a La funcin recibe como parmetros el estado qi (qi Q) en el que se o a encuentra actualmente la mquina y un s a mbolo ( ) le de la do cadena de entrada. Tal combinacin de parmetros nos va a dar un nuevo estado (qk ) y eso a cribir un s a mbolo ( ) en la celda donde recin acaba de leer el e s mbolo. Por ultimo se mover la izquierda (R) o a la derecha (R) una sola celda a a la vez y se repetir el mismo proceso ahora con los nuevos valores. a B: Es el s mbolo en blanco, indica que la celda est vac a a. F : Es el conjunto de estados nales.

14

A simple vista parece un modelo sencillo, pero su poder es tal que cualquier modelo computacional o algoritmo existente puede ser modelado por una Mquina de Turing. a Podemos decir que cualquier solucin a un problema que pueda ser repreo sentada por una Mquina de Turing est haciendo una computacin. Si una a a o mquina imprime dos tipos tipos de s a mbolos, donde el primer tipo (llamadas guras) consiste integramante en 1 y 0 y el segundo tipo sern llamados s a mbolos de la segunda especie entonces podemos llamar a esa mquina computadora a [7].

15

Referencias
[1] TRAKHTENBROT B.A. Algortmos y Computadoras. Limusa, 1973. [2] HOPCROFT and ULLMAN. Formal Languages and their Relation to Automata. Addison-Wesley, 1969. [3] MOTWANI HOPCROFT and ULLMAN. Introduction to Automata Theory, Languages and Computation. Pearson Education, 2001. [4] RICHARD JHONSONBAUGH. Matemticas Discretas. Iberoamrica, 1988. a e [5] MINSKY Marvin L. Computation: Finite and Innite Machines. PrenticeHall, 1967. [6] PABLO G. PADILLA. Lenguajes y algebra de eventos regulares. Escuela Superior de Cmputo, 2006. o [7] A.M. TURING. on computable numbers, with an application to the entscheidungsproblem. London Math, Soc., 1936. [8] LAWSON Mark V. Finite Automata. Chapman and Hall-CRC, 2004.

16

También podría gustarte