De palabras y lenguajes

Post on 13-Apr-2017

132 views 0 download

Transcript of De palabras y lenguajes

De palabras y lenguajes

It appeared that way, Lawrence, but this raised the question of was mathematics really true or was it just a gameplayed with symbols? In other words—are we discovering Truth, or just wanking? —

Neal Stepheson, Cryptomicon

Ivan Meza

¿Qué es una computadora?

¿Qué hace una computadora?

¿Qué no hace una computadora?

Una buena aproximación...

Proceso/cajanegra

Caja negra

Entradas¿Cuántas y cuáles?

Una, dos, tres....Booleanos, Números, cadenas, estructuras,funciones

Salidas¿Cuántas y cuáles?

UnaBooleanos, números, cadenas, estructuras,funciones

¿Cómo hablamos de todas las cajasnegras?

Una entradaUna salidaBooleano

Caja negra

Una entrada: muchos casos

Todas las entradas pueden ser reducidas a una, porconcatenación de cadenas

Existen muchas cajas negras para todas estas entradas

Una salida: dos casos

El caso más sencillo

Existen muchas cajas negras para estas dos salidas

¿Cómo generamos todas las entradas?

Combinaciones de elementos básicos

¡Teoría de conjuntos!

concepto AlfabetoUn conjunto de elementos "básicos"

finitoNotación Σ

Ejemplos de alfabetos{a, b}{0, 1}

{import , print , for , in , v1 , 1, 2, 3, [, ] },′ ,′

concepto Cadena

Secuencia finita de elementos de un alfabeto

Notación

Σ

w

Ejemplos de cadenasbaaaaa, bab, abbbbabbbb, . . .0, 1, 0101, 10001, 10001, . . .

import m, for v1 in[1, 2, 3], in while if, . . .

Longitud de una cadena|baaaaa| = 6|bab| = 3

|abbbbabbbb| = 11|0| = 1|1| = 1|0101| = 4

Longitud de una cadena|10001| = 5|10001| = 5|import m| =?

|for v1 in[1, 2, 3]| =?|in while if| =?

concepto LA CADENA VACIALongitudceroNotación ϵ

0|ϵ| =

concepto ConcatenaciónPara dos palabras y w1 w2

= . . .w1 w11 w12 w1m

| | = mw1= . . .w2 w21 w22 w2n

| | = nw2

La concatenación de y esw1 w2

= . . . . . .w1w2 w11 w12 w1mw21 w22 w2n

aab bba = aabbba

Propiedades de la concatenación≠w1w2 w2w1

= ( ) = ( )w1w2w3 w1w2 w3 w1 w2w3ϵ = ϵ =w1 w1 w1

| | = | | + | |w1w2 w1 w2

Lenguajes

¡Lenguajes!

¡¡Lenguajes!!

¡¡¡Lenguajes!!!

concepto LenguajesConjunto de cadenas de un alfabeto

Notación

Σ

L

Bienvenidos alinfinito

Ejemplos de lenguajes{a, b}{aa, bb, aaa, bbb, aaaa, bbbb}

{a, aa, aaa, aaaa, aaaaa, . . . }

Lenguajes notables{ϵ}

{} = ∅

Potencia de un alfabetoDe alfabeto a lenguaje , supongamos Σ L Σ = {a, b}

...

= {ϵ}Σ0

= {a, b}Σ1

= {aa, ab, ba, bb}Σ2

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

Un lenguaje notable

El conjunto de todas las palabras posibles con , incluyendo lacadena vacía

= ∪ ∪ ∪ ∪. . .Σ∗ Σ0 Σ1 Σ2 Σ3

Σ

Para Σ = {a, b}

= {ϵ, a, b, aa, ab, ba, bb, aaa, aan, aba, abb, baa, bab, bba, bbb,Σ∗

Todo sobre es un subconjunto de L Σ Σ ∗

concepto Concatenación de lenguajesPara dos lenguajes y L1 L2

= { | ∈ y  ∈ }L1L2 w1w2 w1 L1 w2 L2

Ejemplos concatenación de lenguajes, , y = {aa}L1 = {a, b}L2 = {ϵ}L3

= {a, aa, aaa, aaaa, . . . }L4

=L1L2 {aaa, aab}=L2L1 {aaa, baa}=L2L2 {aa, ab, ba, bb}=L2L3 {a, b}=L1L4

{aaa, aaaa, aaaaa, . . . }

Si podemos concatenar lenguajes ¿exite ?L∗

Cerradura de un Lenguaje (Kleene

estrella)

(Kleene más)

  =L∗ ⋃∞i=0 Li

=L+ ⋃∞i=1 Li

Stephen C. Kleene

Ejemplos de cerradurasPara L = {aa}

  = {ϵ, aa, aaaa, aaaaaa, aaaaaaaa, . . . }L∗

= {   aa, aaaa, aaaaaa, aaaaaaaa, . . . }L+

¿alguien puede describir este lenguaje?

Cerraduras notables{ϵ =}∗ {ϵ}{ϵ =}+

{ϵ}

∅∗ ={ϵ}=∅+ { }

El poder de la cadena vacía

{ϵ}L = L

L{ϵ} = L

Si presente, copia un lenguajeϵ

{ϵ, . . . }L = ({ϵ} ∪ )L = ({ϵ}L) ∪ ( L) = L ∪ LLr Lr Lr

Las operaciones normales de losconjuntos

Union: Intersección:

Diferencia:

∪L1 L2

∩L2 L2−L1 L2

Complemento

= − LL¯ ¯¯̄ Σ∗

concepto Lenguajes que generan lenguajesConcatenaciónCerraduraOperación deconjuntos

Todos aceptan lenguajes y crean "nuevos" lenguajes

Describiendo lenguajes con propiedad{w|w ∈ Σ

}

Ejemplos de lenguajesSi Σ = {a, b}

y con número par de aes y con sólo bes y número impar de bes

{w|w ∈ Σ∗ }{w|w ∈ Σ∗

}

AlfabetoCadenasLenguajesDe alfabeto a lenguaje: potenciaConcatenación de lenguajesOperaciones que toman lenguajes y hacen otroslenguajes

ivanvladimir@gmail.com ivanvladimir.github.io ivanvladimir

De palabras y lenguajes by is licensed under a.

Creado a partir de la obra en.

Ivan V. Meza RuizCreative Commons Reconocimiento 4.0 Internacional License

http://turing.iimas.unam.mx/~ivanvladimir/slides/lfya/lenguajes.html