Construya un DFA que comience con aa o bb

Prerrequisito: Diseño de Autómatas Finitos

DFA (Deterministic Finite Automata or Acceptor) es una máquina de estados finitos que acepta o rechaza strings de símbolos. DFA acepta la string si alcanza el estado final; de lo contrario, la rechaza. En este tipo de problemas, tenemos algunos parámetros dados según los cuales debemos diseñar DFA.

Problema : construya un DFA que comience con aa o con bb a partir de la entrada (a,b).

Solución : en este problema, se dan dos parámetros:

  • DFA debe comenzar con aa

                           o  

  • DFA debe comenzar con bb

Esto significa que el DFA resultante debe aceptar strings como aa, bb, aab, bba, aaa, bbb…. etc. pero no debería aceptar strings como a, b, ba, bab, abb, abbaba… etc.

Diseño de DFA paso a paso:

Paso 1: tome el estado inicial qo , y la string más pequeña posible es aa y bb si qo toma ‘a’ como el primer alfabeto de entrada, pasa al estado q1 y si qo toma ‘b’ como el primer alfabeto de entrada, pasa al estado q3 .

DFA for aa or bb

Paso 1 para la construcción de DFA 

Paso 2: ahora piense en el estado q1 , si toma el alfabeto de entrada ‘b’, rompe nuestra condición de ‘aa’, pero si toma el alfabeto de entrada ‘a’, crea una string aceptable, y ahora pasa al estado q2 , que es establecido en el estado final.

DFA for aa or bb

Paso 2 para la construcción de DFA 

Paso 3: en el estado q3 , si toma el alfabeto de entrada ‘a’, rompe nuestra condición de ‘bb’, pero si toma el alfabeto de entrada ‘b’, crea una string aceptable, y ahora pasa al estado q2 , que se establece en estado final

DFA for aa or bb

Paso 3 para la construcción de DFA 

Paso 4: si el alfabeto de entrada ‘a’ del estado q3 rompe la condición y el alfabeto de entrada ‘b’ del estado q1 rompe la condición, entonces van a algún estado muerto ( D ).

DFA for aa or bb

Paso 4 para la construcción de DFA 

Paso 5: Hasta ahora, nuestra máquina acepta strings que comienzan con ‘aa’ o ‘bb’, pero también tenemos que ocuparnos de todos los símbolos después de que la string haya comenzado con ‘aa’ o ‘bb’ y, por lo tanto, introducimos nosotros mismos hacemos bucles en q2 (estado final) y D (estado muerto).

DFA for aa or bb

Paso 5 para la construcción de DFA 

Tabla de transición y reglas de transición para el diagrama anterior:

El conjunto finito de estados = { qo, q1, q2, q3, D }  

En la tabla de transición, el estado inicial (qo) está representado por y el estado final es q2 y tiene dos círculos.

Conjunto de alfabetos de entrada = {a, b}  

Tabla de transición

ESTADO a b
->qo q1 q3
q1 q2 D (muerto)
q3 D (muerto) q2
q2 q2 q2
D (muerto) D (muerto) D (muerto)

Publicación traducida automáticamente

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