A PÁRHUZAMOSSÁG VIZSGÁLATA A KLASSZIKUS FORMÁLIS NYELVEKHEZ KAPCSOLÓDÓAN. Nagy Benedek Debreceni Egyetem Informatikai Kar Számítógéptudományi Tanszék

Hasonló dokumentumok
A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Csempe átíró nyelvtanok

Automaták és formális nyelvek

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

Formális Nyelvek - 1. Előadás

Automaták mint elfogadók (akceptorok)

A digitális számítás elmélete

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1.

Formális Nyelvek - 1.

A Számítástudomány alapjai

ALGEBRAI NYELV- ÉS KÓDELMÉLET. Babcsányi István

Formális nyelvek - 5.

ZH feladatok megoldásai

Chomsky-féle hierarchia

Véges automaták, reguláris nyelvek

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat

Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat.

Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2)

7. előadás Környezetfüggetlen nyelvtanok

Formális nyelvek - 9.

Deníciók és tételek a beugró vizsgára

Chomsky-féle hierarchia

Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai,,. (rek. definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv. L nyelv lezártja.

NP-teljesség röviden

6. előadás A reguláris nyelvek jellemzése 2.

Logika és számításelmélet. 10. előadás

Feladatok. 6. A CYK algoritmus segítségével döntsük el, hogy aabbcc eleme-e a G = {a, b, c}, {S, A, B, C}, P, S nyelvtan által generált nyelvnek!

A Turing-gép. Formális nyelvek III.

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

Atomataelmélet: A Rabin Scott-automata

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Formális Nyelvek és Automaták Dömösi, Pál Falucskai, János Horváth, Géza Mecsei, Zoltán Nagy, Benedek

6. előadás A reguláris nyelvek jellemzése 2.

Időzített átmeneti rendszerek

Turing-gép május 31. Turing-gép 1. 1

Informatika szigorlat. A lexikális elemző feladatai közé tartozik a whitespace karakterek (a

Formális nyelvek és automaták

Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant!

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Az optimális megoldást adó algoritmusok

KOVÁCS BÉLA, MATEMATIKA I.

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21

Formális Nyelvek és Automaták. Dömösi, Pál Falucskai, János Horváth, Géza Mecsei, Zoltán Nagy, Benedek

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

A 2007/2008 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. II. (programozás) kategória

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

Csima Judit május 10.

Logika es sz am ıt aselm elet I. r esz Logika Harmadik el oad as 1/33

2. Ítéletkalkulus szintaxisa

Formális szemantika. Kifejezések szemantikája. Horpácsi Dániel ELTE Informatikai Kar

KOVÁCS BÉLA, MATEMATIKA I.

Alap fatranszformátorok II

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

Fogalomtár a Formális nyelvek és

A TANTÁRGY ADATLAPJA

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Logika es sz am ıt aselm elet I. r esz Logika Hatodik el oad as 1/33

(2004) by Data parancsnok Based on (not so much auditted) lectures of Dr. Radelecki Sándor

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

Logika és informatikai alkalmazásai

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

Tételsor a szóbeli számításelmélet vizsgához

Az informatika logikai alapjai

Logika és informatikai alkalmazásai

Algoritmuselmélet 12. előadás

A tananyag a TÁMOP A/1-11/ számú projekt keretében készült.

Nyelvek és automaták augusztus

Logikai ágensek. Mesterséges intelligencia március 21.

Osztatlan informatikatanár szakmai zárószigorlat tételsor (témakörök szerint felsorolva) Érvényes 2018 decembertől

Számításelmélet. Második előadás

Logika és informatikai alkalmazásai

Formális nyelvek és automaták előadások

A tananyag a TÁMOP A/1-11/ számú projekt keretében készült.

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

6. előadás Környezetfüggetlen nyelvtanok/1.

Formális nyelvek és automaták

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

Fordítóprogramok (A,C,T szakirány) Feladatgy jtemény

MintaFeladatok 1.ZH Megoldások

2. Logika gyakorlat Függvények és a teljes indukció


Formális Nyelvek és Automaták. Dömösi Pál Falucskai János Horváth Géza Mecsei Zoltán Nagy Benedek

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

ACTA ACADEMIAE PAEDAGOGICAE AGRIENSIS

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

2018, Diszkrét matematika

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Bonyolultságelmélet. Thursday 1 st December, 2016, 22:21

Reguláris kifejezések 1.

1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?

Formális nyelvek és automaták

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Alapszintű formalizmusok

Temporális logikák és modell ellenırzés

Számítógép és programozás 2

Átírás:

A PÁRHUZAMOSSÁG VIZSGÁLATA A KLASSZIKUS FORMÁLIS NYELVEKHEZ KAPCSOLÓDÓAN ON THE CONCEPT OF PARALLELISM CONNECTED TO CLASSICAL FORMAL LANGUAGE THEORY Nagy Benedek Debreceni Egyetem Informatikai Kar Számítógéptudományi Tanszék Összefoglaló A klasszikus formális nyelvek elmélete a múlt század 60-as éveiben alakult ki. A generatív nyelvtanok ekvivalensek a Turing-gépek által definiált kiszámíthatósággal. A különböző párhuzamos számítási modellek az utóbbi évtizedekben egyre nagyobb súlyt kapnak a gyakorlatban is. Kérdésünk: a Chomsky-féle nyelvosztályokhoz kötődően mit mondhatunk a párhuzamosságról; hogyan, milyen formában jelenhet meg a párhuzamosság? A reguláris kifejezésekben az unió művelet segítségével tudunk párhuzamosságot értelmezni, ennek kapcsán normál formára, illetve az unió-bonyolultság fogalmára térünk ki. A környezetfüggetlen nyelvtanok a levezetésben maximális párhuzamosságot engednek meg: a levezetési fák felépíthetőek oly módon, hogy minden lépésben egy teljes új szint jelenik meg. A környezetfüggő nyelvtanoknál az egyoldalú normál-formából kiindulva a levezetéseket fa-szerű gráfokkal reprezentálhatjuk, itt a levezetésekben a párhuzamosság már szinkronizált a szomszédos ágak között. A nem-determinisztikus elfogadó-automatákat elképzelhetjük úgy, mintha annyi példányban futnának, amennyi különböző nem-determinisztikus ága van a számításnak: ez is tekinthető a párhuzamosság egy formájának. Kulcsszavak Formális nyelvek, Chomsky-hierarchia, párhuzamosság, unió-bonyolultság, levezetési fa Abstract The classical formal language theory started in the middle of the last century. The generative grammars are computationally equivalent to the Turing-machines. In other hand, various parallel computing paradigms have got more and more roles in practice. In this paper we analyze how the parallelism can appear in classical formal languages. First, in case of regular languages, the operation union gives the possibility to speak about parallelism in regular expressions. We mention here a normal form and the concept of union-complexity. At context-free case the derivations may go in a maximal parallel way such that in each step every non-terminal of the actual sentential form is rewritten. In this way the derivation tree is created by levels in every step. In context-sensitive case based on Penttonen s one-sided normal form the derivations can be represented by tree-like graphs. The parallel derivation here needs some synchronization among the branches of the graph. Another kind of parallelism can be considered by using non-deterministic accepting automata. One can consider an automaton to run in several copies in the same time. Keywords Formal languages, Chomsky-hierarchy, parallelism, union-complexity, derivation tree 1

1. Bevezetés A klasszikus formális nyelvek elmélete a számítástechnika egyik főága. A múlt század 60- as éveiben alakult ki, főképpen Noam Chomsky akkori munkásságának köszönhetően. A generatív nyelvtanok ekvivalensek a Turing-gépek által definiált kiszámíthatósággal. A számítástudományban ugyancsak régen megjelentek különböző párhuzamos számítási modellek, amelyek az utóbbi évtizedekben egyre nagyobb súlyt kapnak a gyakorlatban is. Szemben azokkal a gyakori kiterjesztésekkel és általánosításokkal, amikor egy hagyományosan nem párhuzamosan működő rendszert a párhuzamosság segítségével tesznek hatékonyabbá, mi azt szeretnénk megvizsgálni, hogy a hagyományos Chomsky-féle nyelvosztályokhoz kötődően mit mondhatunk a párhuzamosságról. Például hogyan, milyen formában jelenhet meg a párhuzamosság a nyelvtanokhoz kötődő levezetésekben, illetve az elfogadó-automaták működését tekintve. A dolgozat következő fejezeteiben megvizsgáljuk a reguláris, a környezetfüggetlen és a környezetfüggő nyelvek osztályait. Először a reguláris kifejezések kapcsán fogunk beszélni egyfajta párhuzamosságról, majd a levezetéseket tekintve, végül pedig az automatákkal kapcsolatban. 2. Az unió, mint a párhuzamosság forrása a reguláris kifejezésekben A formális nyelvek elméletében és sokszor a gyakorlatban is reguláris halmazok (nyelvek) egyik fő megadási módja a reguláris kifejezésekkel való felírásuk. A reguláris kifejezésekben az unió művelet segítségével tudunk valamiféle párhuzamosságot értelmezni. Normál formát definiálhatunk, illetve értelmezhetjük az unió-bonyolultság fogalmát. A reguláris kifejezések a következőképpen definiálhatók: a T ábécé minden eleme egyben reguláris kifejezés is, van két speciális szimbólum, melyek egyben reguláris kifejezések is, az üres halmaz és az üres szó jele: és, ha adott két reguláris kifejezés (r és p), o ezek konkatenációja is reguláris kifejezés (a konkatenációt a jellel jelölhetjük, de általában nem szoktuk kitenni): (r p) vagy (rp), o ezek uniója is reguláris kifejezés: (r + p), adott r reguláris kifejezésre, annak (Kleene-) iteráltja is reguláris kifejezés: r*. Továbbá minden reguláris kifejezés felírható az ábécé elemeinek, az üres halmaz és az üres szó jelének és a három reguláris művelet véges sokszori alkalmazásának segítségével. A műveletekre precedencia is értelmezve van. Emiatt, illetve a konkatenáció és az unió műveletek asszociativitása miatt zárójelek elhagyása megengedett az egyértelmű jelentést megtartva. A reguláris kifejezések között vannak ekvivalensek, vagyis ugyanazt a reguláris nyelvet általában több, egymástól különböző reguláris kifejezés is megadja. Ez alapján az ekvivalencia reláció alapján az ekvivalens formulákat felhasználhatjuk formulák átalakítására. Néhány ilyen ekvivalencia például (ahol p,q,r tetszőleges reguláris kifejezések): (p + q ) ( q + p ) (1) (p + q ) + r p + ( q + r ) (2) 2

r r* r* r (3) 2.1 Normál forma reguláris kifejezésekhez és a nyelvek unió-bonyolultsága A normál formák fontos szerepet játszanak a számítástudomány sok területén, pl. a logikában a konjunktív-, diszjunktív- normálformákról, illetve prenex alakú formulákról beszélhetünk. Ezekben a formulákban a műveletek sorrendjére van valamilyen megszorításunk. Lényeges viszont az, hogy minden formulához létezik vele ekvivalens olyan, amely normálformában van. Normál formát értelmezhetünk a reguláris kifejezésekre is: Egy reguláris kifejezésről akkor mondjuk, hogy normál formában van, ha véges sok uniómentes kifejezés uniója (Nagy, 2004). A következő ekvivalenciák véges sokszori alkalmazásával bármely reguláris kifejezés normál formára hozható: ( p + r )* ( p* r*)* (4) p ( q + r ) pq + pr (5) ( p + q ) r pr + qr (6) ( p + q ) ( r + t ) pr + pt + qr + qt (7) Például a (ab*+c)(b+(a+c)*) kifejezés először a (4) majd a (7) alkalmazásával az ab*b+ab*(a*c*)*+cb+c(a*c*)* normálformát veszi fel. A normálformához szorosan kötődik a nyelvek unió-bonyolultsága: Egy (reguláris) nyelv unió-bonyolultsága azt fejezi ki, hogy legalább mennyi uniómentes tagra van szükség a nyelv felírásához normálformában. A reguláris nyelvek osztályán belül egy végtelen hierarchiát tudunk definiálni a nyelvek unió-bonyolultsága alapján (1. ábra). n+1 tag segítségével szigorúan több nyelvet tudunk leírni, mint n taggal. 1. ábra a reguláris nyelvek felosztása unió-bonyolultság alapján A reguláris kifejezéseket ábrázolhatjuk szintaxis gráffal is (Nagy, 2005). Itt az unió elágazást jelent (2. ábra). Egy ilyen gráf bejárását végezhetjük oly módon, hogy az elágazásoknál az ágakat párhuzamosan olvassuk. Ily módon az unió művelet segítségével 3

párhuzamosságot értelmezhetünk a reguláris nyelveknél. A normálformában szereplő tagok száma, illetve az ennek megfelelő hierarchia pedig éppen azt mutatja, hogy az adott nyelv leírásához (szintaxisgráf bejárásához) legalább mekkora párhuzamosság (hány ügynök) szükséges. konkatenáció alternatíva (unió) itaráció 2. ábra reguláris kifejezés szintaxis gráffal Az unió művelet és az ennek megfelelő párhuzamosság a teljes nyelv leírását/elolvasását teszi lehetővé párhuzamosan. 3. Párhuzamosság a levezetésekben Egy G generatív nyelvtan egy (N,T,S,H) rendezett négyes, ahol N és T a nemterminális és terminális szimbólumok véges halmazai, S N a mondatszimbólum, H pedig a levezetési szabályok véges halmaza (részletekért lásd pl. (Révész, 1979)). A megengedett szabályok alakja alapján a nyelvtanokat csoportosíthatjuk. Ily módon közismertek a Chomsky-féle nyelvtantípusok: reguláris, környezetfüggetlen, környezetfüggő. A generatív nyelvtanok egyik központi fogalma a levezetés. A mondatszimbólumból kiindulva helyettesítési szabályok alkalmazásával jutunk el egy olyan szóig, amely már csak a terminális ábécé betűiből tartalmazhat szimbólumokat. A levezetéseket levezetési fa segítségével vizuálisan is megjeleníthetjük (3. ábra). 3. ábra levezetési fa reguláris és környezetfüggetlen esetben 4

Egy adott nyelvtanban levezetett szavak halmaza adja a generált nyelvet. A nyelv olyan típusú (reguláris/környezetfüggetlen/környezetfüggő) amilyen típusú nyelvtannal lehet őt generálni. Ebben a fejezetben arra fókuszálunk, hogy a levezetésekben hogyan, mely esetekben jelenhet meg a párhuzamosság. 3.1. Reguláris levezetések A reguláris nyelvtanokban minden szabály bal oldalán pontosan egy nemterminális szimbólum áll; a jobb oldalán pedig valahány terminális (lehet nulla is) és ezt követve maximum egy nemterminális. Mindez azt jelenti, hogy a levezetés során a mondatformában maximum 1 db. nemterminális állhat, vagyis minden mondatformában maximum egy helyen lehet szabályt alkalmazni. Ily módon ebben az esetben nem beszélhetünk párhuzamosságról. 3.2. Környezetfüggetlen levezetési fák A reguláris nyelvtanokhoz hasonlóan a környezetfüggetlen nyelvtanok minden szabályára is teljesül, hogy a szabály bal oldala pontosan egy nemterminálisból áll. A reguláris nyelvtanokkal szemben a környezetfüggetlen nyelvtanokban viszont nincs korlátozva a mondatformában az egyszerre előforduló nemterminálisok száma. Ennek segítségével a levezetést párhuzamosíthatjuk. Sőt, akár maximális párhuzamos levezetésről is beszélhetünk, melyben a mondatformában aktuálisan található összes nemterminálist egymástól függetlenül egyszerre írhatjuk át. Ily módon a levezetési fákat úgy építjük fel, hogy minden lépésben egy teljes új szint jelenik meg. Ily módon sok nyelv esetén a levezetés időben jelentősen meggyorsítható. 3.3. Környezetfüggő levezetési fák A környezetfüggés (vagyis olyan levezetési szabályok alkalmazása, melyeknek a baloldala nem egy nemterminálisból áll) miatt ezekben a nyelvtanokban a levezetés nem mehet tovább az összes nemterminálisból egymástól függetlenül. Penttonen egyoldalú normálformából (a szabályok lehetséges alakjai: A a, A BC, AB AC, ahol a T, A,B,C N, (Penttonen 1974)) kiindulva a levezetéseket fához hasonló gráfokkal reprezentálhatjuk (4. ábra). Ily módon a levezetésekben a párhuzamosság már szinkronizált kell hogy legyen egyes (szomszédos) ágak között, amit a gráfban a szaggatott, ún. környezet-élek jelképeznek. A mondatformában szereplő nemterminálisok közül csak azokat írhatjuk át egyszerre, egy lépésben, amelyek vagy nem igényelnek környezetet vagy az igényelt környezetük jelen van; illetve vagy nincs szükség rájuk környezeteként vagy már felhasználtuk őket. Az ábrán szereplő levezetésben így a lehető legpárhuzamosabb végrehajtás (a helyettesített nemterminálisok aláhúzva szerepelnek): S AG IJBC adebc aimeec aaabeek aaabbfl aaabboc aaabbbclc aaabbbccc. Itt jegyezzük meg, hogy azoknál a mondatszerkezetű nyelvtanoknál, amelyekben nem környezetfüggő szabályok is megjelennek, ez a szinkronizálás kiegészítődhet azzal, hogy adott ágak várakoznak a köztük levő ágak számításainak befejeződésére. 5

4. ábra környezetfüggő levezetési fa Egy adott szó levezetésében megjelenő párhuzamosság az és-párhuzamosság kategóriájába tartozik, ami bonyolultságelméletileg is fontos (Nagy 2006, Loos és Nagy 2007). A megoldás (az adott szó) előállítása így jóval gyorsabb lehet időben. Fontos jellemzője ennek a párhuzamosságnak, hogy a párhuzamos szálak együtt fogják végül a megoldást kiadni, vagyis mindegyikükre szükség van. Ez, az oszd meg és uralkodj elvet használó párhuzamosság jellemzi a high-performance computing területet. 4. Párhuzamosság az automaták működésében A formális nyelvek elmélete szorosan kapcsolódik az automatákéhoz, hiszen a Chomsky hierarchia minden nyelvosztályának megvan a maga elfogadó automatatípusa. A reguláris nyelveket a véges automaták fogadják el (mind a determinisztikus, mind a nemdeterminisztikus változat pontosan ugyanazzal az elfogadóerővel rendelkezik). A környezetfüggetlen nyelveket a nem-determinisztikus veremautomaták fogadják el. A környezetfüggő nyelvek pedig éppen azok, amelyeket a nem-determinisztikus lineárisan korlátolt Turing-gépek tudnak elfogadni. (A generatív nyelvtanok általános formája minden megszorítás nélkül a rekurzívan felsorolható nyelveket generálja. Ezek pedig pontosan azok a nyelvek, amelyeket a determinisztikus Turing-gépek tudnak elfogadni. A nemdeterminisztikus Turing-gépek elfogadó ereje megegyezik a determinisztikus változatával.) A nem-determinisztikus elfogadó-automatákat elképzelhetjük úgy, mintha párhuzamosan annyi példányban futnának, amennyi különböző nem-determinisztikus ága van a számításnak. Ez egy teljesen más típusú párhuzamosság fogalmat/használatot jelent, mint a párhuzamosság korábban leírt megjelenési formái. Ugyancsak egy-egy konkrét szóval kapcsolatos a jelenség. Tulajdonképpen az ún. vagy-párhuzamosság (Loos és Nagy, 2007) esetéről van szó, amikor is az egymással párhuzamosan futó számítási ágak bármelyike jelentheti/adhatja a megoldást, 6

ha van egyáltalán. Ez a fajta párhuzamosság tulajdonképpen a kínai-hadsereg algoritmusán alapszik. Ily módon ez a párhuzamosság nem gyorsítja az elfogadást, hiszen ha mindig a megfelelő lépést választja valaki (nem-determinisztikusan), akkor éppen ennyi idő alatt kap megoldást párhuzamosság alkalmazása nélkül is. Tulajdonképpen ez a fajta párhuzamosság az, amit pl. adat-párhuzamos számításokban használnak, illetve pl. a DNS-számítások is főleg ezt a fajta párhuzamosságot használják ki hatékony problémamegoldásra. 5. Összefoglalás Reguláris nyelvek esetén a reguláris kifejezések kapcsán tudtunk párhuzamosságról beszélni. A reguláris levezetések kapcsán nem. A környezetfüggetlen nyelvtanok a levezetésben egyféle maximális párhuzamosságot engednek meg. A környezetfüggő esetben ez kiegészül az ágak közti kommunikáció kapcsán szinkronizációval. A levezetésekben éspárhuzamosságot figyelhettünk meg. Ezzel szemben a nem-determinisztikus elfogadó automaták kapcsán a vagy-párhuzamosságról beszélhetünk. Megmutattuk, hogy habár a klasszikus formális nyelvek fogalmai a párhuzamosság nélkül vannak definiálva, azért becsempészhetjük a párhuzamosság különböző módjait, ezzel gyorsítva/ hatékonyabbá téve pl. a szavak generálását/elfogadását. Irodalomjegyzék [1] Loos, R. és Nagy, B. (2007) Parallelism in DNA and Membrane Computing, CiE2007, Computability in Europe 2007: Computation and Logic in the Real World, Siena, Italy, 283-287. [2] Nagy, B. (2004) A Normal Form for Regular Expressions, DLT'04, Eighth International Conference on Developments in Language Theory, Auckland, New Zealand, (CDMTCS-252) 10 oldal. [3] Nagy, B. (2005) Programnyelvek elemeinek szintaktikus leírása normál formában (Syntactic Description of the Elements of the Programming Languages in a Normal Form), IF2005, Informatika a Felsőoktatásban, Debrecen, 6+1 oldal (elektronikus). [4] Nagy, B. (2006) On the Notion of Parallelism in Artificial and Computational Intelligence, HUCI2006, 7th International Symposium of Hungarian Researchers on Computational Intelligence Magyar Kutatók 7. Nemzetközi Szimpóziuma, Budapest, 533-541. [5] Penttonen, M. (1974) One-Sided and Two-Sided Context in Formal Grammars, Information and Control, 25, 371 392. [6] Révész, Gy. (1979) Bevezetés a formális nyelvek elméletébe, Akadémiai kiadó, Budapest. 7