język Dyck
W informatyce teoretycznej , zwłaszcza w teorii języka , języki Dyck są jednostkami języków formalnych . Język Dyck to zestaw dobrze ujętych w nawiasy słów , nad skończonym alfabetem otwierających i zamykających nawiasów. Na przykład, w parze nawiasów utworzonej przez ' (' i ' )' , słowo ' (()) ()' jest słowem dobrze umieszczonym w nawiasach, podczas gdy słowo ' ()) (' nie jest).
Języki Dyck odgrywają ważną rolę w informatyce teoretycznej w charakteryzowaniu języków algebraicznych . Twierdzenie Schützenberger Chomsky twierdzi w istocie, że każdy język algebraiczny jest obraz z alfabetycznej morfizmu od skrzyżowania języka Dyck z racjonalnym języku .
Języki Dycka zostały nazwane na cześć niemieckiego matematyka Walthera von Dycka .
Formalna definicja
Intuicyjnie, słowo jest dobrze umieszczone w nawiasach , zwane także słowem Dycka , jeśli można je zredukować do pustego słowa, usuwając kolejno sąsiednie pary nawiasów tego samego typu. Na przykład w alfabecie utworzonym przez , słowo jest umieszczone w nawiasach, ponieważ
(,[,),]{\ styl wyświetlania (, [,),]}
([()[]])(){\ styl wyświetlania ([() []]) ()}![{\ styl wyświetlania ([() []]) ()}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5a0aed4ba7065a807e7d724b96c361281da0739b)
([()[]])()→([[]])()→([])()→()()→()→ε{\ displaystyle ([() [\,]]) () \ do ([[\,]]) () \ do ([\,]) () \ do () () \ do () \ do \ varepsilon}![{\ displaystyle ([() [\,]]) () \ do ([[\,]]) () \ do ([\,]) () \ do () () \ do () \ do \ varepsilon}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9808f808b8499e61cb77d4f4708e200cab36b363)
.
Podajmy formalną definicję słowa Dyck. Albo alfabet, albo rozłączna kopia . Na zbiorze słów on definiujemy następującą relację:
DO{\ styl wyświetlania A}
DOŻ={W celuŻ|W celu∈DO}{\ displaystyle {\ bar {A}} = \ {{\ bar {a}} \ mid a \ w A \}}
DO{\ styl wyświetlania A}
DO{\ styl wyświetlania A}
(DO∪DOŻ)*{\ displaystyle (A \ filiżanka {\ bar {A}}) ^ {*}}
DO∪DOŻ{\ displaystyle A \ filiżanka {\ bar {A}}}![{\ displaystyle A \ filiżanka {\ bar {A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/416dece6f962588b351352ae21c5801fcfbaab7e)
w→w'{\ styl wyświetlania w \ do w '}![{\ styl wyświetlania w \ do w '}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2036515e4cdf8fa3c5a8d13b9cc491f668386401)
jeśli istnieje rozkład na czynniki, taki jak , z .
w=xW celuW celuŻtak{\ displaystyle w = xa {\ bar {a}} y}
w'=xtak{\ styl wyświetlania w '= xy}
W celu∈DO{\ displaystyle a \ w A}![a \ w A](https://wikimedia.org/api/rest_v1/media/math/render/svg/a97387981adb5d65f74518e20b6785a284d7abd5)
Redukcja Dyck jest przechodni zamknięcie tej relacji. Słowo Dyck jest słowem, które sprowadza się do pustym słowem . Język Dyck na zbiorze słów Dyck.
ε{\ styl wyświetlania \ varepsilon}
DO∪DOŻ{\ displaystyle A \ filiżanka {\ bar {A}}}![{\ displaystyle A \ filiżanka {\ bar {A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/416dece6f962588b351352ae21c5801fcfbaab7e)
Redukcja Dycka to konfluentny system przepisywania . Kongruencja Dycka jest zwrotnym, symetrycznym i przechodnim zamknięciem relacji.
Nieruchomości
- Konkatenacja dwóch słów Dycka jest nadal słowem Dyck, więc język Dycka jest podmonoidem wolnego monoidu .(DO∪DOŻ)*{\ displaystyle (A \ filiżanka {\ bar {A}}) ^ {*}}
![{\ displaystyle (A \ filiżanka {\ bar {A}}) ^ {*}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0133f06bf04d1e6b421b848308065ad611e29c70)
- Pierwsze słowo Dyck to słowo Dyck, które nie jest konkatenacją wielu słów Dyck. Oznaczamy lub zbiór pierwszych słów Dycka i lub język Dycka. Z notacją spotykamy się również wtedy, gdy alfabet zawiera litery.DDO{\ styl wyświetlania D_ {A}}
D{\ styl wyświetlania D}
DDO*{\ Displaystyle D_ {A} ^ {*}}
D*{\ styl wyświetlania D ^ {*}}
Dnie*{\ styl wyświetlania D_ {n} ^ {*}}
nie{\ styl wyświetlania n}![nie](https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b)
- Zbiór pierwszych słów Dycka to kod bifix (tj. kod prefiksu i sufiksu ). Monoidy są zatem wolnymi submonoidami .DDO*{\ Displaystyle D_ {A} ^ {*}}
![{\ Displaystyle D_ {A} ^ {*}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a1ed38b5c435a2e4feb2e589e373067102fdcf94)
- Języki Dyck i pierwsze języki Dyck są deterministycznymi językami algebraicznymi . Oto gramatyka: Zmienna generuje język Dyck , zmienna generuje język pierwszych słów Dyck .
S→TS|εT→W celuSW celuŻ(W celu∈DO){\ displaystyle {\ begin {array} {rcl} S & \ do & TS \ mid \ varepsilon \\ T & \ do & aS {\ bar {a}} \ quad (a \ w A) \ end {array} }}![{\ displaystyle {\ begin {array} {rcl} S & \ do & TS \ mid \ varepsilon \\ T & \ do & aS {\ bar {a}} \ quad (a \ w A) \ end {array} }}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fb93e2c29da4eef460da7d942cbf304eb7b68a83)
S{\ styl wyświetlania S}
DDO*{\ Displaystyle D_ {A} ^ {*}}
T{\ styl wyświetlania T}
DDO{\ styl wyświetlania D_ {A}}![{\ styl wyświetlania D_ {A}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b78af4a9d2d8aaec85ea4e6b0f997a31def04311)
- Inna często spotykana gramatyka to: zmienna generuje język Dycka , ale gramatyka jest niejednoznaczna .
S→SS|εS→W celuSW celuŻ(W celu∈DO){\ displaystyle {\ początek {tablica} {rcl} S & \ do & SS \ mid \ varepsilon \\ S & \ do & aS {\ bar {a}} \ quad (a \ w A) \ end {tablica} }}![{\ displaystyle {\ początek {tablica} {rcl} S & \ do & SS \ mid \ varepsilon \\ S & \ do & aS {\ bar {a}} \ quad (a \ w A) \ end {tablica} }}](https://wikimedia.org/api/rest_v1/media/math/render/svg/262ae59fa69a0da5fec444f1a33b07c5c053fedb)
S{\ styl wyświetlania S}
DDO*{\ Displaystyle D_ {A} ^ {*}}![{\ Displaystyle D_ {A} ^ {*}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a1ed38b5c435a2e4feb2e589e373067102fdcf94)
- Twierdzenie Chomsky'ego – Schützenbergera mówi, że każdy język algebraiczny jest homomorficznym obrazem przecięcia języka Dycka z językiem racjonalnym.
- Twierdzenie to można doprecyzować w następujący sposób: każdy język algebraiczny jest homomorficznym obrazem przecięcia języka wymiernego i odwrotnym homomorficznym obrazem języka Dycka na dwóch parach nawiasów: gdzie i są morfizmami i jest językiem racjonalnym.TEN{\ styl wyświetlania L}
![TEN](https://wikimedia.org/api/rest_v1/media/math/render/svg/103168b86f781fe6e9a4a87b8ea1cebe0ad4ede8)
TEN=h(K∩g-1(D2*)){\ displaystyle L = h (K \ czapka g ^ {-1} (D_ {2} ^ {*}))}![{\ displaystyle L = h (K \ czapka g ^ {-1} (D_ {2} ^ {*}))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/be7a3d5c4c7953a744f0ce822509f6f942573198)
h{\ styl wyświetlania h}
g{\ styl wyświetlania g}
K{\ styl wyświetlania K}![K](https://wikimedia.org/api/rest_v1/media/math/render/svg/2b76fce82a62ed5461908f0dc8f037de4e3686b0)
- Równoważnie to stwierdzenie oznacza, że każdy język algebraiczny jest obrazem poprzez racjonalną transdukcję lub że język jest generatorem racjonalnego stożka języków algebraicznych.D2*{\ styl wyświetlania D_ {2} ^ {*}}
D2*{\ styl wyświetlania D_ {2} ^ {*}}![D_ {2} ^ {*}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ab92a8450f2efca7832051fde1d0e34d754ac8a0)
- Język Dycka na dwóch parach nawiasów należy do klasy złożoności TC 0 (en) .
- Słowa Dycka mają wiele właściwości i charakterystyk kombinatorycznych. Liczba słów Dycka w parze nawiasów długości jest równa liczbie katalońskiej .2nie{\ styl wyświetlania 2n}
VSnie{\ styl wyświetlania C_ {n}}![C_ {n}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0301812adb392070d834ca2df4ed97f1cf132f33)
- Monoidem składniowym języka Dycka jest monoid bicykliczny .
Dwustronne języki Dyck
Intuicyjnie, dwustronne słowo Dyck jest dobrze uformowanym słowem symboli i ich odwrotności, które upraszczają się, gdy sąsiadują ze sobą, na przykład w grupie. Tutaj jest używany zamiast symbolizować rewers litery . Dwustronne języki Dyck, utworzone z dwustronnych słów Dyck, są związane z definicją wolnych grup .
W celu-1W celu=1{\ displaystyle a ^ {- 1} a = 1}
W celuŻ{\ displaystyle {\ bar {a}}}
W celu{\ styl wyświetlania a}![W celu](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd2487510aa438433a2579450ab2b3d557e5edc)
Albo alfabet, albo rozłączna kopia . Tutaj kopia listu jest jego formalnym rewersem. Na zbiorze słów on definiujemy relację redukcji w następujący sposób:
DO{\ styl wyświetlania A}
DOŻ={W celuŻ|W celu∈DO}{\ displaystyle {\ bar {A}} = \ {{\ bar {a}} \ mid a \ w A \}}
DO{\ styl wyświetlania A}
DO{\ styl wyświetlania A}
W celuŻ{\ displaystyle {\ bar {a}}}
W celu{\ styl wyświetlania a}
(DO∪DOŻ)*{\ displaystyle (A \ filiżanka {\ bar {A}}) ^ {*}}
DO∪DOŻ{\ displaystyle A \ filiżanka {\ bar {A}}}![{\ displaystyle A \ filiżanka {\ bar {A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/416dece6f962588b351352ae21c5801fcfbaab7e)
w→w'{\ styl wyświetlania w \ do w '}
jeśli istnieje faktoryzacja lub takie, że , z . Dwustronna redukcja Dycka jest przejściowym zamknięciem tej relacji.
w=xW celuW celuŻtak{\ displaystyle w = xa {\ bar {a}} y}
w=xW celuŻW celutak{\ styl wyświetlania w = x {\ bar {a}} ay}
w'=xtak{\ styl wyświetlania w '= xy}
W celu∈DO{\ displaystyle a \ w A}![a \ w A](https://wikimedia.org/api/rest_v1/media/math/render/svg/a97387981adb5d65f74518e20b6785a284d7abd5)
Na przykład mamy
W celuŻW celuW celuW celuŻ→W celuW celuŻ→ε{\ displaystyle {\ bar {a}} aa {\ bar {a}} \ do {\ bar {a}} \ do \ varepsilon}![{\ displaystyle {\ bar {a}} aa {\ bar {a}} \ do {\ bar {a}} \ do \ varepsilon}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ef89881055314335c43083a6247f3ebf4a9b7e49)
Dwu- stronne Dyck słowo jest słowem, które sprowadza się do pustego słowa . Relacja przepisywania zdefiniowana powyżej jest konfluentna, a każde słowo jest zredukowane do słowa nieredukowalnego (to znaczy nie zawierającego żadnego lub pojedynczego czynnika
) . Zbiór nieredukowalnych słów jest językiem racjonalnym . Jest w bijekcji z wolną grupą na .
ε{\ styl wyświetlania \ varepsilon}
W celuW celuŻ{\ displaystyle a {\ bar {a}}}
W celuŻW celu{\ displaystyle {\ bar {a}} a}
DO{\ styl wyświetlania A}![DO](https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3)
Język Dyck dwustronny na planie Dyck słowy dwustronnego.
DO∪DOŻ{\ displaystyle A \ filiżanka {\ bar {A}}}![{\ displaystyle A \ filiżanka {\ bar {A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/416dece6f962588b351352ae21c5801fcfbaab7e)
Nieruchomości
- Dwustronne języki Dyck są algebraiczne. Oto gramatyka:
S→TS|εT→W celuSW celuŻ(W celu∈DO)T→W celuŻSW celu(W celu∈DO){\ displaystyle {\ zacząć {tablica} {rcl} S & \ do & TS \ mid \ varepsilon \\ T & \ do & aS {\ bar {a}} \ quad (a \ w A) \\ T & \ to & {\ bar {a}} Sa \ quad (a \ in A) \ end {array}}}![{\ displaystyle {\ zacząć {tablica} {rcl} S & \ do & TS \ mid \ varepsilon \\ T & \ do & aS {\ bar {a}} \ quad (a \ w A) \\ T & \ to & {\ bar {a}} Sa \ quad (a \ in A) \ end {array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d4e1a37f4244da90cd239901e0caaa217e15ca8a)
Ta gramatyka jest niejednoznaczna. Na przykład słowo ma następujące dwie lewe derywacje :
W celuW celuŻW celuW celuŻ{\ displaystyle a {\ bar {a}} a {\ bar {a}}}![{\ displaystyle a {\ bar {a}} a {\ bar {a}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/008b5a42c6c3a26229d20e444296e2a10bca7ed2)
S→TS→W celuSW celuŻS→W celuW celuŻS→W celuW celuŻTS→W celuW celuŻW celuSW celuŻS→W celuW celuŻW celuW celuŻS→W celuW celuŻW celuW celuŻS→TS→W celuSW celuŻS→W celuTSW celuŻS→W celuW celuŻSW celuW celuŻS→W celuW celuŻW celuW celuŻS→W celuW celuŻW celuW celuŻ{\ displaystyle {\ begin {array} {l} S \ do TS \ do aS {\ bar {a}} S \ do a {\ bar {a}} S \ do {\ bar {a}} TS \ do a {\ bar {a}} aS {\ bar {a}} S \ do a {\ bar {a}} a {\ bar {a}} S \ do a {\ bar {a}} a {\ bar {a}} \\ S \ do TS \ do aS {\ bar {a}} S \ do aTS {\ bar {a}} S \ do a {\ bar {a}} Sa {\ bar {a} } S \ do a {\ bar {a}} a {\ bar {a}} S \ do a {\ bar {a}} a {\ bar {a}} \ end {tablica}}}![{\ displaystyle {\ begin {array} {l} S \ do TS \ do aS {\ bar {a}} S \ do a {\ bar {a}} S \ do {\ bar {a}} TS \ do a {\ bar {a}} aS {\ bar {a}} S \ do a {\ bar {a}} a {\ bar {a}} S \ do a {\ bar {a}} a {\ bar {a}} \\ S \ do TS \ do aS {\ bar {a}} S \ do aTS {\ bar {a}} S \ do a {\ bar {a}} Sa {\ bar {a} } S \ do a {\ bar {a}} a {\ bar {a}} S \ do a {\ bar {a}} a {\ bar {a}} \ end {tablica}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/88b7e0e7bd5099e82e7d304607595b2ff8fc50bb)
Istnieją jednoznaczne gramatyki dla dwustronnych języków Dyck. Tutaj jest jeden:
S→vsSvsvsŻS(vs∈DO∪DOŻ)Svs→bSbbŻSvs(b,vs∈DO∪DOŻ,b≠vsŻ)S→εSvs→ε(vs∈DO∪DOŻ){\ displaystyle {\ zacząć {tablica} {rcl} S & \ do & cS_ {c} {\ bar {c}} S \ quad (c \ w A \ filiżanka {\ bar {A}}) \\ S_ { c} & \ do & bS_ {b} {\ bar {b}} S_ {c} \ quad (b, c \ in A \ cup {\ bar {A}}, b \ neq {\ bar {c}} ) \\ S & \ do & \ varepsilon \\ S_ {c} & \ do & \ varepsilon \ quad (c \ in A \ cup {\ bar {A}}) \ end {array}}}![{\ displaystyle {\ zacząć {tablica} {rcl} S & \ do & cS_ {c} {\ bar {c}} S \ quad (c \ w A \ filiżanka {\ bar {A}}) \\ S_ { c} & \ do & bS_ {b} {\ bar {b}} S_ {c} \ quad (b, c \ in A \ cup {\ bar {A}}, b \ neq {\ bar {c}} ) \\ S & \ do & \ varepsilon \\ S_ {c} & \ do & \ varepsilon \ quad (c \ in A \ cup {\ bar {A}}) \ end {array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3088cd566ebccd7a52992f3b5deb30d9d40302a4)
W przypadku, gdy alfabet składa się z jednej litery , gramatyka ta sprowadza się do:
DO{\ styl wyświetlania A}
W celu{\ styl wyświetlania a}![W celu](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd2487510aa438433a2579450ab2b3d557e5edc)
S→W celuSW celuW celuŻS|W celuŻSW celuŻW celuS|εSW celu→W celuSW celuW celuŻSW celu|εSW celuŻ→W celuŻSW celuŻW celuSW celuŻ|ε{\ displaystyle {\ begin {array} {rcl} S & \ do & aS_ {a} {\ bar {a}} S \ mid {\ bar {a}} S _ {\ bar {a}} asS \ mid \ varepsilon \ \ S_ {a} & \ do & aS_ {a} {\ bar {a}} S_ {a} \ mid \ varepsilon \\ S _ {\ bar {a}} & \ do & {\ bar { a}} S_ { \ bar {a}} aS _ {\ bar {a}} \ mid \ varepsilon \ end {tablica}}}![{\ displaystyle {\ begin {array} {rcl} S & \ do & aS_ {a} {\ bar {a}} S \ mid {\ bar {a}} S _ {\ bar {a}} asS \ mid \ varepsilon \ \ S_ {a} & \ do & aS_ {a} {\ bar {a}} S_ {a} \ mid \ varepsilon \\ S _ {\ bar {a}} & \ do & {\ bar { a}} S_ { \ bar {a}} aS _ {\ bar {a}} \ mid \ varepsilon \ end {tablica}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/455a1c29c3d78c25cd35249c5340b71c07a40713)
- Twierdzenie Chomsky'ego – Schützenbergera pozostaje aktualne, gdy języki Dyck zostaną zastąpione przez języki Dyck bilateralne.
Bibliografia
- Olivier Carton , Języki formalne, obliczalność i złożoność ,2008[ szczegóły wydania ] ( przeczytaj online )
- Jean-Michel Autebert , Języki algebraiczne , Masson,1987, 278 s. ( ISBN 978-2-225-81087-9 )
-
(en) Wilhelm Magnus , Abraham Karrass i Donald Solitar , Kombinatoryczna teoria grup. Prezentacje grup pod kątem generatorów i relacji , Dover Publikacje ,2004, 444 s. ( ISBN 0-486-43830-9 , czytaj online )Przedruk drugiego wydania, 1976
Uwagi i referencje
-
Terminologia „dwustronny” nie jest częste: po angielsku, jeden często używa „ dwustronny Dyck słowa ”. Jacques Labelle ( Quebec, Annals of Sciences matematyczne vol. 17, n o 1, 1993), wyraźnie stosuje się termin "dwustronny" Jacques Sakarovitch zwane "Dyck słowo" dwustronnego słowa i "słowo Shamir" słów Dyck. Matematycy w kombinatorycznej teorii grup znają tylko wyrazy dwustronne i pomijają przymiotnik.
Powiązane artykuły
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">