Máquina de Turing para aceptar un máximo de dos números

Requisito previo : problema de la máquina de Turing : dibuje la máquina de Turing para aceptar un máximo de dos números unarios n1 y n2 dados como B0n1C0n2B. Si dos números son iguales, entonces acepte cualquiera de los dos números.

Lógica utilizada:

  1. Por cada 0 en el lado izquierdo, reemplácelo con X y busque otro 0 en el lado derecho. Si lo encuentra, reemplácelo con X y muévase buscando 0 en el lado izquierdo.
  2. Si no se encuentra, significa que el lado izquierdo tiene más 0 que el lado derecho. Eso es n1 > n2 . Por lo tanto, cambie todas las X a Os y deténgase en el lado izquierdo.
  3. Continúe con el paso 1. Si sucede que apunta a C, después de la conversión más a la derecha (reemplazando el valor de 0 con X en el lado derecho), implica que n2 >= n1 . Por lo tanto, convierta todas las X a Os en el lado derecho y deténgase.

Pasos a seguir:

  1. Desde el estado inicial q0, al recibir 0, reemplácelo con X y muévase hacia la derecha y cambie el estado q1. Al recibir C, muévete hacia la derecha y cambia de estado a q7.
  2. Desde el estado q1, al recibir 0 sigue moviéndote a la derecha. Al recibir C, muévase hacia la derecha y cambie el estado a q2.
  3. Desde el estado q2 al recibir X permanece en el mismo estado y sigue moviéndose hacia la derecha. Al recibir 0, reemplácelo con X, muévase hacia la izquierda y cambie el estado a q5. Al recibir el espacio en blanco (B), muévase hacia la izquierda y cambie el estado a q3.
  4. Desde el estado q3, siga moviéndose hacia la izquierda al recibir 0 o C y al recibir X, reemplace X con 0 y muévase hacia la izquierda. Finalmente, al recibir un espacio en blanco, muévase hacia la derecha y cambie el estado a q4, aceptando el estado para n1>n2.
  5. Desde el estado q5, al recibir C muévase hacia la izquierda y cambie el estado a q6. Pero al recibir X o 0 permanece en el mismo estado y sigue moviéndote hacia la izquierda.
  6. Desde el estado q6, al recibir 0 sigue moviéndote hacia la izquierda sin cambiar de estado. Pero al recibir X, reemplácelo con 0 y muévase hacia la derecha y cambie el estado nuevamente a q0.
  7. Desde el estado q7, sigue moviéndote hacia la derecha al recibir 0 y cambia cada X con 0 mientras te mueves hacia la derecha. Al recibir B, muévase hacia la izquierda y cambie el estado a q8.
  8. Al recibir 0 en el estado q8, siga moviéndose hacia la izquierda y al recibir C muévase hacia la derecha y cambie el estado a q9, aceptando el estado para n2 >= n1.

Aquí, q0 muestra el estado inicial y q1, q2, ….., q9 son estados de transición y q4, q9 muestra el estado final.
Y 0, 1 son datos dentro de la máquina y X, Y, C son variables utilizadas para encontrar el máximo, es decir, comparar datos y R, L muestra derecha e izquierda.

Publicación traducida automáticamente

Artículo escrito por NityamAgarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *