En la imagen a continuación, estoy tratando de averiguar qué es exactamente lo que esta NFA está aceptando.
Lo que me confunde es el salto en .q 0
Si se ingresa un , ¿el sistema se mueve a y (el estado de aceptación)?q 0 q 1
Si se ingresa un , ¿se mueve el sistema a y ?q 1 q 2
¿El sistema solo se mueve a (aceptar estado), si no se proporciona ninguna entrada (cadena vacía)?
automata
finite-automata
nondeterminism
usuario3472798
fuente
fuente
Respuestas:
Cada vez que se encuentra en un estado que tiene una transición , significa que automáticamente está en AMBOS estados, para simplificar esto:ϵ
Si la cadena es , su autómata termina en yq 0 q 1ϵ q0 q1
Si su cadena es '0', volverá a estar en yq 1q0 q1
Si su cadena es '1', estará solo en , porque si mira desde el punto de , tiene una transición '1' a , pero también debe mirar si está en ( si estabas en siempre estabas en también) entonces no hay transición '1', por lo que esta ruta alternativa simplemente "muere".q 0 q 2 q 1 q 0 q 1q2 q0 q2 q1 q0 q1
Con solo mirar estos casos, es fácil ver que su autómata acepta , , y yendo de a , la única forma de llegar a es , entonces, esto reanuda su autómata a , ,0 ∗ q 0 q 1 q 2 0 ∗ 11 ∗ 1 ϵ 0 ∗ 0 ∗ 11 ∗ 1ϵ 0∗ q0 q1 q2 0∗11∗1 ϵ 0∗ 0∗11∗1
Espero que esto te haya ayudado, si tienes más dudas, ¡solo pregunta!
fuente
En el estado sin leer ninguna entrada, el NFA permanece en y (en un universo alternativo, si lo desea) también se mueve al estado . Esto es similar a lo que sucedería en un NFA que tuviera dos transiciones a diferentes estados en una entrada de un personaje. En particular, su NFA acepta la cadena vacía, ya que en ninguna entrada puede hacer una transición al estado de aceptación .q0 q0 q1 q1
Continuando con su ejemplo, desde el estado viendo la entrada , consumiría ese símbolo, permanecería en el estado (el bucle) y también iría al estado , aceptando así la entrada . En el estado leyendo la entrada , el NFA iría al estado . Es posible que tampoco consuma el , cambie al estado en otro universo y se quede atascado allí (y no acepte, ya que no había leído toda la entrada), ya que no hay transición de en un .q0 0 q0 q1 0 q0 1 q2 1 q1 q1 1
Vea si puede convencerse de que el lenguaje aceptado por esta máquina se denota con la expresión regular , es decir, cualquier cadena que consta de cero o más s seguido de nada en absoluto o dos o más s.0∗+0∗11∗1 0 1
Por cierto, hay un algoritmo que toma un NFA con -moves y produce un NFA equivalente sin -moves, que espero que aprenda pronto.ϵ ϵ
fuente
Traté de construir DFA para este NFA
Debido a que cada NFA tiene DFA igual, podemos construir DFA para este NFA dado.M′
alfabeto - lo mismo
El estado actual esR∈P(Q)
Algunos cálculos en este FSM
al menos{ϵ,0∗}⊂L(M′)
Gracias a David Richerby.
fuente