11.07.2015 Views

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

Teor´ıa de Autómatas y Lenguajes Formales

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

72 CHAPTER 4. PROPIEDADES DE LOS LENGUAJES REGULARESEjemplo 65 Como se vio en un ejemplo anterior, {a N b N /N ≥ 1} no es un lenguaje regular. Intuitivamente,{0 N 10 N /N ≥ 1} no es regular por las mismas razones. Si se tuviera un AF, M, que aceptara {0 N 10 N /N ≥ 1},se podría aceptar {a N b N /N ≥ 1} simulando M en 0 por cada a, al ver la primera b, simular M en 10 y luegosimular M en 0 por cada b. Sin embargo, es necesario probar que {0 N 10 N /N ≥ 1} no es regular. Esto sepue<strong>de</strong> hacer aplicando el lema <strong>de</strong> bombeo, pero es más simple utilizar operaciones que conservan regularidadpara convertir {0 N 10 N /N ≥ 1} en {a N b N /N ≥ 1}. Por lo tanto {0 N 10 N /N ≥ 1} no pue<strong>de</strong> ser regular.Sean h 1 y h 2 los homomorfismosh 1 (0) = 0 h 2 (0) = ah 1 (1) = 10 h 2 (1) = bh 1 (2) = 0 h 2 (2) = bEntoncesporqueh 2 (h −11 ({0N 10 N /N ≥ 1}) ∩ 0 ∗ 12 ∗ ) = {a N b N /N ≥ 1}h −11 ({0N 10 N /N ≥ 1}) = (0 + 2) ∗ 1(0 + 2) ∗en que el número <strong>de</strong> símbolos <strong>de</strong>spués <strong>de</strong>l 1 es uno menor que los anteriores al 1.Por lo tantoh −11 ({0N 10 N /N ≥ 1}) ∩ 0 ∗ 12 ∗ = {0 N 12 N−1 /N ≥ 1}Si {0 N 10 N /N ≥ 1} fuera regular, dado que el homomorfismo inverso <strong>de</strong> homomorfismos e interseccióncon un conjunto regular preservan la propiedad <strong>de</strong> ser regular, se concluiría que {a N b N /N ≥ 1} es regular,lo que es una contradicción. Por lo tanto {0 N 10 N /N ≥ 1} no pue<strong>de</strong> ser regular.✷✷4.3 Algoritmos <strong>de</strong> DecisiónEl tipo <strong>de</strong> pregunta que nos preocupa incluye: ¿es un lenguaje regular dado vacío, finito o infinito?, ¿esun conjunto regular igual a otro?, etc. Para estos propósitos se supondrá que los lenguajes regulares están<strong>de</strong>scritos por autómatas finitos.Teorema 15 El conjunto <strong>de</strong> strings aceptado por un autómata finito M con N estados es• No vacío, si y sólo si M acepta un string <strong>de</strong> largo inferior a N.• Infinito, si y sólo si M acepta un string <strong>de</strong> largo l, con N ≤ l < 2N.Por lo tanto existe un algoritmo para <strong>de</strong>terminar si un autómata finito acepta cero, un número finito oun número infinito <strong>de</strong> sentencias.Demostración : Suponga que M acepta un conjunto no vacío. Sea w un string tan corto como cualquierotro aceptado. Por el lema <strong>de</strong> bombeo, |w| < N, porque si fuera |w| ≥ N, entonces w = uvy y uy sería aúnmás corto y estaría en el lenguaje. Una contradicción con el hecho que w es el string más corto. La otradirección es obvia.Si w ∈ L(M) y N ≤ |w| < 2N, por el lema <strong>de</strong> bombeo L(M) es infinito. Esto es, w = w 1 w 2 w 3 y paratodo i ≥ 0, w 1 w2 i w 3 ∈ L. Por el otro lado, si L(M) es infinito, entonces existe w en L(M) con |w| ≥ N;si |w| < 2N no hay problemas. Si ninguna palabra tiene longitud entre (N) y (2N − 1), sea w <strong>de</strong> largoal menos 2N, pero tan corta como cualquiera <strong>de</strong> longitud mayor o igual a 2N. Por el lema <strong>de</strong> bombeo, se

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!