Dadas duas seqüências xey, eu quero criar um DFA de tamanho mínimo que aceite xe rejeite y. Uma maneira de fazer isso é a busca por força bruta. Você enumera o DFA começando pelo menor. Você tenta cada DFA até encontrar um que aceite xe rejeite y.
Quero saber se existe outra maneira conhecida de encontrar ou criar um DFA de tamanho mínimo que aceite xe rejeite y. Em outras palavras, podemos vencer a busca por força bruta?
Mais detalhes:
(1) Eu realmente quero que um algoritmo encontre um DFA de tamanho mínimo, não um DFA de tamanho mínimo.
(2) Não quero apenas saber quão grande ou pequeno é o DFA mínimo.
(3) Bem aqui, estou focado apenas no caso de você ter duas cadeias x e y.
Editar :
Informações adicionais para o leitor interessado:
Suponhamos que e y são as cadeias binárias de comprimento no máximo n . É um resultado conhecido que existe um DFA que aceita x e rejeita y com no máximo √ estados. Observe que existem cerca den √ DFAs com um alfabeto binário e no máximo√ estados. Portanto, a abordagem da força bruta não exigiria que enumerássemos mais den √ DFA's. Daqui resulta que a abordagem da força bruta não pode demorar muito mais quen √ tempo.
Slides que achei úteis: https://cs.uwaterloo.ca/~shallit/Talks/sep2.pdf