Dyck-taal

Raster van de 14 Dyck-woorden met een lengte van 8 - [ en ] geïnterpreteerd als op en neer

In de theorie van formele talen van de informatica, wiskunde en taalkunde is een Dyck-woord een uitgebalanceerde reeks haakjes. De verzameling Dyck-woorden vormt een Dyck-taal. De eenvoudigste, D1, gebruikt slechts twee overeenkomende haakjes, bijvoorbeeld ( en ).

Dyck-woorden en -taal zijn vernoemd naar de wiskundige Walther von Dyck. Ze hebben toepassingen bij het ontleden van uitdrukkingen die een correct geneste reeks haakjes moeten hebben, zoals rekenkundige of algebraïsche uitdrukkingen.

Formele definitie

Laat Σ = { [ , ] } {\displaystyle \Sigma =\{[,]\}} het alfabet zijn dat bestaat uit de symbolen [ en ]. Laat Σ {\displaystyle \Sigma ^{*}} de Kleene-ster aanduiden. De Dyck-taal wordt gedefinieerd als:

{ u Σ |  alle prefixen van  u  bevatten niet meer ] dan [  en het aantal [ in  u  is gelijk aan het aantal ] } . {\displaystyle \{u\in \Sigma ^{*}\vert {\text{ alle prefixen van }}u{\text{ bevatten niet meer ] dan [}}{\text{ en het aantal [ in }}u{\text{ is gelijk aan het aantal ]}}\}.}

Eigenschappen

  • De Dyck-taal is gesloten onder de werking van concatenatie.
  • Door Σ {\displaystyle \Sigma ^{*}} te behandelen als een algebraïsche monoïde onder concatenatie zien we dat de monoïdestructuur overgaat op het quotiënt Σ / R {\displaystyle \Sigma ^{*}/R} , resulterend in de syntactische monoïde van de Dyck-taal. De klasse Cl ( ϵ ) {\displaystyle \operatorname {Cl} (\epsilon )} wordt aangegeven met 1 {\displaystyle 1} .
  • De syntactische monoïde van de Dyck-taal is niet commutatief: als u = Cl ( [ ) {\displaystyle u=\operatorname {Cl} ([)} en v = Cl ( ] ) {\displaystyle v=\operatorname {Cl} (])} dan u v = Cl ( [ ] ) = 1 Cl ( ] [ ) = v u {\displaystyle uv=\operatorname {Cl} ([])=1\neq \operatorname {Cl} (][)=vu} .
  • Met de bovenstaande notatie, u v = 1 {\displaystyle uv=1} maar geen van beide u {\displaystyle u} noch v {\displaystyle v} zijn omkeerbaar in Σ / R {\displaystyle \Sigma ^{*}/R} .
  • De syntactische monoïde van de Dyck-taal is isomorf met de bicyclische semigroep vanwege de eigenschappen van Cl ( [ ) {\displaystyle \operatorname {Cl} ([)} en Cl ( ] ) {\displaystyle \operatorname {Cl} (])} hierboven omschreven.
  • Volgens de representatiestelling van Chomsky-Schützenberger is elke contextvrije taal een homomorf beeld van de doorsnede van een reguliere taal met een Dyck-taal op een of meer soorten haakjesparen.
  • Het aantal verschillende Dyck-woorden met precies n paren haakjes en k binnenste paren (namelijk de subtekenreeks [   ] {\displaystyle [\ ]} ) is het Narayana-getal N ( n , k ) {\displaystyle \operatorname {N} (n,k)} .
  • Het aantal verschillende Dyck-woorden met precies n paar haakjes is het n-de Catalan-getal C n {\displaystyle C_{n}} . Merk op dat de Dyck-taal van woorden met n haakjesparen gelijk is aan de unie, over alle mogelijke k, van de Dyck-talen van woorden met n haakjesparen met k binnenste paren, zoals gedefinieerd in het vorige punt. Omdat k kan variëren van 0 tot n, verkrijgen we de volgende gelijkheid, die inderdaad geldt:
C n = k = 1 n N ( n , k ) {\displaystyle C_{n}=\sum _{k=1}^{n}\operatorname {N} (n,k)}
Bron
  • Dit artikel of een eerdere versie ervan is een (gedeeltelijke) vertaling van het artikel Dyck language op de Engelstalige Wikipedia, dat onder de licentie Creative Commons Naamsvermelding/Gelijk delen valt. Zie de bewerkingsgeschiedenis aldaar.