Está en la página 1de 29

Unidad 1

Introduccin

Contenido
1.1 La importancia de estudiar los autmatas y
lenguajes formales
1.2 Smbolos, alfabetos y cadenas
1.3 Operaciones sobre cadenas
1.4 Definicin de lenguaje y operaciones sobre
lenguajes
1.5 La jerarqua de Chomsky: Clasificacin de
gramticas y lenguajes

Conceptos bsicos

Smbolo es una representacin distinguible de


cualquier informacin.

Los smbolos pueden ser cualesquiera, como w, 9, #,


etc.,
Un smbolo es una entidad indivisible.

Alfabeto

Un alfabeto es un conjunto finito no vaco de smbolos.


Ejemplos:

Conceptos bsicos

Cardinalidad del alfabeto (nmero de elementos del


alfabeto): ||>0 y ||<
Palabras

Una secuencia finita de smbolos de un alfabeto es una


palabra sobre dicho alfabeto.

Escribimos la palabra vaca, es decir, la palabra que no


contiene ningn smbolo, como .
Definicin, ||=0

La longitud de una palabra sobre un alfabeto


es el nmero de smbolos que contiene.

* denota el conjunto de todas las cadenas


que se pueden construir a partir del alfabeto
. Por ejemplo,

{a}* = {, a, aa, aaa, aaaa, }


{a,b}*= {, a, b, aa, ab, ba, bb, aaa, aab, }

Notacin {a}* = {an | n >= 0}

Convencin

* = {}, denota al conjunto vaco.


Si entonces * es un conjunto infinito de cadenas
cada una de ellas de longitud finita.

Observacin:

{a, b} = {b, a} pero ab ba


{a, a, b} = {a, b} pero aab ab
{}

conjunto sin elementos


{} conjunto con un elemento
cadena, no es un conjunto

Operaciones sobre cadenas

Concatenacin
Si u, v A*, u=a1an, v=b1bn, se llama
concatenacin de u y v a la cadena uv dada
por a1anb1bm.
Propiedades

|uv| = |u| + |v|, u, v A*


u(vw) = (uv)w, u, v, w A*
u= u = u, u A*

Ejemplos

Sean u=aab, v=abab, z=bba, entonces

uv=aababab, mientras que vu=ababaab


(uv)z= (aababab)bba = aabababbba
u(vz) = aab(ababbba) = aabababbba
(am)(an) = a(n+m) para cualquier, m,n >=0.

Ejemplos:

a5=aaaaa, a1=a, a0=

Definicin

Si u

A*

u0 =
ui+1 = uiu

entonces

i >= 0

Si u=a1an A*, entonces, la cadena


inversa de u-1 = ana1 A*.

Operaciones sobre conjuntos

A, B, C denotan conjuntos de cadenas


(Subconjuntos de *).

Complemento en *

Concatenacin

~A = {x * | x A}

AB = { xy | x A y y B}

Potencia n-sima An de un conjunto A:

A0 = {}
A(n+1) = AAn
Es decir, An se forma concatenando n copias de A
consigo misma. Am An = Am+n

Ejemplos

{ab, aab}0= {}
{ab, aab}1= {ab, aab}
{ab, aab}2= {abab, abaab,aabab,aabaab}
{ab, aab}3= {ababab, ababaab,abaabab,abaabaab,
aababab, aababaab,aabaabab,aabaabaab}

De igual forma:

{a,b}n = {x {a,b}* | |x|=n}


Que son todas las cadenas tomadas del alfabeto {a,b} de
longitud n.

Cerradura de Kleene: A* es la unin de todas las


posibles potencias finitas de A:

Tambin se define como:

Cuando n=0 entonces est siempre en A* para


cualquier A. Ejemplo:

{aab, baa}*= {, aabbaa, aabaab, }

Cerradura positiva: A+ para un conjunto A es


la unin de todas las potencias de A distintas
de cero:

Ejercicios

Sea el alfabeto = {a, b, c} y los conjuntos A={aab,


bba}, B={aa,aaaa,ab}; obtenga:

*
+
AUB
A B
~A
AB
BA
A2
B2

La unin, interseccin y concatenacin son


asociativas:

Conmutatividad en unin e interseccin

(A U B ) U C = A U (BUC)
(A B ) U C = (A B) C)
(AB)C = A(BC)

AUB=BUA
A B=B A

El conjunto es aniquilador para concatenacin:

A = A =

La concatenacin se distribuye sobre la


unin:

La concatenacin de conjuntos no se
distribuye con respecto a la interseccin.

Ejercicio: A={a, ab}, B={b}, C={}, calcule A(BC)


y AB AC.

La cerradura Kleene satisface las siguientes


propiedades:

Ejercicios

1.4 Definicin de lenguaje y operaciones


sobre lenguajes

Llamamos lenguaje sobre el alfabeto a cualquier


subconjunto de *.
*, , y pueden considerarse como lenguajes.
Un lenguaje es tan slo una clase especial de
conjunto, podemos especificar un lenguaje finito por
extensin enumerando sus elementos entre llaves.

{aba, czr, d, f} es un lenguaje sobre el alfabeto {a, b, c, ...,


z}

Pero la mayora de los lenguajes de inters son


infinitos. En este caso podemos especificar un
lenguaje por comprensin de la siguiente forma:

L = {w * | w cumple la propiedad P}

Ejemplo

L = {w {0, 1} * | ceros(w) = unos(w)},


palabras que tienen el mismo nmero de
ceros que de unos.

Operaciones del algebra de conjuntos

Sean L1 y L2 dos lenguajes definidos sobre el


alfabeto .

Se define la unin de estos dos lenguajes como el


lenguaje L sobre que se especifica como:
L = L1 L2 = {w * | (w L1) (w L2)}

De forma anloga a la unin se pueden definir otras


operaciones del lgebra de conjuntos como la
interseccin, diferencia, y complemento de
lenguajes.

Por ejemplo, el complemento del lenguaje L sobre el


alfabeto V ser:

L = V* L

Concatenacin, potencia e inversin de


lenguajes

Sean L1 y L2 dos lenguajes definidos sobre el


alfabeto , la concatenacin de estos dos
lenguajes es otro lenguaje L definido como:

L1 L2 = {x y * | (x L1) (y L2)}
La definicin anterior slo es vlida si L1 y L2
contienen al menos un elemento.
L=L=

Concatenacin de lenguajes

Dados los lenguajes A,B,C sobre un alfabeto


V , la concatenacin de lenguajes es
distributiva con respecto a la unin, esto es,
se cumple que:
1. A (B C) = (A B) (A C)
2. (B C) A = (B A) (C A)

Potencia n-sima

Consiste en concatenar el lenguaje consigo mismo


n veces. La definicin inductiva es:
1. L0 = {} = {}
2. Ln = L Ln1, n > 0

Ejemplo:
Si L = {ab, c} es un lenguaje sobre el alfabeto {a, b,
c} entonces,

L0 = {}
L1 = L = {ab, c}
L2 = L L1 = {abab, abc, cab, cc}
L3 = L L2 = {ababab, ababc, abcab, abcc, cabab, cabc,
ccab, ccc}

Lenguaje inverso de L:

LR ={wR | w L}

Cerradura positiva

L L

n 1

Cerradura

L* Ln
n 0

1.5 La jerarqua de Chomsky, 1956


Gramtica

Lenguaje

Modelo matemtico

Tipo 0: sin restriccin

Recursivamente
enumerable
(Nivel pragmtico)

Mquina de Turing (MT)

Tipo 1: dependiente
del contexto

Dependiente del
contexto
(Nivel semntico)

Autmata linealmente
limitado (ALL)

Tipo 2: independiente
del contexto

Independiente del
contexto
(Nivel sintctico)

Autmata de pila (AP)

Tipo 3: regular

Regular
(Nivel lxico)

Autmata finito (AF)

1.5 La jerarqua de Chomsky

También podría gustarte