CADENAS Y LENGUAJES

Download Report

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}