Étant donné deux ensembles de chaînes sur l'alphabet , pouvons-nous calculer le plus petit automate déterministe à états finis (DFA) tel que et ?
En d'autres termes, représente un ensemble d'exemples positifs. Chaque chaîne de doit être acceptée par le DFA. représente un ensemble d'exemples négatifs. Aucune chaîne en ne doit être acceptée par le DFA.
Existe-t-il un moyen de résoudre ce problème, peut-être en utilisant des techniques de minimisation DFA ? Je pourrais imaginer créer un automate de type DFA qui a trois types d'états: accepter les états, rejeter les états et les états "indifférents" (toute entrée se terminant par un état "insouciante" peut être acceptée ou rejeté). Mais pouvons-nous alors trouver un moyen de réduire cela à un DFA ordinaire?
Vous pourriez considérer cela comme le problème de l'apprentissage d'un DFA, compte tenu des exemples positifs et négatifs.
Ceci est inspiré par Regex Golf NP-Complete? , qui pose une question similaire pour les expressions rationnelles au lieu des DFA.