Sunteți pe pagina 1din 16

LENGUAJES Y GRAMTICAS

Todo proceso de comunicacin involucra un lenguaje. En la comunicacin entre personas se utilizan los llamados lenguajes naturales mientras que la comunicacin entre personas y mquinas se produce mediante los lenguajes artificiales [8].

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

Llamaremos gramtica a la estructura del lenguaje, esto es: al conjunto de formas vlidas de combinar los smbolos del alfabeto [8].

Los lenguajes naturales existen de hecho, evolucionan con el tiempo y a travs de su uso, y las reglas que los describen se desarrollan con posterioridad a su aparicin. Los lenguajes formales, en cambio, se desarrollan a partir de reglas establecidas a priori, se desarrollan con un fin especfico y no cambian con el tiempo. Un autmata o mquina abstracta es un dispositivo terico que permite recibir y transmitir informacin, manipulando cadenas de smbolos de la entrada y dando cadenas de smbolos a la salida, segn estados internos que determinan esas salidas [8].

El siguiente esquema represente la relacin entre estos tres conceptos:

Las gramticas fueron estudiadas por el norteamericano Noam Abraham Chomsky (n. 1928) que en 1957 public su obra Syntactic Structures marcando un hito fundamental en el estudio de la lingstica. Chomsky agrup las gramticas en cuatro tipos:

El siguiente grfico ilustra la relacin entre las gramticas, puesto que cada tipo puede considerarse un caso particular de las de tipo ms general:

Cada gramtica G, de Tipo i, genera un lenguaje L(G), que tambin se dice de Tipo i, para i = 0, 1,2 y 3. Los autmatas comienzan con los estudios de Shannon, quien aplica a la lgica los llamados circuitos combinatorios y secuenciales, y posteriormente Moore publica un estudio riguroso sobre autmatas a fines de los aos 50 [8]. Existen correspondencias biunvocas entre lenguajes y gramticas, entre gramticas y autmatas y entre lenguajes y autmatas: una gramtica determina las reglas para decir si una cadena pertenece a un lenguaje; en base a ella se construye un autmata que reconoce las cadenas y decide si pertenecen al lenguaje o no. Los compiladores de los lenguajes de programacin y los editores de texto son ejemplos de autmatas [8]. Un alfabeto es un conjunto no vaco y finito de smbolos (letras, nmeros, signos de puntuacin, etc.) que indicaremos V (en algunos texto se lo indica ) Una palabra o cadena es una sucesin finita de smbolos de V. (Como nos vamos a ocupar de los lenguajes formales, es muy probable que las palabras con que trabajemos no tengan, para nosotros, ningn sentido desde el punto de vista del lenguaje espaol) [8].

La longitud de una palabra es el nmero de smbolos de V que la forman. La longitud de una palabra w se indica long(w) o w (o, en algunos textos, w ). Se indica con la palabra vaca, que no contiene ningn smbolo y tiene, por lo tanto longitud 0. Se llama universo de V, que se indica V*, al conjunto infinito de todas las palabras que se pueden formar con los caracteres de V. Por convencin V *. Un lenguaje sobre V, que se indica L(V), es cualquier subconjunto de V*. Para cada alfabeto existen infinitos lenguajes (tantos como subconjuntos tiene V*)

AUTMATAS DE ESTADO FINITO NO DETERMINISTA


Los autmatas no-deterministas se conforman como los autmatas finitos ya vistos, salvo que sus transiciones, en lugar de ser funciones, son relaciones que a cada pareja (estado, estmulo) le asocian varios, uno o ningn estado. [11] Por lo tanto: Un semiautmata no-determinista es una estructura de la forma que se explica mas adelante.[11 Un AFN puede estar en varios estados al mismo tiempo; visto de otra forma, puede adivinar a que estado ir en la prxima lectura de smbolo de entrada. [12] Ejemplo: Autmata que acepta todas las cadenas que finalizan con 01. [12]

Definicin formal Un autmata finito no determinista (abreviado AFND) es un autmata finito que, a diferencia de los autmatas finitos deterministas (AFD), posee al menos un estado q Q, tal que para un smbolo a del alfabeto, existe ms de una transicin (q,a) posible [9]. En un AFND puede darse cualquiera de estos dos casos:

Que existan transiciones del tipo (q,a)=q1 y (q,a)=q2, siendo q1 q2;

Que existan transiciones del tipo (q,), siendo q un estado no-final, o bien un estado final pero con transiciones hacia otros estados.

Cuando se cumple el segundo caso, se dice que el autmata es un autmata finito no determinista con transiciones vacas o transiciones (abreviado AFND-). Estas transiciones permiten al autmata cambiar de estado sin procesar ningn smbolo de entrada. Considrese una modificacin al modelo del autmata finito para permitirle ninguna, una o ms transiciones de un estado sobre el mismo smbolo de entrada [9]. Formalmente, si bien un autmata finito determinista se define como una 5-tupla (Q, , q0, , F) donde:

es un conjunto de estados; es un alfabeto; es el estado inicial; es una funcin de transicin; es un conjunto de estados finales o de aceptacin.

en un AFND la funcin de transicin se define como:

Para el caso de los AFND-, se suele expresar la funcin de transicin de la forma:

donde P(Q) es el conjunto potencia de Q. Esto significa que los autmatas finitos deterministas son un caso particular de los no deterministas, puesto que Q pertenece al conjunto P(Q).

La interpretacin que se suele hacer en el cmputo de un AFND es que el autmata puede pasar por varios estados a la vez, generndose una ramificacin de las configuraciones existentes en un momento dado. Asimismo, en un autmata finito no determinista podemos aceptar la existencia de ms de un nodo inicial [9]. Funcionamiento La mquina comienza en el estado inicial especificado y lee una cadena de caracteres pertenecientes al alfabeto. El autmata utiliza la funcin de transicin de estados T para determinar el siguiente estado, usando el estado actual y el smbolo que acaba de leer o la cadena vaca. Sin embargo, "el estado siguiente de un AFND no slo depende de el evento de entrada actual, sino que tambin en un nmero arbitrario de los eventos de entrada posterior. Hasta que se producen estos acontecimientos posteriores no es posible determinar en qu estado se encuentra la mquina. Cuando el autmata ha terminado de leer, y se encuentra en un estado de aceptacin, se dice que el AFND acepta la cadena, de lo contrario se dice que la cadena de caracteres es rechazada. Tanto para un AFND como para un autmata finito determinista (AFD) se puede aceptar el mismo lenguaje. Por lo tanto, es posible convertir un AFND existente en un AFD para el desarrollo de una mquina tal vez ms simple. Esto puede llevarse a cabo utilizando la construccin del conjunto potencia, que puede conducir a un aumento exponencial en el nmero de estados necesarios [9]. Ejemplo: Un autmata que reconoce las cadenas que contienen la subcadena aba:

Su definicin formal de este autnoma seria la siguiente: Q= {1,2} = {a,b} I={1} F={2} ={((1,a),1),((1,b),1),((1,aba),2),((2,a),2),((2,b),2)} Estados. Alfabeto (variables). Estado Inicial. Estado final. Funcin de transferencia

Lo que pasa con la funcin de transferencia es lo siguiente:

1- En el estado 1 al introducir a regresamos al estado 1 2- En el estado 1 al introducir b regresamos al estado 1 3- En el estado 1 al introducir aba pasamos al estado 2 4- En el estado 2 al introducir a regresamos al estado 2 5 En el estado 2 al introducir b regresamos al estado 2

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 continuacin.

Alfabeto(varia bles)
a 1 2
1 2

b
1 2

aba
2 0

Estados

Estado en el que se encuentran

Ejemplo:

11

Definicin formal: Q= { = {a,c} I={ F={ ={(( } } ,a), ),(( ,a), ),(( ,b), ),(( ,c), ),(( ,a), ),(( ,b), } }

Tabla de transicin:

b
0

c
0

, 0

, 0 0

Dos tipos de Transductores: 1. Maquina de Moore Es un automata de estado finito donde las salidas son determinadas por el estado corriente solo (y no por la entrada). El diagrama incluye una seal de salida para cada estado. Utiliza solo acciones de entrada, la salida depende solamente del estado.
La ventaja es la simplificacin del comportamiento 12

Reconoce

dos

comandos:

comando_abrir

encendido

comando_cerrar o apagado que disparan la alteracin de estado. [13] La siguiente imagen es un ejemplo del mismo:

2. Mquina de Meadley:
A diferencia de una mquina de Moore , esta es un tipo de mquina de

estados finitos donde las salidas se generan como producto de la transicin entre los estados. En el siguiente ejemplo, la luz se ve afectada por el proceso de cambios de estado. [13]

Equivalencia entre AFD y AFN


13

Los AFN son ms fciles de disear De manera sorpresiva, para cualquier AFN N, existe un AFD D, tal que L(D)=L(N) y viceversa.
El mtodo empleado la conversin se conoce como Construccin de

Subconjuntos. [12]

14

Referencias.
[1] Jhenny Castillo Tapia; Introduccin a la teora de gramticas: Lenguajes

y autmatas; http://www.monografias.com/trabajos62/teoria-gramaticalenguaje-automata/teoria-gramatica-lenguaje-automata.shtml [2] Lenguajes, autmatas y calculabilidad ; http://www.fdi.ucm.es/profesor/vaquero/TALF/Cap1/1INTRODUCCI %C3%93N.doc [3] Stephen Brown y Zvonko Vranesic, del libro Fundamentos de Lgica Digital con diseo VHDL ,Captulo 8 [4] Angulo Usategui, Jos Maria. Electrnica Digital y Microprogramable. Cap 6. Editorial paraninfo.2007 [5] Calderon Vilca, Hugo David. MATEMTICAS DISCRETAS PARA LA CIENCIA COMPUTACIN, Editorial Pacfico,Per.2008 [6] GMEZ ANDRADE ABELARDO, TEORA DE LA COMPUTACIN, Universidad de Guadalajara, Texto para el curso impartido en el CUCEI
[7] S. Takahashi ; Autmatas de Estados Finitos ;

http://sistemas.uniandes.edu.co/~isis1106/dokuwiki/lib/exe/fetch.php? media=bibliografia:capitulo3.pdf [8] Silvia Seminara; Matemtica Discreta; http://www.clasesba.com.ar/utn/discreta/Unidad%20VI.pdf [9] Silvana Arias; Teora de autmatas; http://www.slideshare.net/equipolf/teoria-de-automatas [10] Teora de autmatas y lenguajes formales http://es.scribd.com/doc/60079964/55/RELACION-ENTRE-AUTOMATASY-GRAMATICAS
[11] Guillermo Morales-Luna , Autmanas no-deterministas

http://delta.cs.cinvestav.mx/~gmorales/ta/node6o.html
[12] Dr. Jos Raymundo Marcial Romero Autmata finito no determinista

http:// fi.uaemex.mx/rmarcial/LenguajesFormales/Clase4y5.ppt
15

[13] Andrea Pea, Jos Valentin Mquinas de estado finito http://www.slideshare.net/junito86/presentacion-2-maquinas-de-estado-finito

16

S-ar putea să vă placă și