Một trong những thư viện FSM tốt nhất, toàn diện nhất nhà nước-of-the-art và tối ưu hóa cao, miễn phí trên mạng là thư viện của AT & T FSM . Nó thực hiện "fsmdifference" chính xác như bạn mô tả, yêu cầu một FSM không có epsilon xác định để thực hiện sự khác biệt. Một ý tưởng là giảm thiểu một hoặc cả hai FSM trước khi thực hiện sự khác biệt, điều này có thể giúp ích trong một số trường hợp. (nghĩa là xác định không giống như giảm thiểu.) Gói này cũng có tối thiểu hóa "gần đúng" hoặc "tham lam" được thiết kế để có thể nhanh hơn tối thiểu hóa hoàn toàn.
Tuy nhiên, nghiên cứu các vấn đề tương tự, tôi tin rằng có một số khái quát hoặc xây dựng các FSM không xuất hiện trong tài liệu có thể giúp giải quyết vấn đề này bằng cách tránh bước xác định, tức là về cơ bản đảo ngược NFA mà không tạo ra một FSM xác định bổ sung. Ý tưởng là đi qua các cạnh NFA "song song" và theo dõi tập hợp các nút là một phần của "superstate" hiện tại (tập hợp các trạng thái) giống như với thuật toán xác định tiêu chuẩn. Sau đó, phần bổ sung NFA chấp nhận khi và chỉ khi tập hợp các nút siêu thanh hiện tại là "tất cả không chấp nhận" (ngược lại với cấu trúc xác định chấp nhận "bất kỳ chấp nhận" nào).
Tuy nhiên, tôi chưa thấy điều này được viết lên trước đó và không thấy nó thông qua một tìm kiếm trực tuyến nhanh. Có nhiều tài liệu tham khảo gợi ý hoặc ngụ ý rằng cách duy nhất để làm việc với phần bổ sung của NFA là xác định nó.
Đây là hai tài liệu tham khảo "gần đó" có thể hữu ích cho một số ý tưởng. Tôi rất muốn nghe về bất kỳ / những người khác "gần gũi" hơn. Bạn đề cập rằng bạn đang làm việc về xác minh chương trình, có thể là một lĩnh vực có nhiều nghiên cứu trực tiếp hơn về vấn đề này.
[1] Xây dựng giao lộ của Automata hữu hạn không phá hủy bằng cách sử dụng ký hiệu Z Nazir Ahmad Zafar, Nabeel Sabir và Amir Ali
[2] Các công trình bổ sung cho Automata không điều kiện về các từ vô hạn Orna Kupferman và Moshe Vardi