• Nem Talált Eredményt

Szemantikus technol´ogi´ak Logikai Programoz´asi alapokon

N/A
N/A
Protected

Academic year: 2023

Ossza meg "Szemantikus technol´ogi´ak Logikai Programoz´asi alapokon"

Copied!
23
0
0

Teljes szövegt

(1)

Szemantikus technol´ ogi´ ak Logikai Programoz´ asi alapokon

Luk´ acsy Gergely

Sz´am´ıt´astudom´anyi ´es Inform´aci´oelm´eleti Tansz´ek Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem

Ph.D. ´ertekez´es t´ezisei

T´emavezet˝o:

Dr. Szeredi P´eter

Budapest, 2008. febru´ar

(2)

1. Bevezet´ es

A disszert´aci´oban aszemantikus technol´ogi´ak k¨ul¨onf´ele ter¨uletein felvetett k´erd´esekkel foglal- kozom ´es ezekre a Logikai Programoz´as eszk¨ozt´ar´aval kidolgozott megold´asokat mutatok be.

´Igy algoritmusokat ´es m´odszereket adok meg Le´ır´o Logikai tud´asb´azisokon t¨ort´en˝o hat´ekony k¨ovetkeztet´eshez ´es forr´ask´odok szemantikus hasonl´os´agvizsg´alat´ahoz, valamint bemutatok egy saj´at feljeszt´es˝u szab´alyalap´u k¨ovetkeztet˝orendszert.

Szemantikus technol´ogi´ak alatt olyan szabv´anyokat ´es m´odszereket ´ert¨unk, amelyek k¨oz¨os c´elja, hogy a sz´am´ıt´og´epek sz´am´ara is haszn´alhat´o m´odon formaliz´alj´ak a k¨ul¨onf´ele szak- ter¨uleteken felhalmoz´odott tud´ast ´es erre ´ep´ıtve hat´ekony megold´asokat ny´ujtsanak k¨ul¨onf´ele probl´em´akra. Ennek a folyamatnak r´eszei atud´asreprezent´aci´o´es a kapcsol´od´o tud´askezel´es.

A disszert´aci´oban a tud´asreprezent´aci´os ´es tud´askezel´esi technol´ogi´ak k´et csoportj´aval foglalkozunk: a Logikai Programoz´assal ´es a Le´ır´o Logikai rendszerekkel. Ezen k´et ter¨ulet kombin´al´asa ´erdekes kih´ıv´asokat vet fel: az els˝o ilyen kezdem´enyez´es 2003-ban l´atott nap- vil´agot Le´ır´o Logikai Programoz´as n´even. A disszert´aci´oban t¨obb eredm´eny is ezen k´et kutat´asi ir´any kombin´al´as´aval kapcsolatos.

Az al´abbiakban r´eszletesebben is bemutatjuk a Logikai Programoz´ast ´es a Le´ır´o Lo- gik´akat, majd erre ´ep´ıtve prec´ızen megfogalmazzuk a kutat´asi k´erd´eseket.

2. Matematikai alapok

A Logikai Programoz´as alap¨otlete, hogy a matematikai logik´at programoz´asi nyelvk´ent hasz- n´aljuk. Egy logikai program v´egrehajt´asa egy els˝orend˝u (rezol´uci´ot haszn´al´o) k¨ovetkeztet´esi folyamatnak feleltethet˝o meg. A Prolog nyelv [1] az els˝o ´es a mai napig legelterjedtebb logi- kai programoz´asi nyelv. A Prolog Horn-kl´ozok form´aj´aban megadott formul´akkal dolgozik ´es SLD-rezol´uci´ot [2] haszn´al a v´egrehajt´as sor´an. A Prolog v´egrehajt´asi mechanizmus alapele- mei amintailleszt´eses elj´ar´ash´ıv´as´es avisszal´ep´eses keres´es. A Prolog nyelvet, ´es ´altal´aban a k¨ul¨onf´ele a Logikai Programoz´asi m´odszereket, sikerrel alkalmazz´ak sz´amos ter¨uleten. Ezek k¨oz¨ott tal´alhatjuk a term´eszetesnyelv-feldolgoz´ast, automatiz´alt tervez´est, k¨ul¨onf´ele szimbo- likus alkalmaz´asokat ´es szak´ert˝oi rendszereket [3].

A Le´ır´o Logika (angolul: Description Logic, r¨oviden DL) [4] az els˝orend˝u logikai nyelvek egy csal´adja, amelyek seg´ıts´eg´evel le tudjuk ´ırni egy szakter¨ulet vagy egy k¨ozismereti ter¨ulet fogalmi rendszer´et. Napjainkban a Le´ır´o Logik´ak vir´agkorukat ´elik k¨osz¨onhet˝oen annak az egyre er˝os¨od˝o ig´enynek, hogy a k¨ul¨onf´ele alkalmaz´asok szemantikus inform´aci´okat haszn´alja- nak a m˝uk¨od´es¨uk sor´an. J´o p´elda erre a Szemantikus Vil´agh´al´o kezdem´enyez´es, ahol a tud´ast OWL nyelven [5] le´ırt ontol´ogi´ak form´aj´aban t´aroljuk. Ez a nyelv val´oj´aban az SHOIQ bet˝usz´oval jellemzett DL nyelvcsal´ad XML szintaxis´u vari´ansa. A Le´ır´o Logik´ak sz´amos m´as ter¨uleten is szerepet kapnak, mint p´eld´aul term´eszetesnyelv-feldolgoz´asban, orvosi ´es inform´aci´ointegr´aci´os rendszerekben ´es egy´eb, komplex m´ern¨oki alkalmaz´asokban [6, 7, 8, 9].

A le´ır´o logikai megk¨ozel´ıt´es a fogalom illetve szerep elnevez´est haszn´alja amikor egye- dek egy halmaz´ar´ol (azaz egy un´aris rel´aci´or´ol), illetve egy egyedek k¨oz¨ott fenn´all´o bin´aris rel´aci´or´ol besz´el.

(3)

Egy le´ır´o logikai tud´asb´azis DL axi´om´ak halmaza, amely axi´om´ak k´et r´eszre oszthat´ok:

a T-doboz ´es az A-doboz axi´om´akra. A legegyszer˝ubb esetben a T-doboz C ⊑ D alak´u terminol´ogiai axi´om´akb´ol ´all (a D fogalom tartalmazza a C fogalmat). Bonyolultabb le´ır´o logik´akban a T-dobozban szerepekre vonatkoz´o axi´om´ak is lehetnek. Egy A-doboz konkr´et vil´agra vonatkoz´o ´all´ıt´asokat, ´un. adat´all´ıt´asokat tartalmaz: egy C(i) alak´u ´all´ıt´as kifejezi, hogy aziegyed aC fogalom p´eld´anya, m´ıg egyR(i, j) ´all´ıt´as azt mondja, hogyi´esj egyedek R rel´aci´oban vannak egym´assal.

A fogalmak ´es szerepek lehetnek atomiak vagy ¨osszetettek. Egy ¨osszetett fogalmat (sze- repet) konstruktorok seg´ıts´eg´evel ´ep´ıt¨unk fel atomi fogalmakb´ol (szerepekb˝ol). Az adott le´ır´o logikai nyelv kifejez˝oerej´et az hat´arozza meg, hogy milyen konstruktorokat ny´ujt ¨ossze- tett fogalmak ´es szerepek ´ep´ıt´es´ehez. A kifejez˝oer˝o n¨ovel´ese term´eszetesen kihat´assal van a k¨ovetkeztet´esi algoritmusok bonyolults´ag´ara.

Egy sz´eles k¨orben haszn´alt DL nyelv a SHIQ. Itt az ¨osszetett fogalmakat atomi fogal- makb´ol, atomi szerepekb˝ol ´es a top ´es bottom fogalmakb´ol (⊤´es ⊥) ´ep´ıtj¨uk fel a k¨ovetkez˝o konstruktorok seg´ıts´eg´evel: metszet (C⊓D), uni´o (C⊔D), neg´aci´o (¬C), ´ert´ekkorl´atoz´as (∀R. C), l´etez´esi korl´atoz´as (∃R. C) ´es min˝os´ıtett sz´amoss´agkorl´atoz´as (> n R. C, illetve 6 n R. C). Ezen fel¨ul lehet˝os´eg¨unk van szerepek k¨ozti hierarchia (R ⊑ S) megad´as´ara, valamint annak a kifejez´es´ere, hogy egy szerep tranzit´ıv (Trans(R)). Az ¨osszetett fogalmak

´ep´ıt´ese k¨ozben haszn´alhatjuk a szerepeken ´ertelmezett inverzk´epz´est is (R).

A T-dobozon ´es az A-dobozon k¨ul¨onb¨oz˝o k¨ovetkeztet´esi feladatokat v´egezhet¨unk. Egy T- doboz eset´en vizsg´alhatjuk egyes fogalmainak akiel´eg´ıthet˝os´eg´et, valamint fogalmak k¨ozti vi- szonyokat: tartalmaz´as,ekvivalencia,diszjunkts´ag. Ezen feladatok visszavezethet˝ok egym´asra:

a hagyom´anyos algoritmusok fogalmak kiel´eg´ıthet˝os´eg´et vizsg´alj´ak. Egy A-doboz k¨ovet- keztet´es ig´enyli mind a T-doboz, mind az A-doboz tartalm´at. Itt k´etf´ele probl´em´aval tal´alkozunk. A p´eld´anyvizsg´alat eset´en az a k´erd´es, hogy egy adott i egyed ´es C fogalom eset´en eset´en igaz-e, hogy az A-doboz ´es T-doboz axi´om´ainak k¨ovetkezm´enye a C(i) ´all´ıt´as.

A p´eld´anykikeres´es feladat ´altal´anosabb: itt az adott C fogalom ¨osszes p´eld´any´at keress¨uk.

3. Kutat´ asi c´ elok

A disszert´aci´o n´egy k´erd´es megv´alaszol´asa k¨or¨ul szervez˝odik. Az els˝o kett˝o lefedi a le´ır´o logik´ak k´et elterjedt haszn´alati m´odj´at, azt amikor ny´ılt-, illetve azt, amikor z´art vil´agot felt´etelez¨unk. Az ezekre adott megold´asokban olyan algoritmusokat dolgozunk ki amelyek nagy mennyis´eg˝u adat eset´en is hat´ekonyak. A m´asik k´et k´erd´es a szemantikus technol´ogi´ak tov´abbi reprezentat´ıv ter¨uleteit ´erinti.

1. K´erd´es Lehets´eges-e olyan algoritmust k´esz´ıteni, amely hat´ekonyan oldja meg a Le´ır´o Logika SHIQ nyelvi p´eld´anykikeres´esi feladat´at nagym´eret˝u A-doboz eset´en?

A hagyom´anyos p´eld´anykikeres˝o algoritmusok nem el´eg hat´ekonyak nagym´eret˝u A-doboz eset´en: ennek az oka, hogy a p´eld´anykikeres´est visszavezetik az A-dobozban tal´alhat´o p´el- d´anyok egyenk´enti p´eld´anyvizsg´alat´ara. Ez a megold´as nem sk´al´az´odik megfelel˝oen ´es prak- tikusan nem teszi lehet˝ov´e a p´eld´anyinform´aci´ok adatb´azisban t´arol´as´at, hiszen egy-egy

(4)

p´eld´anykikeres´es az adatb´azis teljes tartalm´anak lek´erdez´es´evel j´arna. A p´eld´anykikeres´es hat´ekonyabb megval´os´ıt´asa – f˝ok´ent a Le´ır´o Logika k¨ovetkezm´enyfogalm´anak tulajdons´agai miatt – ´erdekes kutat´asi feladat.

A disszert´aci´oban r´eszletezett megk¨ozel´ıt´es a T-doboz axi´om´akat Prolog programokk´a transzform´alja ´es a p´eld´anykikeres´esi feladatot ezen program hagyom´anyos Prolog v´egrehaj- t´as´aval oldja meg. A transzform´aci´o sor´an nincs sz¨uks´eg az A-doboz tartalm´anak figyelembe v´etel´ere: ezt csak egy t´enyleges lek´erdez´es fut´asa sor´an ´erj¨uk el, az aktu´alis ig´enyeknek meg- felel˝oen. Ez a megk¨ozel´ıt´es, a Prolog top-down v´egrehajt´asi elv´evel kieg´esz´ıtve seg´ıt abban, hogy csak azokat az adataxi´om´akat k´erdezz¨uk le, amelyek sz¨uks´egesek a konkr´et Le´ır´o Logi- kai k´erd´es megv´alaszol´as´ahoz. Ez lehet˝ov´e teszi, hogy az A-doboz tartalm´at adatb´azisokban t´aroljuk: nagy mennyis´eg˝u adat eset´en ez ¨osszess´eg´eben hat´ekonyabb v´egrehajt´ast eredm´e- nyez, valamint lehet˝ov´e teszi a Le´ır´o Logikai k¨ovetkeztet´es k¨ozvetlen haszn´alat´at megl´ev˝o inform´aci´oforr´asokon.

2. K´erd´es Lehets´eges-e a Le´ır´o Logikai ´es objektum-orient´alt modellez´esi paradigm´ak el˝o- ny¨os tulajdons´agait ¨otv¨oz˝o modellez´esi nyelvet haszn´alni inform´aci´ointegr´aci´o sor´an?

Az inform´aci´ointegr´aci´os rendszerek alap¨otlete, hogy az integr´aci´ot az inform´aci´oforr´asok modelljein v´egzik el. Ezen modellek ´es a k¨ozt¨uk l´ev˝o kapcsolatok le´ır´as´ara k¨ul¨onf´ele model- lez´esi nyelveket haszn´alnak, f˝ok´ent az UML-t, illetve Le´ır´o Logik´akat: ezek k¨oz¨ul azonban egy konkr´et rendszer ´altal´aban csak egyet t´amogat. Az integr´aci´o sor´an haszn´alt modellek vi- szont sokszor k¨ul¨onb¨oz˝o r´eszletezetts´eg˝uek: n´eh´anyuk t´enyleges inform´aci´oforr´asokat, m´asok a felhaszn´al´ok ment´alis modelljeit reprezent´alj´ak. Fontos feladat teh´at, hogy a k¨ul¨onf´ele absztrakci´os szinten l´ev˝o modelleket a hozz´ajuk legjobban illeszked˝o m´odon modellezz¨uk.

A disszert´aci´o egy l´etez˝o inform´aci´ointegr´aci´os rendszer UML alap´u modellez´esi nyelv´enek Le´ır´o Logikai kib˝ov´ıt´es´et mutatja be. A kapcsol´od´o metodol´ogia l´enyege, hogy a felhaszn´al´ok magas szint˝u modelljeit Le´ır´o Logik´aban formaliz´aljuk ´es defin´ıci´os axi´om´ak seg´ıts´eg´evel kapcsoljuk ¨ossze az alacsonyabb szinten l´ev˝o UML modellekkel. A nyelv ´es a metodol´ogia kialak´ıt´as´an k´ıv¨ul algoritmust adunk a Le´ır´o Logikai modellek k´erd´es-c´elokk´a alak´ıt´as´ara, amelyeket futtatva a modell ´altal reprezent´alt p´eld´anyhalmazt kapjuk eredm´eny¨ul.

3. K´erd´es Milyen m´odszereket ´es algoritmusokat haszn´aljunk akkor, ha nagysz´am´u forr´as- program egym´ashoz viszony´ıtott hasonl´os´agi m´ert´ek´et kell meghat´aroznunk?

Az ´ırott m˝uvekre specializ´al´odott hasonl´os´ag-detekt´al´o algoritmusok nem kell˝oen hat´eko- nyak forr´asprogramok eset´en. Ennek alapvet˝o oka az, hogy k´et, lexikailag nagyon elt´er˝o prog- ramk´od is sz´armazhat ugyanab´ol a forr´asb´ol. Tiszt´an emberi er˝oforr´asok felhaszn´al´as´aval azonban szinte lehetetlen feladat egy nagyobb programhalmazb´ol (p´eld´aul egy nagyobb

´evfolyam h´azi feladatainak halmaz´ab´ol) kisz˝urni a hasonl´okat. Ez´ert fontosak az olyan au- tomatiz´alhat´o m´odszerek, amelyek felh´ıvj´ak a figyelmet a m´asol´asgyan´us programp´arokra.

A disszert´aci´o bemutat egy generikus, struktur´alis hasonl´os´agon alapul´o keretrendszert

´es ennek egy implement´aci´oj´at a Prolog ´es SML programoz´asi nyelvekhez. A megold´as alap¨otlete, hogy a forr´ask´odokat el˝osz¨or matematikai objektumokk´a transzform´aljuk, majd k¨ul¨onf´ele redukci´os technik´ak seg´ıts´eg´evel egyre absztraktabb n´ezeteket k´epez¨unk. Ez a

(5)

megk¨ozel´ıt´es j´o eredm´enyt ad akkor is, ha a n´ezeteket viszonylag egyszer˝u algoritmusok- kal hasonl´ıtjuk ¨ossze.

4. K´erd´es Lehets´eges-e olyan m´odszereket kidolgozni, amelyek r´eszben vagy eg´eszben auto- matiz´alhatj´ak metainform´aci´ok er˝oforr´asokhoz kapcsol´as´at?

A dokumentumkezel˝o rendszerek t¨obbs´ege k¨ul¨onf´ele metainform´aci´okat csatol a doku- mentumokhoz. Ezek k¨ul¨onf´ele szervez´esi feladatokban ´es a dokumentumokra vonatkoz´o k´erd´esek megv´alaszol´as´aban seg´ıtenek. Az egyik legfontosabb metainform´aci´o a dokumen- tum besorol´asa valamely kateg´oria al´a. A metainform´aci´ok ´altal´aban manu´alis ´uton ´allnak el˝o, ami sok emberi er˝oforr´ast k¨ot le. N´eh´any metainform´aci´o r´aad´asul id˝ovel v´altozik, mint p´eld´aul az, amelyik le´ırja, hogy h´any m´asik dokumentum hivatkozik egy adott do- kumentumra. Ennek megfelel˝oen fontosak azok a m´odszerek, amelyek valamilyen m´odon automatiz´alj´ak a metainform´aci´ok dokumentumokhoz csatol´as´at.

A disszert´aci´o bemutat egy megold´ast, amelyben metainform´aci´okkal ell´atott er˝oforr´asok egy halmaz´ara lehet szab´alyokat megfogalmazni. A szab´alyok v´egrehajt´asa sor´an ´uj me- tainform´aci´okat csatolunk az er˝oforr´asokhoz a megl´ev˝o metainform´aci´ok ´es az er˝oforr´asok k¨ozti kapcsolatok alapj´an. A szab´alyok egy speci´alis, erre a c´elra k´esz´ıtett logikai alap´u szab´alynyelven ´ırhat´ok le.

4. Uj tudom´ ´ anyos eredm´ enyek

1. T´ezis. Kidolgoztam, [10] ´es [11]-re ´ep´ıtve, a DLog le´ır´o logikai k¨ovetkeztet˝o rendszer elm´eleti alapjait. Bizony´ıtottam a kidolgozott algoritmusok helyess´eg´et ´es teljess´eg´et. A DLog rendszer vezet˝o tervez˝oje ´es megval´os´ıt´oja voltam. [J1, C3, C4, C5, T4, T5, T6]

A DLog rendszer megalkot´as´aban t´emavezet˝om Dr. Szeredi P´eter valamint Nagy Zsolt, Boros´an P´eter ´es Zombori Zsolt m˝uk¨odtek k¨ozre. Az al´abbiakban azon eredm´enyeket r´esz- letezem, amelyeket ¨on´all´oan alkottam meg.

A DLog megk¨ozel´ıt´es l´enyege, hogy egy KB SHIQ tud´asb´azist els˝orend˝u kl´ozokk´a ala- k´ıtunk, majd ezekb˝ol hat´ekony Prolog k´odot gener´alunk. Els˝o l´ep´esk´ent KB-t [10] ´es [11]

eredm´enyei alapj´an az al´abbi ´abr´an l´athat´o form´aj´u els˝orend˝u kl´ozokk´a alak´ıtjuk. Itt az (1)–(4) kl´ozok a T-dobozb´ol, m´ıg az (5)–(6) kl´ozok az A-dobozb´ol sz´armaznak. P(x) un´aris liter´alok nem¨ures (¬)P1(x)∨. . .∨(¬)Pn(x) diszjunkci´oj´at jel¨oli.

(1) ¬R(x, y)∨S(y, x) (2) ¬R(x, y)∨S(x, y) (3) P(x)

(4) W

i,j,k¬Rk(xi, xj)∨W

iP(xi)∨W

i,j(xi =xj) (5) R(a, b)

(6) C(a)

(6)

Bevezetj¨uk a DL-kl´oz fogalm´at, amely egy olyan C els˝orend˝u kl´oz, amelyik teljes´ıti a k¨ovetkez˝o felt´eteleket: (p1) C f¨uggv´enyjelmentes, azaz C egyetlen liter´alja sem tartalmaz f¨uggv´enyjelet; (p2) C vagy tartalmaz bin´aris liter´alt vagy csak legfeljebb egy v´altoz´ot tar- talmaz; (p3) ha C tartalmaz bin´aris liter´alt, akkor minden C-beli v´altoz´o el˝ofordul legal´abb egy bin´aris liter´alban; (p4) haC-ben tal´alhat´o egy B pozit´ıv bin´aris liter´al, akkor az ¨osszes t¨obbi C =C\ {B} liter´al negat´ıv bin´aris liter´al, tov´abb´a C ´es B v´altoz´oi ugyanazok.

K¨onnyen bel´athat´o, hogy a fenti ´abr´an l´athat´o (1)–(6) kl´ozok DL-kl´ozok. Az is meg- gondolhat´o, hogy a DL-kl´ozok ´altal´anosabbak a SHIQ tud´asb´azisokb´ol nyerhet˝o kl´ozokn´al (lehet˝os´eg¨unk van p´eld´aul szerepek metszet´et, uni´oj´at k´epezni), ´ıgy a DL-kl´ozokra vonatkoz´o eredm´enyek nemcsak aSHIQle´ır´o logik´ara, hanem ann´al sz´elesebb k¨orben is alkalmazhat´ok.

1.A Alt´ezis. Specializ´altam a PTTP technol´ogi´at DL-kl´ozokra.

A PTTP (Prolog Technology Theorem Prover) megk¨ozel´ıt´es Mark E. Stickel nev´ehez f˝uz˝odik [12]. A PTTP egy helyes ´es teljes Prolog alap´u els˝orend˝u k¨ovetkeztet´esi m´odszer, amelynek alapgondolata az, hogy az els˝orend˝u kl´ozok ¨osszes kontrapozit´ıvj´at k´epezz¨uk, ´es ezekb˝ol alkotunk Prolog programot. EgyW

1≤i≤nLi els˝orend˝u kl´oznakn kontrapozit´ıvja van minden 1≤k ≤n-ra:

Lk :- ¬L1, . . . ,¬Lk−1,¬Lk+1, . . . ,¬Ln

A kontrapozit´ıv k´epz´es mellett a PTTP m´odszer a hagyom´anyos Prolog v´egrehajt´ast el˝ofordul´as ellen˝orz´essel ´es ˝os-rezol´uci´oval eg´esz´ıti ki, valamint iterat´ıvan m´ely¨ul˝o keres´est haszn´al m´elys´egi keres´es helyett. Az ˝os-rezol´uci´o c´elja a faktoriz´aci´o: k´et egyes´ıthet˝o liter´al a rezolvensben kicser´elhet˝o egyre [13]. A PTTP megk¨ozel´ıt´es ennek a megval´os´ıt´as´ahoz egy ˝os- list´at haszn´al, amely a m´eg be nem fejezett h´ıv´asokat tartalmazza. Ha az ˝os-lista tartalmaz egy olyan c´elt, amely egyes´ıthet˝o az aktu´alis c´el neg´altj´aval, akkor az aktu´alis c´el lefut´asa sikeres az adott egyes´ıt´es mellett.

B´ar a PTTP technol´ogia k¨ozvetlen¨ul is alkalmazhat´o lenne DL-kl´ozokra, a disszert´aci´oban megvizsg´altuk, hogy hogyan lehet az ´altal´anos elvet DL-kl´ozokra specializ´alni.

1.1. Defin´ıci´o. Adott DL-kl´ozokShalmaz´ahoz tartoz´oDL programot (DL predik´atumokat) PDL(S)-sel jel¨ol¨unk. Ezen Horn-kl´ozok egy olyan halmaz´at ´ertj¨uk, amelySkontrapozit´ıvjait tartalmazza, azazPDL(S) ={C|C a kontrapozit´ıvja C0-nak ´es C0 ∈S}.

Eredm´enyeinket a k¨ovetkez˝o t´etelben foglaljuk ¨ossze. Ezen ´all´ıt´as bizony´ıt´as´ahoz a disszert´aci´oban sz´amos seg´edt´etelt mondunk ki.

1.1. T´etel (Luk´acsy ´es Szeredi [J1]). LegyenSDL-kl´ozok egy halmaza ´esQegy p´eld´any- kikeres´esi k´erd´es. Jel¨olj¨ukPDL(S) azon kl´ozainak halmaz´atP-vel, amelyek feje nem bin´aris liter´al. Eg´esz´ıts¨uk ki a hagyom´anyos Prolog v´egrehajt´ast (1) ciklusok elimin´al´as´aval ´es (2) un´aris predik´atumokra alkalmazand´o determinisztikus ˝os-rezol´uci´oval. A kiterjesztett Pro- log v´egrehajt´o a P programra ´es aQ c´elra alkalmazva v´eges sok l´ep´esben meg´all, ´es azokat

´es csak azokat a behelyettes´ıt´eseit sorolja felQ-nak, amelyek eset´enQlogikai k¨ovetkezm´enye S-nek.

(7)

Az al´abbi ´abr´an ¨osszefoglaljuk a DLog rendszerben alkalmazott megold´asokat, ¨osszevetve a PTTP megk¨ozel´ıt´esben haszn´alt ´altal´anos m´odszerekkel.

• Hagyom´anyos Prolog egyes´ıt´est haszn´alunk, elhagyjuk az el˝ofordul´as-ellen˝orz´est

• M´elys´egi keres´est ´es cikluselimin´al´ast haszn´alunk az iterat´ıvan m´ely¨ul˝o keres´es helyett

• Elhagyjuk az olyan kontrapozit´ıvokat, amelyek feje neg´alt bin´aris liter´al

• Nem alkalmazunk ˝os-rezol´uci´ot szerepekre

• Determinisztikus ˝os-rezol´uci´ot haszn´alunk

Jelen alt´ezis eredm´enyeinek birtok´aban elk´esz´ıtettem azt a ford´ıt´asi s´em´at, amely seg´ıt- s´eg´evel a fenti kieg´esz´ıt´eseket hagyom´anyos Prolog programokba ford´ıthatjuk bele.

1.B Alt´ezis. Meghat´aroztam a DL-programok ´altal´anos ford´ıt´asi s´em´aj´at.

A ford´ıt´as sor´an megk¨ul¨onb¨oztet¨unk T-doboz ´es A-doboz DL predik´atumokat, amelyeket rendre PDL(KBT)-val ´es PDL(KBA)-val jel¨ol¨unk. PDL(KBT) (PDL(KBA)) szignat´ur´aja alatt a PDL(KBT)-ban (PDL(KBA)-ban) el˝ofordul´o funktorok halmaz´at ´ertj¨uk. Legyen T

´es Z egy-egy Prolog kifejez´es. Expd(T, Z)-vel jel¨olj¨ukT-nekZ-vel val´o b˝ov´ıt´es´et, amely nem m´as, mintT eggyel n¨ovelt arit´as´u v´altozata, ahol az utols´o argumentum Z.

1.2. Defin´ıci´o. LegyenC egy tetsz˝oleges Prolog kl´oz, amelynek fejeH´es t¨orzseB1, . . . , Bn. A C kl´oz ˝oskezel´essel kiterjesztett v´altozat´at Ω(C)-vel jel¨olj¨uk. Ω(C) egy olyan Prolog kl´oz amelynek feje Expd(H,AL), ahol AL egy ´ujonnan bevezetett v´altoz´o. Ω(C) t¨orzse E0, E1, . . . , En, ahol E0 az ‘AncL = [H|AL]’ c´el, valamint Ei = Expd(Bi,AncL), minden i >0-re.

1.3. Defin´ıci´o. Legyen P egy T-doboz predik´atum amelynek funktora N/A ´es amely a C1, . . . , Cn, n≥0 kl´ozokb´ol ´all. Jel¨olj¨unkH-val egyN/Afunktor´u kifejez´est, aminek minden argumentuma k¨ul¨onb¨oz˝o v´altoz´o. P leford´ıtott v´altozata, amelyet ∆(P)-vel jel¨ol¨unk, nem m´as mint az F1, . . . , Fn+3 kl´oz´okb´ol ´all´o predik´atum. Itt, az F1, F2 ´es F3 kl´ozok rendre a k¨ovetkez˝ok:

• Expd(H, AL) :- member(G, AL), G==H, !, fail.

• Expd(H, AL) :- memberchk(neg(H), AL).

• Expd(H, AL) :- H.

F3+i = Ω(Ci), i > 0, azaz ∆(P) t¨obbi kl´oza nem m´as mint a C1, . . . , Cn, n ≥ 0 kl´ozok

˝oskezel´essel kieg´esz´ıtett v´altozata.

V´eg¨ul defini´aljuk egy teljes DL program ford´ıt´asi s´em´aj´at. Ez egyr´eszt tartalmazza a T-dobozban el˝ofordul´o ¨osszes funktorhoz tartoz´o predik´atumok leford´ıtott alakj´at, m´asr´eszt az eredeti A-doboz predik´atumokat.

(8)

1.4. Defin´ıci´o (DL programok leford´ıtott alakja). Jel¨olj¨onKB egySHIQtud´asb´azist

´es legyen PDL(KBT) szignat´ur´aja {N1/A1, . . . , Nk/Ak}. A KB-hez tartoz´o DL program, azaz PDL(KB), leford´ıtott alakja a {P1, . . . , Pk} ∪ PDL(KBA) predik´atumhalmaz, ahol Pi = ∆(Zi) ´es Zi ={C ∈PDL(KBT)|C fej´enek funktora Ni/Ai}.

1.2. T´etel (Luk´acsy ´es Szeredi [J1, C4]). A fent meghat´arozott ford´ıt´asi s´ema helyes

´es teljes, az eredm´eny¨ul kapott Prolog program tetsz˝oleges p´eld´anykikeres´esi k´erd´esre v´eges id˝on bel¨ul lefut.

Ezen a ponton teh´at rendelkez´es¨unkre ´all egy ´altal´anos ford´ıt´asi s´ema, amelynek beme- nete – egySHIQ Le´ır´o Logikai tud´asb´azist is le´ırni k´epes – DL-kl´ozhalmaz, kimenete pedig egy Prolog program, amely a hagyom´anyos Prolog v´egrehajt´assal futtathat´o.

1.C Alt´ezis. Defini´altam sz´amos optimaliz´al´asi m´odszert, amelyek seg´ıts´eg´evel SHIQ tud´asb´azisok eset´en az 1.4 ford´ıt´asi s´em´ahoz k´epest hat´ekonyabb Prolog k´od gener´alhat´o.

B´ar az 1.B Alt´ezisben megadott ford´ıt´asi s´ema k¨ozvetlen¨ul is alkalmazhat´o, nagys´ag- rendekkel gyorsabb fut´ast ´erhet¨unk el, ha tov´abbi optimaliz´al´asokat v´egz¨unk a gener´alt k´odon. A disszert´aci´oban ¨osszesen 8 k¨ul¨onf´ele optimaliz´aci´os m´odszert defini´altam SHIQ axi´om´ak ford´ıt´as´ahoz, amelyeket a lenti ´abr´an foglaltunk ¨ossze.

A legels˝o optimaliz´aci´os l´ep´es a sz˝ur´es: kisz˝urj¨uk azon kl´ozokat PDL(KB)-b˝ol, amelyek biztosan nem j´atszanak szerepet a k¨ovetkeztet´esi folyamat sor´an. K´et kl´ozt´ıpusr´ol mondjuk ki ´es bizony´ıtjuk ezt a tulajdons´agot, ahamisan-´arva, illetve a k´etszeresen-´arva kl´ozokr´ol.

A m´asodik l´ep´esben oszt´alyozzuk a megmaradt predik´atumokat, majd a k¨ul¨onf´ele oszt´a- lyokhoz egyedi ford´ıt´asi s´em´akat defini´alunk. Az oszt´alyoz´asatomi,k´erd´es,´arva ´es´altal´anos t´ıpus´u predik´atumokra part´ıcion´alja PDL(KB) tartalm´at. Az ´altal´anos predik´atumok osz- t´aly´at tov´abbi aloszt´alyokra is bontjuk.

A tov´abbi optimaliz´aci´os l´ep´eseket tetsz˝oleges sorrendben hajthatjuk v´egre.

szerepek

sz˝ur´es oszt´alyoz´as

rendez´es indexel´es t¨om¨or´ıt´es dekom-

poz´ıci´o projekci´o

Prolog k´od

A rendez´es sor´an sorrendezz¨uk a DL programban l´ev˝o kl´ozt¨orzseket. A disszert´aci´oban meghat´arozok egy heurisztik´at ´es megadom az erre ´ep¨ul˝o rendez´esi algoritmust. Az in- dexel´es l´enyege, hogy olyan Prolog programot gener´aljunk, amelyik kik¨usz¨ob¨oli a legt¨obb

(9)

Prolog rendszer azon hi´anyoss´ag´at, hogy a t¨obbargumentum´u elj´ar´ash´ıv´asokban csak az els˝o argumentum szerint van indexel´es. A t¨om¨or´ıt´es sor´an biztos´ıtjuk, hogy egy t¨om¨or c´el igazs´ag´ert´ek´et csak egyszer sz´am´ıtjuk ki. Ehhez minden un´aris predik´atumb´ol k´et vari´anst k´esz´ıt¨unk a fejv´altoz´o behelyettes´ıtetts´eg´enek megfelel˝oen. A dekompoz´ıci´o c´elja, hogy egy kl´ozt¨orzset f¨uggetlen komponensekre bontson: ez a rekurz´ıv elj´ar´as a rendez´es ´es t¨om¨or´ıt´es l´ep´esek ´altal´anos´ıt´asa. A disszert´aci´oban prec´ızen defini´alom a dekompoz´ıci´os folyamatot ´es megadom ennek egy visszavezet´es´et a rendez´esi algoritmusra. A projekci´o l´enyege, hogy az egyesP predik´atumokhoz meghat´arozunk egy olyanS p´eld´anyhalmazt, amelyikre igaz, hogy I(P)⊆S, aholI(P) aP predik´atum t´enyleges megold´asainak halmaza. AmennyibenS nem sokkal nagyobb sz´amoss´ag´u, mintI(P), akkorS-t felhaszn´alva hat´ekonyan visszavezethetj¨uk a p´eld´anykikeres´esi feladatot v´eges sz´am´u p´eld´anyvizsg´alatra. A disszert´aci´oban defini´alom a minihalmaz-gr´afok ´es a r´a´ep¨ul˝o minihalmaz fogalm´at. Megmutatom, hogy egy minihal- maz teljes´ıti a fenti felt´eteleket. V´eg¨ul a SHIQ szerepkonstruktorokra (R ⊑ S, R ≡ S ´es R ≡S) defini´alok egy, az ´altal´anosn´al j´oval hat´ekonyabb transzform´aci´os s´em´at.

1.3. T´etel (Luk´acsy ´es Szeredi [J1]). A jelen alt´ezisben defini´alt transzform´aci´ok helye- sek ´es teljesek.

1.D Alt´ezis. Megval´os´ıtottam az 1.A–1.C Alt´ezisekben megfogalmazott m´odszereket a DLog rendszerben ´es elv´egeztem a DLog r´eszletes hat´ekonys´agvizsg´alat´at.

A DLog rendszer egy Prologban implement´alt rezol´uci´os alap´u A-doboz k¨ovetkeztet˝o rendszer, amely a SHIQ Le´ır´o Logikai nyelvre alkalmazhat´o.

A rendszer szerverk´ent, illetve ¨on´all´o alkalmaz´ask´ent is haszn´alhat´o. A k¨ovetkeztet´esi fo- lyamat bemenete egy, a DIG nemzetk¨ozi szabv´anynak [14] megfelel˝o form´aban le´ırt SHIQ tud´asb´azis, kieg´esz´ıtve a felhaszn´al´o k´erd´eseivel. A bemenet T-doboz r´esz´eb˝ol Prolog progra- mot gener´alunk az1.A-1.Calt´ezisekben elmondott m´odon. Az A-doboz tartalm´at m´odos´ıt´as n´elk¨ul (vagy az az indexel´es alkalmaz´asa miatti minim´alis m´odos´ıt´assal) haszn´aljuk. A DLog lehet˝os´eget ad arra is, hogy az A-dobozt egy megfelel˝o alak´u adatb´azisban adjuk meg, ami lehet˝ov´e teszi igaz´an nagy adatdobozok kezel´es´et.

A rendszer teljes´ıtm´eny´enek m´er´es´ehez saj´at magunk k´esz´ıtette, illetve publikus tud´asb´a- zisokat haszn´altunk. Ez ut´obbiak k¨oz¨ott szerepel a LUBM [15], amelyet kifejezetten k¨ovet- keztet˝orendszerek tesztel´es´ehez fejlesztettek ki, illetve a VICODI [16], amelyet pl. a KAON2 [10] rendszer tesztel´es´en´el is alkalmaztak. A disszert´aci´oban r´eszletezett teszteredm´enyek alapj´an elmondhatjuk, hogy a DLog rendszer nagys´agrendekkel gyorsabb a hagyom´anyos megk¨ozel´ıt´est haszn´al´o Le´ır´o Logikai k¨ovetkeztet˝orendszerekn´el, mint amilyen p´eld´aul a Ra- cerPro [17] vagy a Pellet [18]. A DLog hat´ekonyabbnak bizonyult a hozz´a hasonl´o elven m˝uk¨od˝o KAON2 rendszern´el is, r´aad´asul, a KAON2-vel ellent´etben, a DLog nem ig´enyli az adatdoboz teljes el˝ozetes feldolgoz´as´at.

(10)

2. T´ezis. Kidolgoztam a SINTAGMA inform´aci´ointegr´aci´os rendszerhez egy ´ujfajta mo- dellez´esi metodol´ogi´at ´es a hozz´atartoz´o v´egrehajt´asi mechanizmust amelyek ¨otv¨ozik a Le´ır´o Logikai ´es az objektum-orient´alt modellez´es el˝onyeit. [B1, J3, C1, C6, C7, T3]

A SINTAGMA integr´aci´os rendszer t¨obb hazai ´es eur´opai projekt eredm´enyeib˝ol ´allt

¨ossze [19]. A rendszer h´arom f˝o komponensb˝ol ´all: a Modellt´arh´azb´ol, a Medi´atorb´ol ´es a k¨ul¨onf´ele csatol´okb´ol. A csatol´ok feladata, hogy a konkr´et inform´aci´oforr´asoknak (pl.

adatb´azisoknak) automatikusan el˝o´all´ıts´ak az ´un. interf´esz modelljeit. Ezen modellek k¨ozvet- len¨ul lek´erdezhet˝ok. A Modellt´arh´az t´arolja az integr´aci´o sor´an felhaszn´alt modelleket, va- lamint a fels˝obb szint˝u modellelemek als´obb szint˝uekb˝ol t¨ort´en˝o sz´armaztat´as´at le´ır´o absz- trakci´okat. A modellek le´ır´asa egy UML alap´u objektum-orient´alt nyelv, aSILanseg´ıts´eg´evel t¨ort´enik. V´eg¨ul a medi´ator feladata, hogy a magas szint˝u modelleken megfogalmazott k´erd´eseket interf´esz szint˝u modelleken feltett k´erd´esek sorozat´av´a ford´ıtsa le (amelyek m´ar k¨ozvetlen¨ul megv´alaszolhat´ok).

Amikor egy modellelemet lek´erdez¨unk a k¨ovetkez˝o k´et inform´aci´ot ny´ujtjuk a Medi´ator sz´am´ara: (1) egy k´erd´es-c´elt, amely egy szok´asos Prolog kifejez´es ´es (2) medi´ator-szab´alyok egy halmaz´at, amelyek seg´ıts´eg´evel a Medi´ator le tudja bontani a komplex k´erd´est elemi- ekre. Mag´at a v´alaszt a k´erd´es-c´el behelyettes´ıt´esi szolg´altatj´ak. Az objektum-orient´alt megk¨ozel´ıt´esn´el megszokott m´odon a v´alaszp´eld´anyoknak van statikus ´es dinamikus t´ıpusa is (a megfelel˝o attrib´utumokkal egy¨utt).

2.A Alt´ezis. Defini´altam egy modellez´esi metodik´at, amely seg´ıts´eg´evel az integr´aci´o sor´an egyar´ant haszn´alhatunk Le´ır´o Logikai ´es UML modelleket.

Els˝o l´ep´esk´ent kib˝ov´ıtettem a SILan nyelvet annak ´erdek´eben, hogy Le´ır´o Logikai konst- rukci´okat is megfogalmazhassunk benne a hagyom´anyos UML le´ır´asokon k´ıv¨ul.

M´asodik l´ep´esk´ent kidolgoztam a vonatkoz´o metodik´at, amelynek l´enyege, hogy az in- tegr´aci´o´ert felel˝os szak´ert˝o a ter¨ulet fogalmait ´es szerepeit a kiterjesztett SILan nyelvben megtal´alhat´o Le´ır´o Logikai konstrukci´ok felhaszn´al´as´aval modellezi. Ezut´an defin´ıci´os axi´om´ak seg´ıts´eg´evel visszavezeti ezen fogalmakat ´es szerepeket alacsonyabb szint˝u UML modellele- mekre. Ezen UML elemek ¨onmagukban lek´erdezhet˝ok, vagy az´ert mert interf´esz szint˝uek, vagy az´ert, mert absztrakci´okkal m´ar popul´alva vannak.

Egy fontos megoldand´o feladat annak a biztos´ıt´asa, hogy az axi´om´akban r´esztvev˝o UML oszt´alyok p´eld´anyait egys´eges m´odon tudjuk azonos´ıtani. Az UML vil´agban egy A oszt´aly p´eld´anyainak azonos´ıt´as´araAattrib´utumainak egy r´eszhalmaz´at, az ´un.kulcsokathaszn´aljuk.

Ez a m´odszer azonban nem haszn´alhat´o akkor, ha k¨ul¨onb¨oz˝o oszt´alyok p´eld´anyair´ol kell eld¨onteni, hogy azonosak-e. M´arpedig ez fontos, hiszen a defin´ıci´os axi´om´ak seg´ıts´eg´evel, t¨obbek k¨oz¨ott, k´epezhetj¨uk oszt´alyok metszet´et.

Ezen probl´ema megold´as´ara a disszert´aci´oban bevezetj¨uk a DLAny oszt´alyt, amelynek egyetlen statikus attrib´utuma van: DL ID. Megk¨ovetelj¨uk, hogy minden olyan UML oszt´aly, amely r´eszt vesz valamely le´ır´o logikai defin´ıci´os axi´om´aban, a DLAnyoszt´aly lesz´armazottja

(11)

legyen. Emiatt ezen oszt´alyok mindegyike ¨or¨okli a DL ID attrib´utumot, amely ´ıgy pontosan a k´ıv´ant glob´alis kulcsk´ent funkcion´al. Az al´abbiakban ¨osszefoglaljuk az integr´aci´os szak´ert˝o f˝obb feladatait.

1. az adott t´argyter¨ulet fogalmainak ´es kapcsolatainak meg´ert´ese

2. a fogalmak ´es kapcsolatok formaliz´al´asa SILan-ban ´es visszavezet´ese megl´ev˝o UML modellelemekre defin´ıci´os axi´om´ak seg´ıts´eg´evel

3. annak biztos´ıt´asa, hogy minden defin´ıci´os axi´om´aban szerepl˝o A atomi fogalomra iga- zak a k¨ovetkez˝ok

(a) A a le´ır´o logikai top (⊤) fogalomnak megfelel˝o DLAny oszt´alyb´ol sz´armazik (b) A megfelel˝oen van popul´alva, azaz aDL IDattrib´utum helyesen van kit¨oltve

2.B Alt´ezis. Defini´altam egy ford´ıt´asi s´em´at, amely a Le´ır´o Logikai konstrukci´okat k´erd´es- c´elokk´a ford´ıtja.

Egy Le´ır´o Logikai fogalom lek´erdez´esekor a feladatunk az, hogy egy megfelel˝o k´erd´es-c´elt alak´ıtsunk ki. A medi´ator szab´alyokkal nem kell foglalkoznunk, mert azokat csak az atomi (teh´at UML) fogalmakhoz kell megadnunk, ami a Le´ır´o Logikai ford´ıt´ast´ol f¨uggetlen feladat.

ΦA(ID, DTA) = AN(DT, [ID|SAs], DAs), DTA = DT-(SAs DAs) ΦC⊓D(ID, DTA) = ΦC(ID, DTA1), ΦD(ID, DTA2), DTA = (DTA1, DTA2) ΦC⊔D(ID, DTA) = (ΦC(ID, DTA) ; ΦD(ID, DTA))

Φ¬C(ID, ) = \+ ΦC(ID, )

Φ∃R.C(ID, DTA) = RN(RND(DT, [ID|SAs], DAs), RNR( , [ID2| ], )), ΦC(ID2, ), DTA = DT-(SAs DAs)

Φ∀R.C(ID, DTA) = ΦRD(ID, DTA),

\+ (RN(RND( , [ID| ], ), RNR( , [ID2| ], )), Φ¬C(ID2, ))

ΦnR(ID, DTA) = bagof(Y, RN(X, Y), Ys),length(Ys, S),condition(n, S), X = RND(DT, [ID|SAs], DAs), DTA = DT-(SAs DAs)

Φ( , ) = true Φ( , ) = false

(12)

Egy Le´ır´o LogikaiF fogalomnak egyetlen statikus attrib´utuma van, aDL IDkulcs. Azon- ban, szemben az objektum-orient´alt megk¨ozel´ıt´essel, F p´eld´anyainak lehet t¨obb dinamikus t´ıpusa is. Ennek megfelel˝oen egy ilyen p´eld´anyt egy (ID, DTA) p´arral reprezent´alunk. Itt ID nem m´as mint aDL ID kulcs, m´ıgDTAegy olyan Prolog strukt´ura, amely a v´alaszp´eld´any dinamikus t´ıpusait tartalmazza, mindegyiket p´aros´ıtva a megfelel˝o attrib´utumokkal.

Az fenti ´abr´an megadjuk egy tetsz˝oleges Le´ır´o Logikai fogalom k´erd´es-c´el megfelel˝oj´et.

Val´oj´aban egy ΦC f¨uggv´enyt defini´alunk, amelyik egy tetsz˝olegesC fogalomkifejez´esre vissza- adja aC-nek megfelel˝o k´erd´es-c´elt k´et argumentummal: ID-vel ´esDTA-val. Az ´abr´an DT,SAs

´esDAsrendre megfelel a dinamikus t´ıpusnak, a statikus attrib´utumoknak ´es a dinamikus att- rib´utumoknak. A oper´atorral list´ak ford´ıt´asi idej˝u ¨osszef˝uz´es´et jel¨olj¨uk. A fels˝o indexbe tettN az adott atomi fogalomhoz vagy szerephez tartoz´o Prolog strukt´uranevet, m´ıg az als´o indexbe tett D vagy R az adott szerep ´ertelmez´esi tartom´any´anak, illetve ´ert´ekk´eszlet´enek megfelel˝o atomi fogalmat jel¨oli. V´eg¨ul⋊⋉a 6´es > oper´atorok egyik´et jel¨oli.

2.C Alt´ezis. Megval´os´ıtottam a 2.A–2.B Alt´ezisekben megfogalmazott m´odszereket a SINTAGMA rendszerben.

Az implement´aci´o sor´an m´odosult a SILan nyelv szintaxisa, valamint a nyelv elemeihez kapcsol´od´o bels˝o reprezent´aci´os strukt´ur´ak is v´altoztak. L´enyegesen v´altozott tov´abb´a a rendszer v´egrehajt´asi mechanizmusa a 2.B Alt´ezisnek megfelel˝oen.

(13)

3. T´ezis. Kidolgoztam a Match programhasonl´os´ag-vizsg´al´o rendszer elm´eleti alapjait.

A Match a forr´ask´odok struktur´alis tulajdons´agait haszn´alja azok hasonl´os´agi m´ert´ek´enek meghat´aroz´as´ahoz. Megterveztem ´es implement´altam a rendszert. [J2, C2]

A Match rendszer alapgondolata az, hogy a programok lexikai hasonl´os´agvizsg´alata he- lyett a forr´ask´odokb´ol matematikai entit´asokat k´epez, amelyek k¨oz¨ott a hasonl´os´ag m´ert´eke form´alisan defini´alhat´o. Ezen entit´asokat k¨ul¨onb¨oz˝o programoz´asi nyelven ´ırt programok eset´en k¨ul¨onb¨oz˝ok´eppen k´epezhetj¨uk, de felt´etelezz¨uk hogy minden esetben c´ımk´ezett, ir´a- ny´ıtott gr´afokat kapunk eredm´eny¨ul. ´Igy a forr´ask´odok hasonl´os´agvizsg´alat´at gr´afok hason- l´os´agvizsg´alat´ara vezetj¨uk vissza. Ez a megk¨ozel´ıt´es azt is lehet˝ov´e teszi, hogy k¨ul¨onb¨oz˝o programoz´asi nyelven ´ırt k´odokat hasonl´ıtsunk ¨ossze.

C´eljaink k¨oz¨ott szerepel, hogy kisz˝urj¨uk a leggyakrabban el˝ofordul´o hallgat´oi ,,tr¨ukk¨o- ket”, mint p´eld´aul a k¨ul¨onf´ele azonos´ıt´ok ´atnevez´ese, felesleges argumentumok haszn´alata, a forr´ask´od t¨obb modulba t¨ordel´ese, l´enyegtelen k´odr´eszek besz´ur´asa, h´ıv´asok ´atvezet´ese (az ,,Ah´ıvja B” szerkezet kicser´el´ese ,,A h´ıvjaC”, ,,C h´ıvjaB”-re), illetve h´ıv´as´atcsoportos´ıt´as (ahol egy f¨uggv´eny t¨orzs´et t¨obb seg´edf¨uggv´ennyel v´altjuk ki).

3.A Alt´ezis. Kidolgoztam az absztrakci´os szinteken alapul´o hasonl´os´agi keretrendszert.

A keretrendszer h´arom f˝o komponensb˝ol ´all: (1) Lek´epz˝o, amely a forr´ask´odokb´ol k´epez matematikai entit´asokat, m´ask´eppen modelleket; (2) Egyszer˝us´ıt˝o, amely reduk´alja a mo- delleket egyszer˝ubb modellekk´e, amelyek ´ıgy az eredeti forr´ask´od absztraktabb v´altozatai;

(3)Osszehasonl´ıt´o, amely k´et azonos absztrakci´os szinten l´ev˝o modell hasonl´os´agi m´ert´ek´et¨ (amely egy 0 ´es 1 k¨oz¨otti sz´am) hat´arozza meg. Az elmondottakat illusztr´alja az al´abbi ´abra.

forr´as A forr´as B

modell A modell B

¨osszehasonl´ıt´as

¨osszehasonl´ıt´as

modell A’ modell B’

egyreabsztraktabbmodellek faktor1=1faktor2=0.9redukci´o redukci´oredukci´o

redukci´olek´epz´es lek´epz´es

(14)

Itt k´et forr´asprogramb´ol (forr´as A´esforr´as B) indulunk ki, amelyeketmodell A-ba ´es modell B-be k´epez¨unk le. Ezut´an a modellek egyre absztraktabb v´altozatait hozzuk l´etre.

V´eg¨ul az azonos szinten l´ev˝o modelleket ¨osszehasonl´ıtjuk.

Azt ´all´ıtjuk, hogy ez a keretrendszer sokkal rugalmasabb, mint ha a hasonl´os´agvizsg´alatot csup´an egyetlen absztrakci´os szinten (p´eld´aul modell A ´es modell B k¨oz¨ott) v´egezn´enk el.

Ennek oka, hogy a redukci´os technik´ak olyan jellegzetes tr¨ukk¨oket sz˝urhetnek ki egy l´ep´esben, amelyek am´ugy a k´et eredeti modellt nagym´ert´ekben k¨ul¨onb¨oz˝ov´e tenn´ek.

3.B Alt´ezis. Defini´altam k´et forr´ask´od´u program hasonl´os´ag´anak m´ert´ek´et: bevezettem a t¨obbszint˝u hasonl´os´ag fogalm´at.

Term´eszetesen, az absztrakci´os szint n¨oveked´es´evel p´arhuzamosan, a modellek hasonl´os´aga egyre kev´esb´e jelzi az eredeti forr´ask´odok hasonl´os´ag´at: extr´em esetben a modellek egyetlen pontt´a zsugorodnak ¨ossze. Ez´ert minden absztrakci´os szinthez egy faktort (0 ´es 1 k¨oz¨otti sz´am) rendel¨unk, amelyet megszorzunk az adott szinten kapott hasonl´os´agi m´ert´ekkel.

3.1. Defin´ıci´o. K´et forr´ask´od´u program hasonl´os´ag´anak m´ert´ek´en max1≤i≤nFiSi-t ´ert¨unk, ahol n az adott implement´aci´oban haszn´alt absztrakci´os szintek sz´ama. Fi jel¨oli az i. absz- trakci´os szinthez tartoz´o faktort ´es Si az i. szinten kapott hasonl´os´agi m´ert´eket. Elv´arjuk, hogy minden i-re fenn´alljon, hogy Fi+1 < Fi, ugyanakkor Si ´es Si+1 ´ert´ekeire nem tesz¨unk megk¨ot´est.

A disszert´aci´o az al´abbi egyszer˝u algoritmust javasolja max1≤i≤nFiSi kisz´am´ıt´as´ara.

1. i= 1,Max = 0

2. hasonl´ıtsd ¨ossze az i. absztrakci´os szinten l´ev˝o modelleket, azaz sz´am´ıtsd ki Si-t 3. sz´am´ıtsd ki Max =max(Si∗Fi,Max)-t

4. izomorfia (Si = 1) eset´en t´erj vissza Max-al

5. ha Max ≥Fi+1, t´erj vissza Max-al, k¨ul¨onben i=i+ 1 majd ugr´as a 2-es l´ep´esre A fentiekb˝ol k¨ovetkezik, hogy ha azi. szinten izomorf k´et modell, akkor r¨ogt¨on le´allunk.

Egy´eb esetben folytatjuk a hasonl´os´agvizsg´alatot egy magasabb absztrakci´os szinten.

3.C Alt´ezis. Olyan ¨osszehasonl´ıt´asi algoritmusokat dolgoztam ki, amelyek seg´ıts´eg´evel ir´any´ıtott k¨ormentes gr´afok hasonl´os´agi m´ert´ek´et lehet meghat´arozni.

Ir´any´ıtott k¨ormentes gr´afok (DAG-ok) izomorfi´aja eld¨onthet˝o line´aris id˝oben egyszer˝u algoritmusokkal [20]. Itt az ¨otlet az, hogy minden DAG-hoz konstru´alhat´o egy k´od, amelyikre igaz, hogy k´et k´od akkor ´es csak akkor azonos, ha a k´et DAG izomorf. Egy ilyen k´od felfoghat´o ´ugy, mint egy szekvencia (a 2 dimenzi´os gr´af 1 dimenzi´os le´ır´asa), amelyben ,,0”

´es ,,1” karakterek szerepelhetnek. Egy lev´el k´odja ,,01”, amit gyakran ,,L”-nek ´ırunk.

(15)

Az izomorfi´an t´ul fontos k´erd´es k´et DAG hasonl´os´ag´anak meg´allap´ıt´asa. A disszert´a- ci´oban javasolt ¨otlet az, hogy meghat´arozzuk azon transzform´aci´os l´ep´eseket, amelyekkel k´et DAG k´odja egym´asba alak´ıthat´o: ∆(A, B)-vel jel¨olj¨uk az A ´es B szekvenci´ak k¨ozti transzform´aci´os l´ep´eseket. ∆(A, B) val´oj´aban egy p´arokat tartalmaz´o halmaz. Egy ilyen p´ar els˝o tagja 0, 1 vagy L, amelyeket megel˝ozhet + vagy - jel (hozz´aad´as, elv´etel). Egy p´ar m´asodik tagja egy eg´esz sz´am. Egy p´ar jelent´ese, hogy az adott m˝uveletet az adott helyen kell v´egrehajtani A-n, hogy v´eg¨ulB-t kapjuk.

K´et k´od hasonl´os´agi m´ert´ek´enek meg´allap´ıt´as´ahoz ,,b¨untet´eseket” rendel¨unk az egyes transzform´aci´os l´ep´esekhez. Ezek alapj´an meghat´arozzuk Ω(A, B)-t, amely le´ırja, hogy k´et gr´afk´od mennyire k¨ul¨onb¨oz˝o (P jel¨oli a b¨untet˝of¨uggv´enyt):

Ω(A, B) = X

(E,...)∈∆(A,B)

P(E)

3.2. Defin´ıci´o. LegyenekA´esBir´any´ıtott, k¨ormentes gr´afok. A´esB hasonl´os´agi m´ert´ek´en az 1−Ω(A, B) mennyis´eget ´ertj¨uk.

Speci´alis esetekben az ´ıgy defini´alt hasonl´os´agi m´ert´ek m´eg nem ad megfelel˝o eredm´enyt.

Ennek az oka, hogy egy G DAG-ban egy v csom´opont k´odja G k´odj´aban m alkalommal szerepel, ahol m a gy¨ok´erb˝ol v-ig vezet˝o k¨ul¨onb¨oz˝o utak sz´ama. Ez viszont azt jelenti, hogy ha k´et DAG egy olyan csom´opontban t´er el l´enyegesen, amely sok ´uton el´erhet˝o a gy¨ok´erb˝ol, akkor a fentebb defini´alt hasonl´os´agi m´ert´ek torz´ıtani fog.

Ennek kik¨usz¨ob¨ol´es´ere a disszert´aci´o k´et megold´ast javasol. Az els˝o az, hogy olyan re- dukci´os l´ep´eseket kell haszn´alni, amelyek cs¨okkentik a k¨ul¨onb¨oz˝o utak sz´am´at, azaz a mo- delleket egyre ink´abb ,,faszer˝uv´e” teszik. A m´asik megold´as az Ω(A, B) k¨ul¨onb¨oz˝os´eg egy jav´ıtott vari´ansa, amely az az al´abbi ´abr´an l´athat´o.

(A,B) =

ha lehet parositani nepszeru pontokat(A,B) akkor (N,M) = ket nepszeru csomopontja(A,B);

A’ = redukaltja(A, N);

B’ = redukaltja(B, M);

return Ω(A’,B’) + Ω(N,M);

k¨ul¨onben

return Ω(A,B);

A m´odos´ıt´as l´enyege, hogy speci´alisan kezelj¨uk a sok bej¨ov˝o ´ellel rendelkez˝o (,,n´epszer˝u”) csom´opontokat. Feltessz¨uk, hogy ezen pontokA-ban ´es B-ben megfelel˝o heurisztika seg´ıts´e- g´evel egym´ashoz rendelhet˝ok. K´et ilyen pontra rekurz´ıvan kisz´amoljuk a k¨ul¨onb¨oz˝os´eg¨uket, majd kivessz¨uk ˝oket az eredeti gr´afokb´ol.

(16)

3.D Alt´ezis. Prolog programokra megval´os´ıtottam a 3.A–3.C Alt´ezisekben megfogalma- zott m´odszereket ´es algoritmusokat.

Az implement´aci´o sor´an egy Prolog forr´ask´odot a neki megfelel˝o h´ıv´asi gr´afra k´epezt¨unk le. Ebben a gr´afban a csom´opontok Prolog elj´ar´asoknak, a k¨ozt¨uk fut´o ´elek pedig elj´ar´as- h´ıv´asoknak felelnek meg. Prolog programokat a h´ıv´asi gr´afjuk j´ol jellemez, mert a Prolog nyelvben a hagyom´anyos vez´erl´esi szerkezeteket (p´eld´aul while vagy for konstrukci´okat)

´eppen az elj´ar´ash´ıv´asok v´altj´ak ki.

N´egyf´ele absztrakci´os szintet alak´ıtottunk ki a k¨ovetkez˝o redukci´os l´ep´esek alkalmaz´as´aval:

(1) nem h´ıvott elj´ar´asok sz˝ur´ese, (2) k¨onyvt´ari elj´ar´asok sz˝ur´ese, (3) t¨obbsz¨or¨os ´elek sz˝ur´ese

´es (4) m´asodfok´u pontok sz˝ur´ese.

A modellek ¨osszehasonl´ıt´as´ahoz, azaz az 1−Ω(A, B) kifejez´es kisz´am´ıt´as´ahoz, a Unix diff algoritmus´at alkalmaztuk, az A-nak ´es B-nek megfelel˝o szekvenci´akon.

Az eredm´enyek ´ert´ekel´es´ehez fontos, hogy a hasonl´os´agi m´ert´eken t´ul valamif´ele ,,bi- zony´ıt´ekkal” is szolg´aljunk a felhaszn´al´o sz´am´ara arr´ol, hogy mi´ert gondoljuk azt, hogy k´et program hasonl´o. Ehhez megadjuk a k´et program predik´atumainak egy legval´osz´ın˝ubb megfeleltet´es´et, amelyet a szekvenci´ak szisztematikus bej´ar´as´aval ´all´ıtunk el˝o. Egy ilyen bi- zony´ıt´ekra mutat p´eld´at az al´abbi ´abra. Itt a hasonl´os´ag m´ert´eke a negyedik absztrakci´os szinten 68.5%. L´athat´o, hogy a Match szerint p´eld´aul az egyik programban megl´ev˝o kul/3 elj´ar´asnak, a kulonb/3felel meg a m´asik programban.

(17)

4. T´ezis. Kidolgoztam az SREngine szab´alyalap´u k¨ovetkeztet˝o rendszer elm´eleti alapjait, amely metainform´aci´ok er˝oforr´asokhoz kapcsol´as´at automatiz´alja. Megterveztem ´es imple- ment´altam a rendszert. [J4, C8]

A rendszer c´elja, hogy egy speci´alis nyelven le´ırt szab´alyhalmaz seg´ıts´eg´evel ´uj tulaj- dons´agokat k¨ovetkeztess¨unk ki dokumentumok egy halmaz´an, az ´un. dokumentumt´arban.

Dokumentum alatt nem puszt´an t´enyleges dokumentumot, hanem sok kapcsol´od´o entit´ast is ´ert¨unk, mint p´eld´aul k¨onyvt´ar, k´ep stb. Absztrakt szinten ´ıgy egy dokumentumt´arat egy ir´any´ıtott gr´afnak tekint¨unk, ahol az ´elek csom´opontok ´es ´ert´ekek vagy csom´opontok ´es csom´opontok k¨oz¨ott futhatnak. A rendszer magas szint˝u architekt´ur´aja l´athat´o al´abb.

SREngine rendszer

Dokumentumt´ar Kik¨ovetkeztetett tulajdons´agok

SRLang szab´alyok

A kik¨ovetkeztetett tulajdons´agokat felhaszn´alhatjuk arra, hogy dokumentumokra vonat- koz´o k´erd´esekre intelligensebben v´alaszoljunk, illetve speci´alisan arra, hogy dokumentumokat automatikusan kategoriz´aljunk.

4.A Alt´ezis. Kidolgoztam az SRLang-ot, egy logikai alap´u nyelvet, amely seg´ıts´eg´evel metainform´aci´okra vonatkoz´o szab´alyokat lehet le´ırni.

Az SRLang nyelv hasonl´ıt a Prolog nyelvre: a szab´alyok egy fejb˝ol ´es egy t¨orzsb˝ol

´allnak, ahol ez ut´obbi c´elokb´ol ´ep¨ul fel. Fontos azonban megjegyezni, hogy a szab´alyok v´egrehajt´asa l´enyegesen elt´er a Prolog nyelv v´egrehajt´asi mechanizmus´at´ol (l´asd a 4.B alt´ezis t´argyal´as´at). Emellett az SRLang nyelv megenged kvantoros konstrukci´okat is; erre mutatunk egy p´eld´at al´abb. Itt egy dokumentumot a m´ern¨oki kateg´ori´aba sorolunk, ha minden szerz˝oje vagy m´ern¨ok vagy matematikus:

document_type(Document, m´ern¨oki) <==

forall Author in has_author(Document,Author)::

forall Degree in has_degree(Author, Degree)::

(

has_type(Degree, "m´ern¨ok") or has_type(Degree, "matematikus") ).

A szab´alynyelv megengedi k¨uls˝o h´ıv´asok haszn´alat´at, amellyel kiterjeszthet˝o az SRLang funkcionalit´asa. A k¨uls˝o h´ıv´asokat tipikusan arra haszn´aljuk, hogy inform´aci´okinyer˝o mo- dulokat ´erj¨unk el seg´ıts´eg¨ukkel, amelyek a dokumentumok t´enyleges tartalm´an v´egeznek

(18)

m˝uveleteket: kinyerik p´eld´aul a szerz˝ok neveit, a dokumentum strukt´ur´aj´anak jellemz˝oit stb. Ezen k¨uls˝o h´ıv´asokat a megszokott m´odon haszn´alhatjuk fel szab´alyok k´esz´ıt´esekor.

Egy p´eld´at l´athatunk al´abb (itt azex propertyjelzi a tartalmazk¨uls˝o elj´ar´as megh´ıv´as´at).

document_type(Document, lev´el) <==

has_binary(Document, Binary) and

ex_property("tartalmaz", ["lev´el",Binary], _).

Amikor SRLan szab´alyokat ki´ert´ekel¨unk egy adott dokumentumra akkor tulajdons´agok egy halmaz´at kapjuk eredm´eny¨ul. Ez a halmaz csak ´es kiz´ar´olag azon tulajdons´agokat tartal- mazza, amelyek logikaik¨ovetkezm´enyei a szab´alyok els˝orend˝u logikai alakj´anak. Nevezetesen, egy olyan SRLang szab´aly amely nem tartalmaz neg´aci´ot ´esforall konstrukci´ot k¨oz¨ons´eges Horn-kl´oznak felel meg. Az ´altal´anosforall konstrukci´o megfelel az al´abbi formul´anak:

(∀X1. . . Xj)(T1∧. . .∧Tk ←F1∧. . .∧Fn)

A neg´aci´ot a ,,z´art vil´ag” elvnek megfelel˝o ´un.meghi´usul´asos neg´aci´o(negation by failure) seg´ıts´eg´evel val´os´ıtjuk meg.

4.B Alt´ezis. Megterveztem a v´egrehajt´asi mechanizmust ´es implement´altam a rendszert.

A szab´alyok v´egrehajt´as´ahoz egy saj´atbottom-up k¨ovetkeztet˝ot implement´altunk, amely egyr´eszt jobban igazodik a feladathoz, m´asr´eszt j´oval robusztusabb, mint a hagyom´anyos Prolog v´egrehajt´asi mechanizmus. Ennek t´amogat´as´ahoz, illetve a hat´ekonyabb v´egrehajt´as

´erdek´eben, implement´altunk egyr´etegez˝ot, amely a szab´alyokat r´etegekre osztja a topol´ogikus sorrendj¨uknek megfelel˝oen. Ilyen r´etegez´esre mutat p´eld´at az al´abbi ´abra.

document type

has contributor

has author1

has author2

has author3

1 2

3 4

A RuleEngine rendszert ´ugy tervezt¨uk, hogy megl´ev˝o tartalomkezel˝o rendszerekhez (host rendszer) kapcsol´odva, k¨uls˝o modulk´ent funkcion´aljon. A host rendszerrel t¨ort´en˝o kommu- nik´aci´ot pontosan specifik´altuk: webszolg´altat´as alap´u interf´eszeket dolgoztunk ki a do- kumentumt´ar tartalm´anak el´er´es´ehez, az SRLang szab´alyok ´atvitel´ehez, valamint az in- form´aci´okinyer˝o modulok kommunik´aci´os fel¨ulet´ehez.

(19)

5. A kutat´ as m´ odszertana

A kutat´as sor´an alapvet˝oen a matematikai logika, a sz´am´ıt´og´epes modellez´es, a logikai prog- ramoz´as ´es a gr´afelm´elet eszk¨ozt´ar´at haszn´altam. A Le´ır´o Logikai algoritmusokkal kapcsola- tos t´etelek ´es bizony´ıt´asok nagym´ert´ekben haszn´alj´ak a rezol´uci´o elm´elet´et, valamint a Pro- log nyelv k¨ul¨onf´ele konstrukci´onak elm´eleti ´es gyakorlati h´atter´et. A inform´aci´ointegr´aci´os m´odszerek kutat´asa sor´an t´amaszkodtam az objektum-orient´alt modellez´esre ´es az adatb´a- zisok elm´elet´ere. A forr´ask´odok hasonl´os´agvizsg´alat´ara adott m´odszerek fejleszt´ese sor´an k¨ul¨onf´ele gr´afelm´eleti ´es diszkr´et matematikai eredm´enyeket haszn´altam fel. Az SRLang szab´alynyelv kialak´ıt´asa sor´an a sz´am´ıt´og´epes modellez´es j´atszott fontos szerepet.

6. Az eredm´ enyek alkalmaz´ asa

Az 1. t´ezisben bemutatott DLog k¨ovetkeztet˝o rendszer protot´ıpusa el´erhet˝o az ´erdekl˝od˝o szakemberek sz´am´ara ahttp://dlog-reasoner.sourceforge.netwebc´ımen. A DLog rend- szert v´arhat´oan olyan k¨ornyezetben fogj´ak ´erdekesnek tal´alni, ahol nagym´eret˝u adathalma- zon kell Le´ır´o Logikai k¨ovetkeztet´eseket v´egezni. Ezen k´ıv¨ul ´ugy gondoljuk, hogy a t´ezisben megfogalmazott t´etelek ´es a kapcsol´od´o algoritmusok egy r´esz´et m´as Le´ır´o Logikai k¨ovetkez- tet˝o rendszerekben is fel lehet haszn´alni, azok hat´ekonyabb´a t´etel´eben.

A 2. t´ezisben megfogalmazott hibrid modellez´esi nyelvet, a kapcsol´od´o modellez´esi meto- dol´ogi´at ´es lek´erdez´esi transzform´aci´ot a SINTAGMA inform´aci´ointegr´aci´os rendszer keretein bel¨ul implement´altuk. A SINTAGMA rendszert k´ıs´erleti jelleggel t¨obb helyen is alkalmazz´ak, t¨obbek k¨oz¨ott a Orsz´agos Sz´ech´enyi K¨onyvt´arban, illetve a Magyar T´avirati Irod´aban.

A 3. t´ezisben bemutatott Match alkalmaz´ast ´evek ´ota haszn´aljuk arra, hogy a BME Villamosm´ern¨oki ´es Informatikai kar´an oktatott Deklarat´ıv Programoz´as c. t´argy keretein bel¨ul a nagyh´azi feladatokat ellen˝orizz¨uk. Az ´altalam kidolgozott Prolog nyelvi illeszt´es mellett Han´ak D´avid elk´esz´ıtette az SML nyelvi hasonl´os´agvizsg´alathoz sz¨uks´eges illeszt´est is,

´ıgy a Match rendszert mindk´et, a Deklarat´ıv Programoz´as c. t´argy keret´eben oktatott nyelv eset´en felhaszn´aljuk. A tapasztalatok alapj´an elmondhatjuk, hogy ez az alkalmaz´as sokat seg´ıt a hasonl´os´agok kisz˝ur´es´eben: sz´amos esetben h´ıvta fel a figyelmet olyan m´asol´okra, akik saj´at bevall´asuk szerint is hossz´u ´or´akat t¨olt¨ottek el azzal, hogy elfedj´ek a m´asol´as t´eny´et.

A 4. t´ezisben le´ırt RuleEngine alkalmaz´ast k´ıs´erleti jelleggel pr´ob´altuk ki egy kereskedelmi port´al ´es tartalomkezel˝o rendszerben, a SenseNet Portal Engine-ben. Ez megmutatta az

´altalunk v´alasztott megk¨ozel´ıt´es alkalmazhat´os´ag´at ´es el˝onyeit. Ahhoz, hogy a rendszert ,,´eles” k¨or¨ulm´enyek k¨oz¨ott is alkalmazzuk tov´abbi tesztek ´es fejleszt´esek sz¨uks´egesek.

Publik´ aci´ ok

[B1] P´eter Szeredi, Gergely Luk´acsy, and Tam´as Benk˝o.Theory and Practice of the Semantic Web (in Hungarian). Typotex, Budapest, 2005. Accepted for publication by Cambridge University Press.

(20)

[J1] Gergely Luk´acsy and P´eter Szeredi. Efficient description logic reasoning in Prolog: the DLog system. Technical report, Budapest University of Technology and Economics, January 2008. Submitted to Theory and Practice of Logic Programming.

[J2] Gergely Luk´acsy and P´eter Szeredi. Plagiarism detection in source programs using struc- tural similarities. Technical report, Budapest University of Technology and Economics, July 2007. Submitted to Acta Cybernetica.

[J3] Gergely Luk´acsy and P´eter Szeredi. Combining description logics and object oriented models in an information framework. Technical report, Budapest University of Techno- logy and Economics, October 2007. Submitted to Periodica Polytechnica.

[J4] Gergely Luk´acsy and P´eter Szeredi. Logic based management of documents Technical report, Budapest University of Technology and Economics, February 2008. Submitted to Journal of Computing and Information Technology.

[C1] Tam´as Benk˝o, Gergely Luk´acsy, Attila Fokt, P´eter Szeredi, Imre Kili´an, and P´eter Krauth. Information integration through reasoning on meta-data. InProceedings of the Workshop

”AI Moves to IA, Workshop on Artificial Intelligence, Information Access, and Mobile Computing”, IJCAI’03, Acapulco, Mexico, pages 65–77, August 2003.

[C2] Gergely Luk´acsy and P´eter Szeredi. A generic framework for plagiarism detection in programs. In Proceedings of the 4st Japanese-Hungarian Symposium on Discrete Mathematics and Its Applications, pages 189–198, Budapest, Hungary, 2005.

[C3] Zsolt Nagy, Gergely Luk´acsy, and P´eter Szeredi. Translating description logic queries to Prolog. In Pascal Van Hentenryck, editor, Practical Aspects of Declarative Languages, 8th International Symposium, PADL 2006, Charleston, SC, USA, January 9-10, 2006, Proceedings, volume 3819 of Lecture Notes in Computer Science, pages 168–182, 2006.

[C4] Zsolt Nagy, Gergely Luk´acsy, and P´eter Szeredi. Description logic reasoning using the PTTP approach. In Bijan Parsia, Ulrike Sattler, and David Toman, editors, Proceedings of the 2006 International Workshop on Description Logics (DL2006), volume 189 of CEUR, pages 183–191, Windermere, U.K., 2006.

[C5] Gergely Luk´acsy, Zsolt Nagy, and P´eter Szeredi. Using logic programs for description logic reasoning. In Sebastian Schaffert and York Sure, editors, Proceedings of Semantics 2006, pages 113–125, Vienna, Austria, November 2006.

[C6] Gergely Luk´acsy, Tam´as Benk˝o, and P´eter Szeredi. Towards automatic semantic integ- ration. In Ricardo J. Gon¸calves, J¨org P. M¨uller, Kai Mertins, and Martin Zelm, editors, Enterprise Interoperability II: New Challenges and Approaches, Proceedings of the 3rd International Conference on Interoperability for Enterprise Software and Applications (IESA-07), pages 795–806. Springer Verlag, March 2007.

(21)

[C7] Gergely Luk´acsy and P´eter Szeredi. Ontology based information integration using logic programming. In Edna Ruckhaus, editor,Proceedings of the 2nd International Workshop on Applications of Logic Programming to the Web, Semantic Web and Semantic Web Services (ALPSWS2007), pages 39–54, Porto, Portugal, 2007.

[C8] Gergely Luk´acsy and P´eter Szeredi. Rule based classification of documents using Lo- gic Programming. In Vitor Santos Costa Salvador Abreau, editor, Proceedings of the 7th International Colloquium on Implementation of Constraint and Logic Programming Systems (CICLOPS2007), pages 16–31, Porto, Portugal, 2007.

[T3] Luk´acsy Gergely, Benk˝o Tam´as, Szeredi P´eter ´es Krauth P´eter. Lo- gikai alap´u ontol´ogiakezel´es. Networkshop 2003 konferencia, P´ecs.

http://nws.iif.hu/ncd2003/docs/ehu/EHU-122.pdf.

[T4] Zsolt Nagy and Gergely Luk´acsy. Open world reasoning in Datalog. In Maurizio Gabb- rielli and Gopal Gupta, editors, Logic Programming, 21st International Conference, ICLP 2005, Sitges, Spain, October 2-5, 2005, Proceedings, volume 3668 ofLecture No- tes in Computer Science, pages 427–428. Springer Verlag, 2005. Extended abstract of a poster presentation.

[T5] Gergely Luk´acsy, Zsolt Nagy, and P´eter Szeredi. Prolog Execution Engines for Desc- ription Logic Reasoners. In A. Polleres, S. Decker, G. Gupta, , and J. de Bruijn, editors, Proceedings of the 1st International Workshop on Applications of Logic Programming to the Web, Semantic Web and Semantic Web Services (ALPSWS2006), pages 109–111, Seattle, USA, 2006. Extended abstract of a poster presentation.

[T6] Gergely Luk´acsy. Description logic reasoning in Prolog. In Sandro Etalle and Miroslaw Truszczynski, editors, Logic Programming, 22nd International Conference, ICLP 2006, Seattle, WA, USA, August 17-20, 2006, Proceedings, volume 4079 of Lecture Notes in Computer Science, pages 463–464. Springer Verlag, 2006. Extended abstract of a Doctoral Consortium presentation.

Egy´ eb kapcsol´ od´ o publik´ aci´ ok

[K1] Gergely H´eja, Gy¨orgy Surj´an, Gergely Luk´acsy, P´eter Pallinger, and Mikl´os Gergely.

GALEN based formal representation of ICD10. International Journal of Medical Infor- matics, 76(2-3):118–123, 2007.

[K2] Luk´acsy Gergely. Intelligens lek´erdez´es ´es k¨ovetkeztet´es a Weben, 2003. Orsz´agos TDK Konferencia, Gy˝or.

[K3] Luk´acsy Gergely. Forr´ask´od´u programok hasonl´os´agvizsg´alata, 2001. Orsz´agos TDK Konferencia, Eger.

(22)

Hivatkoz´ asok

[1] ISO Prolog standard, 1995. ISO/IEC 13211-1.

[2] Linh Anh Nguyen. A fixpoint semantics and an sld-resolution calculus for modal logic programs. Fundam. Inf., 55(1):63–100, 2003.

[3] U. Nilsson and J. Maluszynski, editors. Logic, Programming and Prolog. John Wiley and Sons Ltd., 1990.

[4] Ian Horrocks. Reasoning with expressive description logics: Theory and practice. In Proc. of the 18th Int. Conf. on Automated Deduction (CADE 2002), number 2392 in Lecture Notes in Artificial Intelligence, pages 1–15. Springer, 2002.

[5] Sean Bechhofer. Web Ontology Language. W3C recommendation, February 2004.

[6] Enrico Franconi. Natural language processing. InThe description logic handbook: the- ory, implementation, and applications, pages 450–461, New York, NY, USA, 2003. Cam- bridge University Press.

[7] Robert Stevens, Carole Goble, Ian Horrocks, and Sean Bechhofer. OILing the way to machine understandable bioinformatics resources. IEEE Transactions on Information Technology in Biomedicine, 6(2):129–134, 2002.

[8] Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini, Daniele Nardi, and Ric- cardo Rosati. Description logic framework for information integration. In Principles of Knowledge Representation and Reasoning, pages 2–13, 1998.

[9] Michael Eisfeld. Model construction for configuration design. In Proceedings of the Workshop of Applications of Description Logics. Technical University of Dresden, Ger- many, 2002.

[10] Boris Motik.Reasoning in Description Logics using Resolution and Deductive Databases.

PhD thesis, Univesit¨at Karlsruhe (TH), Karlsruhe, Germany, January 2006.

[11] Zsolt Zombori. Efficient Two-Phase Data Reasoning for Description Logics. Report, Budapest University of Technology and Economics, 2007. Submitted to the Second IFIP International Conference on Artificial Intelligence in Theory and Practice, Milan, Sept 2008.

[12] Mark E. Stickel. A Prolog technology theorem prover: a new exposition and implemen- tation in Prolog. Theoretical Computer Science, 104(1):109–128, 1992.

[13] R. Kowalski and D. Kuehner. Linear resolution with selection function. Artificial Intelligence, 2:227–260, 1971.

[14] Sean Bechhofer. The DIG (DL Implementors Group) description logic interface, 2006.

http://dig.cs.manchester.ac.uk/

(23)

[15] Yuanbo Guo, Zhengxiang Pan, and Jeff Heflin. An evaluation of knowledge base systems for large OWL datasets. In International Semantic Web Conference, pages 274–288, Hiroshima, Japan, November 2004.

[16] G´abor Nagyp´al and Boris Motik. A Fuzzy Model for Representing Uncertain, Subjective, and Vague Temporal Knowledge in Ontologies. InProc. of the 2003 Int. Conference on Ontologies, Databases and Applications of SEmantics (ODBASE 2003), volume 2888 of LNCS, pages 906–923, Catania, Italy, November 3–7 2003. Springer.

[17] V. Haarslev, R. M¨oller, R. van der Straeten, and M. Wessel. Extended Query Facilities for Racer and an Application to Software-Engineering Problems. In Proceedings of the 2004 International Workshop on Description Logics (DL-2004), Whistler, BC, Canada, June 6-8, pages 148–157, 2004.

[18] Evren Sirin, Bijan Parsia, Bernardo Cuenca Grau, Aditya Kalyanpur, and Yarden Katz.

Pellet: A practical OWL-DL reasoner. Web Semant., 5(2):51–53, 2007.

[19] A SINTAGMA inform´aci´ointegr´aci´os rendszer. http://www.sintagma.hu, 2000-2007.

[20] A. Jovanovi´c and D. Danilovi´c. A new algorithm for solving the tree isomorphism problem. Computing, 32(3):187–198, 1984.

Hivatkoz´ asi lista

1. Hivatkoz´as [C3] cikkre.

”There is also an implementation (Nagy et al. 2006) that similarly finds all the indi- viduals with descriptions stored in a data base that are instances of some OWL class description by translating the class description to Prolog, but, as reported, the approach does not currently make use of class and property axioms”

Keith L. Clark, Frank G. McCabe. Ontology schema for an agent belief store, Inter- national Journal of Human-Computer Studies, volume 65, issue 7, pp. 640–658, July 2007.

2. Hivatkoz´as [C3] cikkre.

”...”

Xing-Sheng Xie, Bin Li, Xiang Fang, Zhen-Quan Zhuang. A Design of Query Answe- ring Processor for Data Integration Based on Logic, Journal of University of Science and Technology of China, volume 36, issue 11, pp. 1214–1220, November, 2006.

3. Hivatkoz´as [C3] cikkre.

”...”

Pei-Guang Lin, Hong Liu, Xiao-Zhong Fan, Tao Wang. New Method for Query Ans- wering in Semantic Web, Journal of Southeast University (English Edition), volume 22, issue 3, pp. 319–323, September 2006.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Vannak glob´ alis le´ır´ok, amelyek alkalmazhat´oak 2.5D- s esetben [20], ´es a legt¨ obb lok´alis le´ır´o kiterjeszthet¨o glob´ aliss´a, ha az eg´esz pontfelh˝ ot egy

A szenzor alacsony t´erbeli felbont´asa ´es a k¨ul¨onb¨oz˝o takar´asi jelens´egek k¨ovetkezt´eben kialakul´o hi´anyos alakzatform´ak miatt ´ugy d¨ont¨ott¨unk, hogy

A m´odszer n´egy sz´ınre t¨ort´en˝o ´altal´anos´ıt´asa a Sz´ekely L´aszl´o, Mike Steel ´es David Penny h´armassal k¨oz¨os [5] cikkben kezdt¨ uk meg, illetve a

Az eml´ıtett (CD, CES) termel´esi f¨uggv´enyek v´altoz´oi pozit´ıv sz´amok, a f¨uggv´enyek maguk pedig folytonosak ´es minden v´altoz´ojukban szigor´uan monotonak. A

Jelenlegi f˝ o kutat´ asi ter¨ ulete a parci´ alis differenci´ alegyenletek numerikus megold´ as´ anak anal´ızise ´ es az ezekkel kapcsolatos modellez´ es k´ erd´

Vajon megnyugtat´o-e sz´am´ara az a t´eny, hogy a filmel˝ oh´ ıv´as folyamata els˝ orend˝ u kinetik´at k¨ovet ´es a M´arkan´ev-hez kapcsol´od´o el˝ oh´ ıv´asi

A kutat´ asom c´ elja egy olyan ´ altal´ anos hardver- ´ es szoftverrendszer tervez´ ese, amely megfelel˝ o t´ amogat´ ast adhatna a Compressive Sensing eredm´ enyeinek val´ os

A helyes´ır´ asi sz´ ot´ ar semmif´ ele inform´ aci´ ot nem tar- talmaz sem a benne szerepl˝ o szavak sz´ ofaj´ ara, sem azok nyelv´ ere, illetve ki- ejt´ es´ ere