Biorąc pod uwagę dwa niedeterministyczny automat skończony M1 i M2, czy istnieje skuteczny algorytm do ustalenia, czy język akceptowany przez M1 jest rozszerzeniem języka akceptowanego przez M2?Czy istnieje skuteczny algorytm decydujący o tym, czy język zaakceptowany przez jedną NFA jest nadzbiorem języka akceptowanego przez inny?
5
A
Odpowiedz
2
Nie, chyba że P = NP. Gdybyś miał taki algorytm, mógłbyś trywialnie zdecydować, czy dwa NFA były izomorficzne (wystarczy sprawdzić, czy A jest nadzbiorem B, a B jest nadzbiorem A), który jest known NP-hard problem. Aby uzyskać więcej informacji, read this paper. Ma ładną, zniechęcającą tabelę złożonych wyników.
Powiązane problemy
- 1. Czy istnieje zdefiniowany i zaakceptowany standardowy język SQL?
- 2. netrc nie zaakceptowany przez git
- 3. Czy istnieje szybki język obsługujący przenośne kontynuacje?
- 4. Czy dane są nadpisywane przez inny komponent?
- 5. Czy istnieje język programowania z semantyką zbliżoną do języka angielskiego?
- 6. Czy istnieje skuteczny algorytm standardowy rastrowe wielokąt tym jego wewnętrznej powierzchni
- 7. Jak sprawdzić, czy plik jest używany przez inny proces - Powershell
- 8. Czy TypeScript jest naprawdę nadzbiorem JavaScript?
- 9. Jak sprawdzić, czy liczba jest podzielna przez inny numer (Python)?
- 10. Czy istnieje skuteczny sposób wykonywania "ciągłego" autofokusu?
- 11. Czy istnieje skuteczny sposób łączenia macierzy scipy.sparse?
- 12. Czy istnieje sposób wykonywania ASCX przez MVC?
- 13. Czy istnieje algorytm "upraszczający" wykres zależności?
- 14. Minimalizacja NFA bez determinacji
- 15. Jak korzystać MakeCert aby utworzyć certyfikat X509 zaakceptowany przez WCF
- 16. Jak sortować CollectionViewSource przez jedną właściwość, a następnie przez inny jako tiebreak?
- 17. Czy mogę zamontować inny program obsługi trasy przez __meteor_bootstrap__.app?
- 18. Zestaw znaków, który nie jest nadzbiorem ASCII
- 19. Czy używanie pakietu importowanego przez inny pakiet jest niepythoniczne, czy też powinienem go zaimportować bezpośrednio?
- 20. Jaki jest skuteczny algorytm rozwiązywania łamigłówek Jigshaw?
- 21. Czy można zastąpić czcionkę "Roboto" przez jakikolwiek inny webfont?
- 22. Czy pusta struktura zdefiniowana jest przez C++?
- 23. Czy możliwe jest zastrzyki przez dynamiczny LINQ?
- 24. Czy jar aplikacji jest pobierany przez przeglądarkę lub przez JVM?
- 25. Czy GZIP jest automatycznie dekompresowany przez przeglądarkę?
- 26. czy Dziedziczenie ustawień Web.config w obszarach jest obsługiwane przez mvc?
- 27. W ASP.Net, Czy mogę dowiedzieć się, czy inna sesja istnieje lub jest ważna przez identyfikator sesji?
- 28. Czy istnieje odpowiednik języka sqlite3_limit w PHP?
- 29. Czy istnieje algorytm, który może ustalić, czy jeden język regularny pasuje do dowolnego wejścia, który odpowiada innym regularnym dopasowaniom językowym?
- 30. Czy istnieje możliwość przejścia przez system -isystem przy użyciu qmake
Zastanawiam się, czy wiesz o redukcji z innego NP pełnego problemu z izomorfizmem NFA? – hugomg
@missigno: Dodałem link do papieru, który wyjaśnia nieco bardziej szczegółowo redukcje. – Mikola
Mikola, twoja odpowiedź jest poprawna, ale twoje sformułowanie jest błędne: izomorficzne oznacza "równego kształtu", dwa automaty są izomorficzne, istnieje 1-1 odwzorowanie między ich stanami, takie, że bla bla. Co nie ma tu znaczenia, dwa automaty mogą akceptować ten sam język bez izomorficzności. (To wprowadza zamieszanie w to, że sprawdzanie izomorfizmu wykresu jest również NP-trudne). Jeśli zmienisz swoją odpowiedź jako "czy dwa NFA przyjmują ten sam język" zamiast "czy dwa NFA były izomorficzne", wszystko będzie dobrze. –