Rozdzielanie list słów


10

Istnieje problem otwarty w językach formalnych znany jako problem oddzielający; co jest krótko określone jako dane dwa odrębne ciągi o długości , jak duży jest DFA, aby je „rozdzielić”, co oznacza przyjęcie jednego ciągu, ale odrzucenie drugiego.n

Oto kilka odpowiednich dokumentów 1 , 2 . (Mam jeszcze kilka, ale nie mam wystarczającej reputacji, aby je opublikować).

Wszystkie omawiają problem oddzielenia dwóch różnych ciągów. Zastanawiam się, czy nie było żadnych prace w dziedzinie rozdzielania listy ciągów, znaczeniem nadanym dwie listy ciągów, i B , co rozmiar DFA jest wymagany, aby zaakceptować każdy łańcuch w A i odrzucenia wszelkich ciąg w B . Ten problem jest równoważny wyrażeniom regularnym golfa.ABAB

Jest kilka podstawowych pytań, nad którymi pracowałem, np. Czy jedna z list ma rozmiar lub czy wszystkie ciągi mają różną długość.1

Szukałem w okolicy, ale nie znalazłem żadnych artykułów, które mogłyby poradzić sobie z tego rodzaju problemem. Czy przeprowadzono jakieś badania w tej dziedzinie?

Z góry dziękuję.



Link do VZN jest świetny! Uważam jednak, że można znaleźć jeszcze więcej informacji, jeśli zajrzysz do załącznika: „Komputery i nienaruszalność: Przewodnik po teorii kompletności NP”
Michael Wehar,

klog(n)log(log(n))

1
W Gold1978 wiemy, że problem ustalenia, czy dwie listy można oddzielić DFA o danym rozmiarze, jest NP-zupełny. Jeśli zmodyfikujesz problem tak, aby był oddzielony maszyną Turinga z ograniczeniem czasowym zapisanym w unary, nie będzie wiadomo, czy problem jest NP-zupełny. Sugeruje się, że problem ten może być związany z problemem minimalnego obwodu, w którym to przypadku rozwiązałby otwarte problemy w złożoności strukturalnej, jeśli pokazałbyś, że jest w P lub jeśli był NP-kompletny.
Michael Wehar,

Odpowiedzi:


8

KLMKMML=

KLM

W artykule z 2013 r. Autorzy wskazują:

Chociaż często występuje problem separacji, nie był on jednak systematycznie badany, nawet w ograniczonym, ale wciąż trudnym przypadku zwykłych języków.

Wspominają jednak o kilku szczególnych przypadkach, które zostały rozwiązane, i które z pewnością obejmują przypadek skończony.

Możesz także przyjrzeć się interpolantowi Craiga , podobnemu problemowi związanemu z formułami logicznymi. Interpolacja jest używana na przykład przy sprawdzaniu modelu opartym na SAT, w otoczeniu, które moim zdaniem jest bliższe temu, czego szukasz (szczególnie w odniesieniu do skończoności danych wejściowych). Ten artykuł powinien być dobrym punktem wyjścia.


Doceniam to, że podzieliłeś się tym. Nie wiedziałem o tym artykule. Dziękuję Ci. :)
Michael Wehar,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.