Transcript CADENAS Y LENGUAJES
CADENAS Y LENGUAJES
CARACTER
Un símbolo o caracter es una entidad indivisible.
• • • • Ejemplos: #, %, $, , ^, a, 7 Por comodidad utilizaremos como símbolos: a,b,c,d,e,. . .
0,1,2,3,. . . , 9
ALFABETO
Un alfabeto Σ es un conjunto finito de símbolos.
• • • Ejemplos: El alfabeto del español: a, b, c, d, e, f, . . . , z.
El alfabeto binario: 0, 1.
• • El alfabeto ASCII: a,. . . ,z,A,. . . , Z, $, %,#,. . .
Usaremos la letra griega Σ o letras mayúsculas del final del alfabeto (X, Y,Z) para denotar alfabetos A={abc}
• • •
CADENA
Una cadena, expresión o palabra es una sucesión finita de símbolos tomados de un alfabeto dado .
Ejemplos: En el alfabeto del español: abc, def, feo, bonito, dsp, guajolote, uizcm.
En el alfabeto binario: 0, 101010, 00, 1100, 001, 11010.
Obsérvese que los símbolos son a su vez cadenas que constan de un solo caracter. Más aún la cadena vacía se denota con el símbolo símbolo λ (lambda) o ε (epsilon) y se llaman palabaras vacias Al conjunto de todas las cadenas sobre el alfabeto Σ se le denota con Σ * y se le nombra la estrella de Kleene
A={a,b,c} u= ababb v=accbaaa
OPERACIONES CON CADENAS
• La longitud de una cadena w es el número de símbolos en w y se denota con |w| o l(u). u=abaab= aba 2 b v=accbaaa =ac 2 ba 3 l(u)=5 l(v)=7
• • • • • • La operación básica entre cadenas es la concatenación que consiste en pegar cadenas en orden de izquierda a derecha: Si v,w son cadenas entonces vw será la cadena obtenida al pegar v con w.
La concatenación puede definirse recursivamente como sigue: uv=ababbaccbaaa= abab 2 ac 2 ba 3 Ejemplos: La concatenación de cala y baza es la cadena calabaza.
si v = broco y w = li entonces vw = brocoli.
si x = champu y y = rrado entonce yx = rradochampu.
• • • • Propiedades: Asociatividad: (uv)w = u(vw).
Identidad: v ε = ε v = v.
Longitud: |vw| = |v| + |w|.
LENGUAJES
• • • • • • • Un lenguaje L sobre un alfabeto Σ es simplemente un conjunto de cadenas de Σ . Es decir L ⊆ Σ * .
Si Σ = {m, u} entonces algunos lenguajes sobre son: L1 = {m, u} = L2 = {u, uu, uuu, uuuu, uuuuu, uuuuuu, . . .}.
L3 = {mu, um, mum,umu,mmu, ummm,mumumum}.
L4 = {mu,muu,muuu,muuuu, . . .}.
L5 = {m,mmm,mmmmm,. . . ,m. . . , uuum,m. . .}.
• • Obsérvese que un lenguaje puede ser finito o infinito, que 0 es un lenguaje, llamado lenguaje vacío y Σ * es un lenguaje llamado el lenguaje total. Además Σ y {ε} también son lenguajes.
OPERACIONES SOBRE LENGUAJES
Suponga que L y M son lenguajes sobre el alfabeto A, entonces la concatenación de Ly M , que se denotapor LM es el lenguaje definido como sigue: LM={uv|u εL, v ε M}