Documente Academic
Documente Profesional
Documente Cultură
Hctor Beck F.
Matemticas Discretas
Hctor Beck F.
Matemticas Discretas
Alfabetos y Lenguajes
Lenguaje (L) es un conjunto de palabras. L *
Si = alfabeto ASCII, entonces el lenguaje C es vlido. Si = {0,1} entonces L = { * / termina en 1}
1 L; 10000011 L; 10010 L
Observaciones:
es un lenguaje vaco palabra vaca, * { } lenguaje formado por la palabra vaca { } * es infinito
Matemticas Discretas 3
Hctor Beck F.
Si w y z son palabras, la concatenacin (wz) de w con z es la palabra que se obtiene al aadir a la palabra w la palabra z.
Si w = 10 y z = 111, entonces wz = 10111
w = w = w (identidad)
Hctor Beck F. Matemticas Discretas 4
si n = 0 n = w n1 si n > 0 ww
si w =101 entonces: w0 = ; w1 = 101; w3 =101101101 Dos palabras w y z son iguales (w = z) si tienen la misma longitud y los mismos smbolos en el mismo orden. Si w y x son palabras, se dice que x es prefijo de w, si para alguna palabra y se obtiene que w = xy. Si w e y son palabras, se dice que y es sufijo de w, si para alguna palabra x se obtiene que w = xy.
Hctor Beck F. Matemticas Discretas 5
Prefijo (sufijo) propio es aquella palabra que es prefijo (sufijo) de otra palabra pero no igual a ella misma. Una palabra w es una subpalabra de otra palabra z si existen las palabras x e y para las cuales z = xwy
Hctor Beck F. Matemticas Discretas 6
si w = si w = ay para algn a e y*
Si w = perro entonces:
wi = (perro)i = (erro)ip = (rro)iep = (ro)irep = (o)irrep = ()iorrep = orrep = orrep
Observacin:
(xi)i = x
Hctor Beck F. Matemticas Discretas 7
Lenguaje potencia
An =
{} si n = 0 AAn1 si n 1
A* = U An n=0
Obsrvese que Sean A, B lenguajes sobre un alfabeto definimos la diferencia como Definimos el complemento de un lenguaje A sobre el alfabeto como
A+ = U An n=1 A* = A+ {}
A B ={x / x A y x A} A = * A
Hctor Beck F. Matemticas Discretas 10
x A 0 . Esto prueba que A+ AA* An = ( AAn ) A la inversa, sea x AA* = AU Un=0 n=0
sigue que Entonces, para algn j 0, se deduce que
x AA j = A j+1 U Ak = A+ k =1
Lo que prueba que AA* A+. As termina la demostracin.
Hctor Beck F.
Matemticas Discretas
11
Sea x(AB)i. Entoncesxi AB con lo que xi = yz para las palabras yA y zB. Por tanto x = (xi )i = ( yz)i. , Pero dado que zB, entonces zi Bi. Adems yA, con lo que yi Ai, y por tantose obtiene que xBi Ai lo cual prueba que (AB)i Bi Ai. El razocinio inverso queda como ejercicio.
Hctor Beck F. Matemticas Discretas 12
Nota:
Los lenguajes son conjuntos vlidas todas las operaciones sobre conjuntos
Hctor Beck F.
Matemticas Discretas
13
Hctor Beck F.
Matemticas Discretas
14
Definicin: Sea un alfabeto. El conjunto de los lenguajes regulares sobre se define recursivamente como sigue:
es un lenguaje regular {} es un lenguaje regular Para todo a , {a} es un lenguaje regular Si A y B son lenguajes regulares, entonces AB, AB y A* son lenguajes regulares Ningn otro lenguaje sobre es regular
Matemticas Discretas 15
Hctor Beck F.
Ejemplo: Dado = {a, b}, las siguientes afirmaciones son verdaderas: y {} son lenguajes regulares {a} y{b} son lenguajes regulares {a, b} es un lenguaje regular {ab} es un lenguaje regular {a, b, ab} es un lenguaje regular {ai / i 0} es un lenguaje regular {aibj / i 0 y j 0 } es un lenguaje regular {aibi / i 0} no es un lenguaje regular {(ab)i / i 0} es un lenguaje regular
Hctor Beck F. Matemticas Discretas
16
Notacin: Si r es una e.r., entonces el lenguaje denotado por la e.r. se denotar por L(r) Observaciones:
* = {} si r es una e.r., entonces rr* = r+
Hctor Beck F.
Matemticas Discretas
18
Lenguajes regulares y Expresiones Regulares Demostracin propiedad 11. r(sr)* = (rs)*r Sea w r(sr)*, entonces w = r0(s1r1)(s2r2)....(snrn) para algn n 0. Puesto que la concatenacin es asociativa tenemos que w = (r0s1)(r1s2)(r2s3)....(sn-1sn)rn (rs)*r De aqu se obtiene que r(sr)* (rs)*r ( o que L(r(sr)*) L((rs)*r)) La demostracin de que (rs)*r r(sr)* es equivalente
Hctor Beck F. Matemticas Discretas 20
Lenguajes regulares y Expresiones Regulares Ejemplo: Demuestre que si r = s*t, entonces r = sr|t
r = s*t = ( | s+)t = ( | ss*)t = t | ss*t = t | sr = sr | t ya que s* = |s+ por (8) por (5) y por hiptesis por (1)
Hctor Beck F.
Matemticas Discretas
21
Control Finito
qn q0 qi
a1a2............aj.......an
a1a2............aj.......an
Definicin Formal de una AFD Un AFD es una tupla M = (, Q, , q0, F), donde:
Q q0 F
Hctor Beck F.
alfabeto de entrada conjunto finito de estados estado inicial, q0Q conjunto de estados finales o de aceptacin, F Q Matriz de transicin de tamao |Q|x||
(qi,a) = qj; qi, qj Q y a
Matemticas Discretas 25
Ejemplo de un ADF
Sea M definido como sigue = {a, b}, Q = {q0, q1, q2, q3}, F = {q2} : Veamos el anlisis de w1 = abba y w2 = abaa
Q\ q 0 q 1 q 2 q 3
a q 1 q 2 q 3 q 3
b q 3 q 1 q 3 q 3
q0 q1 q1 q1 q2
w1
Estado Avance abba bba ba a alto
w2
Estado Avance q0 q1 q1 q2 q3 abaa baa aa a alto
q2 F
Hctor Beck F. Matemticas Discretas
q3 F
26
AFD
Un estado se dice persistente cuando se llega a l no es posible salir de este. (Por ejemplo q3) Se dice que una palabra es aceptada por un AFD M si al examinarla, M termina en q F (Por ejemplo w1). Una configuracin (descripcin instantnea) es un para ordenado (q, z) con q Q y z *.
d.i. inicial (q0, w); d.i. final (qf, ) con qf F. q es el estado actual y Para w1 d.i.i. (q0, abba), d.i.f. (q3, ) z es lo que falta por reconocer a1a2............aj.........an z
Hctor Beck F. Matemticas Discretas 27
Ejemplo:
(q0, abba) *M(q1,a)
Definicin: Un AFD acepta una secuencia w *; ssi (q0, w) *M (qf, ), qf F Problema: M y *M son de equivalencia?
Hctor Beck F.
Matemticas Discretas
29
Diagrama de estado
Es una representacin grfica para un AFD. Los estados se representan por un crculo, los estados finales por doble crculo, y se dibuja una flecha de qi a qj, rotulando el arco con el smbolo que permite la transicin. Si (qi,a) = qj entonces se tiene:
a
qi qj
Hctor Beck F.
Matemticas Discretas
30
Q\ q 0 q 1 q 2 q 3
a q 1 q 2 q 3 q 3
b q 3 q 1 q 3 q 3
a
q0 q1
a
q2
b
q3
a,b
Por simplificacin, las transiciones que conducen a estados persistentes no sern denotadas.
Hctor Beck F. Matemticas Discretas
a,b
31
AFD y Lenguajes
Diremos que un AFD M acepta una secuencia w ssi (q0, w) *M (qf, ) con qf F El lenguaje aceptado por un AFD M ser L(M) = {w* / (q0,w) *M (qf,) con qF} Dos autmatas M1 y M2 son equivalentes si L(M1)=L(M2). Por ejemplo: Sea = {a} y
a a q0 a q1 q0 a q1
AFD y Lenguajes
Encuentre el lenguaje aceptado por el AFD siguiente: a b w * w = o w + w = (q0, ) *M (q0, ), pero q0 F, luego L(M). w + w = xw1; x = {a, b} y w1 *. Luego w = aw1 o w = bw1 (q0, bw1) *M (indefinido, w1) w = bw1 L(M). (q0, aw1) M (q1, w1) .......... (1) razonando anlogamente se tiene que (q1, bw2) *M (q1, w2), y que (q1, bnw3) *M (q1, w3); n 1 ...............(2); aplicar induccin (q1, aw4) *M (q2, w4) ..........(3) Si w4 = entonces w L(M) As de (1) w = aw1, de (2) w = abnw3 y de (3) w = abna L(M)
Matemticas Discretas
q0
q1
q2
Hctor Beck F.
33
AFD y Lenguajes
L(M) = {w {a, b}* / numb(w) = 2n, n 0}, construir un AFD para L (diagrama de estados b
w1 = ababba L w2 = bababb L q0 : el # de bs es par q1 : el # de bs es impar a
a q0 b q1
0 q2
Hctor Beck F.
34
Hctor Beck F.
1 q0
AFD
q1
q2
AFND
Hctor Beck F.
Matemticas Discretas
36
Hctor Beck F.
Matemticas Discretas
37
Secuencia de transiciones:
( A, )* ( A, ); M ( A, aw )* ( B , w' ) ( A, aw ) ( C , w ) ( C , w )* ( B , w' ) M M
M
con A, B ,C Q, a y w, w' *
q1
q2
({ q 0 }, 01000 )
M M M M M
A I F = { q 0 , q 1 , q 2 , ind } I { q 2 } = { q 2 } w L(M )
Hctor Beck F. Matemticas Discretas 39
Sean: M1 AFND M1 = (, Q1, 1, qo1, F1), y M2 AFD M2 = (, Q2, 2, qo2, F2) q Q2 ser de la forma {q1, q2, ...., qn} con qi Q1 Q2 P(Q1) q02 = {q01} F2 = {q Q2 / qF1 } 2(q2, a) = 1(qi1, a) con qi1 q2 Por demostrar que L(M1) = L(M2)
Matemticas Discretas 40
q0
0, 1
q1
q2
q q q
02
12
22
0 1 Q \ {q } { q ,q } { q } { q ,q } { q ,q ,q } { q } { q ,q ,q } { q ,q ,q } { q }
2 0 0 1 0 0 1 0 1 2 0 0 1 2 0 1 2 0
0 q12 1 1 q22
q02
Hctor Beck F.
Matemticas Discretas
41
Autmata Finito No Determinstico con Movidas Vacas (AFND-) Un AFND- es como una AFND slo que se permiten transiciones con , es decir, se permite que el AFND realice un cambio de estado sin leer un smbolo de la entrada.
qi qj
Ejemplo: L = 0*1*2*
q0 0 1 q1 2 q2
Hctor Beck F.
Matemticas Discretas
42
Autmata Finito No Determinstico con Movidas Vacas (AFND- ) Definicin: Un AFND- es una tupla M = (, Q, , q0, F) igual que en un AFD salvo que: : Qx {} P(Q) (q, a) = S Q Ejemplo. Para el AFND- anterior
Q\ U{ } q q
0
0 q
0
1 q
1
2 q
2
q q
1
Hctor Beck F.
Matemticas Discretas
43
Autmata Finito No Determinstico con Movidas Vacas (AFND-) Sea M = (, Q, , q0, F) un AFND- . Definimos: Relacin de transicin:
({q}, aw) M ( A, w) ssi A = ( ( ( q), a)) donde : ( q) = { p / r , i = 1,..., n tq (q, ) = r ; i 1 (r , ) = r ; i = 1,..., n 1 i i +1 (r , ) = p} n
donde (q) es la Clausura o Cerradura vaca. Conjunto de todos los estados alcanzables desde q slo mediante movidas vacas.
Hctor Beck F. Matemticas Discretas 44
Hctor Beck F.
Matemticas Discretas
45
AFND-
Secuencia de transiciones
( A, ) M (( ( A), ) ( A, w1aw2 ) M ( B , w2 ) ( A, w1aw2 ) M (C , aw2 ) (Caw2 ) M ( B , w2 ) * * *
Ejemplo : ({ q 0 }, 0122 ) M ({ q 2 }, )
Hctor Beck F. Matemticas Discretas 46
Hctor Beck F.
Matemticas Discretas
47
2
1 2
0,1
1 0,1,2
1,2
Hctor Beck F.
Matemticas Discretas
48