En la teoría de autómatas , un autómata finito autoverificador ( SVFA ) es un tipo especial de autómata finito no determinista (NFA) con un tipo simétrico de no determinismo introducido por Hromkovič y Schnitger. [1] Generalmente, en el no determinismo autoverificador, cada camino de cálculo concluye con cualquiera de las tres posibles respuestas: sí , no y no sé . Para cada cadena de entrada, no pueden existir dos caminos que den respuestas contradictorias, es decir, no son posibles ambas respuestas sí y no en la misma entrada. Al menos un camino debe dar la respuesta sí o no , y si es sí , la cadena se considera aceptada. Los SVFA aceptan la misma clase de lenguajes que los autómatas finitos deterministas (DFA) y los NFA, pero tienen una complejidad de estado diferente .
Un SVFA se representa formalmente mediante una 6-tupla , A =( Q , Σ, Δ, q 0 , F a , F r ) tal que ( Q , Σ, Δ, q 0 , F a ) es un NFA y F a , F r son subconjuntos disjuntos de Q . Para cada palabra w = a 1 a 2 … a n , un cálculo es una secuencia de estados r 0 ,r 1 , …, r n , en Q con las siguientes condiciones:
Si r n ∈ F a entonces el cálculo es de aceptación, y si r n ∈ F r entonces el cálculo es de rechazo. Existe un requisito de que para cada w haya al menos un cálculo de aceptación o al menos un cálculo de rechazo, pero no ambos.
Cada DFA es un SVFA, pero no viceversa. Jirásková y Pighizzini [2] demostraron que para cada SVFA de n estados, existe un DFA equivalente de estados. Además, para cada entero positivo n , existe un SVFA de n estados tal que el DFA equivalente mínimo tiene exactamente estados.
Jirásková y sus colegas obtuvieron otros resultados sobre la complejidad estatal de SVFA. [3] [4]