“Conocimiento Programación>Lenguajes De Programación

¿Cómo diferenciar entre DFA y NDFA

2014/6/29
determinista y autómatas finitos no deterministas son dos tipos de "máquinas" conceptuales diseñados para comprobar si una determinada cadena de símbolos obedece a ciertas reglas - si es aceptable como un mensaje en un lenguaje o código . El autómata lee un símbolo a la vez, y siempre existe en un determinado " estado". Cada estado puede ser un autómata en cuenta con un conjunto de reglas para reaccionar a la siguiente símbolo para ser leído - que puede cambiar a otro estado particular , o siendo la misma . Si, después de una cadena entera ha sido leído , el autómata ha entrado en uno de un conjunto de estados finales aceptables " , " la cadena es gramaticalmente aceptables dentro del lenguaje de los autómatas está probando para . Instrucciones
1

Examinar las normas de la autómatas . Estos incluyen: . Todos los estados posibles de la autómatas, el conjunto de estados finales y los efectos de cada posible símbolo en cada estado
2

Comprobar para ver si alguno de los estados del autómatas tienen varias reacciones posibles a un símbolo particular . Si alguno lo hace , el autómata no es determinista - un NDFA . Por ejemplo , si el estado inicial de un autómata puede reaccionar con el símbolo " A" , ya sea por pasar a un segundo estado o al permanecer la misma , es una NDFA . Un NDFA devuelve un resultado positivo si hay alguna manera de llegar a un estado final con una cadena determinada .
3

tener en cuenta que existe un AFD para cada NDFA . Debido a que un NDFA devolver un resultado positivo para una cadena específica debe tener al menos un camino de éxito a través de ella para dicha cuerda , debe por necesidad ser un DFA correspondiente que acepte esa cadena , que contiene sólo las reglas para la trayectoria única que se utilizó . Aquí hay un ejemplo muy simple: Supongamos que usted tiene un NDFA con un estado final llamado S1 , cuyo estado inicial S0 responde al símbolo "A" ya sea cambiando a S1 o permaneciendo en S0. Esta máquina aceptaría una cadena que consiste simplemente en " A ", porque hay un camino posible a S1 , y hay un DFA correspondiente en el que "A" siempre cambia S1 S0 , prescindiendo de la ruta utilizada
.

Lenguajes De Programación
La importancia de las reservas
Cómo utilizar Asp.net redirigir HTM ​​
Cómo calcular CRC hizo fácil
Cómo generar columnas de plantilla en Gridview
¿Cuál es el proceso para encontrar gramáticas sin contexto para idiomas específicos?
Cómo corregir un error de sintaxis
¿Sería posible que el usuario desarrolle un nuevo intérprete de comando?
Métodos del objeto WSH
Conocimiento de la computadora © http://www.ordenador.online