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.
Respuestas:
Un DFA como lo describe se llama DFA de separación . Existe cierta literatura sobre este problema cuando y son idiomas regulares, como Aprendizaje de DFA de separación mínima para verificación de composición, por Yu-Fang Chen, Azadeh Farzan, Edmund M. Clarke, Yih-Kuen Tsay, Bow-Yaw WangUN si
Tenga en cuenta que, como dice @reinierpost, sin restricciones en A y B, el problema puede volverse indecidible.
fuente
Existe una gran cantidad de literatura sobre el aprendizaje de DFA que reciben muestras positivas y negativas. Sin embargo, si y son finitos, no veo cómo el problema sería indecidible. Si entonces obviamente el DFA que acepta solo las cadenas en satisface su requisito y uno simplemente puede enumerar todos los DFA más pequeños. Si entonces claramente no existe tal DFA.UN si A ∩ B = ∅ UN A ∩ B ≠ ∅
Encontrar el DFA mínimo consistente con un conjunto dado de cadenas es NP-completo. Este resultado aparece como Teorema 1 en el artículo de Angluin sobre la complejidad de la inferencia mínima de conjuntos regulares . Claramente, su problema también es NP-completo.
Para obtener muchos enlaces buenos y debates sobre el aprendizaje de idiomas regulares, consulte la publicación de blog CSTheory sobre el aprendizaje de idiomas regulares .
fuente