Anda di halaman 1dari 5

Cap tulo 1 Lenguajes formales

1.1. Alfabetos y palabras

Un alfabeto es un conjunto nito no vac o cuyos elementos se llaman s mbolos. Denotamos un alfabeto arbitrario con la letra . Una palabra o cadena sobre un alfabeto es cualquier sucesi on nita de elementos de . Admitimos la existencia de una u nica palabra que no tiene s mbolos, la cual se denomina palabra vac a y se denota con . La palabra vac a desempe na, en la teor a de lenguajes formales, un papel similar al que desempe na el conjunto vac o en la teor a de conjuntos.

mbolos a y b. Las Ejemplo Sea = {a, b} el alfabeto que consta de los dos s siguientes son palabras sobre : aba ababaaa aaaab Obs ervese que aba = aab. El orden de los s mbolos en una palabra es signicativo ya que las palabras se denen como sucesiones, es decir, conjuntos secuencialmente ordenados. El conjunto de todas las palabras sobre un alfabeto , incluyendo la palabra vac a, se denota por .

Ejemplo

Sea = {a, b, c}, entonces

= {, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, aab, abc, baa, . . .}. Observaciones: 1. Si bien un alfabeto es un conjunto nito, es siempre un conjunto 1

Cap tulo 1

Lenguajes formales

innito (enumerable). En el caso m as simple, contiene solo un s mbolo, = {a}, y = {, a, aa, aaa, aaaa, aaaaa, . . .}. 2. Hay que distinguir entre los siguientes objetos, que son todos diferentes entre s : {} { } 3. La teor a de lenguajes se hace con referencia a un alfabeto jo (pero arbitrario).

Notaci on usada en la teor a de lenguajes


a, b, c, d, e,. . . u, v, w, x, y, z,. . . A,B,C,. . . ,L,M,N,. . . denota un alfabeto. denota el conjunto de todas las palabras que se pueden formar con los s mbolos de . denotan s mbolos del alfabeto . denotan palabras, es decir, sucesiones nitas de s mbolos de . denota la palabra vac a, es decir, la u nica palabra en que no tiene s mbolos. denotan lenguajes (denidos m as adelante).

1.2.

Concatenaci on de palabras

Dado un alfabeto , y dos palabras u, v , la concatenaci on de u y v se denota como u v o simplemente uv y se dene descriptivamente as : 1. Si v = , entonces u = u = u. Es decir, la concatenaci on de cualquier palabra u con la palabra vac a, a izquierda o a derecha, es igual a u. 2. Si u = a1 a2 an , v = b1 b2 bm , entonces u v = a1 a2 an b1 b2 bm . Es decir, u v es la palabra formada escribiendo los s mbolos de u y a continuaci on los s mbolos de v . La concatenaci on de palabras se puede denir inductiva o recursivamente de la siguiente manera. Si u, v , a , entonces 1. u = u = u.

Cap tulo 1 2. u (va) = (u v )a.

Lenguajes formales

Propiedad. La concatenaci on de palabras es una operaci on asociativa. Es decir, si u, v, w , entonces (uv )w = u(vw). Demostraci on : Se puede hacer escribiendo expl citamente las palabras u, v, w y usando la denici on descriptiva de concatenaci on. Tambi en se puede dar una demostraci on inductiva usando la denici on recursiva de concatenaci on (ejercicio opcional).

1.3.

Potencias de una palabra


u0 = , un = uu u
n veces

Dada u y n N, se dene (descriptivamente) un en la siguiente forma

Ejercicio

Dar una denici on recursiva de un .

1.4.

Longitud de una palabra

La longitud de una palabra u se denota |u| y se dene como el n umero de s mbolos de u (contando los s mbolos repetidos). Es decir, |u| =

0, si u = , n, si u = a1 a2 an

Ejemplo Ejemplo

|aba| = 3, |baaa| = 4. Si w , n, m N, demostrar que |wn+m | = |wn | + |wm |

Soluci on: Caso n, m 1. |wn+m | = | ww w | = (n + m)|w|. Por otro lado,


n+m veces

|wn | + |wm | = | ww w | + | ww w | = n|w| + m|w|.


n veces m veces

Cap tulo 1

Lenguajes formales

Caso n = 0, m 1. |wn+m | = |w0+m | = |wm |. Por otro lado, |wn | + |wm | = |w0 | + |wm | = || + |wm | = 0 + |wm | = |wm |. Caso m = 0, n 1. Similar al caso anterior. Caso n = 0, m = 0. |wn+m | = |w0+0 | = || = 0. Por otro lado, |wn | + |wm | = |w0 | + |w0 | = || + || = 0 + 0 = 0.

1.5.

Inversa de una palabra

La inversa o transpuesta de una palabra u se denota u1 y se dene descriptivamente as : u1 = , si u = , u = an a2 a1 , si u = a1 a2 an

De la denici on se observa claramente que la inversa de la inversa de una palabra es la misma palabra, es decir, (u1 )1 = u

para u .

Ejercicio

Dar una denici on recursiva de u1 . Si u, v , demostrar que (uv )1 = v 1 u1 .

Ejercicio

on de Ejercicio Generalizar la propiedad del ejercicio anterior a la concatenaci n palabras.

1.6.

Subpalabras, prejos y sujos

Una palabra v es una subpalabra o subcadena de u si existen palabras x, y tales que u = xvy . N otese que x o y pueden ser y, por lo tanto, la palabra vac a es una subpalabra de cualquier palabra. Un prejo de u es una palabra v tal que u = vw para alguna palabra w . Se dice que v es un prejo propio si v = u. Similarmente, un sujo de u es una palabra v tal que u = wv para alguna palabra w . Se dice que v es un sujo propio si v = u. Obs ervese que es un prejo y un sujo de toda palabra u ya que u = u = u. Por la misma raz on, toda palabra u es prejo y sujo de s misma.

Cap tulo 1

Lenguajes formales

Ejemplo

Sea = {a, b, c, d}, u = bcbaadb. Sujos de u : b db adb aadb baadb cbaadb bcbaadb

Prejos de u : b bc bcb bcba bcbaa bcbaad bcbaadb

1.7.

Lenguajes

Un lenguaje L sobre un alfabeto es un subconjunto de , es decir L . Casos extremos: L = , L = , (Lenguaje vac o) (Lenguaje de todas las palabras sobre )

Todo lenguaje L satisface L , y puede ser nito o innito. Los lenguajes se denotan con letras may usculas A, B, C, . . . , L, M, N, . . .. Ejemplos

Los siguientes son ejemplos de lenguajes sobre los alfabetos dados.

= {a, b, c}. L = {a, aba, aca}. = {a, b, c}. L = {a, aa, aaa, . . .} = {an : n 1}. = {a, b, c}. L = {, a, aba, ab2 a, ab3 a, . . .} = {abn a : n 1} {}. = {a, b, c, . . . , x, y, z }. L = {u : u aparece en el diccionario espa nol}. L es un lenguaje nito. = {a, b, c}. L = {u : u no contiene el s mbolo c}. Por ejemplo, abbaab L pero abbcaa / L. = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. El conjunto N de los n umeros naturales se puede denir como un lenguaje sobre , en la siguiente forma: N = {u : u = 0 o 0 no es un prejo de u}.

Ejercicio Denir el conjunto de los enteros Z = {. . . , 2, 1, 0, 1, 2, . . .} como un lenguaje sobre un alfabeto adecuado.

Anda mungkin juga menyukai