Szukam teorii matematycznych, które zajmują się opisywaniem języków formalnych (zestawu ciągów) w ogólności, a nie tylko hierarchii gramatycznej.
Szukam teorii matematycznych, które zajmują się opisywaniem języków formalnych (zestawu ciągów) w ogólności, a nie tylko hierarchii gramatycznej.
Odpowiedzi:
Istnieje wiele możliwości. Inni wspominali już o automatach, które oferują bogaty wybór. Weź również pod uwagę następujące ramy:
Niektóre języki można zdefiniować bezpośrednio za pomocą (ko) definicji indukcyjnych . Na przykład najmniejszy punkt stały
jest tym samym językiem, co opisany przez(ba∣a)∗, największy punkt stały to(ba∣a)ω. Zauważ, że taką definicję można również zapisać w postaci rachunku różniczkowego lubreguły wnioskowania:
Słowa definiują struktury słów, które można wykorzystać jako modele formuły logicznej . Zasadniczo, każde słowo określa domenę do pozycji , predykaty P : D → { 0 , 1 } , tak że P ( I ) ⟺ W I = dla każdego z ∈ Ď , predykat <, który jest < z Nograniczone do i predykatu suc : D w × D w → { 0 , 1 }, co jest prawdą wtedy i tylko wtedy, gdy drugi parametr jest bezpośrednim następcą pięści.
Tak na przykład, gdy w = b b a a b a następnie
w rzeczywistości taformuła pierwszego rzędudefiniuje --- poprzez zestaw wszystkich struktur słów, które ją spełniają --- ten sam język, co(ba∣a)∗. Odpowiednijęzykω(ba∣a)ωjest opisanywzorem LTL
Znanych jest kilka równoważności klasycznych klas językowych i niektórych logik. Na przykładFOodpowiada językom bez gwiazd, słabyMSOdo zwykłych języków, aMSOdojęzykówω-regularnych. Zobacztutajdla odniesienia.
Coś prostopadłego do klasycznych klas to języki wzorcowe . Załóżmy, że końcowy alfabet i zmienny alfabet X = { x 1 , x 2 , … } . Ciąg p ∈ ( Σ ∪ X ) + nazywa się wzorem . Niech H = { σ ∣ σ : X → Σ ∗ } zbiór podstawień. Definiujemy język wzorca p jako
Zauważ, żeσjest przedłużony do pracy nad wzorami; symbole terminali pozostają niezmienione.
Jako przykład rozważmyL(x1abbax1)={wabbaw∣w∈{a,b}∗}.
Zauważ, że zezwalamy na podstawienia do usuwania zmiennych; niektóre właściwości klasy języków wzorcowych są bardzo różne w przypadku usuwania w porównaniu do nieusuwalnych podstawień. Języki wzorcowe są szczególnie interesujące w nauce w stylu złotym .
Powinieneś spojrzeć na teorię automatów . Jest w tym mnóstwo materiału.
Na przykład, możesz zdefiniować zwykły język z niedeterministycznym automatem skończonym z oznaczonymi krawędziami: łańcuch należy do języka, jeśli automat może podążać za przejściami oznaczonymi jego znakami i zatrzymuje się w stanie końcowym.
Również gramatyka bezkontekstowa może być rozpoznawana przez automat pushdown .
Innym sposobem definiowania języków są maszyny Turinga .
W hierarchii Chomsky'ego istnieją cztery rodzaje języków formalnych (każdy z nich jest podzbiorem następujących po nim):
Język regularny formalny można opisać:
1., 2. i 3. są równoważne i z jednego z nich możesz zbudować pozostałe.
Bezkontekstowych formalny język może być opisana przez:
Również 1. i 2. są równoważne.
Kontekstowa formalny język może być opisana przez:
Rekurencyjnie przeliczalny język formalny można opisać:
Oprócz innych odpowiedzi można opisać i sklasyfikować języki pod względem „generatorów” i właściwości zamknięcia. Na przykład sensowne jest mówienie o najmniejszym AFL generowanym przez jakiś język. Dobrym miejscem do rozpoczęcia nauki o tego rodzaju opisach jest ta książka, chociaż znalezienie jej twardej kopii może być dość trudne.