1 Tudásalapú rendszerek és technológiák Dr. Bognár Katalin 2010.
2
Contents I Fogalmi háttér 9 1 Bevezetés 11 2 Mesterséges Intelligencia háttér 15 2.1 Intelligencia és intelligens viselkedés............ 15 2.2 Turing teszt......................... 16 2.3 Az emberi problémamegoldó gondolkodás......... 17 2.4 A szakmai fejlődés lépcsőfokai............... 17 2.5 Mesterséges intelligencia.................. 18 2.6 Algoritmikus megközelítés................. 20 2.6.1 Algoritmikusan megoldható problémák...... 20 2.6.2 Nem algoritmikus megoldható problémák..... 21 2.7 Az MI és a klasszikus informatika............. 22 2.7.1 Alkalmazási területek................ 22 2.7.2 Az adatok természete................ 23 2.7.3 Az adatok pontossága............... 23 2.7.4 A felmerült probléma megoldása.......... 24 3 Fogalmi rendszerezés 27 3.1 Adat, információ, ismeret fogalma............. 27 3.1.1 Adat......................... 27 3.1.2 Információ...................... 27 3.1.3 Tudás vagy ismeret................. 28 3.2 A szakértő rendszer fogalma................ 28 3
4 CONTENTS II Tudásalapú, szakértő rendszerek 29 4 Az ismeretalapú rendszerek 31 4.1 Az ismeretalapú rendszerek jellemzői........... 31 4.2 Az emberi tudás és a szakértő rendszer összevetése.... 32 4.3 A szakértő rendszer előnyei................. 32 4.4 A szakértő rendszer hátrányai............... 33 4.5 A szakértő rendszer tudásszintje.............. 33 4.6 Az ismeretalapú rendszerek felépítése........... 34 4.6.1 Ismeretbázis.................... 34 4.6.2 Következtetőgép.................. 34 4.6.3 Magyarázó alrendszer................ 34 4.6.4 Ismeretbázis fejlesztő alrendszer.......... 36 4.6.5 Felhasználói felület................. 36 5 Ismeretszerzés 37 5.1 Ismeretszerzés célja..................... 37 5.2 Az ismeretszerzés részterületei............... 38 5.2.1 Szereplők...................... 38 5.3 Az ismeretszerzés nehézségei................ 39 5.4 A tudásmegszerzés módszerei............... 39 6 Ismeretábrázolás 41 6.1 Szabályalapú ismeretreprezentáció............. 42 6.1.1 Következtetési stratégiák.............. 43 6.1.2 Szabályalapú rendszerek értékelése........ 48 6.2 Szemantikus (asszociatív) hálók.............. 52 6.2.1 Előnyök....................... 55 6.3 Keretalapú ismeretreprezentáció.............. 57 6.3.1 Öröklődés...................... 60 6.3.2 Démonok...................... 61 6.3.3 A keretalapú ismeretábrázolás előnyei....... 62 6.3.4 A keretalapú ismeretábrázolás hátrányai..... 62 6.3.5 Példa......................... 62 6.3.6 A hierarchikus struktúráról............ 64 6.3.7 Példa démon alkalmazására............ 67
CONTENTS 5 7 Leíró logikák 69 7.1 Bevezetés.......................... 69 7.2 A leíró logikák kialakulásának története.......... 71 7.3 A leíró nyelvek szintaxisa és szemantikája......... 72 7.3.1 A leíró nyelvek szintaxisa.............. 72 7.3.2 Példák........................ 73 7.3.3 A leíró nyelvek szemantikája............ 75 7.3.4 Az ALCN R nyelv szemantikája.......... 75 7.4 Hierarchia a fogalmak és a szerepek körében....... 78 7.4.1 Egyszerű példák alárendelésre........... 79 7.5 Az SHIQ nyelvcsalád................... 79 7.5.1 Az SHIQ..................... 79 7.5.2 Az SHIQ nyelv szemantikája........... 80 7.6 A leíró ismeretbázis fogalma................ 81 7.6.1 Példa leíró ismeretbázisra............. 82 7.7 Következtetési eljárások egy leíró ismeretbázisban.... 84 7.7.1 Példa az egyedesítésre............... 84 7.8 Nyíltvilág és zárt világ szemantika............. 86 7.9 A leíró logika, a klasszikus logika és az objektum alapú ismeretábrázolás....................... 87 7.10 Alkalmazások........................ 89 8 Az osztályozás fogalmának háló alapú bevezetése 91 8.1 Bevezetés.......................... 91 8.2 Hálóelméleti alapfogalmak................. 92 8.2.1 A háló fogalma................... 92 8.2.2 Példák........................ 93 8.2.3 A hálók tulajdonságai............... 94 8.2.4 Moduláris hálók................... 95 8.2.5 Disztributív hálók.................. 96 8.2.6 Boole-algebra.................... 97 8.3 Fogalmi hierarchia..................... 98 8.4 Az osztályozási eljárás................... 98 8.4.1 Egy klasszifikációs algoritmus........... 99 8.4.2 Példák........................ 100 8.5 Összegzés.......................... 101
6 CONTENTS 9 Bizonytalanságkezelés 105 9.1 Bevezetés.......................... 105 9.2 A bizonytalanságkezelés módszereinek, modelljeinek osztályozása105 9.3 Numerikus modellek, a Bayes-tételen alapuló módszer.. 107 9.3.1 Kísérlet, esemény és ellentett esemény...... 107 9.3.2 Műveletek eseményekkel, teljes eseményrendszer. 108 9.3.3 Valószínűségi mérték, feltételes valószínűség, Bayes tétele......................... 109 9.3.4 Példa a Bayes módszer alkalmazására....... 110 9.4 Fuzzy logika......................... 112 9.4.1 Bevezetés...................... 112 9.4.2 Fuzzy halmazelmélet................ 112 9.4.3 Lukasiewicz fuzzy logikája............. 114 9.4.4 Gödel fuzzy logikája................ 116 9.4.5 A fuzzy rendszerek értékelése........... 118 9.5 A Bayes módszer, a fuzzy modell és a heurisztikus modellek119 10 Következtető rendszerek 121 10.1 Következtetési módok.................... 121 10.1.1 Formális következtetés............... 121 10.1.2 Procedurális következtetés............. 121 10.1.3 Analógián alapuló következtetés.......... 121 10.1.4 Általánosításon és absztrakción alapuló következtetés122 10.1.5 Eset-alapú következtetés.............. 122 10.1.6 Közelítő következtetés............... 122 10.1.7 Hipotetikus következtetés............. 122 10.1.8 Alapértelmezésen alapuló.............. 122 10.1.9 Kvalitatív következtetés.............. 122 10.2 Hasonlóságon alapuló következtetés............ 122 10.3 Eset alapú következtetés.................. 123 10.3.1 A CBR életciklusa................. 125 10.4 CBR az OOKBR-ben.................... 126 10.4.1 Objektum alapú ismeretábrázolás......... 126 10.4.2 Az esetek hierarchikus szervezése......... 127 10.4.3 Példa......................... 128 10.5 Eset visszakeresés, adaptáció................ 129 10.5.1 Eset visszakeresés.................. 129
CONTENTS 7 10.5.2 Példa eset visszakeresésre............. 130 10.5.3 Adaptáció...................... 130 10.5.4 Példa adaptációra.................. 130 10.5.5 Gyenge osztályozás................. 131 10.5.6 Példa gyenge osztályozásra............. 132 III Tudáskezelési technológiák 135 11 Ágensek 137 11.1 Bevezetés.......................... 137 11.2 Az ágens szó eredete.................... 138 11.3 Az ágens általános jelentése................ 138 11.4 Ágens definíciók....................... 139 11.5 Az ágensek csoportos ása................. 140 11.5.1 Kölcsönható ágensek................ 140 11.5.2 ADAPTÍV, TANULÓ ÁGENSEK......... 140 11.6 ÁGENSEK ALKALMAZÁSA INFORMÁCIÓS REND- SZEREKBEN........................ 143 11.6.1 FELHASZNÁLÓI MODELLEZÉS ÁGENS REND- SZEREKBEN.................... 144 11.6.2 INTERNET ÉS WWW-ÁGENSEK........ 145 11.6.3 ÁGENSEK AZ ELEKTRONIKUS KERESKEDELEM- BEN......................... 146 11.6.4 INTERFÉSZ ÁGENSEK.............. 146 11.6.5 ASSZISZTENSEK................. 147 11.6.6 OKTATÓ ÁGENSEK............... 147 11.6.7 MOBIL ÁGENSEK................. 147 11.6.8 A MOBIL ALKALMAZÁSOK PROBLÉMÁI.. 151 11.6.9 TIPIKUS ALKALMAZÁSOK........... 153 11.7 Struktúrák és részben-struktúrált adatok......... 154 11.7.1 Részben-struktúrált adatok............ 154 11.8 Szemantikus web...................... 160 11.8.1 A gépekhez beszélő Web.............. 161 11.8.2 Alkalmazások.................... 162
8 CONTENTS
Part I Fogalmi háttér 9
Chapter 1 Bevezetés Az információ nagy mértékű elektronikus felhalmozását követően az üzleti életben egyre nagyobb szerepet kap a tudásmenedzsment, amely a vállalati szervezeti tudás előállítását, összegyűjtését, megosztását, felhasználását és megújulását valósítja meg az üzleti siker, illetve a versenyelőny megszerzése és megtartása érdekében. A vállalat információkat, tudást, tapasztalatot szerez, majd a megszerzett tudást leírhatóvá alakítjuk, és a tudásdisztribúció folyamán a közös tudást mindenki számára hozzáférhetővé tesszük. A tudásmenedzsment rendszer lehet személyorientált, ahol a szakértők teljesen egyedi problémákra adnak egyedi, kreatív választ; vagy dokumentumorientált, ahol a szakértők számára a magas szakmai színvonalon létrehozott dokumentumrendszer tartalmazza a problémák megoldásának folyamatát és részleteit. A tudásmérnökség elméleti keretét az ismeretszerzés biztosítja, ahol egy szakértő ismereteinek empirikus vagy pszichológiai modellezésének célja egy szakértő rendszer kialakítása. Gyakran a probléma nyelvi megfogalmazásából indulunk ki - szakértői interjúk, technikai leírások, különböző dokumentumok analizálásával - azzal a céllal, hogy kidolgozzuk a probléma formális reprezentációját, definiáljuk a probléma formális modelljéhez szükséges ismereteket. Klasszikus értelemben az ismeretszerzés olyan eljárásokat javasol, amelyek a következtetési módok modellezését teszik lehetővé a tárgyterület absztrakciójával. Az utóbbi években a tudásmérnökség kutatásai úgy fejlődtek, hogy minden olyan információs rendszerre vonatkoznak, amelyek valami- 11
12 CHAPTER 1. BEVEZETÉS képpen tudásra épülnek, anélkül hogy ez a tudás explicite modellezve lenne a rendszerben. A tudásmérnökség a tudásalapú rendszerek ismeretszerzési területéből kinőve önálló, általánosabb kutatási területté vált, amelybe beletartozik az ismeret nyelvi megfogalmazásának tanulmányozása, a fogalmi terminológiák meghatározása, a formális modellek kidolgozása, a modellek manipulálása és megvalósítása, a rendszer viselkedésének és tulajdonságainak interpretálása. Azt mondhatjuk, hogy a tudásmérnökség fogalmakat, módszereket és technikákat javasol az ismeretek modellezése, formalizálása és megszerzése érdekében a vállalati szervezettségben széles értelemben vett működtetési, strukturálási és kezelési célzattal. Ebben a könyvben az előbb felsorolt gyakorlati problémák hátterét biztosító tudásalapú rendszerek és technológiák elméleti megalapozását tűzzük ki célul, elsősorban informatikus szakemberek számára megfogalmazott formában. A tudásalapú rendszerek a mesterséges intelligencia szakterület olyan programjai, amelyekben az adott probléma megoldásához szükséges ismereteket a rendszer többi részétől elkülönített modulban, az úgynevezett tudásbázisban tároljuk szimbolikus módon, a probléma megoldása pedig szimbólum manipulációk révén történik. A tudásalapú rendszerekben egy probléma megoldása során olyan ismereteket tudunk felhasználni, amelyeket előzőleg valamilyen formalizmus szerint ábrázoltunk, reprezentáltunk. A probléma megoldásához pedig szükségünk van az ismeretábrázolásnak megfelelő következtetési mechanizmusra. Gondoljunk a klasszikus logikában a formulák megadására (szintaxis) és az interpretációra (szemantika), amelyekhez különféle kalkulusok (tábla-módszer, predikátumkalkulus, Gentzen-kalkulus) definiálhatóak mint következtetési módszerek. A könyv felépítése a következő: az első részben néhány alapfogalmat mutatunk be, köztük bevezetjük a mesterséges intelligencia fogalmát. A második rész a szakértő rendszerekkel foglalkozik, melyben a tudásalapú rendszerek felépítésének, az ismeretszerzésnek, az ismeretábrázolásnak, a bizonytalanságkezelésnek és a következtetési eljárásoknak szentelünk egy-egy fejezetet. A harmadik rész az ágensek,
szemistruktúrák, szemantikus web fogalmak köré épülve ad betekintést a napjainkban elterjedt tudásalapú technológiák alkalmazhatóságára. 13
14 CHAPTER 1. BEVEZETE S
Chapter 2 Mesterséges Intelligencia háttér 2.1 Intelligencia és intelligens viselkedés Mi is az intelligencia, lehetséges-e egyáltalán definiálni az intelligenciát? Intuitíve jól látjuk, hogy egy sokszorosan összetett fogalomról van szó. Olyan szellemi képességekről beszélünk mint a megfigyelés, a megértés, a tanulás, a csodálkozás, stb. Einstein intelligenciája más mint Picassoé. Valójában különböző megközelítési módok és változatok vannak az intelligencia fogalom mögött, hiszen az intelligencia nem mérhető a maga teljességében. Különösen nem szabad összekeverni az intelligencia és a tudás fogalmait, azaz nem elegendő az ismereteket tesztelni az intelligencia méréséhez. Nem szabad összetéveszteni a butaságot a tudatlansággal. Ha vizsgáljuk az intelligenciát, akkor megfigyeljük a viselkedést, a fejlődés minőségét. Bár pontosan nem definiáljuk, ez nem akadályoz meg minket abban, hogy az emberrel kapcsolatos intelligenciáról beszéljünk. Idézzük fel Ikarusz esetét a repülő szerkezettel. Ikarusz a legenda szerint, majd őt követően a XIX. század végének és a XX. század elejének úttörői mindvégig olyan szerkezetek megalkotásával probálkoztak, amelyek madarak módjára, szárnyaikkal verdesve képesek repülni. Ma vajon kinek támadna az az ötlete, hogy a modern repülők nem repülnek, csak azért mert nem verdesnek a szárnyaikkal. 15
16 CHAPTER 2. MESTERSÉGES INTELLIGENCIA HÁTTÉR Az emberi intelligencia az észlelésnek, az ismeretek memorizálásának, struktúrálásának és új ismeretekre való következtetésnek a képessége. Egy adottság a megértésre, a tanulásra, a csodálkozásra. A problémamegoldásra irányuló szellemi tevékenységek összessége, olyan komplex képesség, amelynek részét képezi a gondolkodás gyorsasága, az összefüggések átlátására való képesség, a memória, az általános ismeretek. Az intelligencia annak a képességnek a birtoklása, mellyel szükség esetén képesek vagyunk alkalmazkodni a környezetünkhöz vagy úgy, hogy saját magunkat, vagy a környezetet változtatjuk meg, illetve ha ez nem lehetséges, akkor egy új környezetet keresünk. Ennek a viselkedésen alapuló megközelítésnek megvan az az érdeme, hogy segítségével megalapozhatjuk a kérdést: Hogyan beszélhetünk intelligenciáról a programok és gépek kapcsán? Ezt illusztrálja a Turing által javasolt, imitációs játék néven ismert kísérlet. 2.2 Turing teszt Egy bírálónak rendelkezésére áll kérdések és problémák egy halmaza, amelyeket egymás után feltehet egy tetszőleges egyénnek. A visszakapott válaszokból (és ez a bírálat egyedüli kritériuma), kell eldöntenie, az egyén intelligenciájának a mértékét. A bíráló egy szobában ül, ahonnan folyamatosan adja ki a Q 1, Q 2,... Q n kérdéseket két entitás számára, akik egy másik szobában helyezkednek el. Egyikük ember, a másik egy számítógép. Minden egyes Q i kérdésre a bíráló névtelenül két választ kap R i és S i -t. Természetesen előzetesen nem tudja, hogy ki az R és S sorozat szerzője, pontosan ez az, amit ki kell találnia. A Turing-teszt akkor tekinthető sikeresnek, ha a kérdező nem tudja a válaszok alapján egyértelműen eldönteni, hogy melyik szobában van a számítógép. Turing szerint ebben az esetben, minden okunk meglenne rá, hogy a komputert intelligensnek tekintsük. Turing javaslatai a következőek : Ha egy bizonyos számú kérdés után a korrekt azonosítás valószínűsége mindig 1/2 körül van, akkor van jogunk azt mondani, hogy egyik entitásunk éppen olyan intelligens mint a másik. Ha az embertől kapott válaszok alapján jogunk van azt állítani,
2.3. AZ EMBERI PROBLÉMAMEGOLDÓ GONDOLKODÁS 17 hogy intelligens viselkedést mutat, miért ne mondhatnánk ugyanezt a számítógép által adott válaszok esetében is? A kérdés tehát az, hogyan készítsünk olyan programokat és gépeket, amelyek viselkedését habozás nélkül intelligensnek minősítenénk, ha embertől származna. 2.3 Az emberi problémamegoldó gondolkodás A tudás elve szerint a problémamegoldás képessége nem az alkalmazott formalizmustól és a következtetési módszertől függ, hanem attól, hogy mennyi és milyen magasan kvalifikált ismeretanyag áll rendelkezésre az adott tárgyterület vonatkozásában. Tudásunk az általánosság foka szerint módszertani, szakterület specifikus, az adott probléma megoldására vonatkozó. Az ember még akkor sem a formális logika segítségével következtet, ha az adott probléma leírására a formális logika eszközei tökéletesen alkalmasak. Ehelyett analógiák, típuspéldák, mentális modellek alkalmazásával jutunk eredményre. A megértés a gondolatok összerendeződése, a gondolkodási séma összeállása. Itt most nem definiáljuk a gondolkodási séma fogalmát, inább néhány szinonímával segítjük megértését: sablon, pattern, mesterfogás, trükk, kötött asszociáció. 2.4 A szakmai fejlődés lépcsőfokai A laikus fejében sok lehetőség kínálkozik, a mesterében csak kevés. (Daisetz Teitaro Suzuki) Mérő László Észjárások című könyvében a szakmai fejlődés állomásait a sakkból kölcsönzött megfogalmazás szerint kezdő, haladó, mesterjelölt és nagymester fokozatokra osztja a szakmai következtetés és tudás sémák nagyságrendjének függvényében. A kezdő kevés tényszerű ismerettel rendelkezik a szakterületről, ezért hétköznapi sémákat alkalmaz. A haladó már ismer sok szakmai tényt, tudásában néhány száz
18 CHAPTER 2. MESTERSÉGES INTELLIGENCIA HÁTTÉR szakmai séma keveredik hétköznapi sémákkal. Ha szakemberrel konzultál, azonnal kitűnik, hogy még nem eléggé érti a szakmát. A teljesen kívülállóval is nehezen ért szót, mert a szakmai fogalmakat még nem tudja a hétköznapi szintre visszaegyszerűsíteni. A mesterjelölt lényegében elsajátította a szakma alapjait, ismer és képes alkalmazni néhány ezer szakmai sémát és különválnak a szakmai és hétköznapi sémák. Gondolkodása analitikus, a problémákat sémái segítségével lépésről lépésre oldja meg. Vitaképes és racionális. A nagymester több tízezer szakmai sémát ismer, melyek számára annyira természetesek, hogy egy részüket nem képes verbálisan kifejezni. Gondolkodása intuitív, egzakt szakmai levezetések nélkül is képes egy-egy probléma lényegére rátapintani és megoldását megtalálni. Nem szavakat, mondanivalót fogalmaz meg. 2.5 Mesterséges intelligencia Az emberi gondolkodás tanulmányozását (megérteni mi is az intelligencia), illetve e folyamatok gépen történő ábrázolásának kutatását célzó mesterséges intelligencia (MI a továbbiakban) fogalmával kapcsolatos definíciók két csoportba sorolhatóak. Az egyik megközelítés szerint az MI célja az emberi intelligencia minél jobb megismerése, annak vizsgálata, hogyan működik az agyunk, az érzékelésünk, stb. (antropomorf MI). A pragmatikus MI célja információs modell és számítógéppel végrehajtható szoftverek létrehozása, amelyek intelligens viselkedést mutatnak összetett, az ismeretek nagy mennyiségének felhasználását igénylő problémák megoldása során. Természetesen a két terület nem ellentétes egymással, sőt egymás kiegészítői lehetnek. Az alábbiakban néhány MI definíciót mutatunk meg. Elméleti és kísérleti tanulmányok az intellektuális és érzékelési folyamatokról (MI antropomorf). A számítógépnek olyan képességet adni, amellyel nehéz problémák megoldására komplex ismeretek struktúráját használni tudja (MI pragmatikus).
2.5. MESTERSÉGES INTELLIGENCIA 19 Az MI a számítástudomány olyan ága, amely a szimbolikus, nemalgoritmikus problémamegoldó módszerekkel foglalkozik (MI pragmatikus). A tudás megszerzésének, ábrázolásának és felhasználásának a tanulmányozása (egy kicsit mindkettő). Más megközelítés szerint csoportosítva ezen definíciókat: Az emberhez hasonlóan gondolkodni: Az MI egy izgalmas erőfeszítés a számítógépek gondolkodóvá tételére, értelemmel bíró gépek létrehozására a szó szoros értelmében (Haugenland 1985). Az MI az emberi gondolkodáshoz asszociált tevékenységek, mint a döntéshozatal, problémamegoldás, tanulás automatizálása vizsgálata (Bellman 1978). Racionálisan gondolkodni: Az MI a mentális képességek tanulmányozása számítógépes modellek segítségével (Charniak 1985). Az MI az érzékelést, gondolkodást és cselekvést lehetővé tevő számítások tanulmányozása (Winston 1992). Az emberhez hasonlóan cselekedni: Az MI olyan funkciók megvalósítására alkalmas gépek megalkotásának tudománya, mely funkciókhoz intelligenciára van szükség, amennyiben azokat emberek valósítják meg (Kurzweil 1990). Az MI annak tanulmányozása, hogyan lehet számítógéppel olyan dolgokat tenni, melyeket jelenleg az emberek jobban tudnak (Rich 1991). Racionálisan cselekedni: Az MI olyan tudományterület, amely számítási eljárásokkal próbálja magyarázni és utánozni az intelligens viselkedést (Schalkoff 1990).
20 CHAPTER 2. MESTERSÉGES INTELLIGENCIA HÁTTÉR Az MI a számítástudomány azon ága, mely az intelligens viselkedés automatizálásával foglalkozik (Luger 1993). 2.6 Algoritmikus megközelítés 2.6.1 Algoritmikusan megoldható problémák Tekintsük a következő példákat: keressük meg egy másodfokú egyenlet megoldásait, találjuk meg két egész szám legnagyobb közös osztóját, határozzuk meg egy gráfban a leghosszabb utat, szereljünk össze egy kit-ben szállított műszert. Mindegyik említett esetben cselekvések egy sorozatát hajtjuk végre, amelyekről tudjuk (kevésbé fontos hogyan), hogy a várt eredményre vezetnek. Minden egyes esetben egy algoritmust alkalmazunk. Egy algoritmust azzal jellemezhetünk alapvetően, hogy rendezett cselekvésekből tevődik össze. Az informatika nagy része abból áll, hogy olyan algoritmusokat dolgoz ki, amelyeket egy számítógép végre tud hajtani. Ez az a terület, amit a későbbiekben klasszikus informatikának nevezünk. Megjegyzendő, hogy világosan meg kell különböztetni egy algoritmus elvét és egy adott problémára vonatkoztatott végrehajtását. Az algoritmus elve bonyolult elméletek alkalmazását kívánhatja meg és egy adott terület kiváló eredménye lehet. Egy algoritmus végrehajtása ellenben tisztán mechanikus, nem szükséges az elv megértése. Pl. összeszerelhetünk egy kit-ből egy oszcillátort egy csavarhúzó és egy forrasztópáka segítségével a legelemibb elektronikai alapismeretek nélkül. A másodikos gimnazista, aki a másodfokú egyenlet megoldási algoritmusát hibátlanul végrehajtja zavarba jöhet, ha megkérdezzük az algoritmus bizonyítását. Képesek korrektül végrehajtani - ez minden; ugyanezt teszi a számítógép is egy megfelelő programmal. Akár egyik, akár másik esetben nehéz lenne intelligens viselkedésről beszélni.
2.6. ALGORITMIKUS MEGKÖZELÍTÉS 21 2.6.2 Nem algoritmikus megoldható problémák Ha az adott területen létezik egy (vagy több) algoritmus, amely(ek) minden egyes esetben ésszerű idő alatt elvezet(nek) a megoldáshoz, azt (azokat) ki kell dolgozni, be kell programozni. Ekkor belül maradunk a klasszikus informatika tárgykörén. Ám ez a kedvező helyzet távolról sem általános. Először is, vannak problémák, amelyekre noha létezik elméleti algoritmus, az a gyakorlatban nem végrehajtható, mert kombinatorikus robbanáshoz vezet. Jó példa erre a sakkjáték. Sőt létezik számos olyan terület, amelyekre egyáltalán nincs megoldó algoritmus, mi több, nem is képzelhető el, hogy valaha lesz. A nem algoritmikus területek (vagy azok amelyekre csak gyakorlatilag nem végrehajtható algoritmusok léteznek) azok, amelyeket az MI a vizsgálódásai körébe von. Ide számít az emberi cselekvések nagy többsége, beleértve a leginkább hétköznapiakat. Az esetek nagy többségében meg tudunk csinálni bizonyos dolgokat, de képtelenek vagyunk rá, hogy elmondjuk az eredményre vezető pontos eljárást. Például : megfejteni egy kézzel írt szöveget (karakterek, szavak felismerése: Alakfelismerés), hallgatni valakit aki hozzánk beszél (felismerni a hangokat, szavakat: Beszédfelismerés), megérteni egy szövegnek az értelmét (Természetes nyelvek megértése), elkészíteni egy orvosi diagnózist, bonyolult játékokat játszani, elképzelni egy matematikai tétel bizonyítását. (A könyvekben lévő bizonyításokat ellenőrizhetjük lépésről lépésre, de általában semmilyen jelzést nem találunk arra vonatkozóan hogyan találta meg a szerző a bizonyítás módszerét. Sőt néha a szerző sincs annak tudatában.) Mondhatjuk, hogy számos terület megszökik az algoritmusok elől és nem hasznosíthatja a klasszikus programozási eszközöket. Ellenben belép az MI alkalmazási területére. Elegendő csak a fenti példákat
22 CHAPTER 2. MESTERSÉGES INTELLIGENCIA HÁTTÉR venni ahhoz, hogy a nem-algoritmikus területek számos közös vonását felfedezzük: még a látszólag egyszerű problémák megoldásához is az ismeretek nagy mennyisége szükséges, számos ismeret alapos vizsgálatára van szüség, a lehetséges és kizárandó esetek alapos vizsgálatára van szükség, szimbólikus ismeretekkel kell manipulálni. Azt is meg kell jegyeznünk, hogy ezek a területek, amik az algoritmikus problémákon kívül esnek, olyan hétköznapi jelenségek, amelyekkel vagy valamennyien szembesülünk nap-mint nap (egy átlagos egyén el tud olvasni egy kézzel írt szöveget és általában megérti annak jelentését), vagy egy kissé szűkebb, de jól meghatározott réteg, a terület szakértője találkozik vele (az orvos képes orvosi diagnózisra, a matematikus tételbizonyításra stb.). 2.7 Az MI és a klasszikus informatika Ebben a fejezetben megpróbáljuk összegyűjteni az alapvető különbségeket a (a 2. fejezet értelmében vett) klasszikus informatika és a (pragmatikus irányzatú) MI között. 2.7.1 Alkalmazási területek klasszikus informatika Azok a területek, ahol létezik megoldási algoritmus. rendszerek, tudományos számítások, stb. Irányítási MI Nem algoritmikus területek (vagy csak a gyakorlatban nem végrehajtható algoritmusok léteznek, vagy, s ez a gyakoribb, egyáltalán nincsenek algoritmusok). Beszédfelismerés, természetes nyelv megértése, képelemzés, hiba-diagnosztika, költség-elemzés, tervezés, termelésirányítás.
2.7. AZ MI ÉS A KLASSZIKUS INFORMATIKA 23 2.7.2 Az adatok természete klasszikus informatika numerikus adatok MI szimbolikus adatok, közülük néhány leíró jellegű, míg mások inkább következtetések levonására szolgálnak. 2.7.3 Az adatok pontossága klasszikus informatika Az adatokat pontosnak tekintjük (adott pontossággal). Ez a pontosság általában ismert. Akár mert bevitt adat, akár mert a programot végrehajtó gép által elérhető maximális pontosságról van szó. MI A szimbolikus adatok, amelyekkel dolgozunk gyakran közelítőek. Gyakran beszélünk az MI-ben nemcsak pontatlan adatokról, de az adatok bizonytalanságáról is. Ugyanakkor az ábrázolt univerzum leírása nem teljes. Ez éppúgy vonatkozik az ismeretek természetére (amiket ábrázolni akarunk), mint a választott ábrázolási modellre. Egy olyan ismeret, hogy Péter fiatal, bár megjelenésében egyszerű, már interpretálási problémát vet fel. Ha Péter 30 éves, akkor vajon fiatal-e? Elegendő-e egy kor-léptéket felállítani? A ragyog minősítésnek ugyanaz-e az értelme, ha azt állítjuk, hogy A hold ragyog, mintha A nap ragyog? Látható, hogy ismerni kell ennek a két ismeretnek a megjelenési kontextusát ahhoz, hogy válaszolhassunk a kérdésre. A közelítő jelző nem kizárólagosan a leíró adatok sajátja, előfordul a következtetéses adatoknál is. Könnyen elképzelhetjük az adatok közelítő természetéből fakadó problémákat. Milyen bizonytalanság járul egy eredményhez, ha heurisztikus szabályt alkalmazva közelítő kiindulási adatokból nyertük?
24 CHAPTER 2. MESTERSÉGES INTELLIGENCIA HÁTTÉR 2.7.4 A felmerült probléma megoldása klasszikus informatika Legyen P egy probléma és C az a problémaosztály, amelyikhez P tartozik. A P probléma megoldását a P problémát jellemző numerikus adatok bevitele után a C problémaosztály algoritmusának megfelelő számítások végrehajtásával érjük el. A számítógép a problémamegoldó algoritmusok bármelyikének ideális végrehajtója (abszolút megbízhatósággal) feltéve, hogy az algoritmust korrektül programozták. MI Egy adott P probléma megoldását a P-t jellemző szimbolikus adatok végrehajtása után szimbolikus következtetés útján nyerjük. Az ismeretek természetéből adódóan nem garantált, hogy a teljes P probléma megoldható. Az ábrázolás és a következtetés használt módszereinek biztosítaniuk kell, hogy ha egy program megoldásra vezet, akkor ez biztosan elfogadható (még akkor is, ha nem optimális).
2.7. AZ MI ÉS A KLASSZIKUS INFORMATIKA 25 Hagyományos rendszerek MI alapú rendszerek Numerikus dolgoznak fel információkat Szimbolikus dolgoznak ismeretekkel Algoritmikus feladatmegoldás Az adatokat és algoritmusokat viszonylag könnyű megszerezni Az adatok pontosak Feladatmegoldás következtetéssel, heurisztikák alkalmazásával A tudás megszerzése összetett feladat A felhasznált tudás nem pontos, zajos, hiányos és gyakran ellentmondásos Programtesztelés a programozási nyelv adottságai alapján a fejlesztő számára Felhasználóbarát magyarázatok, indoklások generálása a program futása közben Table 2.1: A hagyományos és az MI alapú rendszerek összehasonlítása
26 CHAPTER 2. MESTERSÉGES INTELLIGENCIA HÁTTÉR
Chapter 3 Fogalmi rendszerezés 3.1 Adat, információ, ismeret fogalma A tudás, ismeret fogalmak definiálása filozófiai jellegű kérdés, mellyel nem kívánunk itt foglalkozni. Ugyanakkor definiálni kívánjuk az adat, információ és ismeret fogalmak közötti különbséget kizárólag szakmai szempontok szerint. Ez az az ok, amiért a tudás és ismeret szavak között nem teszünk különbséget, bár talán filozófiai szempontból, érzelmi alapon lehet magyarázatot találni. 3.1.1 Adat Az adat észlelt, de nem értelmezett szimbólum, jelminta, mintázat. Az adat jelentés nélküli, szintaktikai fogalom. Egy programhoz vagy egy rendszerhez kapcsolható, annak viselkedését módosítja. 3.1.2 Információ Az információ a telekommunikáció igénye szerint megjelent technikai fogalom. A fogalom hátterében hivatkozásként kódolás, dekódolás, adatátvitel, üzenetküldés állhat. Szemantikai jellegű, hiszen az adat - mint szintaktikai egység - értelmezése révén keletkezik. 27
28 CHAPTER 3. FOGALMI RENDSZEREZÉS 3.1.3 Tudás vagy ismeret Az ismeret fogalma az információ felhasználásának kontextusában jelenik meg. Ez azt jelenti, hogy az ismeretet nem izoláltan értékeljük, hanem abban a környezetben, amelyben kidolgozták és interpretálták. Az ismeret ily módon önmagában nem létezik, csak az adott probléma, tárgyterület, előfordulási környezet figyelembe vételével. 3.2 A szakértő rendszer fogalma A szakirodalomban gyakran találkozunk mind a szakértő, mind a szakértői rendszer megjelöléssel. Miután nyelvtanilag mindkettő helyes, nézzük a két fogalom jelentését. A szakértői rendszer (hasonlóan vásárlói szokás, szállítói megbízás) összetételben az első szó egy célcsoportra (szakértők, vásárlók, szállítók) utal, s így azt fejezi ki, hogy ez a célcsoport birtokosa a második szónak, azaz a szakértő számára készült rendszer (a vásárlók kialakult szokása). A szakértő rendszer (hasonlóan szállító eszköz) egy jelzős szerkezet, amelyik a második szó egy tulajdonságát írja le, azaz a rendszer képes a szakértés (a jármű a szállítás) cselekvésének megvalósítására. Ebben az értelmezésben világos, hogy mi a szakértő rendszer fogalmat használjuk, hiszen olyan rendszerek készítését tűztük ki célul, amelyek a felhasználó számára egy szakterületen döntés-támogatást, szakértést biztosítanak.
Part II Tudásalapú, szakértő rendszerek 29
Chapter 4 Az ismeretalapú rendszerek A mesterséges intelligencia programok olyan módon oldják meg a problémákat, amit emberek esetében intelligensnek neveznénk: bonyolult problémákat oldanak meg, általában tanulnak a korábbi tapasztalatukból, megértenek természetes nyelvű közléseket, képeket értelmeznek, stb. Az ismeretalapú rendszerek (KBS - knowledge Based Systems) a problématerületet explicit módon leíró ismereteket a rendszer többi részétől elkülönített komponensben, az ismeretbázisban tárolják. Ezek esetében a feladatmegoldás nem előre beprogramozott megoldási utakra felfűzött algoritmusok révén, hanem a következtetési módszereket realizáló következtető gép által, az ismeretbázisból kiválasztott ismeretdarabkák végrehajtásával megy végbe. Az ismeretalapú rendszerek közül azokat, amelyek szakértői ismeretek felhasználásával magas szintű teljesítményt nyújtanak egy szűk problémakör kezelésében, szakértő rendszereknek (ES - expert systems) nevezzük. 4.1 Az ismeretalapú rendszerek jellemzői Szimbolikus információkkal dolgoznak. Feladatleírásuk általában deklaratív módon történik. A feladatmegoldást elfogadható következtetéssel, heurisztikák alkalmazásával valósítják meg. Az ismeretbázisba a szakértői tudást 31
32 CHAPTER 4. AZ ISMERETALAPÚ RENDSZEREK építik be, az ismeretszerzés bonyolult feladat. A szaktudás jellegzetesen nem-pontos, hiányos, zajos és gyakran ellentmondásos. A tudásalapú rendszerek szükségképpen tartalmaznak felhasználóbarát magyarázatot, indoklást, azért hogy a felhasználó követni tudja a feladatmegoldás elvét és elemi lépéseit. 4.2 Az emberi tudás és a szakértő rendszer összevetése Emberi szaktudás Mulandó - ha nem használjuk, elfelejtjük Nehéz átadni, reprodukálni; oktatással terjeszthető Nehéz dokumentálni Nem mindig következetes, gyakran labilis, emocionális hatásokra érzékeny Kreatív, innovatív A körülményekhez alkalmazkodik, tanul (ismeretbővítés, képesség-fejlesztés) A gondolkodási folyamatok változatosak, nehezen követhetőek Dinamikusan, a helyzethez alkalmazkodva több aspektusból vizsgálja a problémákat Az embert hétköznapi józan esze és hatalmas háttérinformáció segíti Szakértő ismeretbázisa Állandó, tartós rendszer Könnyű átvinni, reprodukálni Könnyen dokumentálható Mindig következetes, bár érzéketlen Ötlettelen, lélektelen Csak a beépített tudást hasznosítja, gépi tanulási mechanizmusok igénye A következtetési módszerek gazdagsága. Nehezen definiálhtaó, mikor melyik a célravezető Szűk technikai látószögből, csak a beépített aspektusokból képes a problémákhoz közelíteni Az elemi hétköznapi ismeretek hiánya gátolja széleskörű alkalmazhatóságát 4.3 A szakértő rendszer előnyei Pótolja a szakértő hiányt.
4.4. A SZAKÉRTŐ RENDSZER HÁTRÁNYAI 33 Jól követi a tárgyterület változásait. Növeli a szakértő képességét. Fokozza a szakértő produktivitását. Megőrzi a szakértelmet. Következetes megoldási módot alkalmaz. Részleges, hiányos, részben ellentmondásos adatokkal is tud dolgozni. Magyarázatot ad, indokol. 4.4 A szakértő rendszer hátrányai Ismeretei egy adott szűk tárgyterületről származnak. Nem oldható meg teljes biztonsággal a rendszer verifikálása, validálása, és hitelesítése. Válaszai nem mindig korrektek. Nincs hétköznapi józan esze, az elemi ismereteket nehéz beépíteni. Az ismeretszerzés bonyolult folyamat. A fejlesztés hosszú. A rendszer futási paraméterei gyakran nem kedvezőek. 4.5 A szakértő rendszer tudásszintje Sikerülhet-e kielégítő színvonalú szakértő rendszert létrehozni? A területnek eléggé szűknek kell lennie ahhoz, hogy a szükséges tudást jól meg lehessen ismerni.
34 CHAPTER 4. AZ ISMERETALAPÚ RENDSZEREK A problémának elég bonyolultnak kell lennie, hogy a szakértelemre igény mutatkozzon. Az illető területen elegendő emberi szakértő álljon rendelkezésre, akiknek a tudásából ki lehet indulni a rendszer elkészítéséhez. Fontos, hogy az emberi szakértők között a szakterület alapkérdéseinek megítélésében nagyfokú egyetértés legyen. Szükséges, hogy az adott szakterületen számos tanpélda, alapadat rendelkezésre álljon, mert csak így lehet a szakértő rendszert megbízhatóan tesztelni, tudásának korlátait meghatározni. Általában egy területen annál jobb szakértő rendszert lehet építeni, minél jobban feltördelhető az illető terület olyan részproblémákra, amelyek csak kevéssé interferálnak egymással. 4.6 Az ismeretalapú rendszerek felépítése 4.6.1 Ismeretbázis Az adott problémakörre, tárgykörre vonatkozó specifikus ismeretek (tények, objektumok, kapcsolatok, heurisztikák) szimbolikus leírását tartalmazza valamely ismeretreprezentációs módszer szerint szervezve. Jellemzően megtalálhatók itt az adott tárgykör szakértőjének heurisztikáit megfogalmazó szabályok. 4.6.2 Következtetőgép Az adott ismeretreprezentációs módokat kiszolgáló megoldáskereső stratégia implementációja. 4.6.3 Magyarázó alrendszer A feladat megoldása közben felhasználóbarát módon tájékoztatja a felhasználót a megoldás aktuális állapotáról és megindokolja a rendszer
4.6. AZ ISMERETALAPÚ RENDSZEREK FELÉPÍTÉSE 35 Tudásbázis Munkamemória Következtetőgép Speciális felületek Tudásszerzés Magyarázat Tudásmérnök Felhasználói felület Végfelhasználó Table 4.1: Az ismeretalapú rendszerek felépítése
36 CHAPTER 4. AZ ISMERETALAPÚ RENDSZEREK javaslatát. 4.6.4 Ismeretbázis fejlesztő alrendszer Az ismeretbázis megépítéséhez, teszteléséhez, módosításához nyújt fejlesztői szolgáltatásokat. Az ismeretszerzés a rendszerépítő tudásmérnök és a tárgyterületi szakértő közötti, a szakértői ismeretek megszerzését célzó együttműködés mind a fejlesztési mind az aktualizálási fázisokban, amelynek célja az adott feladatra vonatkozó ismeretek, valamint a szakértői feladatmegoldás során alkalmazott módszerek, szabályok, eljárások forrásainak feltárása, a megszerzett ismeretek rendszerezése és formalizálása, a feladathoz illő ismeretreprezentáció és következtetési stratégia kiválasztása. 4.6.5 Felhasználói felület Végfelhasználó A rendszerrel tanácsadó partnerként konzultál. A magyarázó alrendszer által adott indoklások figyelembevételével dönt a megoldási javaslatokról. Tudásmérnök A tárgyköri ismeretek megszerzésében, az ismeretek formalizálásában jártas számítástechnikai szakember. Feladatai közé tartozik az ismeretek elrendezése, a tudás analízise, formalizálása, dokumentálása, a megfelelő fejlesztő eszköz kiválasztása, a rendszer elkészítése. Tárgyköri szakértő A tudásmérnök szakmai konzultánsa. Ő végzi a rendszer tesztelését.
Chapter 5 Ismeretszerzés 5.1 Ismeretszerzés célja A tudásbeszerzés több különböző technikával is végezhető, melyek mindegyike megpróbálja orvosolni azokat a problémákat, melyek felmerülnek a folyamat során. A tudás legtöbbször a szakértők fejében van, nem pedig kézzelfogható forrásokban. A szakértők óriási mennyiségű információval rendelkeznek a szakterületükön Problémát jelent a szakértők passzív tudása, azaz a szakértő nincs tisztában azzal, hogy milyen ismereteket birtokol és használ. Az igazi szakértők nehezen érhetőek el, általában elfoglalt emberek. Nincs olyan szakértő, aki mindent tudna az adott területről. Előfordulhat, hogy két ugyanazon területen dolgozó szakértőnek más-más a véleménye egy adott problémáról. Ezek fényében olyan tudásbeszerzési technikákra van szüksége, melyek csak rövid időre rabolják el a szakértőket a munkájuktól. Lehetővé teszik, hogy egyszerűen fogalmazzuk meg a tudást. Csak a rendszer szempontjából lényeges ismeretekre fókuszálnak. Lehetővé teszik a passzív tudás megragadását. Lehetővé teszik, hogy a tudást több különböző szakértőtől is beszerezhessük. Lehetővé teszik a tudás ellenőrzését és bővítését. Az ismeretszerzés a tudásalapú rendszert építő tudásmérnök és a tárgyterületi szakértő közötti, a szakértői ismeretek megszerzését célzó együttműködés. Tevékenysége kiterjed mind a fejlesztési mind az aktualizálási fázisokra. Eredményeként megvalósul 37
38 CHAPTER 5. ISMERETSZERZÉS az adott feladatra vonatkozó ismeretek, valamint a szakértői feladatmegoldás során alkalmazott módszerek, szabályok, eljárások forrásainak feltárása, a megszerzett ismeretek rendszerezése és formalizálása, a feladathoz illő ismeretreprezentáció és következtetési stratégia kiválasztása. 5.2 Az ismeretszerzés részterületei A szakterület ontológiája Az alkalmazási területre jellemző fogalmakat, kifejezéseket illetve a köztük fennálló kapcsolatot írja le. Ismeretbázis A logikai ismereteket tárolja a szakterület ontológiájában előforduló fogalmakra. Problemamegoldó módszerek A vezérlési stratégiákat tartalmazza (klasszifikáció, hiba diagnosztika, tervezés). A leképezés A szakterület ontológiájában szereplő fogalmakat, valamint az ismeretbázist összerendeli a probémamegoldó módszerek igényeivel. 5.2.1 Szereplők Tudásmérnök A tárgyköri ismeretek megszerzésében, az ismeretek formalizálásában jártas számítástechnikai szakember. Feladatai az ismeretek elrendezése, a tudás analízise, formalizálása, dokumentálása, a megfelelő fejlesztő eszköz kiválasztása, a rendszer elkészítése.
5.3. AZ ISMERETSZERZÉS NEHÉZSÉGEI 39 Tárgyköri szakértő A tudásmérnök szakmai konzultánsa és a rendszer tesztelője. Rendszerszervező Tudásbázis adminisztrátor 5.3 Az ismeretszerzés nehézségei Az ismeretszerzés közben felmerülő problémák a megfelelő szakértő megtalálása, több szakértő bevonása (együttműküdés), ütemezési kérdések, felhasználók bekapcsolása a kezdetei szakaszoktól. Leggyakrabban nem az általános elvek tisztázásával kell kezdeni, hanem a tipikus esetek, problémák, megoldások megbeszélésével. Nem szabad kényszeríteni a szakértőt a számára szokatlan formalizmusok, tudás reprezentációs módszerek használatára 5.4 A tudásmegszerzés módszerei Közvetlen (emberi segédlettel) direkt interjú, protokoll elemzés, közvetlen megfigyelés, a fogalmak hierarchikus elrendezése. indirekt A tudásmérnök pszichológiailag átgondolt feladatok elé állítja a szakértőt abból a célból, hogy a nem tudatosult tudására, annak szerveződésére következtessen.
40 CHAPTER 5. ISMERETSZERZÉS Automatikus módszerek Adatbányászat, adatbázisok elemzése, ok-okozati összefüggések feltárása.
Chapter 6 Ismeretábrázolás Az ismeretalapú rendszerek a problématerületet leíró ismereteket a rendszer többi résztől elkülönített komponensben, a tudásbázisban tárolják különféle reprezentációs technikákat alkalmazva. Akármelyik reprezentációs technikát alkalmazzuk is, szükségünk van egy leíró eszközre, a szintaxisra, a reprezentált elemek jelentését meghatározó szemantikára, valamint olyan módszerekre, amelyek lehetővé teszik a meglévő ismeretekből újabb ismeretek előállítását, azaz következtetési módszerekre. A reprezentációban megjelenő ismeretek lehetnek tényszerű, következtető és vezérlő természetűek. A reprezentációs módszerek osztályozása több szempont szerint lehetséges. A problémamegoldási stratégia megadása szerint Procedurális (algoritmikus) hogyan Deklaratív (leíró) mit A probléma leírásában szerepet játszó struktúra szerint Egyszerű (struktúra nélküli, elemi szint objektumok és azok kapcsolatai) Struktúrált (attribútummal rendelkező objektumok) Az egyik legismertebb egyszerű reprezentáció a logika alapú reprezentáció. A logikai nyelvek sokféleségében a a megoldandó probléma természetéből adódóan válogathatunk a szakértő rendszer megvalósítása során. Ebben 41
42 CHAPTER 6. ISMERETÁBRÁZOLÁS a könyvben azonban nem térünk ki részleteiben a logikai nyelvekre, egyedül a nem-klasszikus leíró logikákat tárgyaljuk a 7. fejezetben. Az érdeklődők könnyen találnak irodalmat a további logikai nyelvekre. Itt most csak a logikák sokféleségére utalunk az alábbi osztályozással. az adható modell szerint: klasszikus, nem-klasszikus változók szerint : zérusrendű, elsőrendű, másod-és magasabb rendű igazságértek szerint: kétértékű, véges értékű, fuzzy a feltételrendszer természete szerint: monoton, nem-monoton (modális, temporális) 6.1 Szabályalapú ismeretreprezentáció A szabályalapú ismeretreprezentáció alapgondolatának első megfogalmazása - produkciós szabályok megnevezéssel - a 40-es évekre tehető. A produkciós rendszereket az emberi problémamegoldás modellezésére Newell és Simon alkalmazták először, és mindmáig leggyakrabban alkalmazott tudásreprezentációs módszer. Kíválóan alkalmas a köznapi gondolkodás modellezésére és a szakértő tapasztalatait kifejező heurisztikák leírására. Szabályok segítségével fogalmazhatók meg a tárgyterület tényei és a közöttük fennálló relációk, a meglevő tényekből új tényeket következtető ismeretek, a feladat megoldási stratégiájának módosítására szolgáló metaismeretek. Egy szabály HA feltétel AKKOR következmény formában egy ismeretelemet reprezentál, ahol a feltétel a szabály alkalmazásának feltételeit megadó (tény)állítás, vagy ilyenekből ÉS/VAGY kapcsolókkal képzett összetett kifejezés; a következmény a szabály alkalmazásának egy vagy több következményét írja le (akciók, műveletek, tevékenységek, érvényes állítások), a munkamemória tartalmát módosító akciókat (adatelemek beírása, törlése, módosítása),
6.1. SZABÁLYALAPÚ ISMERETREPREZENTÁCIÓ 43 különböző eljáráshívásokat (amelyek a belső és külső környezet közötti információcserét biztosítják), a rendszer által vezérelt folyamatba történő beavatkozást (pl. egy kapcsoló bekapcsolását), a felhasználótól való információkérést. Ha a feltétel teljesül, akkor a következményben előírt tevékenységek rendre végrehajtódnak. A vezérlő komponens háromfázisú motorként működik: 1. mintaillesztéssel megkeresi azokat a szabályokat, amelyek feltételrésze a a munkamemória pillanatnyi tartalma fölött igaz, és ezeket a végrehajtásra alkalmas, ún. tüzelőképes szabályokat belehelyezi egy konfliktus halmazba; 2. kiválaszt a konfliktushalmazból egy szabályt végrehajtásra - a kiválasztásban a (beépített) vezérlési stratégiára támaszkodik; 3. alkalmazza, végrehajtja a kiválasztott szabályt, vagyis érvényesíti a szabály következményét. Közben a vezérlő komponens figyeli a célt megfogalmazó terminális feltétel bekövetkezését, amikor is a végrehajtás leáll; ellenkező esetben újra indul az 1) fázis. A 2) fázisban felhasznált szabály-kiválasztási stratégia sokféle lehet: előnyben részesülhetnek pl. a munkamemóriába legutóbb bekerült (legfrissebben beírt) adatra hivatkozó, vagy a legbonyolultabb feltételrésszel rendelkező szabályok, történhet a választás a szabályokhoz rendelt prioritás szerint. 6.1.1 Következtetési stratégiák Kétféle következtetési módszer társulhat egy szabályalapú rendszerhez. A célvezérelt következtetés egy feltételezett célállapotból kiindulva próbálja bebizonyítani azt, hogy az csakugyan célállapot, vagyis, hogy az elérhető valamely kezdőállapotból. Az adatvezérelt következtetés fordítva érvel: egy kezdőállapotból kiindulva keres valamely megoldást jelentő célállapotot.
44 CHAPTER 6. ISMERETÁBRÁZOLÁS Egy célvezérelt, visszafelé haladó vagy hátraláncoló rendszer egy feltételezett célállapotból visszafelé elindulva, megpróbálja a cél igazolását visszavezetni a rendszer által ismert tényekre, vagy korábban igazolt állításokra. Eközben, ha az adott cél (ill. közbülső részcél) még igazolásra szorul, a rendszer keres egy ezzel illeszthető következményű szabályt, és az annak feltételében szereplő állítások (mint részcélok) igazolására vezeti vissza a munkát. Ha eközben zsákutcába jut, visszalépést alkalmaz, és új irányban próbálkozik. (Angol terminológia: goal-directed, backward reasoning vagy backward chaining system.) Egy adatvezérelt, előrefelé haladó vagy előreláncoló rendszer a kezdőállapotból elindulva (a kiinduló adatokat a munkamemóriába helyezve), valamely célállapot elérése érdekében halad előrefelé. Mindaddig, amíg célhoz nem ér, keres egy olyan szabályt, amelynek feltétele a munkamemória pillanatnyi tartalma fölött igazolható, és végrehajtja az annak következményében leírt akció(ka)t. Amennyiben egyszerre több szabály is alkalmazható lenne, konfliktus keletkezik, melyet valamely stratégia alkalmazásával felold. (Angol terminológia: data-directed, forward reasoning vagy forward chaining system.) Mind a cél-, mind az adatvezérelt esetben a végrehajtás során maga a rendszer állítja elő azt a műveletsorozatot vagy utat (szabály-alkalmazási láncot), amely a szóban forgó kezdő- és célállapotot összeköti. A célvezérelt következtetés ciklusa Az igazolandó célt elhelyezi a részcélok halmazában. A konfliktushalmaz és a feldolgozott részcélok halmaza legyen üres, zsákutcajelzés hamis. 1. Célkiválasztás A még igazolandó részcélok közül kiválaszt egyet. Ha a részcélok halmaza üres, akkor a feladat megoldása sikeresen véget ér. Ha a zsákutca jelzés igaz, akkor
6.1. SZABÁLYALAPÚ ISMERETREPREZENTÁCIÓ 45 Visszalépés a legutóbb feldolgozott részcélhoz. Ha a konfliktushalmaz üres és a kiindulási célnál járunk, akkor sikertelen vége, egyébként folytatja a visszalépést. Ha a konfliktushalmaz nem üres, akkor a 2. lépést kihagyva a 3.lépésnél folytatódik a ciklus. 2. Mintaillesztés Kikeresi azokat a szabályokat, amelyek következményrésze illeszthető a kiválasztott részcélhoz. Ezek bekerülnek az adott részcél konfliktushalmazába. Ha a konfliktushalmaz üres, akkor a következtetés zsákutcába jutott, és zsákutca jelzéssel indul a következő ciklus az 1. lépéssel. 3. Konfliktusfeloldás Amennyiben a konfliktushalmazban több végrehajtható szabály van, akkor kiválaszt egyet végrehajtásra. (szabályválasztási stratégia) 4. Végrehajtás, szabályalkalmazás A kiválasztott szabály végrehajtása. Az aktuális részcél törlődik a részcélok halmazából, és bekerül a feldolgozott részcélok közé (verem). A konfliktushalmaz legyen üres és a zsákutcajelzés hamis. 5. Indítja a következő ciklust. Az adatvezérelt következtetés ciklusa A munkamemóriába betöltjük a tényeket. 1. Mintaillesztés Azok a szabályok, amelyek feltételrésze illeszthető a munkamemóriában tárolt tények valamelyikével bekerülnek a konfliktushalmazba. 2. Konfliktusfeloldás Ha a konfliktus halmaz üres, akkor sikertelenül vége. Amennyiben a konfliktushalmazban több végrehajtható szabály van, akkor kiválaszt egyet végrehajtásra. (szabályválasztási stratégia) 3. Végrehajtás, szabályalkalmazás A kiválasztott szabály végrehajtása. Ha a célt megfogalmazó terminálási feltétel teljesül, akkor sikeresen vége.
46 CHAPTER 6. ISMERETÁBRÁZOLÁS A B E H G C A B E H G C A B E H G C illeszt B illeszt C illeszt A igazolandó F igazolandó D HA FB AKKOR Z HA FB AKKOR Z HA FB AKKOR Z HA CD AKKOR F HA CD AKKOR F HA CD AKKOR F HA A AKKOR D HA A AKKOR D HA A AKKOR D célállítás Z Figure 6.1: célvezŕelt 4. A konfliktushalmaz legyen üres. Indítja a következő ciklust. A következtetés iránya Nézzük, milyen szempontokat kell figyelembe vennünk, amikor az adatvezérelt és célvezérelt stratégiák között választunk. Meg kell gondolni, hogy miből van több, lehetséges kezdő állapotból vagy célállapotból. Célszerűbb a kisebb halmazból kiindulva a másik irányba haladva keresni a megoldást. Nyilvánvaló például, hogy könnyebb egy kevéssé ismert környékről autóval hazavezetni, mint fordítva, otthonról eljutni egy ismeretlen helyre. Noha fizikailag egy kiinduló állapot és egy célállapot van a feladatban, az első esetben a célállapottal (otthonunkkal) egyenértékűnek vehető minden olyan hely, ahonnan már tudjuk az utat haza. Itt célszerűbb a célvezérelt következtetést választani. Ellenben, ha a szimbolikus integrálás problémájánál egy adott formulához keressük azt
6.1. SZABÁLYALAPÚ ISMERETREPREZENTÁCIÓ 47 A B A B A B A B E E E H E H G H G H G G C C D C C D D F F Z illeszt illeszt illeszt HA FB AKKOR Z HA FB AKKOR Z HA FB AKKOR Z HA CD AKKOR F HA CD AKKOR F HA CD AKKOR F HA A AKKOR D HA A AKKOR D HA A AKKOR D célállítás Z Figure 6.2: adatvezérelt a formulát, amely nem tartalmaz integráljelet és ekvivalens a kiinduló formula integráljával, akkor reménytelen lenne a szóba jövő nagyszámú célformula mindegyikéből kiindulva vizsgálni, hogy differenciálási szabályokkal eljutunk-e a kiinduló formulához. Itt az előrehaladó (adatvezérelt) alkalmazás a megfelelő. Figyelembe kell venni, hogy melyik irányban nagyobb az elágazási tényező az állapottéren. Célszerűbb azt az irányt választani, amely mentén kisebb ez a szám. Ha egy matematikai tétel bizonyítása a feladat, akkor ehhez a kiindulást az adott terület néhány axiómája jelenti. Ebből a néhány axiómából általában nagy számú tétel vezethető le. Az egyes tételekből viszont általában nem lehet nagyszámú útvonalon visszajutni az axiómákhoz. Itt az elágazási tényező előre haladva jóval nagyobb, így a visszafelé haladó következtetés lehet célszerűbb. Figyelembe kell venni azt is, hogy a következtetést végző programnak meg kell-e magyaráznia egyes lépéseit. Ha igen, akkor