Mit zwei Zeichenfolgen x und y möchte ich einen DFA mit einer Mindestgröße erstellen, der x akzeptiert und y ablehnt. Eine Möglichkeit hierfür ist die Brute-Force-Suche. Sie zählen die DFAs beginnend mit den kleinsten auf. Sie probieren jeden DFA aus, bis Sie einen finden, der x akzeptiert und y ablehnt.
Ich möchte wissen, ob es eine andere bekannte Möglichkeit gibt, einen DFA mit einer Mindestgröße zu finden oder zu erstellen, der x akzeptiert und y ablehnt. Mit anderen Worten, können wir die Brute-Force-Suche schlagen?
Mehr Details:
(1) Ich möchte wirklich, dass ein Algorithmus eine minimale DFA-Größe findet, keine nahezu minimale DFA-Größe.
(2) Ich möchte nicht nur wissen, wie groß oder klein der minimale DFA ist.
(3) Hier konzentriere ich mich nur auf den Fall, in dem Sie zwei Zeichenfolgen x und y haben.
Bearbeiten :
Zusätzliche Informationen für den interessierten Leser:
Angenommen, und y sind binäre Zeichenfolgen mit einer Länge von höchstens n . Es ist bekannt, dass es einen DFA gibt, der x akzeptiert und y mit höchstens √ ablehnt Staaten. Beachten Sie, dass es ungefährn √ gibt DFAs mit einem binären Alphabet und höchstens√ Staaten. Daher würde der Brute-Force-Ansatz nicht erfordern, dass wir mehr alsn √ aufzählen DFAs. Daraus folgt, dass der Brute-Force-Ansatz nicht viel mehr alsn √ dauern kann zeit.
Folien, die ich hilfreich fand: https://cs.uwaterloo.ca/~shallit/Talks/sep2.pdf