Procesy paralelně komunkuících gramatckých systé mů Pokroč lá témata z teoretckénformatky á věrečný proekt Autor: Ivan chwarz Abstrakt: Tato prá ce se zabý vá paralelně komunkuícím gramatcký m systé my (PCG) a to zemé na popsem paralelního chová ní a komunkace těchto gramatcký ch systé mů. Procesy PCG sou defnová ny pomocí výskytový ch sítí s konflkty, které zachycuí paralelní chová ní PCG. V druhé čá st e uká zá no, že procesy bezkonflktních PCG se daí generovat pomocí Petrho sítí a byl popsá n algortmus, ak takovou síť pro daný PCG vytvořt.
Ú vod V klascké teor formá lních azyků a automatů sou prostředky pro modelová ní vý početních systé mů (gramatky a automaty) centralzované ho charakteru, vý počet e prová děn edním centrá lním mechansmem. V dnešní době e však nevětší důraz kladen na paralelní a dstrbuované systé my, proto v teor formá lních azyků vznkaí prostředky pro pops pomů ako e komunkace, synchronzace, paralelní běh, atd. Jedním z nch sou paralelně komunkuící gramatcké systémy [] (PCG). PCG stupně n s můžeme představt ako skupnu n klascký ch gramatk pracuících paralelně. Každá gramatka začín á ze své ho startovacího symbolu a v určtý ch, přesně defnovaný ch okamžcích mohou gramatky vzá emně komunkovat pomocí specá lních komunkačních symbolů. V našem případě se nezaímá me o klascké vlastnost PCG ako e vý početní síla, protože tyto vlastnost spíše popsuí sekvenční vlastnost těchto systé mů. Nás spíše zaímá pops paralelních vlastností, ako e komunkace a synchronzace, než aký azyk nakonec gramatcký systé m generue. V této prá c sou představeny procesy PCG [] ako prostředek pro pops paralelního chová ní PCG. Obecně řečeno, proces PCG získá me tak, že nechá me gramatcký systé m běžet a zaznamená vá me ednotlvé okamžky přepsová ní a komunkace. tohoto úhlu pohledu můžeme vdět podobnost s procesy Petrho sítí, které sou získá vá ny podobný m způ sobem. V první čá st prá ce sou představeny grafy dosažtelnost a komunkace PCG, dále sou defnová ny procesy PCG a na závěr e uveden ech vztah k Petrho sítím. Paralelně komunkuícígramatcké systé my V této prá c za PCG považueme pouze gramatcké systé my s regulá rním komponentam. Proto všechny zde uvedené defnce se vztahuí k prá vě tomuto druhu PCG. Paralelně komunkuící gramatcký systém stupně n e systé m n regulá rních gramatk G = G, Κ, G ), kde: ( n G = N, T,, P ), n sou regulá rní gramatky ( exstue množna K =, Κ, ) specá lních symbolů zvaný ch ( n n K Υ = komunkač ní symboly, pro něž platí nesmí být přepsaný a navíc v gramatce N. Žádný z těchto symbolů G nesmí být pravdlo obsahuící na pravé straně symbol pro všechna, t. gramatka nesmí žá dat komunkac sama od sebe.
Konfgurace G e n-tce x = x, Κ, x ), kde x T ( N { }) pro všechny ( n, n. Konfgurace, Κ, ) e nazý vá na počáteční. Říkáme, že ( n konfgurace x, Κ, x ) přímo dervue konfgurac y, Κ, y ), značíme ( n ( n n ( n x, Κ, x ) ( y, Κ, y ), pokud platí edna z ná sleduících podmínek:. x = 0 pro všechna, n a pokud x obsahue nontermná l a K x y v G nebo pokud. x > 0 pro některé, n K psá t x = z, kde x T a x = y. Potom pro každé takové můžeme z T a: estlže x = 0, pak y = zx a y = K estlže x > 0, pak y = x Pro všechny l, poklá dá me y = x l K l n, pro které není yl defnová no výše, l ymbolem w označueme počet výskytů symbolů z množny K v řetězc w. K Každý krok dervace se sklá dá buď z přepsovacího kroku (bod.) nebo z komunkačního kroku (bod.), přčemž komunkační krok má prortu před krokem přepsovacím. Relace dervace e pak tranztvní a reflexvní uzá věr relace. Tato defnce popsue synchronzovanou navraceící PCG. Gramatcký systé m se nazý vá navraceící, pokud se po komunkac navrací gramatka, která poskytla řetězec, k počá tečnímu symbolu. Pokud po komunkac pokračue ve větné formě, kterou poskytla, nazý vá se nenavraceící. ynchronzovaná PCG musí v každé m přepsovacím kroku prové st přepsá ní větné formy všem gramatkam, které maí ve větné formě nontermná l. Pokud dovolíme př přepsová ní některé gramatce čekat, pak mluvíme o nesynchronzovaném PCG. Jazyk generovaný PCG G e L(G) = w T (, Κ, ) ( w, w, Κ, w )}. { n n Graf dosaž telnost a graf komunkace PCG Dříve než uvedeme defnc grafu dosažtelnost a grafu komunkace PCG, defnueme s pá r pomocný ch pomů, které ná m usnadní manpulac s PCG. Pro každou konfgurac x = x, Κ, x ) PCG defnueme nontermnální ( n * řez (n-řez) ako NC( x) = ( A, Κ, An ), kde x = x A, x T a A N pro n. Pokud n-řez obsahue komunkační symbol, nazý vá se komunkační řez (c-řez). N-řez e dosažtelný v PCG, pokud př dervac z počá teční konfgurace dostaneme konfgurac obsahuící daný řez. Pro dva řezy v, v píšeme v v,
pokud exstuí dvě konfgurace x a y takové, že x y, NC ( x) = v a NC ( y) = v. Nechť v e n-řez. Potom komunkační sekvence řezu v e sekvence ndexů, Κ,, k, taková, že k v ( ) =,, v ( ) Κ = k. Komunkační sekvence se k nazý vá ukonč uící, pokud v ) není komunkační symbol, maxmální, pokud e ( k ukončuící a nelze rozšířt doleva a cyklcká, pokud v ( k ) =. PCG, která obsahue alespoň ednu cyklckou komunkační sekvenc se také nazý vá cyklcká. Necyklcká PCG, které obsahue komunkační sekvenc o maxmá lní délce m, 0 m stupeň PCG, se nazý vá m-komunkuící. Konflkt n-řezu v e posloupnost různý ch ndexů,, taková, že v ( ) = a v ( ) =. Pokud žá dný dosažtelný n-řez gramatcké ho systé mu neobsahue konflkt, pak mluvíme o bezkonflktním PCG. Nechť G e PCG. Pak graf dosažtelnost G popsue aké n-řezy sou dosažtelné z počá teční konfgurace a přechody mez nm a značíme ho Reach(G). Algortmus vytvoření grafu dosažtelnost: vezm všechny n-řezy a nakresl hranu z řezu v do řezu v, pokud platí v v odstraň všechny n-řezy v, pro které neexstue cesta z počá tečního řezu do řezu v. Odstraň také všechny koresponduící hrany. V případě nenavraceících se PCG není tato defnce grafu dosažtelnost zcela adekvá tní, protože graf obsahue "nepoužtelné " uzly, protože po dosažení řetězce termná lů první gramatky už dervace PCG nepokračue. V navraceící PCG s může některá z dalších gramatk požá dat o řetězec první gramatky a první gramatka pak pokračue ze své ho startovacího symbolu. Abychom sednotl defnc grafu pro oba dva typy PCG, použl sme obecněší varantu defnce. grafu dosažtelnost můžeme získat několk nformací o PCG. Nechť G e PCG. Pak n-řez v e dosažtelný v G, pokud e obsažen v Reach(G). Dále sou rozhodnutelné problé my, zda PCG e:. cyklcká. bezkonflktní. m-komunkuící v. centralzovaná v. obsahue omezený počet komunkací během dervace Tyto problé my lze rozhodnout prozkoumá ním každé ho uzlu grafu dosažtelnost, který e konečný (vyplý vá to z konečnost množny nontermná lů ). grafu dosažtelnost lze odvodt graf komunkace. Tento graf zaznamená vá v dervační posloupnost pouze komunkační kroky. grafu dosažtelnost ho získá me tak, že ponechá me pouze uzly, obsahuící komunkační symboly a počá teční uzel. Pak pro dva takové uzly v, v nakreslíme hranu z v
do v, pokud mez nm v původním grafu exstue cesta, která neobsahue komunkační řezy. Komunkační graf PCG G značíme Comm(G). Příklad Nechť G e ná sleduící PCG: : G : G : a G a Graf dosažtelnost gramatcké ho systé mu G e pak: a odpovídaící graf komunkace má pak tvar:
Procesy PCG Procesy PCG slouží k zachycení paralelního chová ní a komunkace gramatcký ch systé mů. Procesy sou steně ako procesy Petrho sítí defnová ny pomocí vý skytový ch sítí. íť e troce N = ( B, E, R), kde B a E sou dvě konečné, neprá zdné a dsunktní množny míst a přechodů a R ( B E) ( E B) e toková relace. Pro všechny x B E značíme x = { y ( y, x) F} Vý skytová síť e síť, která navíc splňue podmínky: b a b pro všechna b B a x = { y ( x, y) F}. + relace R e acyklcká lovně můžeme tyto podmínky vyá dřt tak, že každé místo má nevýše ednu vstupní a výstupní hranu a síť neobsahue cykly. U výskytové sítě místa označueme ako podmínky a přechody ako událost. Pokud e N e vý skytová síť, pak defnueme koncový řez této sítě ako množnu N = { b B b = 0}. Vý skytové sítě slouží pro pops procesů Petrho sítí. Konflkty v PCG se řeší ný m způ sobem než v Petrho sítích. atímco v Petrho sítích se konflkt řeší tak, že se náhodně vybere eden přechod, který se provede, v PCG e konflkt řešen rovnocenně pro všechny gramatky zapoené v konflktu a komunkace proběhne paralelně. Proto pro pops procesů PCG používá me vý skytovésítě s konflktem (značíme cfon), což sou sítě, pro něž platí pouze podmínka acyklčnost. Jako pomocný poem s pro PCG G zavedeme množnu Var(G,) = { v ( ) v e uzel grafu Reach(G) a v ( ) }. Tato množna obsahue všechny nontermná ly, které se mohou vyskytnou ve větné formě gramatky G. Poté s můžeme defnovat značenou výskytovou síť s konflktem, kterou pak použeme k popsu procesu PCG. načená cfon e síť π = ( N, p ), kde p e značíc í funkce, která zobrazue podmínky do množny { A n, A Var(G,) { }} a udá lost do množny T } { C v uzel grafu Reach(G) v ( ) = }; levý horní ndex {, : označue gramatku, znak označue řetězec termná lů a znak gramatka G žá dá gramatku G o komunkac. Udá lost označenou C, značí, že C, potom nazý vá me ako komunkač ní událost a podmínku označenou ako komunkační podmínku. amotné procesy PCG pak defnueme nduktvním způ sobem: Nechť G = G, Κ, G ) e navraceící synchronzovaná PCG stupně n, n. ( n Potom defnueme posloupnost množn značený ch cfon Π 0 (G), Π (G), Κ ná sleduícím způ sobem:. Π 0 (G) sestroíme tak, že do ní vložíme značenou cfon π = ( N, p) s těmto vlastnostm:
a) B = n, E = 0, R = 0 b) pro každé, n, exstue b B takové, že p( b). předpoklá deme, že množna Π (G), > 0 už byla úspěšně zkonstruová na. Potom pro každou π = ( N, p) Π ( G), N = (B, E, R) děle: a) pokud π neobsahue žá dnou komunkační podmínku a exstue b π takové, že p( b)= X pro něaké a X a neexstue řá dné pravdlo v gramatce G, které má X na levé straně, pak nelze z π vygenerovat žá dný nový proces; b) pokud π neobsahue žá dnou komunkační podmínku a není splněna podmínka uvedená v odstavc a), pak pro každé b π takové, že p( b) { n} a p( b)= X vezm lbovolné pravdlo tvaru X uy G a vytvoř novou udá lost e označenou u se vstupní podmínkou b a vý stupní podmínkou b označenou Y pokud Y N nebo značenou pokud Y = ; c) pokud π obsahue komunkační podmínky, pak pro každou ukončuící komunkační sekvenc délky dvě, vytvoř novou udá lost e značenou C se vstupním podmínkam sítě π značený m a, podmínkam značený m X., X pro něaké X a se dvěm výstupním a, tak ak e naznačeno na obrá zku Nechť π e takto získaná značená cfon, pak Π + (G) e množna všech π získaný ch popsaný m postupem. Procesy gramatky G e pak množna Π (G) Υ Π (G). = 0 X C, X Obrázek
Ve výše uvedené m algortmu bod. a) ošetřue stuac, kdy se dervační sekvence gramatky zablokue z nedostatku patřčné ho pravdla. Avšak procesy vznklé před zabloková ním gramatcké ho systé mu považueme za řá dné procesy, když nevedou k vygenerová ní řetězce nontermná lů. Bod. b) rozšřue už exstuící procesy o eden přepsovací krok a bod. c) o eden komunkační krok. Příklad Nechť G e PCG stupně s ná sleduícím komponentam: G : ax G : G : X X X X X X Jeden z procesů gramatcké ho systé mu G e pak vyobrazen na obrá zku. a X X C, C, X X C, C, X X Obrázek Konečný proces gramatcké ho systé mu G e takový proces π, který má vlastnost π. Třídu konečný ch procesů pak značíme Π f (G). Výše uvedenou defnc procesu lze lehce modfkovat pro nenavrace ící a nesynchronzované PCG: pro nenavraceící PCG musíme nahradt symbol v bodě. c) symbolem X pro nesynchronzované PCG musíme odstrant celý bod. a) a v bodě. b) nahradt větu "a není splněna podmínka uvedená v odstavc a), pak
pro každé b π takové, že p( b) { n} b π takové, že p( b) { n} 5 Vztah PCG a Petrho sítí a pro toto b" " větou "vezm něaké V této kaptole s ukážeme, ak vytvořt Petrho síť, eíž proces e stený ako daný PCG. Abychom mohl Petrho sítí smulovat prortu komunkačního kroku nad přepsovacím, zavedeme Petrho síť s prortam. íť s prortam e taková síť N = ( Σ, p ), kde Σ e klascká Petrho síť a p e čá stečné uspořá dá ní nad přechody Σ. Odpalovací pravdlo e pak modfková no tak, že můžeme prové st pouze ty přechody t, pro které platí ( t pt) pro všechna t T. Pro smulac synchronzované PCG musíme zavé st Petrho síť s maxmální odpalovací strategí, což e klascká Petrho síť s odpalovacím pravdlem pozměněný m tímto způ sobem: př dané m značení vyber maxmá lní množnu současně provedtelný ch přechodů a ty proveď v ednom kroku. Poté můžeme zkombnovat prorty s maxmá lní odpalovací strategí tímto způ sobem. Nechť M e značení, pak vyber množnu přechodů T T takový ch: a) T e maxmá lní množna neporovnatelný ch přechodů vzhledem k uspořá dá ní p provedtelný ch př značení M b) estlže T e množna splňuící podmínku a), T T, pak t pt pro všechna t T a t T. Potom proveď množnu značení T v ednom kroku. íť s takto vytvořený m odpalovacím pravdlem se pak nazý vá Petrho síť s prortam a s maxmální odpalovací strategí. Algortmus převodu neblokuící bezkonflktní synchronzované ho PCG G na Petrho síť s prortam a s maxmá lní odpalovací strategí N takovou, že G N maí stené procesy. Nechť G = G, Κ, G ), n e takový PCG, pak můžeme ( n zkonstruovat síť N = ( Σ, p, M 0, l ) ná sleduícím způ sobem: pro každé, n a X Var(G,) { } vytvoříme místo X (v případě, že X = pak toto místo značíme ) pro každé, n a každé pravdlo r : X uy P, ( u T { }) vytvoříme přechod t značený symbolem u; a vytvoříme hrany takové : t = r t ) = { r { X} r r ) = { a ( t Y}. V případě pravdla X u vytvoříme hranu ( } pro každé, n a N (pokud takové exstue) a každé X Var(G,) { } vytvoříme přechod vytvoříme příslušné hrany } přechody pak nazý vá me komunkační přechody X t, značený symbolem C, X X t, = {, X a (, ) { X, } ; a t =. Tyto
vá ha všech hran e počá teční značení M 0 má ná sleduící tvar: (, pokud s { n} M 0 s) = 0, v ostatních případech pro všechna místa s všechny komunkační přechody maí prortu nad ostatním přechody, čá stečné uspořá dá ní p e defnová no takto: tp t, prá vě když t e komunkační přechod a t není Příklad : Petrho síť odpovídaící navraceícímu PCG z příkladu e zobrazena na obrá zku. a X C, C, C, C, X C, X X X Obrázek
6 ávěr V této prá c sme uká zal způ sob, aký m lze popsat paralelní chová ní a komunkac paralelně komunkuících gramatcký ch systé mů pomocí procesů. Proces PCG e reprezentová n výskytovou sítí s konflkty, která e vytvořena zaznamená ním evoluce PCG. Defnoval sme procesy pro více varant PCG (synchronzované, nesynchronzované, navraceící a nenavraceící). V druhé čá st sme uká zal vztah mez PCG a Petrho sítěm. Uká zal sme, ke každé bezkonflktní PCG lze vytvořt Petrho síť, která má stený proces, t. z hledska paralelního chová ní reprezentue stený systé m. Lteratura [] Tplea F.L., Katsura M., Ito M.: Processes and Vectoral Characterzatons of Parallel Communcatng Grammar ystems, Journal of Automata, Languages and Combnatorcs, 997, 7-7 [] Dassow J., Paun G., Rozenberg G.: Grammar ystems