LENGUAJES GRÁMATICAS Y AUTÓMATAS

Slides:



Advertisements
Presentaciones similares
GRAMATICA LIBRE DE CONTEXTO
Advertisements

INSTITUTO TECNOLÓGICO DE MINATITLÁN
INSTITUTO TECNOLÓGICO DE MINATITLÁN
Conceptos básicos Def. Un símbolo es cualquier carácter imprimible.
Gramáticas.
TIPOS DE GRAMATICAS JERARQUIAS DE CHOMSKY
Tema 2.- Gramáticas independientes de contexto.
Tema: Decibilidad Integrantes: Ileana Rdguez Soto
¿Cómo hacer para que una máquina comprenda el LN?
Tema 1.- Lenguajes. Gramáticas
Análisis Matemático III
ANALISIS SINTACTICO DESCENDENTE
EJERCICIOS DE EXPRESIONES REGULARES Y AUTOMATAS
Teoría de lenguajes y compiladores
Álgebra elemental.
Tema 1.- Lenguajes. Gramáticas
Tema 2 Lenguajes Formales.
Introducción a la Teoría de Lenguajes Preparado por Manuel E. Bermúdez, Ph.D. Profesor Asociado University of Florida Curso de Compiladores.
Algoritmos para calcular el Conjunto Primero y el Conjunto Siguiente
EXPONENTES Y RADICALES
Teoria de grafos.-clase 4
CARRERA PROFESIONAL: Lengua, Traducción e Interpretación Asignatura: MATEMÁTICA Tema: “FUNCIONES LÓGICAS”
Lenguajes Independientes del Contexto
Autómatas de Pila Teoría del Autómata.
ANALISIS SINTACTICO Parte I
Concatenación en PHP Programación en Internet II.
Teoría de lenguajes y compiladores
Lenguajes regulares Teoría del Autómata.
Teoría de lenguajes y compiladores Analizadores lexicográficos
Universidad Autónoma San Francisco CARRERA PROFESIONAL: Lengua, Traducción e Interpretación Asignatura: MATEMÁTICA Tema: “SISTEMA FORMAL”
ANUALIDADES ORDINARIAS (VENCIDAS) Y ANTICIPADAS
Teoría de lenguajes y compiladores
Como veremos una función es una ley de asociación entre
Ecuaciones Algebraicas
Teoría de lenguajes y compiladores
Teoría de lenguajes y compiladores
II Unidad: Lenguaje Algebraico
Presentado por: carolina gallardo Universidad metropolitana de B/quilla.
Operaciones Algebraicas
Las fórmulas más usadas en excel
Capítulo 3: Conjuntos Autor: José Alfredo Jiménez Murillo.
METODO DE SUMA Y RESTA. INDICE.
Tipos de Datos.
“CURSO PROPEDÉUTICO PARA EL MEJORAMIENTO DEL PENSAMIENTO MATEMÁTICO”
Unidad 3 Analizador Sintáctico
@ Angel Prieto BenitoMatemáticas Aplicadas CS I1 U.D. 4 ECUACIONES Y SISTEMAS.
CONSTANTES DENTRO DE UN CÁLCULO O EN LOS PASOS PARA SOLUCIONAR UN PROBLEMA, EXISTIRÁN VALORES QUE NUNCA VAN A CAMBIAR Y SE LOS CONOCE COMO CONSTANTES.
DETECCION DE SEÑALES BINARIAS EN RUIDO GAUSSIANO El criterio de toma de decisión fue descrito por la ecuación Un criterio muy usado para escoger el nivel.
República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Superior Universidad Valle del Momboy Carvajal, Trujillo Alumnas Luzmila.
Programación I Prof. Carolina Cols. Algoritmo es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema.
TEMA 1.  Límites de funciones.  Continuidad de funciones.  Derivabilidad. Propiedades de las funciones derivables.  Optimización.
NUMEROS ALEATORIOS. La idea es hallar un generador que sea fácil de implementar en la computadora, que sea rápido y que no ocupe mucho espacio memoria,
1 Números Índice del libro Los números reales
Del lenguaje ordinario al lenguaje algebraico
MODELOS LINEALES ALGEBRA DE MATRICES Uso de MatLab.
ECUACIONES DE PRIMER Y SEGUNDO GRADO.
Recuerda. Fracciones equivalentes
Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C.
UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TÁCHIRA UNIDAD DE ADMISIÓN CURSO PROPEDÉUTICO LENGUAJE EL SIGNO LINGÜÍSTICO Prof.ª Arex Aragón Prof. Víctor Ramírez.
Se llama dominio de definición de una función al conjunto de valores de la variable independiente x para los que existe la función, es decir, para los.
Inecuaciones lineales o inecuaciones de primer grado
 Temas a tratar: › Definiciones de rígido y tipos de fuerzas que actúan sobre los mismos › Principio de transmisibilidad › Definición de momento de una.
SEÑALES Y SISTEMAS CURSO EXCLUSIVO PARA ESTUDIANTES DE CFE Carrera: Ingeniería Eléctrica Clave de la asignatura:ELB-0532 Horas teoría-horas práctica-créditos4-0-8.
Sintaxis y Semántica. S.Takahashi Fases en el proceso de análisis de lenguajes Lexer Parser caracteres tokensrespuesta.
Melissa Victoria Mendiola Peralta.  Los algoritmos son las series de pasos por los cuales se resuelven los problemas.
Unidad 1: Lógica, Conjuntos y Clases Cuarta parte
OPERACIONES BÁSICAS CON CONJUNTOS
La operación inversa de la derivación
Escuela Nacional de Antropología e Historia (ENAH)
Transcripción de la presentación:

LENGUAJES GRÁMATICAS Y AUTÓMATAS MATEMATICAS DISCRETAS II LENGUAJES GRÁMATICAS Y AUTÓMATAS Fernando Naranjo

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Un alfabeto es un conjunto no vacío y finito de símbolos. Según el Webster´s New Coollegiate Dictionary, un lenguaje es conjunto de palabras y métodos para combinar palabras, que es usado y entendido por un extenso grupo de personas.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Toda secuencia finita de letras de un alfabeto se denomina palabra. Por ejemplo para el alfabeto V={0,1} -que muchas veces se denomina alfabeto binario- son palabras 1101, 001110. Podemos indicarlas w=1101, z=001110. Al conjunto de todas las palabras que se pueden construir con las letras de un alfabeto se indica con V*.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Por ejemplo: Sea V = {a, b}, el alfabeto formado por los símbolos a y b. v = ababbaaaw = bbbbx = aaaaa son palabras de V*. Llamamos a la palabra nula., es decir aquella que no tiene letras. Algo para tener en cuenta es que convenimos que la palabra nula siempre pertenece a V*, sin importarnos cual es el alfabeto V.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Las siguientes son operaciones para realizar con palabras sobre un alfabeto V: Concatenación: si x e y son palabras, la concatenación, x.y es una palabra formada por los símbolos de x seguidos por los símbolos de y. Sea V = {0,1} alfabeto binario, sean v, w e y palabras de V* Sean v=0111, w=1110 La palabra y= vw que leemos “v contatenado con w” queda: y = 01111110.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Potenciación: si concatenamos n veces una cadena x, es decir..., n veces x.x.x.x.x....x obtendremos Tengamos en cuenta que si n = 0, se tiene la palabra nula y si n = 1 la palabra que se tiene es la dada. En realidad la potenciación es un caso particular de la concatenación, ya que concatena una sola palabra n veces. Si concatenamos 2 veces la cadena x obtendremos x². Si concatenamos 3 veces la cadena x, obtendremos x³.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Esquema de los componentes de un alfabeto Símbolo Letra o Carácter Cadena o Palabra Alfabeto

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Operaciones sobre lenguajes; tengamos en cuenta que un lenguaje es un conjunto y por lo tanto son válidas las operaciones para conjuntos: Concatenación: Dados dos lenguajes L1 y L2, su concatenación, L1 . L2 contendrá todas las palabras que se puedan formar por la concatenación de una palabra de L1 y otra de L2. L1 = { nana, napa, lana} L2 = { , nana, napa, pana, palabra, papa, pala} L1 . L2 = { nana, napa, lana, nananana, napanana, ...}

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Potencia: La potencia i-ésima de un lenguaje corresponde a la concatenación i veces del lenguaje en él mismo. Reflexión, Inversión o Trasposición: La reflexión de un lenguaje L está formada por la aplicación de la reflexión a cada una de las palabras del lenguaje. Unión: Dados dos lenguajes L1 y L2, su unión L1 con L2 contendrá todas las palabras que pertenezcan a cualquiera de los dos lenguajes.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Intersección: Dados dos lenguajes L1 y L2, su intersección L1 con L2 contendrá todas las palabras que pertenezcan a los dos lenguajes. Diferencia: Si L1 y L2 son lenguajes la resta de L1 y L2,L1 - L2, contendrá todas las palabras que pertenezcan a L1 y no pertenezcan a L2 .

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Lenguajes naturales - una semántica, es decir, un significado - una sintaxis, es decir, un conjunto de reglas gramaticales. Son ejemplos de este tipo de lenguaje, los lenguajes de seres humanos, tales como: chino, español, inglés. Formales son los que se aplican para modelar un lenguaje natural y comunicarse con la computadora.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Ambos tipos de lenguajes tienen algunas cuestiones en común como por ejemplo un alfabeto y reglas gramaticales.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Componentes de una gramática : G = (Alfabeto,VT,P,S) - un alfabeto, llamado alfabeto de elementos terminales que representa el conjunto de letras que tendrán las palabras del lenguaje que genera esa gramática - un conjunto de símbolos especiales, denominados no terminales, que son elementos auxiliares y permiten representar estados intermedios antes de llegar al de la generación de las palabras del lenguaje.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS - Un conjunto de producciones o reglas gramaticales que permitirán realizar las transformaciones desde los símbolos no terminales a las palabras del lenguaje. - Un símbolo inicial del que se partirá para la obtención de cualquiera de las palabras del lenguaje, denominado cabeza del lenguaje, que es uno de los elementos no terminales.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Observaciones que tendremos que tener en cuenta: 1. El lenguaje generado por una gramática G se denomina L(G). 2. Si la gramática G genera un lenguaje L se indica G L(G) 3. Ninguna regla gramatical puede comenzar con la palabra nula. 4. Dos gramáticas G1 y G2 son equivalentes si L(G1) = L(G2); es decir, si generan el mismo lenguaje. 5. El proceso para obtener las palabras del lenguaje que genera la gramática se llama derivación

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Derivación: Se comienza con el símbolo inicial S. Se aplican las producciones de P al símbolo inicial S hasta obtener sólo elementos terminales. Cualquier string que se consigue usando el proceso anterior es un elemento del lenguaje L(G).

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Sea G una gramática en la cual: VT = {a, b} VN = {S, A, B}, donde S es el símbolo inicial. Las reglas gramaticales o producciones son S aB S bA A a A aS A bAA B b B bS B aBB Pueden escribirse de la forma siguiente:

LENGUAJES, GRÁMATICAS Y AUTÓMATAS S aB/ bA A a/ aS/bAA B b/bS/aBB Aplicando las reglas gramaticales y teniendo en cuenta que esta gramática genera palabras con las letras a, b, Debemos plantearnos como objetivo eliminar las letras S, A, B.(Siempre serán mayúsculas) Tenemos que comenzar con S, eso no podemos elegirlo, pero si podemos seleccionar cualquiera de las opciones que S nos ofrece, por ejemplo

LENGUAJES, GRÁMATICAS Y AUTÓMATAS S aB A continuación, para eliminar B elegimos B b, reemplazamos en la expresión anterior y queda S aB ab que es una palabra del lenguaje ya que ambas letras pertenecen al vocabulario terminal. Veamos otra palabra (si hay que reemplazar una letra por más de una conviene poner un paréntesis): S aB a(bS) ab(bA) abb(bAA) abbb(AA) abbb(aa) Finalmente la palabra es w=abbbba

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Para construir las cadenas que pertenecen al lenguaje formal de una gramática es necesario seguir las reglas de producción y usar las operaciones de substitución y concatenación. Por ejemplo, considere la siguiente gramática: G =({S,A}, {a, b}, S, Rp) donde: Rp es el siguiente conjunto de reglas de producción : S A S bA A aaA A b El mecanismo de la construcción de cadenas validas es :

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Pasos Resultado 1) Comenzar con el símbolo inicial “S” 2) Sustituir el símbolo inicial por la “bA” parte derecha de alguna producción cuyo lado izquierdo sea justo dicho símbolo. 3) De la misma manera sustituir cada símbolo no terminal por el lado derecho de alguna “baaA” producción con dicho símbolo en su lado “baaaaA” izquierdo hasta que la cadena no contenga ningún símbolo no terminal. “ baaaab”. El Lenguaje L(G) de la gramatica se puede explicar : Todas las cadenas sobre el alfabeto {a,b}, tales que comiencen y terminen con el simbolo b y en medio contienen cero o mas parejas de simbolos a.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Puede ocurrir que nos pidan que describamos ese lenguaje ya que es imposible listar todas sus palabras. Ejemplo de un enunciado del lenguaje: “Formar todas las cadenas de letras a y b en las que el número de letras a es igual al número de letras b.”

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Imaginemos una gramática con estas dos reglas:   1. A → bAc 2. A → de La idea es substituir el símbolo inicial de la izquierda por otros símbolos aplicando las reglas. El lenguaje al cual representa esta gramática es el conjunto de cadenas de símbolos que pueden ser generados de esta manera: en este caso, por ejemplo: A → bAc → bbAcc → bbbAccc -→ bbbdeccc. El elemento en mayúsculas es el símbolo inicial. Los elementos en minúsculas son símbolos terminales. Las cadenas de la lengua son aquellas que solo contienen elementos terminales, como por ejemplo: bbbdeccc, de, bdec, … Estas serían tres posibles realizaciones del lenguaje cuya gramática hemos definido con dos reglas

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Una forma práctica de representar las derivaciones son los árboles de derivación que se utilizan en la construcción de compiladores para representar el análisis sintáctico de los programas fuente y sirven de base para la generación de un código. Sin embargo, no siempre se pueden usar. En los árboles de derivación: La cabeza del lenguaje se representa en la raíz del árbol Los nodos hojas del árbol son símbolos terminales de la gramática

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Las derivaciones se representan creando tanto los sucesores del símbolo no terminal de la izquierda de las producciones como los símbolos (terminales y no terminales) aparezcan en la parte derecha de las producciones. Ejemplo : Sea G = ({0,1,2}; {a, b}; P; 0) con las siguientes producciones. 0 a2 / b1 1 a / a0 / b11 2 b / b0 / a22 Algunas de las palabras del lenguaje L(G) son: 0 a2 ab L(G)

LENGUAJES, GRÁMATICAS Y AUTÓMATAS El árbol de derivación es el siguiente: 0 a2 ab0 aba2 abab L(G). Cuyo árbol de derivación es: a 2 b a 2 b

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Tengamos en cuenta que para cada palabra hay un árbol de derivación Una palabra no pertenece al lenguaje generado por una gramática, esto sucede cuando al aplicar las reglas gramaticales no se puede obtener la palabra en cuestión. Si nos remitimos al primer ejemplo , donde las palabras tenían el mismo número de a que de b, la palabra w= aabbb no podríamos encontrarla

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Clasificación de gramáticas: Noam Chomsky definió cuatro tipos de gramáticas formales, en función de las producciones, es decir de las reglas gramaticales. Esta clasificación comienza con las más generales para finalizar en las que presentan más restricciones, siempre teniendo en cuenta las producciones.

LENGUAJES, GRÁMATICAS Y AUTÓMATAS Existe al menos una regla de producción tal que, en su lado izquierdo, contiene exclusivamente al símbolo inicial. Las reglas de producción, en una gramática, permiten construir ciertas cadenas. Por ello, el conjunto de todas las cadenas que permite formar una gramática, se conoce como el Lenguaje de dicha gramática. Cada gramática determina un lenguaje formal específico.