ELŽ REDUKCIÓ ALKALMAZÁSA A TBL ALGORITMUS IDŽKÖLTSÉGÉNEK CSÖKKENTÉSÉRE TÓTH ZSOLT, LÁSZLÓ KOVÁCS Kivonat. A környezet független nyelvek generálása egy N P nehéz probléma, amire a TBL algoritmus[1][2] egy lehetséges megoldást nyújt. A TBL algoritmus magas az id költsége miatt nem alkalmazható nagy méret problémák megoldására. Az id költség csökkentésére egy el redukciós lépést ismertetek, aminek a segítségével a jelent s mértékben lehet csökkenteni az id költséget. Az el redukciós eljárás ismertetése után tapasztalati mérések segítségével becsülöm meg a várható hatékonyság növekedést. 1. Bevezetés A természetes és mesterséges nyelvek feldolgozása napjaink egyik aktív kutatási területének számít. A formális nyelvek egy matematikai formalizmus mellyel természetes és mesterséges nyelveket egyaránt le lehet írni. Egy adott L nyelvet a nyelvtana G írja le, ilyenkor azt mondjuk, hogy L nyelvet a G nyelvtan generálja, ezt L(G)vel jelöljük. A G nyelvtant a G = T, N, P, S négyes írja le, ahol: T : a terminális szimbólumok halmaza (a, b, c, T ) N : a nem terminális szimbólumok halmaza (A, B, C, N ) P: a képzési szabályok halmaza P α β ahol α, β, {T N }. S: a mondat szimbólumok halmazas N N Az egyes formális nyelveket osztályokba sorolhatjuk, az egyik legismertebb osztályozási módszer a Chomsky féle osztályozás[5]. A Chomsky féle osztályozás a nyelveket a képzési szabály alapján sorolja osztályokba, az egyes osztályokat a 1. táblázat foglalja össze. A nyelvtani osztályok közül a környezet független nyelvek osztálya kell en rugalmas és hatékony módszer a természetes és mesterséges nyelvek reprezentálására. 1. táblázat. A Chomksy féle nyelvtani osztályok Osztály Rekurzívan felsorolható nyelvek Környezet függ nyelvek Környezet független nyelvek Reguláris nyelvek Szabály alak α β αaβ αγβ α β A a és A Ba vagy A ab Számos különböz módszer létezik CFG 1 generálására pozitív (U + ) és negatív (U ) minta mondatok alapján. Az egyik ilyen módszer a TBL 2 algoritmus. 1 Context Free Grammar Környezet Független Nyelvtan 2 TaBuLar representation 126
2. TBL algoritmus A TBL algoritmust 1999-ben Sakakibara és Kondo ismertette[1], majd Sakakibara vizsgálta[2]. Az Improved TBL algoritmus[3][4] a TBL algoritmus módosított, fejlesztett változata, ami csak az alkalmazott GA 3 ban tér el az eredetit l. A TBL algoritmus képes pozitív (U + ) és negatív (U ) minta mondatok alapján CFG nyelvtant generálni. A nyelvtan generálása során GAt használ, a legtömörebb nyelvtan megkeresésére. A GA a legkisebb olyan partícionálását keresi a nem terminális szimbólumoknak, ami elfogadja az összes pozitív minta mondatot, de nem fogad el egy negatív minta mondatot sem. 2.1. A TBL algoritmus lépései. A TBL algoritmus az alábbi három f lépésre osztható: (1) Primitív nyelvtanok (G ω (T (ω))) meghatározása minden pozitív tanító mondatra (ω U + ). (2) Ered nyelvtan el állítása a primitív nyelvtanok segítségével (G(U + ) = G ω (T (ω))). (3) Az ered nyelvtan redukálása GA segítségével. 2.1.1. A primitív nyelvtanok el állítása. A primitív nyelvtanok el állítására egy, a CYK 4 algoritmusban használt táblázat szer adat struktúrát használ a TBL algoritmus. A táblázat egy n nes alsó háromszög mátrixra hasonlít, ahol n a mondatok szavainak a száma, a celláiban pedig nem terminális szimbólumok tömbje helyezkedik el. A TBL algoritmus a táblázatot a minta mondat alapján feltölti és meghatározza ez alapján a tanító mondat primitív nyelvtanát. A primitív nyelvtan tartalmazza az adott mondat el állításához alkalmazható összes lehetséges levezetési fát. Az ered nyelvtant a primitív nyelvtanokból állítja el únió képzéssel. 2.1.2. Az alkalmazott GA. A TBL algoritmus az ered nyelvtan redukálására GAt alkalmaz. A GA osztályokba sorolja az egyes nem terminális szimbólumokat és az azonos osztályba tartozó nem terminális szimbólumokat összevonja. Így csökkenti a szimbólumok és a képzési szabályok számát. A GA a partícionálás során csoport szám kódolást alkalmaz az egyes egyedek reprezentálására, ami azt jelenti, hogy minden egyes nem terminális szimbólumhoz egy-egy számot rendel, ami egy adott csoportot jelképez. Tehát a gén hossza, így egy-egy genetikus operátor id költsége is függ a nem terminális szimbólumok számától, azaz a bemen mondatok hosszától. A TBL algoritmus id költségének jelent s részét az alkalmazott GA teszi ki. TBL tness fügvénye A TBL algoritmus tness függvénye az alábbi két segéd függvényt használja. 3 Genetic Algorithm Genetikus Algoritmus 4 Cocke, Younger, Kashami f 1 (p) = {ω U + G(T (U + ))/π p } U + f 2 (p) = 1 π p 127
{ 0 ha ω U úgy, hogy ω L(G(T (U + ))/π p ) f(p) = egyébként C 1 f 1 (p)+c 2 f 2 (p) C 1 +C 2 Az ITBL algoritmus egy harmadik segéd tness függvényt is alkalmaz és elfogad olyan nyelvtanokat is amik képesek negatív mintamondatokat generálni, de ezekhez a nyelvtanokhoz kis tness értéket rendel. f 3 (p) = {ω U G(T (U + ))/π p } U { (C3 f 3 + C 4 (1 f 1 )) ω U úgy, hogy ω L(G(T (U + ))/π p ) f(p) = egyébként C 1 f 1 (p)+c 2 f 2 (p) C 1 +C 2 Ahol C 1, C 2, C 3 és C 4 a GA paraméterei. Látható, hogy a GA id költségének egyik meghatározó tényez je a tness érték meghatározásának költsége. 3. El redukció A TBL és az ITBL algoritmus a m ködése során a pozitív tanító mondatokból (ω U + ) primitív nyelvtanokat (G ω (T (ω))) állít el, melyek tartalmazzák az adott mondat összes lehetséges levezetési fáját és a szabályok Chomsky-féle normál alakban vannak ( A BC, A a, A ɛ). G ω (T (ω)) A primitív nyelvtanok alapján egy ered nyelvtant határoz meg, ami tartalmazza az össze pozitív nyelvtant és az ered nyelvtan alapján levezethet az össze pozitív tanító mondatot. G = ω U + G ω (T (ω)) A TBL és az ITBL algoritmusok az ered nyelvtant GA segítségével redukálják. A GA tness függvényének nagy az id költsége, mivel az egyes egyedekre el kell állítani a redukált nyelvtant, és azokon hajtanak végre m veleteket. Az algoritmust egyszer SQL parancsokra (mondatokra) tesztelve arra az eredményre jutottam, hogy az algoritmus id költsége a mondatok hosszában jelent s mértékben változik. Az algoritmus futási ideje viszonylag kevés (10-15) tanító mondat esetén is meghaladhatja egy átlagos PC számítási kapacitását, ezért a kit zött cél a futási id csökkentése. Ezt a cél valamilyen el redukciós lépéssel lehetne megoldani, ami csökkenti az ered nyelvtanban a nem terminális szimbólumok számát, így csökkentve a GA futási idejét. A javasolt el redukciós eljárást az alábbi két lépésre lehet bontani: A a alakú szabályok összevonása A BC és D BC szabályok összevonása, Bottom Up redukciós eljárás 3.1. A a redukció. A primitív mondat el állítása egy terminális szimbólumra több szabály is mutat (a táblázatos reprezentációnak köszönhet en). A redukciós módszer célja ezen szabályok összevonása, így ω U + ω darab szabály helyett T darab A a típusú szabályt tartalmaz a mondat, ahol ω az ω mondat hossza. El nye Egyszer en implementáció 128
Kevés szó és sok mondat esetén hatékony Hátránya Sok szó és ritka szavak esetén kevésbé hatékony Az összes szabálynak csak egy kis hányadát érinti, így nagy hosszú mondatok esetén nem túl hatékony, kevés nem terminális szimbólumot von össze 3.2. Bottom Up redukció. A Bottom Up redukciós eljárás el feltétele az A a redukció! A Bottom Up redukció alapelve, hogy összevonja azokat a szabályokat amelyeknek azonos a jobb oldaluk. A környezet független nyelvek a Chomsky féle osztályozás alapján csak A α alakú szabályokat tartalmaznak, de a TBL algoritmus a m ködéséb l adódóan CNF 5 ban lev szabályokkal dolgozik. A CNFban lev szabályok csak A a, A BC A ɛ alakúak. 3.2.1. A Bottom Up redukciós algoritmus. (1) Inverz lista készítése A BC = BC A, G, H, Z,... (2) Inverz lista alapján a megfelel bal oldalak összevonása (3) Az összevonás után az új szabályok meghatározása (4) Ha volt összevonás akkor újra az 1-t l a redukált szabály listára, különben kilépés. El nye Viszonylag gyors A minden alakú szabályt vizsgál Jelent s szimbólum redukciót lehet vele elérni Hátránya A a el redukciót igényel 3.2.2. Példa. A kiinduló szabályokat az 2. táblázat tartalmazza. A szabályok alapján a 3 táblázatban szerepl inverz szabály listát kaptam. Az inverz szabály lista alapján az A, H, K és a D, J szabályokat lehet összevonni, így egy redukált inverz listát eredményez lásd 4. táblázat. A redukált inverz szabály lista alapján egy redukált szabály listát lehet készíteni, lásd 5. táblázat. 2. táblázat. Kiinduló szabályok No Bal Jobb 1 Jobb 2 1 A B C 2 D E F 3 G C E 4 H B C 5 I B E 6 J E F 7 K B C 3. táblázat. Inverz Szabály Lista No Jobb = Ball 1 BC = A,H,K 2 EF = D,J 3 CE = G 4 BE = I 5 Chomskian Normal Form Chomksy félenormál Forma 129
4. táblázat. Redukált Inverz Szabály Lista No Jobb = Ball 1 BC = A 2 EF = D 3 CE = G 4 BE = I 5. táblázat. Redukált szabályok No Bal Jobb 1 Jobb 2 1 A B C 2 D E F 3 G C E 4 I B E 3.2.3. Tapasztalati eredmény. Az el redukciót és a TBL algoritmust ugyan azon tanító halmazon futtatva a 6. táblázatban látható eredményeket kaptam. A kapott eredményb l látható, hogy a heurisztikus el redukció jelent s mértékben csökkentette a nem terminális szimbólumok számát, illetve a képzési szabályok számát. Ebb l következik, hogy a TBL algoritmus futási ideje is csökken, ami a jelen mérés alapján jelent s, mert a sima TBL algoritmusnak 117936msra volt szüksége addig az el redukció után végrehajtott TBL algoritmusnak csak 22340ms kellett a futáshoz ugyan azon C 1, C 2 paraméterek mellett, azaz el redukció után elegend volt a futási id 18, 94%a. 6. táblázat. Tapasztalati eredmények Szimbólum Ered Heurisztikus TBL Heurisztikus + TBL T 10 10 10 10 N 98 74 50 24 P 112 88 86 110 T N 108 84 60 34 T ksg 2 40 117936 22340 4. Köszönet nyilvánítás A kutató munka a TÁMOP-4.2.2/B-10/1-2010-0008 jel projekt részeként - az Új Magyarország Fejlesztési Terv keretében - az Európai Unió támogatásával, az Európai Szociális Alap társnanszírozásával valósult meg. Hivatkozások [1] Yasubumi Sakakibara, Mitsuhiro Kondo: GA-based learning of context-free grammars using tabular representations [2] Yasubumi Sakakibara: Learning context-free grammars using tabular representation [3] Marcin Jaworski, Olgierd Unold: Improved TBL algorithm for learning context-free grammar [4] Marcin Jaworski, Olgierd Unold: Learning context-free grammar using improved tabular representation [5] Chomsky féle osztályozás: http://en.wikipedia.org/wiki/chomsky_hierarchy [6] Wikipedia O jelölés: http://hu.wikipedia.org/wiki/o_jel%c3%b6l%c3%a9s 130
TARTALOMJEGYZÉK Antal Dániel EJTÉSI TESZT EGYSZERSÍTETT MODELLEZÉSE A TERVEZÉS FÁZISÁBAN 1 Bodolai Tamás MINTATESZTEL SZOFTVER FEJLESZTÉSE LINE SCAN KAMERÁS ALKALMAZÁSOKHOZ 7 Bodzás Sándor DESIGNING AND MODELLING OF WORM GEAR HOB 12 Burmeister Dániel BUCKLING OF SHELL-STIFFENED AND AXISYMMETRICALLY LOADED ANNULAR PLATES 18 Daróczy Gabriella EMOTION AND THE COMPUTATIONAL MODEL OF METAPHORS 24 Drágár Zsuzsa NEM SZABVÁNYOS SZERSZÁM-ALAPPROFIL KIALAKÍTÁSÁNAK LEHETSÉGEI FOGASKEREKEKHEZ 30 Fekete Tamás MEMBRÁNOK ALKAKMAZÁSA SZINKRON VÁLTAKOZÓ ÁRAMÚ HIDRAULIKUS HAJTÁSOKBAN 35 Ferenczi István MODELING THE BEHAVIOR OF PROFINET IRT IN GIGABIT ETHERNET NETWORK 41 Ficsor Emese AUTOMATIZÁLT AZONOSÍTÁSTECHNIKAI ÉS NYOMONKÖVETÉSI LEHETSÉGEK VIZSGÁLATA INTERMODÁLIS SZÁLLÍTÁS SORÁN 47 Gáspár Marcell Gyula NAGYSZILÁRDSÁGÚ ACÉL HEGESZTÉSTECHNOLÓGIÁJÁNAK FEJLESZTÉSE A HLÉS ID ELEMZÉSÉVEL 54 Hriczó Krisztián NEMNEWTONI FOLYADÉKOK HATÁRRÉTEG ÁRAMLÁSÁNAK HASONLÓSÁGI MEGOLDÁSAI KONVEKTÍV FELÜLETI PEREMFELTÉTELEK MELLETT 60 Kelemen László Attila DOMBORÍTOTT FOGAZAT MATEMATIKAI MODELLEZÉSE FOGASGYRS TENGELYKAPCSOLÓKHOZ 66
Krizsán Zoltán STRUCTURAL IMPROVEMENTS OF THE OPENRTM ROBOT MIDDLEWARE 72 Mándy Zoltán A POSSIBLE NEURAL NETWORK FOR A HOLONIC MANUFACTURING SYSTEM 78 Simon Pál GRAFIKUS PROCESSZOROK ALKALMAZÁSA KÉPFELDOLGOZÁSI FELADATOKRA 84 Skapinyecz Róbert OPTIMALIZÁLÁSI LEHETSÉGEK VIZSGÁLATA EGY E-PIACTÉRREL INTEGRÁLT VIRTUÁLIS SZÁLLÍTÁSI VÁLLALATNÁL 90 Somoski Gábor COLD METAL TRANSFER THE CMT PROCESS 96 Szabó Adél Anett A TELJES KÖLTSÉG KONCEPCIÓ JELENTSÉGE A VÁLLALATI BESZERZÉSI GYAKORLATBAN 102 Szamosi Zoltán MEZGAZDASÁGI HULLADÉKOK VIZSGÁLATA 108 Szilágyiné Biró Andrea BETÉTEDZÉS ACÉLOK KÜLÖNBÖZ HMÉRSÉKLET KARBONITRIDÁLÁSA 114 Tomkovics Tamás DARABÁRU OSZTÁLYOZÓ RENDSZEREK KISZOLGÁLÁSI STRATÉGIÁIT BEFOLYÁSOLÓ JELLEMZK; A RENDSZEREK MODULJAI KÖZÖTTI ÖSSZEFÜGGÉSEK FELTÁRÁSA 120 Tóth Zsolt EL REDUKCIÓ ALKALMAZÁSA A TBL ALGORITMUS IDKÖLTSÉGÉNEK CSÖKKENTÉSÉRE 126 Varga Zoltán KONKRÉT LOGISZTIKAI MINTARENDSZER MODELLEZÉSE 131 Vincze Dávid MATLAB INTERFACE FOR THE 3D VIRTUAL COLLABORATION ARENA 137 Wagner György INTENZÍTÁS BÁZISÚ OPTIMALIZÁLÁS FORGÁCSOLÁSI PARAMÉTEREK MEGHATÁROZÁSÁHOZ 143