Download - 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
[email protected] 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