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.

7.3. TÉCNICAS PARA LA CONSTRUCCIÓN DE MÁQUINAS DE TURING 121en que Q es {q 0 , q 1 } × {0, 1, B}. El conjunto F es {[q 1 , B]}. La intención es que la primera componente <strong>de</strong>lestado controle la acción, mientras que la segunda recuerda un símbolo. La función δ se <strong>de</strong>fine como:δ([q 0 , B] , 0) = ([q 1 , 0] , 0, D) δ([q 0 , B] , 1) = ([q 1 , 1] , 1, D)δ([q 1 , 0] , 1) = ([q 1 , 0] , 1, D) δ([q 1 , 1] , 0) = ([q 1 , 1] , 0, D)δ([q 1 , 0] , B) = ([q 1 , B] , B, I) δ([q 1 , 1] , B) = ([q 1 , B] , B, I)✷7.3.2 Pistas MúltiplesEs también posible suponer que la cinta <strong>de</strong> la máquina <strong>de</strong> Turing está dividida en un número finito, k, <strong>de</strong>pistas. Por ejemplo, para k = 3̸ C 1 0 1 1B 1 0 0 1 0 1 B B B✻11 $ B BB B B B 1 0 1 B B BPista 1Pista 2Pista 3CONTROLFINITOFigure 7.2: Máquina <strong>de</strong> Turing con pistas múltiplesLos símbolos en la cinta se consi<strong>de</strong>ran k-tuplas, con una componente por cada pista.Ejemplo 86 La cinta <strong>de</strong> la figura 7.2 pertenece a una MT que toma un input binario mayor que 2, escritoen la primera pista y <strong>de</strong>termina si es un número primo. El input esta enmarcado por los símbolos C y $.Por lo tanto los símbolos <strong>de</strong> entrada son las tuplas [C, B, B], [0, B, B], [1, B, B] y [$, B, B]. Estos símbolos sepue<strong>de</strong>n i<strong>de</strong>ntificar con C, 0, 1 y $ respectivamente al verlos como símbolos <strong>de</strong> entrada. El blanco, se i<strong>de</strong>ntificacon [B, B, B]. Para saber si el input es un número primo, la MT primero escribe el número 2 (en binario)en la segunda pista y copia la primera pista en la tercera. Luego, la segunda pista es sustraída tantas vecescomo sea posible <strong>de</strong> la tercera, dividiendo la tercera pista por la segunda y <strong>de</strong>jando en ella el resto.Si el resto es cero, el número en la primera pista, el input, no es primo. Si el resto no es cero, se incrementaen 1 el número <strong>de</strong> la segunda pista. Si ella iguala a la primera, el número era primo, porque no pue<strong>de</strong> serdividido por ningún número entre 1 y sí mismo. Si el número <strong>de</strong> la segunda pista es menor que el <strong>de</strong> laprimera, toda la operación se repite para el nuevo número en la segunda pista.En la figura 7.2 la MT está chequeando si 47 es un primo, lo está dividiendo por 5, el que ya ha sidosustraido dos veces, por lo que el número 37 está en la tercera pista.✷7.3.3 Marcar SímbolosPoner marcas en algunos símbolos es una forma útil <strong>de</strong> visualizar cómo una MT reconoce lenguajes <strong>de</strong>finidospor strings repetidos, tales como{ww/w ∈ Σ ∗ }, {wcy/w e y ∈ Σ ∗ y w ≠ y}, {ww r /w ∈ Σ ∗ }

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

Saved successfully!

Ooh no, something went wrong!