Lingüística Matemática Clase 1

44
UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN DEPARTAMENTO DE SISTEMAS CÁTEDRA SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES WWW.VIRTUAL.UTN.EDU.AR/FRT Asignatura: Asignatura: Asignatura: Asignatura: SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES Área: Área: Área: Área: PROGRAMACIÓN PROGRAMACIÓN PROGRAMACIÓN PROGRAMACIÓN – – TECNOLOGÍAS BÁSICAS TECNOLOGÍAS BÁSICAS TECNOLOGÍAS BÁSICAS TECNOLOGÍAS BÁSICAS ING. JORGE BUABUD Carrera: Carrera: Carrera: Carrera: INGENIERÍA EN SISTEMAS DE INFORMACIÓN INGENIERÍA EN SISTEMAS DE INFORMACIÓN INGENIERÍA EN SISTEMAS DE INFORMACIÓN INGENIERÍA EN SISTEMAS DE INFORMACIÓN Régimen: Régimen: Régimen: Régimen: CUATRIMESTRAL CUATRIMESTRAL CUATRIMESTRAL CUATRIMESTRAL Carga horaria semanal: Carga horaria semanal: Carga horaria semanal: Carga horaria semanal: 3hs.Teoría/3hs.Práctica/2hs.Laboratorio 3hs.Teoría/3hs.Práctica/2hs.Laboratorio 3hs.Teoría/3hs.Práctica/2hs.Laboratorio 3hs.Teoría/3hs.Práctica/2hs.Laboratorio Profesor: Profesor: Profesor: Profesor: Ing. JORGE BUABUD ( [email protected]) Ing. JORGE BUABUD ( [email protected]) Ing. JORGE BUABUD ( [email protected]) Ing. JORGE BUABUD ( [email protected])

description

Alfabetos, palabras y lenguajes. Operaciones con cadenas y con lenguajes. Niveles de un lenguaje: léxico, sintáctico, semántico y pragmático.

Transcript of Lingüística Matemática Clase 1

Page 1: Lingüística Matemática Clase 1

UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN

DEPARTAMENTO DE SISTEMAS

CÁTEDRA SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES

WWW.VIRTUAL.UTN.EDU.AR/FRT

Asignatura:Asignatura:Asignatura:Asignatura: SINTAXIS Y SEMÁNTICA DE LOS LENGUAJESSINTAXIS Y SEMÁNTICA DE LOS LENGUAJESSINTAXIS Y SEMÁNTICA DE LOS LENGUAJESSINTAXIS Y SEMÁNTICA DE LOS LENGUAJES

Área:Área:Área:Área: PROGRAMACIÓN PROGRAMACIÓN PROGRAMACIÓN PROGRAMACIÓN –––– TECNOLOGÍAS BÁSICASTECNOLOGÍAS BÁSICASTECNOLOGÍAS BÁSICASTECNOLOGÍAS BÁSICAS

ING. JORGE BUABUD

Carrera: Carrera: Carrera: Carrera: INGENIERÍA EN SISTEMAS DE INFORMACIÓNINGENIERÍA EN SISTEMAS DE INFORMACIÓNINGENIERÍA EN SISTEMAS DE INFORMACIÓNINGENIERÍA EN SISTEMAS DE INFORMACIÓN

Régimen:Régimen:Régimen:Régimen: CUATRIMESTRAL CUATRIMESTRAL CUATRIMESTRAL CUATRIMESTRAL

Carga horaria semanal:Carga horaria semanal:Carga horaria semanal:Carga horaria semanal: 3hs.Teoría/3hs.Práctica/2hs.Laboratorio3hs.Teoría/3hs.Práctica/2hs.Laboratorio3hs.Teoría/3hs.Práctica/2hs.Laboratorio3hs.Teoría/3hs.Práctica/2hs.Laboratorio

Profesor:Profesor:Profesor:Profesor: Ing. JORGE BUABUD ( [email protected])Ing. JORGE BUABUD ( [email protected])Ing. JORGE BUABUD ( [email protected])Ing. JORGE BUABUD ( [email protected])

Page 2: Lingüística Matemática Clase 1

� Adquirir los conocimientos mínimos de lingüística matemática que le permitan representar lenguajes formales en sus niveles léxico, sintáctico y semántico.

� Conocer los elementos propios de la sintaxis y semántica de los lenguajes de programación.

OBJETIVOS:

UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN

DEPARTAMENTO DE SISTEMAS

CÁTEDRA SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES

WWW.VIRTUAL.UTN.EDU.AR/FRT

ING. JORGE BUABUD

programación.

� Lograr habilidad en el diseño de aceptores de lenguajes formales en sus ni-veles léxico (Autómatas Finitos) y sintáctico (Autómatas de Pila), utilizando como herramientas las gramáticas formales (regulares y libres de contexto).

� Incursionar en el estudio de la complejidad algorítmica mediante el análisis de los lenguajes recursivos, lenguajes recursivamente enumerables y las Máquinas de Turing.

� Comprender el procesamiento de lenguajes y en particular, el proceso de compilación.

Page 3: Lingüística Matemática Clase 1

UNIDAD TEMÁTICA I: Lingüística MatemáticaAlfabetos, palabras y lenguajes. Operaciones con cadenas y con lenguajes. Niveles de un lenguaje: léxico, sintáctico, semántico y pragmático. Gramáticas para estructuras de frases. Diagramas de Sintaxis y Formato BNF. Sistemas Canónicos y Esquemas de Traducción. Aplicaciones: Proceso de Compilación.UNIDAD TEMÁTICA II: Gramáticas y Modelos Matemáticos. Jerarquía de Chomsky y formatos estándares para tipos 0 y 1. Los aceptores de lenguajes

CONTENIDOS:

UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN

DEPARTAMENTO DE SISTEMAS

CÁTEDRA SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES

WWW.VIRTUAL.UTN.EDU.AR/FRT

Jerarquía de Chomsky y formatos estándares para tipos 0 y 1. Los aceptores de lenguajes formales: MT, AP, AF. Construcción de una MT. Lenguajes Recursivos y recursívamente enumerables. Aplicaciones: Resolubilidad y complejidad computacional.UNIDAD TEMÁTICA III: Lenguajes Regulares y Autómatas Finitos.Gramáticas Regulares (GR), Expresiones Regulares (ER). Autómatas Finitos Determinísticos (AFD). Operaciones con AFD. Equivalencia y Minimización. Autómatas Finitos No Determinísticos (AFND, AF-λ y AF-Lazy). Operaciones con AFND. Conversión AFND/AFD. Propiedades de los LR. Aplicaciones: Analizador Lexicográfico (Scanner).UNIDAD TEMÁTICA IV: Lenguajes Independientes de Contexto y Autómatas de Pila.Gramáticas Independientes del Contexto (GIC). Árboles de derivación. Derivación más a la izquierda. Ambigüedad. Simplificaciones de una GIC. Formas Normales de Chomsky y de Greibach. L.I.C. y Autómatas de Pila (AP). Criterios de aceptación por estado final y por pila vacía. Propiedades de los LIC. Aplicaciones: Analizador Sintáctico (Parcer).

ING. JORGE BUABUD

Page 4: Lingüística Matemática Clase 1

BIBLIOGRAFÍA PRINCIPAL:

UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN

DEPARTAMENTO DE SISTEMAS

CÁTEDRA SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES

WWW.VIRTUAL.UTN.EDU.AR/FRT

INTRODUCCION A LA TEORIA DE AUTOMATAS LENGUAJES Y COM PUTACION ISBN 9788478290888Autor HOPCROFT JOHN E. , MOTWANI RAJEEV , ULLMAN JEFFREY D.Editorial PEARSON EDUCACION Edición 2008

COMPILADORES Princípios Técnicas y Herramientas.ISBN 9789702611332Autor AHO ALFRED V.LAM MONICA S. , SETHI RAVI , ULLMAN JEFFREY D.

ING. JORGE BUABUD

LAM MONICA S. , SETHI RAVI , ULLMAN JEFFREY D.Editorial PEARSON ADDISON-WESLEY Edición 2008Capítulos 1,3,4 y 5

LENGUAJES, GRAMÁTICAS Y AUTÓMATAS Un enfoque práctico.ISBN 84-7829-014-1Autor P. ISASI, P. MARTINEZ , D. BORRAJOEditorial ADDISON-WESLEY Edición 1997

TEORÍA DE AUTOMATAS Y LENGUAJES FORMALESISBN 9780135187050Autor KELLEY DEANEditorial LONGMAN Edición 1995

PROGRAMACIÓN DE SISTEMASAutor JOHN J. DONOVANEditorial EL ATENEO Edición 1983

Page 5: Lingüística Matemática Clase 1

UNIVERSIDAD TECNOLÓGICA NACIONAL - FACULTAD REGIONAL TUCUMÁN

DEPARTAMENTO DE SISTEMAS

CÁTEDRA SINTAXIS Y SEMÁNTICA DE LOS LENGUAJES

WWW.VIRTUAL.UTN.EDU.AR/FRT

ING. JORGE BUABUD

Page 6: Lingüística Matemática Clase 1

LENGUAJES :

Lenguaje, medio de comunicación entre los seres humanos a través de signos orales y escritos que poseen un significado.

U.T.N. – F.R.T. S. y S. de los L. PRELIMINARES

ING. JORGE BUABUD

escritos que poseen un significado.

En un sentido más amplio, es cualquier procedimiento que sirve para comunicarse.

Algunas escuelas lingüísticas entienden el lenguaje como la capacidad humana que conforma al pensamiento.

Microsoft ® Encarta ® 2007. © 1993-2006 Microsoft Corporation.

Page 7: Lingüística Matemática Clase 1

LENGUAJES:

U.T.N. – F.R.T. S. y S. de los L.

LENGUAJES FORMALES

� de Programación

� de MúsicaNIVELES

PRELIMINARES

ING. JORGE BUABUD

LENGUAJES NATURALES

LENGUAJES FORMALES� de Matemática

� de Química

� Español(Oral-Escrito-Señas)

� Inglés

� Árabe

NIVELES

� Léxico

� Sintáctico

� Semántico

� Pragmático

Page 8: Lingüística Matemática Clase 1

ALFABETO : Conjunto finito no vacío de símbolos diferentes.

U.T.N. – F.R.T. S. y S. de los L.

Notación: Nombre genérico de un alfabeto: Σ

ALFABETOS:

LINGÜÍSTICA MATEMÁTICA

ING. JORGE BUABUD

Notación: Nombre genérico de un alfabeto: ΣSímbolos abstractos de un alfabetoprimeras letras del abecedario en minúscula (a, b, c, …)

Ejemplos: Σ = { a, b, c , d }

Binario = { 0, 1 }

Letras = { a, b, c, d, e, ….., x, y, z }

Español = {el, la, … , casa, perro, …, es, come, … , linda,alegremente, …}

Page 9: Lingüística Matemática Clase 1

U.T.N. – F.R.T. S. y S. de los L.

� Para describir un hecho o entidad se utilizan conjuntos de símbolos que en general llamamos DATOS.

� Por otro lado, una INFORMACIÓN es un conjunto de datos

ALFABETOS:

LINGÜÍSTICA MATEMÁTICA

ING. JORGE BUABUD

� Por otro lado, una INFORMACIÓN es un conjunto de datos significativos: Reconocibles, Íntegros, Inequívocos, Relevantes.

� En el ámbito de la informática son de uso frecuente los alfabetos o códigos ASCII y EBCDIC.

� No debemos confundir el “nombre” del símbolo con el propio símbolo.

Por ejemplo: al símbolo $ lo llamamos PESO, en otro contexto

podríamos llamarlo DÓLAR, pero sigue siendo el

mismo símbolo.

Page 10: Lingüística Matemática Clase 1

U.T.N. – F.R.T. S. y S. de los L.

PALABRA : Secuencia finita de símbolos pertenecientes a un alfabeto.

PALABRAS o CADENAS:

LINGÜÍSTICA MATEMÁTICA

ING. JORGE BUABUD

Notación: últimas letras del abecedario en minúsculas (.. w, x, y, z)

Ejemplos: Σ: a, b, aa, ab, ba, bb, abcd, aadd

Binario: 011, 11011, 00, 11

Letras: casa, pieza, del, abc

Español: la_casa_es_linda

el_perro_come_alegremente

Page 11: Lingüística Matemática Clase 1

U.T.N. – F.R.T. S. y S. de los L.

� La palabra vacía, que representamos con λ (lambda), es aquella

secuencia que no contiene símbolo alguno.

PALABRAS o CADENAS:

LINGÜÍSTICA MATEMÁTICA

ING. JORGE BUABUD

� Prefijo: secuencia de cero o más símbolos iniciales de una palabra.

� Sufijo: secuencia de cero o más símbolos finales de una palabra.

� Subcadena: secuencia de símbolos obtenida al eliminar un sufijo o un

prefijo de una palabra.� Σ* representa al conjunto de todas las palabras w formadas por símbolos

de dicho alfabeto, es decir el Conjunto Universal de arreglos con repeticiones de símbolos sobre Σ.

� Σ+ representa al Conjunto Universal sin la palabra vacía.

o sea que: Σ+ = Σ* - { λ }

Page 12: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

LENGUAJE : Cualquier subconjunto L del Conjunto Universal de palabras sobre un alfabeto Σ.

LENGUAJES FORMALES:

ING. JORGE BUABUD

Notación: L1, L2, ….

Ejemplos: Σ: L1 = {a, b, aa, ab, ba, bb, abcd, aadd}

Binario: L2 = {011, 11011, 00, 11}

Letras: L3 = {casa, pieza, del, abc}

Español: L4 = {la_casa_es_linda,

el_perro_come_alegremente}

Page 13: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Podemos decir que: L ⊆⊆⊆⊆ Σ*

LENGUAJES FORMALES:

ING. JORGE BUABUD

Los siguientes son casos particulares significativos:

� El Lenguaje Universal Σ*

� El Lenguaje Vacío Ф

� El Lenguaje Lλ = { λ }

Page 14: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

CONCATENACIÓN :

Función con dominio en Σ*x Σ* y rango en Σ* . Tal que dadas las palabras uy v, la concatenación de ucon vda como resultado otra palabra wformada por la secuencia de símbolos de u seguida de la secuencia de símbolos de v.

OPERACIONES CON PALABRAS:

ING. JORGE BUABUD

secuencia de símbolos de u seguida de la secuencia de símbolos de v.

Notación: w = u.v

Propiedades: dadas las palabras {u, v, w} se cumplen las leyes:

Asociativa: (u.v).w = u.(v.w)

No conmutativa: En general u.v ≠ v.u

Elemento Neutro λ: λ.u = u.λ = u

Ejemplos: Dado el alfabeto Vocal = {a, e, i, o, u} entonces iui . λ = iui

ae . ou = aeou (ieu . aa) . u = ieu . (aa . u) = ieuaau

Page 15: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

POTENCIACIÓN :

Función con dominio en Σ*x N y rango en Σ* . Tal que dada la palabra uy el número natural i, la potencia con base uy exponente ida como resultado otra palabra w formada por una sucesión de i palabras u.

OPERACIONES CON PALABRAS:

ING. JORGE BUABUD

palabra w formada por una sucesión de i palabras u.

Notación: w = u

Propiedades:

� Desde un punto de vista práctico la potencia es una forma reducida

de representar la concatenación de una palabra consigo misma.

� Por definición u = λ y u = u

Ejemplos: Dado el alfabeto Binario = {0, 1} entonces

00 = λ 101 = 101101 1 = 111 01 = 0101010101

i

0 1

0 2 3 5

Page 16: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

LONGITUD :

Función con dominio en Σ* y rango en N. Tal que dada la palabra ula longitud de uda como resultado la cantidad de símbolos que forman la palabra.

OPERACIONES CON PALABRAS:

ING. JORGE BUABUD

Notación: w = | u | = long(u)

Propiedades:

� La longitud de λ es cero

� | u | representa la cantidad de símbolos aque hay en u

Ejemplos: Dado el alfabeto Dígitos = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }

long(λ) = 0 | 00110 | = 5 long(1011) = 4 | 01001 | = 3

a

0

Page 17: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

INVERSA:

Función con dominio en Σ* y rango en Σ* . Tal que dada la palabra ula inversa de uda como resultado la imagen especular de u.

OPERACIONES CON PALABRAS:

ING. JORGE BUABUD

Notación: w = u

Propiedades:

� λ = λ

� Involutiva: (u ) = u

� Si se cumple que: u = u entonces se dice que u es palíndromo

Ejemplos: Dado el alfabeto Letras = { a, b, c, ...., z} entonces: arroz = zorra

y haciendo caso omiso del espacio en blanco y la tilde, las siguientes palabras son palíndromos: “neuquén” ; “adán nada”; “dábale arroz a la zorra el abad” ; “satán sala las natas”

-1

-1

-1 -1

-1

-1

Page 18: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

NOTACIÓN CONJUNTO DE SUBCONJUNTOS:

Para representar el conjunto C2 formado por todos los subconjuntos que se

pueden construir con los elementos de un conjunto C1 se utiliza la siguiente

notación: C2 = 2C1

ING. JORGE BUABUD

notación: C2 = 2

La misma se debe al hecho de que la cantidad de subconjuntos que se puede

formar con los elementos de C1 es igual a la potencia de base 2 y exponente

igual al módulo del conjunto C1. O sea que | C2 | = 2

Por ejemplo dado C1 = {a, b, c} el conjunto de todos los subconjuntos de C1, incluidos el vacío y el propio conjunto C1, es:

C2 = { Ф, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} } y | C2 | = 2 = 8

C1

| C1 |

3

Page 19: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

UNIÓN:

Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes L1 y L2, la unión entre L1 y L2 da como resultado otro lenguaje L3 formado por todas las palabras de L1 y todas las palabras de L2 sin repeticiones.

OPERACIONES CON LENGUAJES:

ΣΣΣΣ****ΣΣΣΣ****ΣΣΣΣ****

ING. JORGE BUABUD

todas las palabras de L1 y todas las palabras de L2 sin repeticiones.

Notación: L3 = L1 ∪∪∪∪ L2

Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes:

Asociativa: (L1 ∪∪∪∪ L2) ∪∪∪∪ L3 = L1 ∪∪∪∪ (L2 ∪∪∪∪ L3)

Conmutativa: L1 ∪∪∪∪ L2 = L2 ∪∪∪∪ L1

Elemento Neutro Ф: Ф ∪∪∪∪ L1 = L1 ∪∪∪∪ Ф = L1

Ejemplos: Dados L1 = { λ, ba }; L2 = { a, b, ab } y L3 = { aa, ab } entonces:

L1 ∪∪∪∪ L2 = { λ, a, b, ab, ba } L2 ∪∪∪∪ L3 = { a, b, aa, ab }

Page 20: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

DIFERENCIA :

Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes L1 y L2, la diferencia entre L1 y L2 da como resultado otro lenguaje L3 formado por todas las palabras de L1 excepto aquellas que pertenezcan también a L2.

OPERACIONES CON LENGUAJES:

ΣΣΣΣ****ΣΣΣΣ****ΣΣΣΣ****

ING. JORGE BUABUD

por todas las palabras de L1 excepto aquellas que pertenezcan también a L2.

Notación: L3 = L1 - L2

Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes:

No Asociativa: (L1 - L2) - L3 ≠ L1 - (L2 - L3)

No Conmutativa: en general L1 - L2 ≠ L2 - L1

Elemento Neutro Ф: L1 - Ф = L1

Ejemplos: Dados L1 = { λ, a, ab }; L2 = { a, b, ba } y L3 = { a, b, ab } entonces: L1 - L2 = { λ, ab } L2 - L3 = { ba } L1 - L3 = { λ }

Page 21: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

INTERSECCIÓN :

Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes L1 y L2, la intersección entre L1 y L2 da como resultado otro lenguaje L3 formado por todas las palabras que pertenecen a L1 y que también pertenecen a L2.

OPERACIONES CON LENGUAJES:

ΣΣΣΣ****ΣΣΣΣ****ΣΣΣΣ****

ING. JORGE BUABUD

por todas las palabras que pertenecen a L1 y que también pertenecen a L2.

Notación: L3 = L1 ∩ ∩ ∩ ∩ L2

Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes:

Asociativa: (L1 ∩∩∩∩ L2) ∩∩∩∩ L3 = L1 ∩∩∩∩ (L2 ∩∩∩∩ L3)

Conmutativa: L1 ∩∩∩∩ L2 = L2 ∩∩∩∩ L1

Elemento Neutro Σ*: Σ* ∩∩∩∩ L1 = L1 ∩∩∩∩ Σ* = L1

Ejemplos: Dados L1 = { λ, a, ab }; L2 = { a, b, bb } y L3 = { b, bb, aa }

entonces: L1 ∩∩∩∩ L2 = { a } L2 ∩∩∩∩ L3 = { b, bb } L1 ∩∩∩∩ L3 = Ф

Page 22: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

COMPLEMENTO :

Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, el complemento de L1 da como resultado otro lenguaje L3 formado por todas las palabras que pertenecen a Σ* y que no pertenecen a L1.

OPERACIONES CON LENGUAJES:

ΣΣΣΣ****ΣΣΣΣ****

ING. JORGE BUABUD

palabras que pertenecen a Σ* y que no pertenecen a L1.

Notación: L3 = ∼∼∼∼L1 = L1Propiedades:

� ∼∼∼∼L1 = Σ* - L1

� ∼∼∼∼Σ* = Ф y ∼∼∼∼Σ+ = Lλ

� Involutiva: ∼∼∼∼(∼∼∼∼L1) = L1

Ejemplos: Dado L1 = { λ, a, b } entonces: ∼∼∼∼L1 = {todas las secuencias de ay/o bexcepto la palabra

vacía y las palabras unisimbólicas ay b}

_

Page 23: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

PRODUCTO O CONCATENACIÓN :

Función con dominio en 2 x 2 y rango en 2 . Tal que dados los lenguajes L1 y L2, el producto o concatenación entre L1 y L2 da como resultado otro lenguaje L3 formado por todas las palabras que resultan de concatenar una palabra

OPERACIONES CON LENGUAJES:

ΣΣΣΣ****ΣΣΣΣ****ΣΣΣΣ****

ING. JORGE BUABUD

lenguaje L3 formado por todas las palabras que resultan de concatenar una palabra de L1 con una palabra de L2 y solo en ese orden.

Notación: L3 = L1 ....L2

Propiedades: dados los lenguajes L1, L2 y L3 se cumplen las leyes:

Asociativa: (L1 . L2) . L3 = L1 . (L2 . L3)

No Conmutativa: en general L1 . L2 ≠ L2 . L1

Elemento Neutro Lλ: Lλ . L1 = L1 . Lλ = L1

Ejemplos: Dados L1 = { λ, a }; L2 = { b, bb } y L3 = { aa } entonces:

L1 . L2 = { b, bb, ab, abb } L2 . L3 = { baa, bbaa } L2 . Ф = Ф

Page 24: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

POTENCIACIÓN :

Función con dominio en 2 x N y rango en 2 . Tal que dado el lenguaje L1 y el número natural i mayor o igual que 2, la potencia con base L1 y exponente ida como resultado otro lenguaje L3 formado por el producto de L1 consigo

ΣΣΣΣ****ΣΣΣΣ****

ING. JORGE BUABUD

Notación: L3 = L1 Propiedades:

� Desde un punto de vista práctico la potencia es una forma reducidade representar el producto de un lenguaje consigo mismo.

� Por definición L1 = Lλ y L1 = L1

Ejemplos: Dados L1 = { a, b } L2 = { bab, bb, ab }

L1 = { aaa, aab, aba, abb, baa, bab, bba, bbb }

L2 = { babbab, babbb, babab, bbbab, bbbb, bbab, abbab, abbb, abab }

i

0 1

2

3

da como resultado otro lenguaje L3 formado por el producto de L1 consigo mismo (i - 1) veces.

Page 25: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

CLAUSURA, CIERRE O ESTRELLA DE KLEENE :

Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, la operación “L1 estrella” da como resultado otro lenguaje L3 formado por todas las potencias de base L1 y exponente i, desde i igual a cero hasta infinito.

ΣΣΣΣ****ΣΣΣΣ****

ING. JORGE BUABUD

Notación: L3 = L1 = L1 ∪∪∪∪ L1 ∪∪∪∪ L1 …… = ∪∪∪∪ L1

Propiedades: � (L1 ) = L1 � Por definición Ф = Lλ y Lλ = Lλ

Ejemplos: Dado L1 = { aa, ab, ba, bb }

L1 = { todas las secuencias de ay/o bde long. par incluida la vacía }

*

* *

*

las potencias de base L1 y exponente i, desde i igual a cero hasta infinito.

0 21 ∞∞∞∞i = 0

* * *

i

Page 26: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

CLAUSURA, CIERRE O ESTRELLA POSITIVA :

Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, la operación “L1 estrella positiva” da como resultado otro lenguaje L3 formado por todas las potencias de base L1 y exponente i, desde i igual a uno hasta infinito.

ΣΣΣΣ****ΣΣΣΣ****

ING. JORGE BUABUD

Notación: L3 = L1 = L1 ∪∪∪∪ L1 ∪∪∪∪ L1 …… = ∪∪∪∪ L1

Propiedades: � (L1 ) = L1 � Por definición Ф = Ф y Lλ = Lλ

Ejemplos: Dado L1 = { aa, ab, ba, bb } L2 = { λ, aa, ab, ba, bb }

L1 = { todas las secuencias de ay/o bde long. par }

L2 = L2 = L1

+

+ +

+

todas las potencias de base L1 y exponente i, desde i igual a uno hasta infinito.

1 32 ∞∞∞∞i = 1

+ + +

+ * *

i

Page 27: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

OPERACIONES CON LENGUAJES:

INVERSA:

Función con dominio en 2 y rango en 2 . Tal que dado el lenguaje L1, la inversa de L1 da como resultado otro lenguaje L3 formado por todas las inversas correspondientes a las palabras de L1.

ΣΣΣΣ****ΣΣΣΣ****

ING. JORGE BUABUD

Notación: L3 = L1 Propiedades:

Distributiva : (L1 . L2) = L2 . L1 (L1*) = (L1 )*Involutiva: (L1 ) = L1

Ejemplos: Dados L1 = { ab, bb } L2 = { aa, ba }

L1.L2 = { abaa, abba, bbaa, bbba}

L2 = { aa, ab } L1 = { ba, bb }

( L1 . L2 ) = { aaba, abba, aabb, abbb } = L2 . L1

-1

-1

-1

correspondientes a las palabras de L1.

-1 -1-1

-1 -1

-1

-1

-1

-1 -1

Page 28: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 1

Dado el alfabeto Letras = { a, b, c, .…, z }

� haciendo caso omiso de las tildes y los espacios en blanco, los

ING. JORGE BUABUD

� haciendo caso omiso de las tildes y los espacios en blanco, los siguientes son casos curiosos de palíndromos:ananá, oso, ojo, asa, ala, sus, allá, anilina, reconocer, somos, aérea, rasaratar a la rata, alábala a la bala, anita lava la tina, arroz a la zorra

� diversas palabras del español resultan de concatenar dos o más palabras del mimo lenguaje:limpia.para.brisas = limpiaparabrisas bala . cera = balaceracasa . miento = casamiento agua . tero = aguaterorápida . mente = rápidamente villa . nada = villanada

� las siguientes palabras y sus inversas tienen distintos significados:odio, oído, osar, raso, orar, raro, lava, aval, raza, azar, acera, areca

Page 29: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 2

Dado el alfabeto Sílabas = { ma, mon, mo, ca, co, li, ra, re, ro, ta, to, ja, bron }

� haciendo caso omiso de las tildes tenemos los siguientes palíndromos:

ING. JORGE BUABUD

� haciendo caso omiso de las tildes tenemos los siguientes palíndromos:

maroma, cólico, retaré, remaré, coco, caca, caraca

� las siguientes palabras y sus inversas tienen significados distintos:

jamón, monja, bronca, cabrón, mora, ramo, coca, caco,

raco, cora, maca, cama, coma, maco, como, moco,

rata, tara, roca, caro, tomón, monto, rato, tora

Page 30: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 3

Dado el alfabeto Σ = { a, b, c, …, z, 0, 1, … 9 , _ } se puede definir los siguientes lenguajes unisimbólicos :

ING. JORGE BUABUD

Letras = { a, b, c, …. , z }

Dígitos = { 0, 1, 2, 3, …. , 9}

Guión = { _ }

Combinando convenientemente estos lenguajes se puede representar el conjunto de todos los identificadores de un lenguaje de programación:

Identificador = (Letras ∪∪∪∪ Guión) . (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión)*

Page 31: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 4

En un lenguaje de programación concreto (C++, Delphi, Visual Basic, Java, etc.), los identificadores válidos tienen una longitud máxima. Supongamos que en el ejemplo anterior queremos acotar la longitud en 40. Esto traerá

ING. JORGE BUABUD

que en el ejemplo anterior queremos acotar la longitud en 40. Esto traerá como consecuencia que el lenguaje dejará de ser infinito.

Una solución satisfactoria pero no muy eficiente sería:

Identificador = (Letras ∪∪∪∪ Guión) . ( { λ } ∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión)

∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión) ∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión)

∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión) ∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión)

∪∪∪∪ ….... ∪∪∪∪ (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión) )

32

4 5

39

Page 32: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

¿Cuántos palabras tiene este lenguaje ? Sigamos el siguiente razonamiento por inducción en el largo de la palabra, suponiendo 26 letras:

ING. JORGE BUABUD

Longitud Cantidad

1 27

2 27x 37 = 999

3 27x 37 = 36963

k 27x 37

40 27x 37 ≅≅≅≅ 1,445 E+61

2

(k-1)

39

Page 33: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

Si ahora sumamos todas estas cantidades obtenemos el total de identificadores válidos de longitud menor o igual 40:

ING. JORGE BUABUD

Este resultado se puede obtener del producto de 27 por la serie de potencias:

X+X + X + ….. + X para n = 39

¿Existe una fórmula para calcular este resultado?

≅≅≅≅ 4,009 E+62

2 3 n

Page 34: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

¡NO! Porque la potencia no es distributiva con respecto a la suma.Pero se puede hacer el siguiente desarrollo para simplificar el cálculo:

ING. JORGE BUABUD

Pero se puede hacer el siguiente desarrollo para simplificar el cálculo:

x + x2 + x3 + x4 + x5 = x ( 1 + x + x2 + x3 + x4 ) =

x ( 1 + x ( 1 + x + x2 + x3 ) ) = x ( 1 + x ( 1 + x ( 1 + x + x2 ) ) ) =

x ( 1 + x ( 1 + x ( 1 + x ( 1 + x ) ) ) )

Page 35: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

Por último veamos como se puede obtener una solución más eficiente para representar este lenguaje:

ING. JORGE BUABUD

� En primer lugar consideremos el siguiente caso sencillo:

Dado el alfabeto Σ = { a, b } definimos los lenguajes:L1 = { a, b } y L2 = { λ, a, b }entonces: L1 = { aa, ab, ba, bb }

L2 = { λ, a, b, aa, ab, ba, bb }vemos que: L2 = L1 ∪∪∪∪ L1 ∪∪∪∪ L1 podemos concluir que al agregar la palabra vacía a un lenguaje L, logramos que:

(L ∪∪∪∪ Lλ) = L ∪∪∪∪ L ∪∪∪∪ L ∪∪∪∪ …… ∪∪∪∪ L

222 0 1 2

n 0 1 2 n

Page 36: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación ejemplo 4

�Aplicando esta propiedad al lenguaje de los identificadores obtenemos una forma simple de acotar la longitud del mismo a 40 símbolos:

ING. JORGE BUABUD

Identificador = (Letras ∪∪∪∪ Guión) . (Letras ∪∪∪∪ Dígitos ∪∪∪∪ Guión ∪∪∪∪ Lλ)39

Esta misma estrategia se puede utilizar para representar diversos lenguajesque contienen secuencias de caracteres que deben acotarse en su longitud.Por ejemplo cuando queremos definir un campo de datos en un formulariode cualquier índole (nombres, número de legajo, dirección de e-mail, etc.).

Page 37: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Ejemplo 5

Consideremos un caso similar al anterior pero más complejo.

Supongamos que se debe representar el lenguaje de todas las denominaciones

ING. JORGE BUABUD

Supongamos que se debe representar el lenguaje de todas las denominaciones de asignaturas de una carrera, con las siguientes características:

a) Cada componente de la denominación debe comenzar con una letra seguida o no de letras minúsculas y puede terminar o no en un punto.

b) El primer componente debe comenzar con mayúscula.

c) Debe contener al menos un componente.

d) Si tiene varios componentes deben separarse con un espacio en blanco.

e) La longitud total incluidos puntos y espacios debe ser 45

Page 38: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación del ejemplo 5

Algunas denominaciones válidas serían:

“Sintaxis y Semántica de los Lenguajes”

ING. JORGE BUABUD

“Sintaxis y Semántica de los Lenguajes”

“Paradigmas de Prog.”

“Mat. Aplicada I I”

Como vemos, cada componente puede tener una longitud variable y el total de una denominación no debe superar los 45 símbolos. Esta complicación hace que no sea posible utilizar la estrategia del ejemplo 5.

En este caso se puede recurrir a otro artificio, que consiste en plantear un lenguaje de denominaciones sin límite de longitud e intersectarlo con el lenguaje de todas las secuencias posibles sobre el alfabeto base con longitud no superior a 45.

Page 39: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Ejemplos de Operaciones con Palabras y con Lenguajes:

Continuación del ejemplo 5

Consideremos el alfabeto base:Σ = { a, … , z, A, … , Z, . ,€€€€} donde €€€€equivale a un espacio en blanco

ING. JORGE BUABUD

definamos los siguientes lenguajes unisimbólicos:

L1 = { A, … , Z } L2 = { a, … , z } L3 = { . } L4 = { €€€€}

Entonces el primer lenguaje a intersectar se puede representar así:

L5 = L1 . L2* . ( L3 ∪∪∪∪ Lλ ) . ( L4 . (L1 ∪∪∪∪ L2) . L2* . ( L3 ∪∪∪∪ Lλ ) )*el segundo lenguaje, es decir el de todas las secuencias con un máximo de 45:L6 = ( L1 ∪∪∪∪ L2 ∪∪∪∪ L3 ∪∪∪∪ L4 ∪∪∪∪ Lλ )

De tal modo que el lenguaje resultante para solucionar el problema queda:

L7 = L5 ∩∩∩∩ L6

45

Page 40: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Con el objetivo de estudiar una frase o sentencia, se puede considerar 4 niveles de lenguajes. Esto facilita la tarea de análisis, ya que la divide en fases o etapas que permiten un procesamiento escalonado del lenguaje; desde un menor nivel de complejidad a un mayor nivel de complejidad.

ING. JORGE BUABUD

menor nivel de complejidad a un mayor nivel de complejidad.

Estos niveles son:

Niveles de un Lenguaje

� LEXICOGRÁFICO

� SINTÁCTICO

� SEMÁNTICO

� PRAGMÁTICO

Page 41: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Nivel Lexicográfico: Se refiere al reconocimiento del léxico de un lenguaje o sea la identificación de los símbolos del alfabeto del lenguaje, llamados componentes léxicos. Es lo que normalmente llamamos diccionario. También incluye la clasificación en tipos de componentes léxicos. Cabe

ING. JORGE BUABUD

Por ejemplo:

Diccionario del Lenguaje de programación C++:

Tipos de componentes léxicos de C++:

palabras claves, delimitadores, operadores, identificadores, números, etc.

incluye la clasificación en tipos de componentes léxicos. Cabe destacar que este nivel no depende del contexto.

main if while switch ( ) + - * num id … … … …

Page 42: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Nivel Sintáctico: Se trata de la forma en la que los componentes léxicos se organizan dentro de una frase o sentencia, es decir la estructura de dicha secuencia de símbolos. Este nivel es independiente o libre del contexto.

ING. JORGE BUABUD

Por ejemplo:

Lenguaje de programación C++:

Estructura de una sentencia selectiva

if ( exp.lógica) sentenciaelse sentencia

Estructura de una sentencia de asignación:

identificador = expresión;

if (N>>>>=0) S1 = S1 + N; else S2 = S2 + N;

Page 43: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Nivel Semántico: Se refiere al significado o connotación de una palabra de un lenguaje. Tiene en cuenta la coherencia de una frase o sentencia. Este nivel es dependiente del contexto.

ING. JORGE BUABUD

Por ejemplo:

Lenguaje de programación C++:

Comprobación de Tipos: verificación de la correspondencia entre las declaraciones de identificadores y el uso de dichos identificadores.

Observación:En este caso la sentencia es incorrecta semánticamente, ya que se utiliza una variable I de tipo float como índice del arreglo V.

float I , V[100]; void main (void) { I = 12.3 ; V[ I ] = 23.45 ; }

Page 44: Lingüística Matemática Clase 1

LINGÜÍSTICA MATEMÁTICAU.T.N. – F.R.T. S. y S. de los L.

Niveles de un lenguaje:

Nivel Pragmático: Tiene que ver con los hechos o acciones que evocan las frases o sentencias de un lenguaje y su utilización por parte de un procesador humano o computacional. Este nivel es dependiente del contexto.

ING. JORGE BUABUD

Por ejemplo:

Lenguaje de programación C++:

Una sentencia de entrada implica la espera del dato que ingresa por el periférico correspondiente, la toma desde el buffer de dicho periférico, la verificación del formato y de la coherencia del mismo; y almacenamiento en la posición de memoria RAM correspondiente al identificador de la variable.

Observación:Para que no se produzca un error pragmático, en tiempo de ejecución, el operador debe introducir un dato de tipo numérico.

float N1; void main(void) { scanf ( “ % f ”, &N1 ); }