Dyck sprog
I teoretisk datalogi , især i sprog teori , de Dyck-sprog er formelle sprog individer. Et Dyck-sprog er et sæt af ord med godt parentes over et endeligt alfabet med åbne og lukke parenteser. For eksempel på parret i parentes dannet af ' (' og ' )' er ordet ' (()) ()' et godt parentes ord, mens ordet ' ()) (' ikke er.
Dyck-sprog spiller en vigtig rolle i teoretisk datalogi for at karakterisere algebraiske sprog . Den sætning Schützenbergers Chomsky hedder i, at enhver algebraisk sprog er det billede med et alfabetisk morphism af skæringspunktet af et Dyck sprog med en rationel sprog .
Dyck's sprog blev opkaldt efter den tyske matematiker Walther von Dyck .
Formel definition
Intuitivt er et ord godt parenteseret , også kaldet Dyck's ord , hvis det kan reduceres til det tomme ord ved successivt at fjerne tilstødende par parenteser af samme type. F.eks. Er ordet i alfabetet dannet af parentes, fordi
(,[,),]{\ displaystyle (, [,),]}
([()[]])(){\ displaystyle ([() []]) ()}![{\ displaystyle ([() []]) ()}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5a0aed4ba7065a807e7d724b96c361281da0739b)
([()[]])()→([[]])()→([])()→()()→()→ε{\ displaystyle ([() [\,]]) () \ til ([[\,]]) () \ til ([\,]) () \ til () () \ til () \ til \ varepsilon}![{\ displaystyle ([() [\,]]) () \ til ([[\,]]) () \ til ([\,]) () \ til () () \ til () \ til \ varepsilon}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9808f808b8499e61cb77d4f4708e200cab36b363)
.
Lad os give den formelle definition af et Dyck-ord. Enten et alfabet og enten en uensartet kopi af . På sæt af ord på definerer vi følgende relation:
TIL{\ displaystyle A}
TIL¯={Til¯∣Til∈TIL}{\ displaystyle {\ bar {A}} = \ {{\ bar {a}} \ mid a \ in A \}}
TIL{\ displaystyle A}
TIL{\ displaystyle A}
(TIL∪TIL¯)∗{\ displaystyle (A \ cup {\ bar {A}}) ^ {*}}
TIL∪TIL¯{\ displaystyle A \ cup {\ bar {A}}}![{\ displaystyle A \ cup {\ bar {A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/416dece6f962588b351352ae21c5801fcfbaab7e)
w→w′{\ displaystyle w \ to w '}![{\ displaystyle w \ to w '}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2036515e4cdf8fa3c5a8d13b9cc491f668386401)
hvis der findes en faktorisering som f.eks . med .
w=xTilTil¯y{\ displaystyle w = xa {\ bar {a}} y}
w′=xy{\ displaystyle w '= xy}
Til∈TIL{\ displaystyle a \ i A}![a \ i A](https://wikimedia.org/api/rest_v1/media/math/render/svg/a97387981adb5d65f74518e20b6785a284d7abd5)
Den reduktion Dyck er den transitive lukning af denne relation. Et ord af Dyck er et ord, der reduceres til det tomme ord . Den Dyck sprog på det sæt af Dyck ord.
ε{\ displaystyle \ varepsilon}
TIL∪TIL¯{\ displaystyle A \ cup {\ bar {A}}}![{\ displaystyle A \ cup {\ bar {A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/416dece6f962588b351352ae21c5801fcfbaab7e)
Dyck-reduktion er et sammenflydende omskrivningssystem . Dyck-kongruens er den refleksive, symmetriske og transitive lukning af forholdet.
Ejendomme
- Sammenkædningen af to Dyck-ord er stadig et Dyck-ord, så Dyck's sprog er en submonoid af det frie monoid .(TIL∪TIL¯)∗{\ displaystyle (A \ cup {\ bar {A}}) ^ {*}}
![{\ displaystyle (A \ cup {\ bar {A}}) ^ {*}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0133f06bf04d1e6b421b848308065ad611e29c70)
- Et primært Dyck- ord er et Dyck-ord, der ikke er en sammenkædning af flere Dyck-ord. Vi betegner eller sæt af primære Dyck-ord og eller Dyck's sprog. Vi møder også notationen, når alfabetet indeholder bogstaver.DTIL{\ displaystyle D_ {A}}
D{\ displaystyle D}
DTIL∗{\ displaystyle D_ {A} ^ {*}}
D∗{\ displaystyle D ^ {*}}
Dikke∗{\ displaystyle D_ {n} ^ {*}}
ikke{\ displaystyle n}![ikke](https://wikimedia.org/api/rest_v1/media/math/render/svg/a601995d55609f2d9f5e233e36fbe9ea26011b3b)
- Sættet med primære Dyck-ord er en bifix-kode (dvs. et præfiks og en suffiks- kode ). Monoider er derfor gratis submonoider .DTIL∗{\ displaystyle D_ {A} ^ {*}}
![{\ displaystyle D_ {A} ^ {*}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a1ed38b5c435a2e4feb2e589e373067102fdcf94)
- Dyck-sprog og primære Dyck- sprog er deterministiske algebraiske sprog . Her er en grammatik: Variablen genererer sproget for Dyck , variablen genererer sproget for de første Dyck-ord .
S→TS∣εT→TilSTil¯(Til∈TIL){\ displaystyle {\ begin {array} {rcl} S & \ til & TS \ mid \ varepsilon \\ T & \ til & aS {\ bar {a}} \ quad (a \ i A) \ end {array} }}![{\ displaystyle {\ begin {array} {rcl} S & \ til & TS \ mid \ varepsilon \\ T & \ til & aS {\ bar {a}} \ quad (a \ i A) \ end {array} }}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fb93e2c29da4eef460da7d942cbf304eb7b68a83)
S{\ displaystyle S}
DTIL∗{\ displaystyle D_ {A} ^ {*}}
T{\ displaystyle T}
DTIL{\ displaystyle D_ {A}}![{\ displaystyle D_ {A}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b78af4a9d2d8aaec85ea4e6b0f997a31def04311)
- En anden ofte opstået grammatik er: Variablen genererer Dyck's sprog , men grammatikken er tvetydig .
S→SS∣εS→TilSTil¯(Til∈TIL){\ displaystyle {\ begin {array} {rcl} S & \ til & SS \ mid \ varepsilon \\ S & \ til & aS {\ bar {a}} \ quad (a \ i A) \ end {array} }}![{\ displaystyle {\ begin {array} {rcl} S & \ til & SS \ mid \ varepsilon \\ S & \ til & aS {\ bar {a}} \ quad (a \ i A) \ end {array} }}](https://wikimedia.org/api/rest_v1/media/math/render/svg/262ae59fa69a0da5fec444f1a33b07c5c053fedb)
S{\ displaystyle S}
DTIL∗{\ displaystyle D_ {A} ^ {*}}![{\ displaystyle D_ {A} ^ {*}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a1ed38b5c435a2e4feb2e589e373067102fdcf94)
- The Chomsky-Schützenberger sætning siger, at ethvert algebraisk sprog er et homomorft billede af skæringspunktet mellem et Dyck-sprog og et rationelt sprog.
- Denne sætning kan raffineres som følger: ethvert algebraisk sprog er et homomorft billede af skæringspunktet mellem et rationelt sprog og det omvendte homomorfe billede af Dyck's sprog på to par parenteser: hvor og er morfismer og er en sprogrationel.DET{\ displaystyle L}
![DET](https://wikimedia.org/api/rest_v1/media/math/render/svg/103168b86f781fe6e9a4a87b8ea1cebe0ad4ede8)
DET=h(K∩g-1(D2∗)){\ displaystyle L = h (K \ cap g ^ {- 1} (D_ {2} ^ {*}))}![{\ displaystyle L = h (K \ cap g ^ {- 1} (D_ {2} ^ {*}))}](https://wikimedia.org/api/rest_v1/media/math/render/svg/be7a3d5c4c7953a744f0ce822509f6f942573198)
h{\ displaystyle h}
g{\ displaystyle g}
K{\ displaystyle K}![K](https://wikimedia.org/api/rest_v1/media/math/render/svg/2b76fce82a62ed5461908f0dc8f037de4e3686b0)
- Tilsvarende betyder denne erklæring, at ethvert algebraisk sprog er et billede gennem rationel transduktion , eller at sproget er en generator for den rationelle kegle af algebraiske sprog.D2∗{\ displaystyle D_ {2} ^ {*}}
D2∗{\ displaystyle D_ {2} ^ {*}}![D_ {2} ^ {*}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ab92a8450f2efca7832051fde1d0e34d754ac8a0)
- Dyck's sprog på to par parenteser hører til kompleksitetsklassen TC 0 (en) .
- Dycks ord har mange kombinatoriske egenskaber og karakteriseringer. Antallet af Dyck-ord i et par parenteser er lig med det catalanske tal .2ikke{\ displaystyle 2n}
VSikke{\ displaystyle C_ {n}}![C_ {n}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0301812adb392070d834ca2df4ed97f1cf132f33)
- Den syntaktiske monoid af Dyck's sprog er den bicykliske monoid .
Bilaterale Dyck-sprog
Intuitivt er et tosidet Dyck-ord et velformet ord af symboler og deres inverser, der forenkler, når de er tilstødende, som i en gruppe. Her bruges det i stedet for at symbolisere det modsatte af brevet . To-sidede Dyck-sprog, dannet af to-sidede Dyck-ord, er relateret til definitionen af frie grupper .
Til-1Til=1{\ displaystyle a ^ {- 1} a = 1}
Til¯{\ displaystyle {\ bar {a}}}
Til{\ displaystyle a}![Til](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd2487510aa438433a2579450ab2b3d557e5edc)
Enten et alfabet og enten en uensartet kopi af . Her ses kopien af brevet som dets formelle omvendte. På sæt af ord på definerer vi en reduktionsforhold som følger:
TIL{\ displaystyle A}
TIL¯={Til¯∣Til∈TIL}{\ displaystyle {\ bar {A}} = \ {{\ bar {a}} \ mid a \ in A \}}
TIL{\ displaystyle A}
TIL{\ displaystyle A}
Til¯{\ displaystyle {\ bar {a}}}
Til{\ displaystyle a}
(TIL∪TIL¯)∗{\ displaystyle (A \ cup {\ bar {A}}) ^ {*}}
TIL∪TIL¯{\ displaystyle A \ cup {\ bar {A}}}![{\ displaystyle A \ cup {\ bar {A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/416dece6f962588b351352ae21c5801fcfbaab7e)
w→w′{\ displaystyle w \ to w '}
hvis der er en faktorisering eller sådan , med . Den tosidede Dyck-reduktion er den midlertidige lukning af dette forhold.
w=xTilTil¯y{\ displaystyle w = xa {\ bar {a}} y}
w=xTil¯Tily{\ displaystyle w = x {\ bar {a}} ay}
w′=xy{\ displaystyle w '= xy}
Til∈TIL{\ displaystyle a \ i A}![a \ i A](https://wikimedia.org/api/rest_v1/media/math/render/svg/a97387981adb5d65f74518e20b6785a284d7abd5)
For eksempel har vi det
Til¯TilTilTil¯→TilTil¯→ε{\ displaystyle {\ bar {a}} aa {\ bar {a}} \ til en {\ bar {a}} \ til \ varepsilon}![{\ displaystyle {\ bar {a}} aa {\ bar {a}} \ til en {\ bar {a}} \ til \ varepsilon}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ef89881055314335c43083a6247f3ebf4a9b7e49)
Et tosidet Dyck-ord er et ord, der koger ned til det tomme ord . Omskrivningsforholdet defineret ovenfor er sammenflydende, og ethvert ord reduceres til et irreducerbart ord (dvs. indeholder ingen eller en enkelt faktor
) . Sættet af irreducible ord er et rationelt sprog . Han er i forbindelse med den gratis gruppe på .
ε{\ displaystyle \ varepsilon}
TilTil¯{\ displaystyle a {\ bar {a}}}
Til¯Til{\ displaystyle {\ bar {a}} a}
TIL{\ displaystyle A}![TIL](https://wikimedia.org/api/rest_v1/media/math/render/svg/7daff47fa58cdfd29dc333def748ff5fa4c923e3)
Det sprog Dyck to-sidet på det sæt af Dyck ord tosidede.
TIL∪TIL¯{\ displaystyle A \ cup {\ bar {A}}}![{\ displaystyle A \ cup {\ bar {A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/416dece6f962588b351352ae21c5801fcfbaab7e)
Ejendomme
- Bilaterale Dyck-sprog er algebraisk. Her er en grammatik:
S→TS∣εT→TilSTil¯(Til∈TIL)T→Til¯STil(Til∈TIL){\ displaystyle {\ begin {array} {rcl} S & \ til & TS \ mid \ varepsilon \\ T & \ til & aS {\ bar {a}} \ quad (a \ i A) \\ T & \ til & {\ bar {a}} Sa \ quad (a \ i A) \ end {array}}}![{\ displaystyle {\ begin {array} {rcl} S & \ til & TS \ mid \ varepsilon \\ T & \ til & aS {\ bar {a}} \ quad (a \ i A) \\ T & \ til & {\ bar {a}} Sa \ quad (a \ i A) \ end {array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d4e1a37f4244da90cd239901e0caaa217e15ca8a)
Denne grammatik er tvetydig. For eksempel har ordet følgende to venstre afledninger :
TilTil¯TilTil¯{\ 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→TilSTil¯S→TilTil¯S→TilTil¯TS→TilTil¯TilSTil¯S→TilTil¯TilTil¯S→TilTil¯TilTil¯S→TS→TilSTil¯S→TilTSTil¯S→TilTil¯STilTil¯S→TilTil¯TilTil¯S→TilTil¯TilTil¯{\ displaystyle {\ begin {array} {l} S \ til TS \ til aS {\ bar {a}} S \ til en {\ bar {a}} S \ til en {\ bar {a}} TS \ til en {\ bar {a}} aS {\ bar {a}} S \ til en {\ bar {a}} en {\ bar {a}} S \ til en {\ bar {a}} en {\ bjælke {a}} \\ S \ til TS \ til aS {\ bar {a}} S \ til aTS {\ bar {a}} S \ til en {\ bar {a}} Sa {\ bar {a} } S \ til en {\ bar {a}} en {\ bar {a}} S \ til en {\ bar {a}} en {\ bar {a}} \ end {array}}}![{\ displaystyle {\ begin {array} {l} S \ til TS \ til aS {\ bar {a}} S \ til en {\ bar {a}} S \ til en {\ bar {a}} TS \ til en {\ bar {a}} aS {\ bar {a}} S \ til en {\ bar {a}} en {\ bar {a}} S \ til en {\ bar {a}} en {\ bjælke {a}} \\ S \ til TS \ til aS {\ bar {a}} S \ til aTS {\ bar {a}} S \ til en {\ bar {a}} Sa {\ bar {a} } S \ til en {\ bar {a}} en {\ bar {a}} S \ til en {\ bar {a}} en {\ bar {a}} \ end {array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/88b7e0e7bd5099e82e7d304607595b2ff8fc50bb)
Der er entydige grammatikker for tosidede Dyck-sprog. Her er en:
S→vs.Svs.vs.¯S(vs.∈TIL∪TIL¯)Svs.→bSbb¯Svs.(b,vs.∈TIL∪TIL¯,b≠vs.¯)S→εSvs.→ε(vs.∈TIL∪TIL¯){\ displaystyle {\ begin {array} {rcl} S & \ til & cS_ {c} {\ bar {c}} S \ quad (c \ i A \ cup {\ bar {A}}) \\ S_ { c} & \ to & bS_ {b} {\ bar {b}} S_ {c} \ quad (b, c \ i A \ cup {\ bar {A}}, b \ neq {\ bar {c}} ) \\ S & \ til & \ varepsilon \\ S_ {c} & \ til & \ varepsilon \ quad (c \ i A \ cup {\ bar {A}}) \ end {array}}}![{\ displaystyle {\ begin {array} {rcl} S & \ til & cS_ {c} {\ bar {c}} S \ quad (c \ i A \ cup {\ bar {A}}) \\ S_ { c} & \ to & bS_ {b} {\ bar {b}} S_ {c} \ quad (b, c \ i A \ cup {\ bar {A}}, b \ neq {\ bar {c}} ) \\ S & \ til & \ varepsilon \\ S_ {c} & \ til & \ varepsilon \ quad (c \ i A \ cup {\ bar {A}}) \ end {array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3088cd566ebccd7a52992f3b5deb30d9d40302a4)
I det tilfælde hvor alfabetet består af et enkelt bogstav , reduceres denne grammatik til:
TIL{\ displaystyle A}
Til{\ displaystyle a}![Til](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd2487510aa438433a2579450ab2b3d557e5edc)
S→TilSTilTil¯S∣Til¯STil¯TilS∣εSTil→TilSTilTil¯STil∣εSTil¯→Til¯STil¯TilSTil¯∣ε{\ displaystyle {\ begin {array} {rcl} S & \ til & aS_ {a} {\ bar {a}} S \ mid {\ bar {a}} S _ {\ bar {a}} aS \ mid \ varepsilon \ \ S_ {a} & \ til & aS_ {a} {\ bar {a}} S_ {a} \ mid \ varepsilon \\ S _ {\ bar {a}} & \ til & {\ bar { a}} S_ {\ bar {a}} aS _ {\ bar {a}} \ mid \ varepsilon \ end {array}}}![{\ displaystyle {\ begin {array} {rcl} S & \ til & aS_ {a} {\ bar {a}} S \ mid {\ bar {a}} S _ {\ bar {a}} aS \ mid \ varepsilon \ \ S_ {a} & \ til & aS_ {a} {\ bar {a}} S_ {a} \ mid \ varepsilon \\ S _ {\ bar {a}} & \ til & {\ bar { a}} S_ {\ bar {a}} aS _ {\ bar {a}} \ mid \ varepsilon \ end {array}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/455a1c29c3d78c25cd35249c5340b71c07a40713)
- Chomsky-Schützenberger-sætningen forbliver gyldig, når Dyck-sprog erstattes af bilaterale Dyck-sprog.
Referencer
- Olivier Carton , Formelle sprog, beregningsevne og kompleksitet ,2008[ udgave af udgaven ] ( læs online )
- Jean-Michel Autebert , algebraiske sprog , Masson,1987, 278 s. ( ISBN 978-2-225-81087-9 )
-
(en) Wilhelm Magnus , Abraham Karrass og Donald Solitar , Combinatorial Group Theory. Præsentationer af grupper med hensyn til generatorer og relationer , Dover Publications ,2004, 444 s. ( ISBN 0-486-43830-9 , læs online )Genoptryk af anden udgave, 1976
Noter og referencer
-
Terminologien "bilateral" er ikke hyppig: på engelsk bruger man ofte " tosidede Dyck-ord ". Jacques Labelle ( Quebec Annals of Mathematical Sciences bind 17, nr . 1, 1993) bruger udtrykkeligt udtrykket "tosidet" Jacques Sakarovitch kaldet "Dyck-ord" de to-sidede ord og "ord af Shamir" -ord Dyck. Matematikere kender i kombinatorisk gruppeteori kun bilaterale ord og udelader adjektivet.
Relaterede artikler
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">