Język Dycka

Krata 14 słów Dycka o długości 8 - [ i ] interpretowana jako góra i dół

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

Ścisła monotoniczność
σ
] [
[ ]
σ
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