Нахождение наименьшего DFA, который разделяет два слова без использования перебора?

Учитывая две строки x и y, я хочу создать DFA минимального размера, который принимает x и отклоняет y. Один из способов сделать это - перебор. Вы перечисляете DFA, начиная с самого маленького. Вы пробуете каждый DFA, пока не найдете тот, который принимает x и отклоняет y. Я хочу знать, есть ли...