Dados dos conjuntos de cadenas sobre el alfabeto , ¿podemos calcular el autómata determinista de estado finito (DFA) más pequeño de modo que y ?
En otras palabras, representa un conjunto de ejemplos positivos. Cada cadena en debe ser aceptada por el DFA. representa un conjunto de ejemplos negativos. DFA no debe aceptar ninguna cadena en
¿Hay alguna manera de resolver esto, quizás utilizando técnicas de minimización de DFA ? Me imagino creando un autómata tipo DFA que tiene tres tipos de estados: aceptar estados, rechazar estados y estados "no importa" (cualquier entrada que termine en un estado "no importa" puede ser aceptada o rechazado). Pero, ¿podemos encontrar una manera de minimizar esto a un DFA ordinario?
Podría pensar en esto como el problema de aprender un DFA, dados ejemplos positivos y negativos.
Esto está inspirado en ¿Es regex golf NP-Complete? , que hace preguntas similares para expresiones regulares en lugar de DFA.