Język Dycka
W teorii języków formalnych informatyki , matematyki i językoznawstwa słowo Dycka jest zrównoważonym ciągiem nawiasów. Zbiór słów Dyck tworzy język Dyck . Najprostszy, D1, używa tylko dwóch pasujących nawiasów, np. [ i ].
Słowa i język Dycka zostały nazwane na cześć matematyka Walthera von Dycka . Mają zastosowanie w analizowaniu wyrażeń, które muszą mieć poprawnie zagnieżdżoną sekwencję nawiasów, takich jak wyrażenia arytmetyczne lub algebraiczne.
Definicja formalna
Niech będzie alfabetem składającym się z symboli [ i ]. Niech oznaczają zamknięcie . Język Dyck jest zdefiniowany jako:
Gramatyka bezkontekstowa
pomocne może być zdefiniowanie języka Dyck za pomocą gramatyki bezkontekstowej . Język Dyck jest generowany przez gramatykę bezkontekstową z pojedynczym nieterminalnym S , a produkcja:
- S → ε | "[" S "]" S
Oznacza to, że S jest pustym łańcuchem ( ε ) lub jest „[”, elementem języka Dyck, pasującym „]” i elementem języka Dyck.
Alternatywną gramatykę bezkontekstową dla języka Dyck podaje produkcja:
- S → ("[" S "]") *
Oznacza to, że S to zero lub więcej wystąpień kombinacji „[”, elementu języka Dyck i pasującego „]”, gdzie wiele elementów języka Dyck po prawej stronie produkcji może różnić się od nawzajem.
Alternatywna definicja
innych kontekstach zamiast tego pomocne może być zdefiniowanie języka Dyck poprzez podzielenie klasy równoważności w następujący sposób Dla dowolnego elementu długości , definiujemy funkcje częściowe i przez
- jest z " "wstawionym w pozycję
- jest z " " usunięto z pozycji
założeniu dla i jest niezdefiniowane, jeśli . Definiujemy relację równoważności na w następujący sposób: dla elementów mamy wtedy i tylko wtedy, gdy istnieje sekwencja zero lub więcej zastosowań insert i funkcje zaczynające się na i kończące się na . To, że dozwolona jest sekwencja operacji zerowych za zwrotność . Symetria wynika z obserwacji, że dowolną skończoną sekwencję zastosowań za pomocą skończonej sekwencji zastosowań . Przechodniość wynika z definicji.
Relacja równoważności dzieli język na klasy równoważności. Jeśli przyjmiemy język odpowiadający klasie równoważności językiem Dyck ϵ
Nieruchomości
- Język Dyck jest zamknięty w ramach operacji konkatenacji .
- Traktując jako monoid algebraiczny w , widzimy, że struktura monoidu przenosi się na iloraz , czego Σ monoid składniowy języka Dyck . Klasa zostanie oznaczona jako .
- Monoid składniowy języka Dyck nie jest przemienny : i wtedy .
- zapisem, ale ani ani odwracalne w .
- Monoid składniowy języka Dyck jest izomorficzny z bicykliczną półgrupą dzięki właściwościom i i opisane powyżej.
- Zgodnie z twierdzeniem o reprezentacji Chomsky'ego – Schützenbergera każdy język bezkontekstowy jest homomorficznym obrazem przecięcia jakiegoś języka regularnego z językiem Dycka na jednym lub kilku rodzajach par nawiasów.
- Język Dyck z dwoma różnymi typami nawiasów można rozpoznać w klasie złożoności .
- Liczba różnych słów Dycka z dokładnie n parami nawiasów i k najbardziej wewnętrznymi parami (mianowicie podłańcuch ) to liczba Narayana .
- Liczba różnych słów Dycka z dokładnie n parami nawiasów to n -ta liczba katalońska . Zauważ, że język Dycka słów z n parami nawiasów jest równy sumie, po wszystkich możliwych k , języków Dycka słów z n par nawiasów z k najbardziej wewnętrznymi parami , jak zdefiniowano w poprzednim punkcie. Ponieważ k może mieścić się w zakresie od 0 do n , otrzymujemy następującą równość, która rzeczywiście zachodzi:
Przykłady
Relację równoważności możemy zdefiniować w języku Dycka. . u mamy wtedy i tylko wtedy, gdy , tj. i mają tę samą długość. Ta relacja dzieli język Dycka: . re gdzie . , że jest puste dla nieparzystego .
Po wprowadzeniu słów Dycka o długości możemy wprowadzić na nich związek Dla każdego relację n ; u mamy i tylko wtedy, gdy osiągnąć z odpowiednich . zamiana w słowie ”. Dla każdej { \ \ jest częściowo zamówiony zestaw . Relacja jest zwrotna ponieważ pusta sekwencja odpowiednich zamian prowadzi u . Przechodniość następuje, ponieważ możemy rozszerzyć sekwencję odpowiednich zamian, która prowadzi { łącząc ją z sekwencją odpowiednich zamian, która prowadzi do sekwencję, która prowadzi do . Aby zobaczyć, że jest również antysymetryczny , wprowadzamy funkcję pomocniczą suma wszystkich przedrostków u :
Poniższa tabela ilustruje, że ściśle monotoniczna odniesieniu do właściwych zamian
σ | ||||
---|---|---|---|---|
] | [ | |||
[ | ] | |||
σ | ||||
Różnica sum częściowych | 0 | 2 | 0 | 0 |
Stąd więc gdy istnieje właściwa zamiana, która przenosi do . Teraz, jeśli założymy, że zarówno i to istnieją niepuste sekwencje odpowiednich zamian, takie pod i odwrotnie. u co jest bezsensowne. Dlatego są _ _ , stąd jest antysymetryczny.
Częściowo uporządkowany zestaw jest pokazany na ilustracji wstępowi, jeśli zinterpretujemy [ jako wzrost i ] jako
Uogólnienia
Istnieją warianty języka Dyck z wieloma ogranicznikami, np. D2 na alfabecie „(”, „)”, „[” i „]”. Słowa takiego języka to te, które są dobrze ujęte w nawiasy dla wszystkich ograniczników, tj. można czytać słowo od lewej do prawej, przesunąć każdy otwierający ogranicznik na stosie, a za każdym razem, gdy dojdziemy do ogranicznika zamykającego, musimy być w stanie aby zdjąć pasujący ogranicznik otwierający ze szczytu stosu. (Powyższy algorytm liczenia nie uogólnia).
Zobacz też
Notatki
- Język Dycka w PlanetMath .
- Dowód twierdzenia Chomsky'ego Schützenbergera
- Wpis na blogu AMS na temat słów Dycka