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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

120ACEPTACIÓN Y GENERACIÓN DE L. ENUMERABLES RECURSIVAMENTE Y RECURSIVOSEjemplo 84 Una máquina <strong>de</strong> Turing, M, que acepta el lenguaje L = {0 N 1 N /N ≥ 1}. Inicialmente, la cinta<strong>de</strong> M contiene 0 N 1 N seguido <strong>de</strong> un número infinito <strong>de</strong> blancos. En forma repetida, M reemplaza el 0 <strong>de</strong>más a la izquierda por X y se mueve hacia la <strong>de</strong>recha hasta el 1 <strong>de</strong> más a la izquierda y lo reemplaza por Y ,luego se mueve hacia la izquierda hasta la X <strong>de</strong> más a la <strong>de</strong>recha y luego se mueve una celda a la <strong>de</strong>recha,hasta el 0 <strong>de</strong> más a la izquierda y repite el ciclo. Si al buscar un 1, M encuentra un blanco, entonces M se<strong>de</strong>tiene sin aceptar. Si <strong>de</strong>spués <strong>de</strong> cambiar un 1 por Y , M no encuentra más ceros, entonces revisa que nohayan más 1’s, en cuyo caso acepta.Sea Q = {q 0 , q 1 , q 2 , q 3 , q 4 }, Σ = {0, 1}, Γ = {0, 1, X, Y, B} y F = {q 4 }. Informalmente cada estadorepresenta una o un grupo <strong>de</strong> sentencias <strong>de</strong> un programa. Al estado q 0 se entra inicialmente y también antes<strong>de</strong> cada reemplazo <strong>de</strong>l 0 <strong>de</strong> más a la izquierda por una X. El estado q 1 es usado para buscar un 1 hacia la<strong>de</strong>recha, saltándose 0’s e Y ’s. Si encuentra un 1, M lo cambia por Y y entra en q 2 . En este estado buscauna X hacia la izquierda y entra q 0 luego <strong>de</strong> encontrarlo, moviéndose una celda a la <strong>de</strong>recha al cambiar <strong>de</strong>estado. Si mientras M busca hacia la <strong>de</strong>recha en estado q 1 , encuentra una B o X antes <strong>de</strong> un 1, entonces elstring es rechazado; hay <strong>de</strong>masiados ceros o el string no pertenece a 0 ∗ 1 ∗ .El estado q 0 juega también otro papel. Si, <strong>de</strong>spués que el estado q 2 encuentra la X <strong>de</strong> más a la <strong>de</strong>recha,entonces se han acabado los ceros. De q 0 , sobre Y , se entra q 3 para recorrer las Y ’s y revisar que no quedan1’s. Si las Y ’s son seguidas <strong>de</strong> B, se entra q 4 aceptando; si no, el string es rechazado. La función <strong>de</strong> transiciónse muestra a continuación:ESTADOSIMBOLO0 1 X Y Bq 0 (q 1 , X, D) (q 3 , Y, D)q 1 (q 1 , 0, D) (q 2 , Y, I) (q 1 , Y, D)q 2 (q 2 , 0, I) (q 0 , X, D) (q 2 , Y, I)q 3 (q 3 , Y, D) (q 4 , B, D)q 44Si el input es 0011 se producen las siguientes movidas:q 0 0011 ⊢ Xq 1 011 ⊢ X0q 1 11 ⊢ Xq 2 0Y 1 ⊢ q 2 X0Y 1 ⊢Xq 0 0Y 1 ⊢ XXq 1 Y 1 ⊢ XXY q 1 1 ⊢ XXq 2 Y Y ⊢ Xq 2 XY Y ⊢XXq 0 Y Y ⊢ XXY q 3 Y ⊢ XXY Y q 3 ⊢ XXY Y Bq✷7.3 Técnicas para la construcción <strong>de</strong> Máquinas <strong>de</strong> TuringEl diseño <strong>de</strong> máquinas <strong>de</strong> Turing <strong>de</strong>scribiendo el conjunto completo <strong>de</strong> estados y movidas es bastante engorroso.Para <strong>de</strong>scribir máquinas complejas, se necesitan herramientas conceptualmente <strong>de</strong> más alto nivel. Enesta sección se discutirán algunas <strong>de</strong> ellas.7.3.1 Almacenamiento en el Control FinitoEl control finito pue<strong>de</strong> usarse para almacenar una cantidad finita <strong>de</strong> información. Para hacerlo, el estado esconsi<strong>de</strong>rado un par <strong>de</strong> elementos, uno ejerciendo el control y el otro almacenando un símbolo. Debe notarseque este es un arreglo conceptual, no se ha modificado lo que es una MT. En general se pue<strong>de</strong> permitir quelos estados tengan k componentes, <strong>de</strong> los cuales todos menos uno, almacenan información.Ejemplo 85 Consi<strong>de</strong>re una MT, M, que mire el primer símbolo <strong>de</strong> su input, lo almacene en su control finitoy revise que dicho símbolo no aparezca en otra parte <strong>de</strong>l input. Nótese que M acepta un lenguaje regular:M = (Q, {0, 1}, {0, 1, B}, δ, [q 0 , B] , B, F )

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

Saved successfully!

Ooh no, something went wrong!