LENGUAJES Y GRAMÁTICAS

Todo proceso de comunicación involucra un lenguaje. En la comunicación entre personas se utilizan los llamados lenguajes naturales mientras que la comunicación entre personas y máquinas se produce mediante los lenguajes artificiales [8].

Un lenguaje es un conjunto de palabras (o cadenas o sentencias o hileras o frases) formadas por símbolos de un alfabeto.

se desarrollan a partir de reglas establecidas a priori. esto es: al conjunto de formas válidas de combinar los símbolos del alfabeto [8]. y las reglas que los describen se desarrollan con posterioridad a su aparición. 2 . evolucionan con el tiempo y a través de su uso. según estados internos que determinan esas salidas [8]. Un autómata o máquina abstracta es un dispositivo teórico que permite recibir y transmitir información. en cambio. manipulando cadenas de símbolos de la entrada y dando cadenas de símbolos a la salida. se desarrollan con un fin específico y no cambian con el tiempo.Llamaremos gramática a la estructura del lenguaje. Los lenguajes naturales existen “de hecho”. Los lenguajes formales.

1928) que en 1957 publicó su obra “Syntactic Structures” marcando un hito fundamental en el estudio de la lingüística. puesto que cada tipo puede considerarse un caso particular de las de tipo más general: 3 .El siguiente esquema represente la relación entre estos tres conceptos: Las gramáticas fueron estudiadas por el norteamericano Noam Abraham Chomsky (n. Chomsky agrupó las gramáticas en cuatro tipos: El siguiente gráfico ilustra la relación entre las gramáticas.

y posteriormente Moore publica un estudio riguroso sobre autómatas a fines de los años ’50 [8]. 1.) que indicaremos V (en algunos texto se lo indica Σ) Una palabra o cadena es una sucesión finita de símbolos de V. (Como nos vamos a ocupar de los lenguajes formales. Un alfabeto es un conjunto no vacío y finito de símbolos (letras.Cada gramática G. es muy probable que las palabras con que trabajemos no tengan. para i = 0. Los compiladores de los lenguajes de programación y los editores de texto son ejemplos de autómatas [8]. genera un lenguaje L(G). entre gramáticas y autómatas y entre lenguajes y autómatas: una gramática determina las reglas para decir si una cadena pertenece a un lenguaje. números. en base a ella se construye un autómata que reconoce las cadenas y decide si pertenecen al lenguaje o no. Los autómatas comienzan con los estudios de Shannon. signos de puntuación. 4 . para nosotros. quien aplica a la lógica los llamados circuitos combinatorios y secuenciales. etc. Existen correspondencias biunívocas entre lenguajes y gramáticas. de Tipo i. ningún sentido desde el punto de vista del lenguaje español) [8].2 y 3. que también se dice de Tipo i.

por lo tanto longitud 0. Para cada alfabeto existen infinitos lenguajes (tantos como subconjuntos tiene V*) 5 . Se indica con λ la palabra vacía. que se indica V*. que se indica L(V). Un lenguaje sobre V. w ). Por convención λ ∈V *. al conjunto infinito de todas las palabras que se pueden formar con los caracteres de V. en algunos textos.La longitud de una palabra es el número de símbolos de V que la forman. es cualquier subconjunto de V*. La longitud de una palabra w se indica long(w) o w (o. Se llama universo de V. que no contiene ningún símbolo y tiene.

uno o ningún estado. [11] Por lo tanto: Un semiautómata no-determinista es una estructura de la forma que se explica mas adelante. estímulo) le asocian varios. tal que para un símbolo a ∈ Σ del alfabeto.a)=q2. salvo que sus transiciones. posee al menos un estado q ∈ Q. existe más de una transición δ(q. siendo q1 ≠ q2.AUTÓMATAS DE ESTADO FINITO NO DETERMINISTA Los autómatas no-deterministas se conforman como los autómatas finitos ya vistos.[11 Un AFN puede estar en varios estados al mismo tiempo. En un AFND puede darse cualquiera de estos dos casos: • Que existan transiciones del tipo δ(q.a) posible [9]. puede adivinar a que estado ir en la próxima lectura de símbolo de entrada. a diferencia de los autómatas finitos deterministas (AFD). visto de otra forma. en lugar de ser funciones.a)=q1 y δ(q. [12] Definición formal Un autómata finito no determinista (abreviado AFND) es un autómata finito que. 6 . son relaciones que a cada pareja (estado. [12] Ejemplo: Autómata que acepta todas las cadenas que finalizan con 01.

es una función de transición. se dice que el autómata es un autómata finito no determinista con transiciones vacías o transiciones ε (abreviado AFND-ε). δ. es un alfabeto. es el estado inicial.• Que existan transiciones del tipo δ(q. Considérese una modificación al modelo del autómata finito para permitirle ninguna.ε). q0. F) donde: • • • • • es un conjunto de estados. o bien un estado final pero con transiciones hacia otros estados. en un AFND la función de transición se define como: Para el caso de los AFND-ε. si bien un autómata finito determinista se define como una 5-tupla (Q. puesto que Q pertenece al conjunto P(Q). Estas transiciones permiten al autómata cambiar de estado sin procesar ningún símbolo de entrada. 7 . Cuando se cumple el segundo caso. Esto significa que los autómatas finitos deterministas son un caso particular de los no deterministas. una o más transiciones de un estado sobre el mismo símbolo de entrada [9]. siendo q un estado no-final. Σ. es un conjunto de estados finales o de aceptación. Formalmente. se suele expresar la función de transición de la forma: donde P(Q) es el conjunto potencia de Q.

se dice que el AFND acepta la cadena. Hasta que se producen estos acontecimientos posteriores no es posible determinar en qué estado se encuentra la máquina”. Por lo tanto. y se encuentra en un estado de aceptación. Funcionamiento La máquina comienza en el estado inicial especificado y lee una cadena de caracteres pertenecientes al alfabeto. Ejemplo: Un autómata que reconoce las cadenas que contienen la subcadena aba: 8 . El autómata utiliza la función de transición de estados T para determinar el siguiente estado. "el estado siguiente de un AFND no sólo depende de el evento de entrada actual. sino que también en un número arbitrario de los eventos de entrada posterior.La interpretación que se suele hacer en el cómputo de un AFND es que el autómata puede pasar por varios estados a la vez. es posible convertir un AFND existente en un AFD para el desarrollo de una máquina tal vez más simple. de lo contrario se dice que la cadena de caracteres es rechazada. Asimismo. Tanto para un AFND como para un autómata finito determinista (AFD) se puede aceptar el mismo lenguaje. en un autómata finito no determinista podemos aceptar la existencia de más de un nodo inicial [9]. Sin embargo. Cuando el autómata ha terminado de leer. Esto puede llevarse a cabo utilizando la construcción del conjunto potencia. que puede conducir a un aumento exponencial en el número de estados necesarios [9]. usando el estado actual y el símbolo que acaba de leer o la cadena vacía. generándose una ramificación de las configuraciones existentes en un momento dado.

((2. Estado Inicial.2} Σ= {a.1).Su definición formal de este autónoma seria la siguiente: Q= {1.En el estado 1 al introducir aba pasamos al estado 2 4. Alfabeto (variables).((2.En el estado 2 al introducir a regresamos al estado 2 5 –En el estado 2 al introducir b regresamos al estado 2 9 .2)} Estados.b).En el estado 1 al introducir b regresamos al estado 1 3.1). Función de transferencia Lo que pasa con la función de transferencia es lo siguiente: 1.2).a).En el estado 1 al introducir a regresamos al estado 1 2.a).((1.((1.2).b} I={1} F={2} Δ={((1.aba).b). Estado final.

6 –Al pasar aba podemos deducir que el estado termina por que cualquier variable que se introduzca estará ciclando en el proceso (estado 2) 10 .

La manera para ejemplificar estos paso es construyendo una tabla de estados como se muestra a continuación. Alfabeto(varia bles) a 1 2 1 2 b 1 2 aba 2 0 Estados Estado en el que se encuentran Ejemplo: 11 .

).b).(( . Maquina de Moore  Es un automata de estado finito donde las salidas son determinadas por el estado corriente solo (y no por la entrada). ). ).a).c} I={ F={ Δ={(( } } . ).(( .a). } } Tabla de transición: a b 0 c 0 .a).(( . 0 0 Dos tipos de Transductores: 1. la salida depende solamente del estado.(( .Definición formal: Q= { Σ= {a.  El diagrama incluye una señal de salida para cada estado.  Utiliza solo acciones de entrada.(( .  La ventaja es la simplificación del comportamiento 12 .b). ).c). 0 .

 Reconoce dos comandos: “comando_abrir o encendido” y “comando_cerrar o apagado” que disparan la alteración de estado. [13] Equivalencia entre AFD y AFN 13 . esta es un tipo de máquina de estados finitos donde las salidas se generan como producto de la transición entre los estados. [13] La siguiente imagen es un ejemplo del mismo: 2. En el siguiente ejemplo. la luz se ve afectada por el proceso de cambios de estado. Máquina de Meadley:  A diferencia de una máquina de Moore .

existe un AFD D. tal que L(D)=L(N) y viceversa. para cualquier AFN N.  El método empleado la conversión se conoce como Construcción de Subconjuntos. Los AFN son más fáciles de diseñar  De manera sorpresiva. [12] 14 .

doc  [3] Stephen Brown y Zvonko Vranesic.slideshare.edu. Hugo David. “Autómanas no-deterministas” http://delta.Capítulo 8  [4] Angulo Usategui.html  [12] Dr. http://www.Referencias.com/doc/60079964/55/RELACION-ENTRE-AUTOMATASY-GRAMATICAS  [11] Guillermo Morales-Luna . http://www.ar/utn/discreta/Unidad%20VI.cinvestav.php? media=bibliografia:capitulo3. Introducción a la teoría de gramáticas: Lenguajes y autómatas. http://www. Universidad de Guadalajara. http://www. Autómatas de Estados Finitos . Editorial Pacífico.pdf  [8] Silvia Seminara.Perú. Electrónica Digital y Microprogramable.fdi. http://sistemas.uniandes. Teoría de autómatas.mx/rmarcial/LenguajesFormales/Clase4y5.cs. TEORÍA DE LA COMPUTACIÓN.net/equipolf/teoria-de-automatas  [10] Teoría de autómatas y lenguajes formales http://es.pdf  [9] Silvana Arias.ppt 15 . del libro “Fundamentos de Lógica Digital con diseño VHDL” .co/~isis1106/dokuwiki/lib/exe/fetch. Takahashi .2007  [5] Calderon Vilca.com/trabajos62/teoria-gramaticalenguaje-automata/teoria-gramatica-lenguaje-automata.uaemex. Matemática Discreta.2008  [6] GÓMEZ ANDRADE ABELARDO. Texto para el curso impartido en el CUCEI  [7] S. autómatas y calculabilidad . José Maria.shtml  [2] Lenguajes.clasesba.ucm.scribd. MATEMÁTICAS DISCRETAS PARA LA CIENCIA COMPUTACIÓN. Editorial paraninfo.mx/~gmorales/ta/node6o. José Raymundo Marcial Romero “Autómata finito no determinista” http:// fi.com.es/profesor/vaquero/TALF/Cap1/1INTRODUCCI %C3%93N.monografias. Cap 6.  [1] Jhenny Castillo Tapia.

slideshare. José Valentin “Máquinas de estado finito” http://www. [13] Andrea Peña.net/junito86/presentacion-2-maquinas-de-estado-finito 16 .

Sign up to vote on this title
UsefulNot useful