INGENIERÍA EN INFORMÁTICA MODELOS ABSTRACTOS DE COMPUTO I 22 de Junio de 2009 SOLUCIONES 1. (0,5 puntos) Sobre el lfbeto {,b}, d expresiones regulres que denoten los siguientes lengujes: ) El lenguje formdo por ls plbrs de longitud myor o igul 3. ( b) + ( b) + ( b) + b) El lenguje formdo por ls plbrs con 2 b s como mínimo. ( b) * b ( b) * b( b) * c) El lenguje formdo por ls plbrs con un número impr de s. b * (b * b * ) * b * 2. (1 punto) Un dirección e-mil debe contener sólo un vez @, pero puede contener vrios. seprndo prtes del nombre o del dominio, por ejemplo, esto.es.vlido@ehu.es. Pero esto@no..edu y.tm.poco@ehu.com no son válids. Usndo x pr indicr un crácter lfnumérico, busc un expresión regulr sobre el lenguje {@,., x} de direcciones de e-mil válids. α 1 = x + indic un plbr (secuenci de un o más letrs) α 2 = α 1 (. α 1 ) * indic un secuenci de plbrs seprds con punto α 3 = α 2 @ α 2 indic un dirección e-mil Por tnto l expresión regulr es: x + (. x + ) * @ x + (. x + ) * 3. (1,5 puntos) Ddo el siguiente AFND, hll un AFD equivlente (plicndo el lgoritmo correspondiente) y d el lenguje que cept.
Aplicndo el lgoritmo, obtenemos los estdos y l función de trnsición γ p0 ={q0} inicil γ(p0, ) = δ(q0, ) = {q1,q3} = p1 finl γ(p0, b) = δ(q0, b) = {q2,q3} = p2 finl γ(p1, ) = δ(q1, ) δ(q3, ) = = p3 γ(p1, b) = δ(q1, b) δ(q3, b) = {q2,q3} = p2 γ(p2, ) = δ(q2, ) δ(q3, ) = {q1,q3} = p1 γ(p2, b) = δ(q2, b) δ(q3, b) = = p3 γ(p3, ) = γ(p3, b) = p3 Por tnto, el AFD equivlente (totlmente especificdo) es M = ( {p0,p1,p2,p3}, {, b}, γ, p0, F ) con F ={p1,p2} Este mismo AFD, pero sin especificr el estdo p3=, se dibuj (renombrndo ls p s por q s como prece en JFLAP) de l siguiente form: El lenguje ceptdo es el formdo por ls plbrs sobre el lfbeto {,b}, no vcís, que no contienen dos símbolos igules seguidos. Dicho lenguje puede describirse medinte l expresión regulr: (b) * (ε b) b (b) * (ε ) 4. (1,5 puntos) Construye un utómt finito determinist que cepte el siguiente lenguje L sobre el lfbeto {,b,c} : L = { wcy : w,y {,b} * b es subplbr de w y b mod 2 = 0 }
Con los estdos q0, q1 y q2 controlmos que leemos w, es decir un subplbr que contiene b. Permnecemos en q0 hst que prece l primer y en q1 hst que prece b. En q2 podemos seguir leyendo s y b s. Al leer c cmbimos de estdo y controlmos que leemos l subplbr y, es decir un subplbr que contiene un número pr de veces b. Como y puede ser l plbr vcí (el cero es un número pr), q3 es un estdo finl. Hst que no lemos b, nos mntenemos en q3 y q4 y cundo leemos b psmos q5, que no es finl porque y contendrí un número impr de veces l subplbr b. Si desde q5 leemos de nuevo b, volvemos estr en l mism situción que en q3. 5. (1 punto) Construye un AFD mínimo pr el lenguje denotdo por + b +. Demuestr que es mínimo. Construimos un AFDt : Este AFDt es mínimo y que todos los estdos son distinguibles dos dos: q2 se distingue de los demás estdos por ser el único finl. q0 y q1 se distinguen medinte l plbr b. q0 y q3 se distinguen medinte l plbr b. q1 y q3 se distinguen medinte l plbr b. 6. (0,5 puntos) Clsific los siguientes lengujes indicndo si son regulres (R) o no y si son independientes de contexto (IC) o no R IC ) { i b k : i, k >0 } Si Si b) { i b k : i mod 2 = 0 k mod 2 0 } Si Si c) { i b k : i < k } No Si 7. (1,5 puntos) Elimin ls producciones vcís de l grmátic G cuys regls vienen dds continución, obteniendo un grmátic G equivlente.
S A A AB ε B bc AC C bbc ε D el árbol de derivción de l plbr con l grmátic G y con G. L grmátic G que se pide es l siguiente : S A A AB B A B bc b AC A C C bbc bb G se h obtenido buscndo los símbolos nulbles: A, C y B, borrndo ls producciones nuls y ñdiendo nuevs regls obtenids l sustituir los símbolos nulbles por l plbr vcí, en cd un de ls regls. Arbol de derivción de con G: S Arbol de derivción de con G : S A A A B ε A C ε ε 8. (1 punto) Demuestr que l siguiente grmátic es mbigu y d el lenguje que gener. S A S b A Ab ε Es mbigu porque hy dos derivciones ( derech) pr l plbr b S - A - Ab - b S - S b El lenguje que gener es L = {b} { i b k i : i >0 k 0 }
9. (1,5 puntos) Ddo el lenguje L = { w..v : w,v {,b,c}* w = v b }, demuestr que es independiente del contexto dndo un GIC que genere L o dndo un AP que cepte L. Un GIC que gener L es: S Sb cs bs S Sc Con l primer regl se exige que cd vez que esté el símbolo l izquierd (en w) tmbién esté el símbolo b l derech (en v). El finl de l recursión viene ddo con l segund regl (es l centrl de w..v). Ls regls 3ª y 4ª permiten tener en w culquier cden de b s y c s y, similrmente, ls regls 5ª y 6ª permiten tener en v culquier cden de de s y c s. Tmbién puede construirse un AP que reconozc el lenguje. Con un estdo q0 (inicil) leemos l subplbr w, puntndo un A en l pil por cd que lemos y con otro estdo q1, que es finl, leemos v despilndo un A por cd b que lemos. Pr cmbir de estdo (de q0 q1) lo hcemos de mner no determinist l leer un, sin modificr l pil. Si l pil está vcí y estmos leyendo v (es decir, en q1) no podemos leer b s. AP = ({q0,q1},{,b},{a},q0, δ, {q1}) con δ como indic l tbl siguiente: b c q 0, { (q 0, A), (q1, ε) } { (q 0, ε) } { (q 0, ε) } q 0, A { (q 0, AA), (q 1, A) } { (q 0, A) } { (q 0, A) } q 1, { (q 1, ε) } { } { (q 1, ε) } q 1, A {(q 1, A) } { (q 1, ε) } { (q 1, A) }