Учитывая две строки x и y, я хочу создать DFA минимального размера, который принимает x и отклоняет y. Один из способов сделать это - перебор. Вы перечисляете DFA, начиная с самого маленького. Вы пробуете каждый DFA, пока не найдете тот, который принимает x и отклоняет y.
Я хочу знать, есть ли другой известный способ найти или создать DFA минимального размера, который принимает x и отклоняет y. Другими словами, можем ли мы победить перебор?
Подробнее:
(1) Я действительно хочу, чтобы алгоритм нашел DFA минимального размера, а не DFA минимального размера.
(2) Я не просто хочу знать, насколько большой или маленький минимальный DFA.
(3) Здесь я сосредоточен только на том случае, если у вас есть две строки x и y.
Редактировать :
Дополнительная информация для заинтересованного читателя:
Предположим, что и y - двоичные строки длиной не более n . Известно, что существует DFA, который принимает x и отклоняет y не более √ государств. Обратите внимание, что есть околоn √ DFA с бинарным алфавитом и не более√ государств. Следовательно, подход грубой силы не потребует от нас перечислять более чемn √ DFA. Отсюда следует, что метод грубой силы не может занять намного больше, чемn √ раз.
Слайды, которые я нашел полезными: https://cs.uwaterloo.ca/~shallit/Talks/sep2.pdf