Solicitado: Ejercicios 05: Autómatas M. en C. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco @efranco_escom edfranco@ipn.mx 1
Contenido Autómata Teoría de Autómatas Definición formal de autómata Representación de un autómata Mediante tablas de transiciones Mediante diagramas de estados Ejemplo Ejercicios 05 Autómatas 2
Autómatas Autómata del griego automatos (αὐτόματος) que significa espontáneo o con movimiento propio. Autómata como una máquina que imita la figura ylosmovimientosdeunseranimado. http://youtu.be/k_g7iss9nfa Nancy http://youtu.be/75cxfwgslsy Joueuse de Tympanon Androides de Jaquet Droz http://youtu.be/nahk-rvmcvq http://www.youtube.com/watch?v=vr0e_wsjkvy 3
Autómata programable: En 1938 el matemático norteamericano Claude Elwood Shannon (1916-2001), estableció las bases de la aplicación de la lógica matemática para los circuitos combinatorios y secuenciales, construidos a bases de relés y más adelante con otros dispositivos de vacío y estado solido. Logrando tener equipos electrónicos programables en lenguaje no informático y diseñado para controlar, en tiempo real y en ambiente industrial, procesos secuenciales. No tiene sus propios movimientos, sino que estos parecen ser de robot. Ejemplos de autómatas programables http://youtu.be/q_4m16ouyza http://www.youtube.com/watch?v=5ncy9jpsefk 4
Los autómatas son sistemas capaces de transmitir información. En amplio sentido, todo sistema que acepta señales de su entorno y, como resultado, cambia de estado y transmite otras señales al medio, puede considerarse un autómata. 5
La entrada es leída símbolo por símbolo, hasta que es "consumida" completamente (piense en esta como una cinta con una palabra escrita en ella, que es leída por una cabeza lectora del autómata; la cabeza se mueve a lo largo de la cinta, leyendo un símbolo a la vez) una vez la entrada se ha agotado, el autómata se detiene. 6
Teoría de Autómatas Para la teoría de la computación existe un área de estudio conocida como la teoría de autómatas, esta estudia las máquinas abstractas y los problemas que éstas son capaces de resolver. Un autómata es un modelo matemático para una máquina de estados, que, dada una entrada de símbolos, "salta" a través de una serie de estados de acuerdo a una función de transición produciendo salidas. 7
La teoría de autómatas está estrechamente relacionada con la teoría del lenguaje formal ya que los autómatas son clasificados a menudo por la clase de lenguajes formales que son capaces de reconocer. 8
Si la información se codifica en cadenas de símbolos, podemos con un autómata manipular cadenas de símbolos que se le presentan a su entrada, produciendo otras tiras o cadenas de símbolos a su salida. 9
El autómata recibe los símbolos de entrada, uno detrás de otro, es decir secuencialmente. El símbolo de salida que en un instante determinado produce un autómata, no sólo depende del último símbolo recibido a la entrada, sino de toda la secuencia o cadena, que ha recibido hasta ese instante. 10
El estado de un autómata es toda la información necesaria en un momento dado, para poder deducir, dado un símbolo de entrada en ese momento, cual seráelsímbolodesalida,i.e.conocerelestadode un autómata, es lo mismo que conocer toda la historia de símbolos de entrada, así como el estado inicial, estadoenque se encontraba el autómata al recibir el primero de los símbolos de entrada. El autómata tendrá un determinado número de estados (pudiendo ser infinitos), y se encontrará en uno u otro según sea la historia de símbolos que le han llegado. Se define configuración de un autómata a su situación en un instante. Se define movimiento de un autómata como el transito entre dos configuraciones. 11
Si un autómata se encuentra en un estado determinado, recibe un símbolo también determinado, producirá un símbolo de salida y efectuará un cambio o transición a otro estado(también puede quedarse en el mismo estado). Su aplicación en la teoría de lenguajes se da ya que los elementos del lenguaje son sentencias, palabras, etc... i.e. cadenas formadas a partir de un alfabeto, que no es otra cosa que un conjunto finito de símbolos. Una cadena de símbolos pertenecerá al correspondiente lenguaje si tal cadena se ha formado obedeciendo esas reglas. Entonces un autómata reconocedor de ese lenguaje, funciona de tal forma que cuando reciba a su entrada una determinada cadenadesímbolosindicasidichacadenaperteneceonoal lenguaje. 12
Definición formal de autómata Un autómata es una quíntuplaa = ( E, S, Q, f, g ) donde : E = {conjunto de entradas o vocabulario de entrada} E es un conjunto finito, y sus elementos se llaman entradas o símbolos de entrada. S = {conjunto de salidas o vocabulario de salida} S es un conjunto finito, y sus elementos se llaman salidas o símbolos de salida. Q = {conjunto de estados} Q es el conjunto de estados posibles, puede ser finito o infinito f es la función de transición o función del estado siguiente, y para un par del conjunto E Q devuelve un estado perteneciente al conjunto Q, y es el producto cartesiano de E por Q. g es la función de salida, y para un par del conjunto E Q, devuelve un símbolo de salida del conjunto S. 13
Representación de un autómata Los autómatas se pueden representar mediante : Tablas de transiciones y salidas Diagramas de estados 14
Representación de un autómata (Mediante tablas de transiciones y salidas) Las funciones f y g pueden representarse mediante una tabla, con tantas filas como estados y tantas columnas como entradas. Así por ejemplo se puede representar el autómata A=( E, S, Q, f, g ) donde E={a,b}, S={0,1}, Q={q1, q2, q3} y las funciones f y g sepuedenrepresentarpor: 15
Representación de un autómata (Mediante tablas de transiciones) Ambas funciones también se pueden representar en una misma tabla de la siguiente forma : 16
Representación de un autómata (Mediante diagramas de estado) Los diagramas de estado son otra forma de representar las funciones de transición y salida de un autómata. El diagrama de estados es un grafo orientado en el que cada nodo corresponde a un estado; y si f(ε,q i )=q j y g(ε,q i )=sexisteunarcodirigidodelnodo q i al correspondiente q j, sobre el que se pone la etiqueta ε/s. 17
Representación de un autómata (Mediante diagramas de estado) Para el ejemplo: 18
Ejemplo 19
20
Ejercicios 05 Autómatas Construir una maquinas de estado para cada caso 1. Complementar una secuencia de bits a la entrada 2. Recibir una secuencia de bits y retardar la entrada una unidad de tiempo.esdecir,silaentradafuex 1,X 2,X 3,,X k,lasalidaserá0, X 1,X 2,X 3,,X k-1. 3. Recibir una secuencia de bits y retardar la entrada dos unidades de tiempo. 4. En un esquema de codificación, cuando 3 unos consecutivos aparecen en un mensaje, el receptor del mensaje conoce que ha habido un error en la transmisión. Detectar el error. *Se entregarán antes del día Viernes 27 de Septiembre de 2013 (23:59:59 hora limite). *Incluir la redacción de cada ejercicio *Portada y encabezados de pagina. 21