Diseñe una máquina de Turing para el mismo número de a y b

Prerrequisito – Máquina de Turing

Tarea:
Nuestra tarea es diseñar una máquina de Turing para un número igual de a y b.

Análisis:
aquí lo principal para analizar que la string consta de números iguales de a y b puede ser de 4 tipos:

Aquí ‘n’ es la cuenta de a o b.

a) a^n b^n like aabb

b) b^n a^n like bbaa

c) (ab)^n like abab

d) (ba)^n like baba

Ejemplo :

Input-1 :  aabb
Output : Yes

Input-2 : bababa
Output : Yes

Input-3 : aabbbb
Output : No

Input-4 : aaabbaa
Output : No

Acercarse :

  • Tenemos que escanear la entrada de izquierda a derecha.
  • Convierta la primera ‘a’ y la primera ‘b’ en el escaneo a ‘X’, luego en el segundo turno convierta la segunda ‘a’ y la segunda ‘b’ a ‘X’ y así sucesivamente. Tenemos que repetir el proceso hasta convertir todos los a y b en ‘X’.
  • El carácter escaneado entre ‘a’ y ‘b’ no se cambiará.

Entendamos este enfoque tomando una string «aabb» –

  1. Escanea la entrada desde la izquierda.
  2. Nuestra string se ve así:

  3. Ahora vemos que tenemos nuestra primera ‘a’ en la primera posición y la primera b en la tercera posición. Convertimos estos ‘a’ y ‘b’ en ‘X’.

    Ahora el caracter ‘a’ lo ponemos entre ‘a’ y ‘b’. Así que seguirá siendo el mismo. Cuando leemos nuestra primera b movemos nuestro puntero a la izquierda. El puntero se moverá hacia la izquierda hasta que quede en blanco (B). Ahora nuestra string se ve así:

  4. Nuestro puntero está en Blank(B). Nuevamente escaneamos la entrada de izquierda a derecha y convertimos la segunda ‘a’ y la segunda ‘b’ en ‘X’. Cuando leemos nuestra segunda b movemos nuestro puntero a la izquierda. El puntero se moverá hacia la izquierda hasta que quede en blanco (B). Ahora nuestra string se ve así:

  5. Repetimos este proceso hasta que todos los a y b se conviertan en X.
  6. Como vemos, convertimos todos los a y b en ‘X’. Por lo tanto, nuestra máquina se detendrá.
  7. Cuando analizamos este proceso, vemos que convertimos a y b en X en pares, es decir, en el punto 3 convertimos la primera aparición de a y b en X y luego en el punto 4 convertimos la segunda aparición de a y b en X. Si hay un número desigual de y b, entonces, en este caso, algunos a o b quedarán en nuestra string, de lo contrario, todo el carácter se convertirá en X. Por lo tanto, nos dará un punto para probar nuestra condición de que nuestra string consiste de un número igual de a y b.

Máquina de Turing :

Publicación traducida automáticamente

Artículo escrito por mynkgpt16 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 *