Eine der besten, umfassendsten und am besten optimierten kostenlosen FSM-Bibliotheken, die online verfügbar sind, ist die AT & T FSM-Bibliothek . Es implementiert "fsmdifference" genau so, wie Sie es beschreiben, und erfordert ein determiniertes epsilon-freies FSM, um den Unterschied zu bewirken . Eine Idee ist es, einen oder beide FSMs zu minimieren, bevor Sie den Unterschied machen, was in einigen Fällen hilfreich sein kann. (Das heißt, das Bestimmen ist nicht dasselbe wie das Minimieren.) Dieses Paket hat auch eine "ungefähre" oder "gierige" Minimierung, die möglicherweise schneller als eine vollständige Minimierung ist.
Bei der Untersuchung ähnlicher Probleme gibt es jedoch meines Erachtens einige Verallgemeinerungen oder Konstruktionen von FSMs, die in der Literatur nicht vorkommen. Sie können dieses Problem lösen, indem sie den Bestimmungsschritt vermeiden, dh eine NFA im Grunde umkehren, ohne eine zusätzliche bestimmte FSM zu erzeugen. Die Idee ist, die NFA-Kanten "parallel" zu durchlaufen und den Satz von Knoten zu verfolgen, die Teil des aktuellen "Superstatus" (Satz von Zuständen) sind, genau wie beim Standard-Bestimmungsalgorithmus. Dann akzeptiert das NFA-Komplement genau dann, wenn die Menge der aktuellen Superstate-Knoten "alle nicht akzeptabel" ist (im Gegensatz zu der bestimmenden Konstruktion, die iff "jedes Akzeptieren" akzeptiert).
Ich habe dies jedoch noch nicht geschrieben und kann es nicht über eine schnelle Online-Suche sehen. Es gibt viele Referenzen, die nahelegen oder implizieren, dass die einzige Möglichkeit, mit dem Komplement einer NFA zu arbeiten, darin besteht, es zu bestimmen.
Hier sind zwei Referenzen in der Nähe, die für einige Ideen nützlich sein könnten. Es würde mich interessieren, von irgendwelchen / anderen zu hören, die "näher" sind. Sie erwähnen, dass Sie an der Programmüberprüfung arbeiten, ein Bereich, in dem das Problem möglicherweise direkter untersucht wird.
[1] Konstruktion der Schnittmenge nichtdeterministischer endlicher Automaten unter Verwendung der Z-Notation Nazir Ahmad Zafar, Nabeel Sabir und Amir Ali
[2] Komplementationskonstruktionen für nichtdeterministische Automaten auf unendlichen Wörtern Orna Kupferman und Moshe Vardi