tính toán NFA tối thiểu cho một DFA


17

Nhiều năm trước tôi đã nghe nói rằng tính toán NFA tối thiểu (máy tự động hữu hạn hữu hạn) từ DFA (xác định) là một câu hỏi mở, trái ngược với hướng ngược lại đã được biết đến trong nhiều thập kỷ và được nghiên cứu kỹ với hiệu quả n ) thuật toán. Có ai đã đưa ra một thuật toán?Ôi(nlgn)

Một tìm kiếm nhanh đã cho tôi bài báo này chứng minh rằng nó chắc chắn là một vấn đề khó khăn. Rõ ràng, không có thuật toán được đưa ra.

[1] Các vấn đề NFA tối thiểu là khó khăn / Tao Jiang và B. Ravikumar

Tôi đã được nhắc nhở về vấn đề này bằng câu hỏi sau đây trên trang CS.SE mà thuật toán tối thiểu hóa DFA-> NFA sẽ liên quan chặt chẽ với nhau. Câu hỏi sau đây dường như là cấp độ nghiên cứu. Tôi đề nghị chuyển nó sang TCS và tôi đã viết một câu trả lời cho thấy một cuộc tấn công thống kê / theo kinh nghiệm.

[2] Các điều kiện để NFA cho DFA tương đương của nó có kích thước tối đa là gì?


4
Bài báo mà bạn trích dẫn cho thấy tính đầy đủ của PSPACE. Cụ thể, vấn đề nằm ở PSPACE, ngay lập tức gợi ý một thuật toán. Bạn đang tìm kiếm loại thuật toán nào? Những người thực tế và / hoặc heuristic? Giới hạn nổi tiếng nhất về số mũ của thời gian chạy? Thứ gì khác?
Joshua Grochow

8
Nó thực sự không phải là bất thường. Trước khi vấn đề được biết là hoàn thành PSPACE, tất cả các nỗ lực để phát triển các thuật toán hiệu quả đều thất bại, vì vậy rất ít được công bố. Sau khi vấn đề được biết là hoàn thành PSPACE, không ai cố gắng phát triển các thuật toán hiệu quả, bởi vì họ biết rằng họ sẽ thất bại, do đó thậm chí còn ít được xuất bản.
Jeffε

4
(1) Hướng ngược lại đã được biết đến trong nhiều thập kỷ và được nghiên cứu kỹ với thuật toán O (n lg n) hiệu quả có nghĩa là gì? DFA tối thiểu cho một NFA với n trạng thái có thể có kích thước theo cấp số nhân trong n, do đó, nó sẽ yêu cầu một số mã hóa đầu ra không cần thiết. (2) Không có thứ gọi là NFA tối thiểu cho một ngôn ngữ thông thường nhất định. So sánh điều này với sự tồn tại của DFA tối thiểu.
Tsuyoshi Ito

1
JEFFE bạn có một điểm tốt nhưng tôi chắc chắn có nhiều vấn đề hoàn chỉnh của Pspace vẫn có các thuật toán tinh vi tận dụng cấu trúc vấn đề bên cạnh việc chỉ liệt kê tất cả các giải pháp có thể, đúng không? thừa nhận, tôi không thể nghĩ ra bất cứ điều gì ngoài đầu của tôi. có lẽ bạn có thể? đoán đó sẽ là một câu hỏi thú vị khác để đặt ra ở đây.
vzn

2
một+

Câu trả lời:


25

Đây thực sự là một vấn đề cứng đầu - và được nghiên cứu kỹ lưỡng. Về kết quả tích cực, một thuật toán chính xác của Kameda và Weiner, một cách tiếp cận heuristic của Polák và một cách tiếp cận gần đây sử dụng bộ giải SAT của Geldenhuys et al. đến với ý nghĩ. Nhưng dường như có nhiều kết quả tiêu cực hơn loại trừ các cách tiếp cận khả thi khác (ví dụ: thuật toán xấp xỉ, trường hợp đặc biệt, mô hình NFA kém mạnh mẽ hơn, ...) Xem bên dưới để biết một số tài liệu tham khảo.

T. Kameda và P. Weiner. Về việc giảm thiểu trạng thái của automata hữu hạn không điều kiện. Giao dịch trên máy tính của IEEE, C-19 (7): 617 Lỗi627, 1970.

A. Malcher. Tối thiểu hóa automata hữu hạn là khó tính toán. Khoa học máy tính lý thuyết 327: 375-390, 2004.

L. Polák. Tối thiểu hóa NFA bằng cách sử dụng máy tự động phổ quát. Tạp chí quốc tế về nền tảng của khoa học máy tính, 16 (5): 999 Hàng1010, 2005.

G. Gramlich và G. Schnitger. Giảm thiểu NFA và biểu thức chính quy. Hội thảo chuyên đề về các khía cạnh lý thuyết của khoa học máy tính (STACS 2005), LNCS 3404, trang 399 đi411.

H. Gruber và M. Holzer. Tính không tương thích của trạng thái không xác định và độ phức tạp chuyển tiếp giả sử P <> NP. Những phát triển trong lý thuyết ngôn ngữ (DLT 2007), LNCS 4588, trang 205 trừ216.

H. Gruber và M. Holzer. Độ phức tạp tính toán của tối thiểu hóa NFA cho các ngôn ngữ hữu hạn và đơn phương. Lý thuyết và ứng dụng ngôn ngữ và tự động (LATA 2007), trang 261.

H. Bjorklund và W. Martens. Biên giới khả năng dễ dàng để giảm thiểu NFA. Hội thảo quốc tế về tự động, ngôn ngữ và lập trình (ICALP 2008), LNCS 5126, trang 27 Lời38.

J. Geldenhuys, B. van der Merwe, L. van Zijl: Giảm tự động hữu hạn không vô căn với máy giải SAT. Phương pháp trạng thái hữu hạn và xử lý ngôn ngữ tự nhiên (FSMNLP 2009), LNCS 6062, 81 Phản92.

EDIT (ngày 8 tháng 6 năm 2015)

Cập nhật: Bài viết sau đây trình bày một thuật toán heuristic để giảm kích thước của Büchi automata không phá hủy, cùng với các thí nghiệm trên automata ngẫu nhiên. Khi họ đưa ra kết luận, phương pháp của họ cũng áp dụng cho NFA: "Trong khi chúng tôi trình bày các phương pháp của mình trong bối cảnh Büchi automata, hầu hết chúng đều chuyển sang trường hợp automata đơn giản hơn các từ hữu hạn."

Richard Mayr, Lorenzo Clemente. Tối thiểu hóa tự động nâng cao. POPL 2013. Báo cáo kỹ thuật mở rộng EDI-INF-RR-1414.

Công cụ dòng lệnh của họ Giảm v1.2 có thể được gọi với tùy chọn "-finite" để giảm NFA nhất định. Việc triển khai là nguồn mở và được phát hành theo Giấy phép Công cộng GNU.


3
Bạn có biết nếu có các triển khai nguồn mở của bất kỳ thứ nào trong số này không?
jmite

Xin chào Hermann, cảm ơn bạn rất nhiều vì tất cả các thông tin! Tôi biết rằng với một NFA, thật khó để tìm thấy NFA tương đương nhỏ nhất. Nhưng, những điều sau đây: Đưa ra một DFA, tìm NFA tương đương nhỏ nhất. Cái này có khó không? Khó thế nào?
Michael Wehar

Xin lỗi, tôi thấy bây giờ! Bài viết được liệt kê đầu tiên có địa chỉ này: springerlink.com/content/y61724u571v487x5 Ngoài ra, một bài báo khác mà bạn liệt kê địa chỉ này cho các ngôn ngữ thông thường hữu hạn: hermann-gruber.com/data/lata07-final.pdf Cảm ơn bạn đã làm rõ điều này cho tôi! :)
Michael Wehar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.