Professional Documents
Culture Documents
Ingeniera Mecatrnica
Materia: PROGRAMACIN EN TIEMPO REAL
Integrantes Equipo 1: Alcntara Gutirrez Fanny Gmez Escobar Jorge Arnulfo Lpez Jimnez Violeta Martnez Martnez Luis Velzquez De La Rosa Ivn Profesor: Ing. Romualdo Jonatan Quintero Hernndez
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
2013
TABLA DE CONTENIDO
4.1 INTRODUCCIN A LENGUAJES Y AUTMATAS ..................................................... 3 Conceptos Fundamentales de la Teora de Autmatas .................................................. 3 Alfabetos..................................................................................................................... 3 Cadenas de Caracteres .............................................................................................. 3 La Cadena Vaca .................................................................................................... 3 Longitud de una Cadena............................................................................................. 3 Potencias de un Alfabeto ............................................................................................ 4 EJEMPLO ............................................................................................................... 4 Lenguajes ................................................................................................................... 4 4.2 CIRCUITOS SECUENCIALES Y MQUINAS DE ESTADO FINITO ............................ 6 Circuitos Secuenciales ................................................................................................... 6 Sistema Secuencial ........................................................................................................ 6 Clasificacin de Sistemas Secuenciales ..................................................................... 7 ESTRUCTURA GENERAL DE UN SISTEMA SECUENCIAL SNCRONO ................. 7 ELEMENTOS DE MEMORIA: FLIP-FLOP o BIESTABLE ....................................... 7 Sistemas Secuenciales Asncronos ............................................................................ 8 SISTEMAS SECUENCIALES ASNCRONOS: Modo de PULSO ............................ 8 SISTEMAS SECUENCIALES ASNCRONOS: Modo de NIVEL .............................. 8 Mquinas de Estado Finito ............................................................................................. 9 Mquinas de Estado Finito con Salida ........................................................................ 9 Mquina de Estado Finito sin Salida ........................................................................... 9 4.3 Autmatas de Estado Finito ....................................................................................... 10 Autmatas Finitos ........................................................................................................ 10 Autmatas Finitos Deterministas .................................................................................. 10 Cmo se procesa una cadena AFD .......................................................................... 11 Notaciones ms Simples para los AFD ..................................................................... 11 Diagrama de Transiciones..................................................................................... 11 Tablas de Transiciones ......................................................................................... 12 Expresiones Regulares ................................................................................................ 12 Diagrama de transiciones de Expresiones Regulares ............................................... 12 FUENTES DE INFORMACIN ........................................................................................ 15
Pgina 2 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
2013
Pgina 3 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
Potencias de un Alfabeto
2013
Si es un alfabeto, podemos expresar el conjunto de todas las cadenas de una determinada longitud de dicho alfabeto utilizando una notacin exponencial. Definimos para que sea el conjunto de las cadenas de longitud k, tales que cada uno de los smbolos de las mismas pertenece a . EJEMPLO Observe que = {}, independientemente de cul sea el alfabeto . Es decir, es la nica cadena cuya longitud es 0. Si ={0,1}, entonces 1={0,1}, ={00,01,10,11}, ={000,001,010,011,100,101,110,111}, etc. Observe que existe una ligera confusin entre y . Lo primero es un alfabeto; sus elementos 0 y 1 son los smbolos. Lo segundo es un conjunto de cadenas; sus elementos son las cadenas 0 y 1, cuya longitud es igual a 1. No vamos a utilizar notaciones diferentes para los dos conjuntos, confiando en que el contexto deje claro si {0,1} o algn otro conjunto similar representa un alfabeto o un conjunto de cadenas. Por convenio, el conjunto de todas las cadenas de un alfabeto se designa mediante . Por ejemplo, {0,1}* = {, 0, 1, 00, 01, 10, 11, 000,}. Expresado de otra forma, = 0 U 1 U 2 UU n En ocasiones, desearemos excluir la cadena vaca del conjunto de cadenas. El conjunto de cadenas no vacas del alfabeto se designa como +. Por tanto, dos equivalencias apropiadas son: += 1 U 2 U 3 U U n. *= + U {}. Lenguajes Un conjunto de cadenas, todas ellas seleccionadas de un *, donde es un determinado alfabeto se denomina lenguaje. Si es un alfabeto y L *, entonces L es un lenguaje de . Observe que un lenguaje de no necesita incluir cadenas con todos los smbolos de , ya que una vez que hemos establecido que L es un lenguaje de . La eleccin del trmino lenguaje puede parecer extraa. Sin embargo, los lenguajes habituales pueden interpretarse como conjuntos de cadenas. Un ejemplo sera el ingls, donde la coleccin de las palabras correctas inglesas es un conjunto de cadenas del alfabeto que consta de todas las letras. Otro ejemplo es el lenguaje C, o cualquier otro lenguaje de programacin, donde los programas correctos son un subconjunto de las posibles cadenas que pueden formarse a partir del alfabeto del lenguaje. Este alfabeto es un subconjunto de los caracteres ASCII. El alfabeto en concreto puede diferir ligeramente entre diferentes lenguajes de programacin, aunque generalmente incluye las letras Pgina 4 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
2013
maysculas y minsculas, los dgitos, los caracteres de puntuacin y los smbolos matemticos. Algunos ejemplos son los siguientes: 1) El lenguaje de todas las cadenas que constan de n ceros seguidos de n unos para cualquier n 0: {, 01, 0011, 000111,}. 2) El conjunto de cadenas formadas por el mismo nmero de ceros que de unos: {, 01, 10, 0011, 0101, 1001,} 3) El conjunto de nmeros binarios cuyo valor es un nmero primo: {10, 11, 101, 111, 1011,} 4) * es un lenguaje para cualquier alfabeto . 5) , el lenguaje vaco, es un lenguaje de cualquier alfabeto. 6) {}, el lenguaje que consta slo de la cadena vaca, tambin es un lenguaje de cualquier alfabeto. Observe que {}; el primero no contiene ninguna cadena y el segundo slo tiene una cadena. La nica restriccin importante sobre lo que puede ser un lenguaje es que todos los alfabetos son finitos. De este modo, los lenguajes, aunque pueden tener un nmero infinito de cadenas, estn restringidos a que dichas cadenas estn formadas por los smbolos que definen un alfabeto finito y prefijado.
Pgina 5 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
2013
Sistema Secuencial
La forma de operar de un sistema secuencial A. Operacin secuencial del sistema: dado un estado y una entrada el sistema produce una salida y el estado siguiente:
B. Se describe mediante un diagrama de estados (Secuencia de grafos) por los que pasa el circuito como consecuencia de las sucesivas entradas y las salidas que produce.
Pgina 6 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
Clasificacin de Sistemas Secuenciales Clasificacin de sistemas secuenciales:
2013
Sistemas sncronos: Slo se observa el sistema durante el pulso de reloj marcapasos. El reloj establece cuando se modifica el estado (no la salida: sistemas Mealy). Sistemas asncronos: El sistema es permanentemente activo. Un cambio en alguna de las entradas del sistema: induce un transitorio que evoluciona hasta el siguiente estado. ESTRUCTURA GENERAL DE UN SISTEMA SECUENCIAL SNCRONO
Dos bloques bsicos: en coincidencia con el pulso de reloj Un bloque combinacional que : Lee las variables de entrada y de estado. Genera las funciones booleanas de salida y de excitacin. Un bloque de memoria que: Recuerda la evolucin del sistema. Configura el estado anterior. El nuevo estado se generar y ser ledo con el nuevo pulso de reloj. ELEMENTOS DE MEMORIA: FLIP-FLOP o BIESTABLE BIESTABLE: circuito secuencial que se caracteriza por: Tener dos estados estables: almacena permanentemente un bit 0 y 1: Estado: contenido de la memoria Se mantiene indefinidamente en uno de los estados posibles Entradas o seales externas de excitacin hacen que el BIESTABLE cambie de estado. NOTA: La funcin de excitacin es caracterstica de cada tipo de biestable (D, T, RS o JK). Pgina 7 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
2013
Tienen dos salidas: y : son las variables de estado (definen los estados internos) Las salidas dependen de las entradas (vars de excitacin) y del estado anterior.
Sistemas Secuenciales Asncronos Son aquellos que NO se encuentran pilotados por un pulso de reloj. Alta velocidad de respuesta. Dos tipos: Sistemas de modo de nivel: cambio en una de las entradas. Sistemas de modo de pulso: doble cambio en una entrada a pulso SISTEMAS SECUENCIALES ASNCRONOS: Modo de PULSO Se disean con elementos de memoria sin reloj (latches).
NO pulsos simultneos en dos o ms entradas (n entradas, n+1 posibles condiciones de entrada). Transiciones de los elementos de memoria iniciadas por los pulsos de entrada. Las variables de entrada slo se utilizan en la forma no complementada ( ) o complementada (Q), pero no en ambas. SISTEMAS SECUENCIALES ASNCRONOS: Modo de NIVEL El cambio de nivel de una entrada provoca el posible cambio de la salida y el estado. No son necesarios elementos de memoria. Circuito combinacional realimentado.
Pgina 8 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
2013
Pgina 9 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
2013
Pgina 10 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
2013
Donde A es el nombre del AFD, Q es su conjunto de estados, son los smbolos de entrada, es la funcin de transicin, q0 es el estado inicial y F es el conjunto de estados finales. Cmo se procesa una cadena AFD Lo primero que tenemos que entender sobre un AFD es cmo decide si aceptar o no una secuencia de smbolos de entrada. El lenguaje del AFD es el conjunto de todas las cadenas que acepta. Supongamos que a1a2 an es una secuencia de smbolos de entrada. Comenzaremos con el AFD en el estado inicial, q0. Consultamos la funcin de transicin , por ejemplo (q0, a1)= q1 para hallar el estado al que pasar el AFD A despus de procesar el primer smbolo de entrada a1. A continuacin procesamos el siguiente smbolo de entrada, a2, evaluando (q1, a2); supongamos que este estado es q2. Continuamos aplicando el mismo procedimiento para hallar los estados q3, q4,, qn tal que (qi-1, ai)= qi para todo i. Si qn pertenece a F, entonces la entrada a1a2 an se acepta y, si no lo es se rechaza. Notaciones ms Simples para los AFD Especificar un AFD utilizando una quntupla con una descripcin detallada de la funcin de transicin resulta bastante tedioso y complicado de leer. Hay disponibles dos notaciones ms cmodas para describir los autmatas: 1) Un diagrama de transiciones, que es un grafo. 2) Una tabla de transiciones, que es una ordenacin tabular de la funcin , la cual especifica el conjunto de estados y el alfabeto de entrada. Diagrama de Transiciones Un diagrama de transiciones de un AFD A= (Q, , , q0, F) es un grafo definido como sigue: a) Para cada estado de Q, existe un nodo. b) Para cada estado q de Q y cada smbolo de entrada a de , sea (q, a)= p. Entonces, el diagrama de transiciones tiene un arco desde el nodo q hasta el nodo p, etiquetado como a. Si existen varios smbolos de entrada que dan lugar a transiciones desde q hasta p, entonces el diagrama de transiciones puede tener un nico arco etiquetado con la lista de estos smbolos. c) Existe una flecha dirigida al estado inicial q0, etiquetada como Inicio. Esta flecha no tiene origen en ningn nodo. d) Los nodos correspondientes a los estados de aceptacin (los que pertenecen a F) estn marcados con un doble crculo. Los estados que no pertenecen a F tienen un crculo simple.
Pgina 11 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
Tablas de Transiciones
2013
Una tabla de transiciones es una representacin tabular convencional de una funcin, como por ejemplo , que toma dos argumentos y devuelve un valor. Las filas de la tabla corresponden a los estados y las columnas a las entradas. La entrada para la fila correspondiente al estado q y la columna correspondiente a la entrada a es el estado (q, a).
Expresiones Regulares
* Estrella de Kleene, repeticin (0-n). + Cierre positivo, repeticin (1-n). | Alternativa.
EJEMPLO: 0*1 = {1, 01, 001,, 00001, n1} Diagrama de transiciones de Expresiones Regulares I. (Cadena Vaca):
II.
a (Cadena a):
III.
a*:
Pgina 12 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
IV. a+:
2013
V.
a|b:
VI.
(a|b)*:
VII.
(ac|b)*:
Pgina 13 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
VIII. (b|bc)+:
2013
IX.
x*w*yz:
Pgina 14 de 15
U N I D AD 4 : L E N G U AJ E S Y AU T M ATAS
2013
FUENTES DE INFORMACIN
Teora de Autmatas, Lenguajes y Computacin, John E. Hopcroft, et al., Ed. Pearson, Tercera edicin, 2007. Matemtica Discreta y sus aplicaciones, Kenneth H. Rosen, Ed. Mac Graw Hill, Quinta edicin, 2004. Matemticas Discretas, Richard Johnsonbaugh, Ed. Pearson, 2005.
Pgina 15 de 15