ILCV441, ILDV443 Előadó: Kovács Zita 2013/2014. I. félév TUDÁSALAPÚ RENDSZEREK december 7.
Leíró logikák description logic - DL ismeretábrázolási nyelvcsaládot alkotnak fogalom, individuum (egyed), szerep fogalmakat használja fogalom: individuumok halmazának reprezentálására szolgál szerep: indiviuumok közötti bináris relációt ábrázolja a fogalom általános, az individuum speciális, a fogalom tulajdonságait viseli
Alapelvek A fogalom, szerep és individuum a következő alapelveknek felelnek meg: A fogalom és a szerep strukturális leírásában konstruktorok vesznek részt. A fogalom és a szerep leírásához egy szemantika kapcsolódik az interpretáción keresztül. A különböző műveleteket ezen szemantikával összhangban hajtjuk végre.
Alapelvek Az ismereteket különböző szinteken vesszük figyelembe: A fogalmak, szerepek ábrázolása és a műveleteik a terminológia szintjén, az individuumok leírása és műveleteik a tények és a hozzárendelések szintjén jelennek meg. A szakirodalomban a terminológia szintjét TBox-nak, a tények és hozzárendelések szintjét Abox-nak nevezik.
Alapelvek A fogalmakat (és esetenként a szerepeket) hierarchiába rendezhetjük a rajtuk értelmezett alárendelés (subsumption) reláció alapján. Azt mondhatjuk, hogy egy C fogalom alárendeli a D fogalmat, ha C általánosabb, mint D abban az értelemben, hogy a D által reprezentált individuumok halmazát C tartalmazza.
Alapelvek a következtető rendszerben két művelet jelenik meg: az osztályozás (classification) és az egyedesítés (instanciation) Az osztályozást a fogalmakra és az egyedekre alkalmazzuk. Lehetővé teszi, hogy egy adott fogalom, vagy szerep helyét meghatározzuk a hierarchiában. Az egyedesítés lehetővé teszi, hogy megtaláljuk azt a fogalmat, amelynek egy adott individuum a megjelenési formája lehet. (Ez a fogalom eltér az OO nyelvekben szokásos egyedesítés fogalmától, hiszen ott egy adott osztályból hozunk létre egyedeket.)
Példák táblán
Következtető rendszerek A szakértő rendszerek motorjaként tekinthető következtetőrendszer ismeretelemek láncolatán keresztül vezet a keresett cél felé. számos következtetőrendszer használható bizonyítás, meggyőzés, elhatározás, igazolás, magyarázat, stb. eljárások csoportosítása: a következtetéshez való viszony alapján (hipotézisen alapuló, analóg, stb.) az ismeretekhez való viszony alapján (közelítő, kvalitatív, temporális, stb.)
Következtetési módok formális következtetés egy szimbolikus adatszerkezet szintaktikus műveletein alapul, adott szabályok szerint bizonyos szemantikus keretben, pl. elsőrendű predikátum kalkulus procedurális következtetés minden ismeretnek a felhasználása és maga a következtetés is eljárásokon alapul analógián alapuló következtetés egy struktúrált tudásbázis alstruktúráinak hasonlóságán alapul megvalósításához egyeztetés, a hasonlóság és a függőségi kapcsolatok kiértékelése szükséges
Következtetési módok általánosításon és absztrakción alapuló következtetés az öröklődési mechanizmust megvalósító eljárás közvetlenül kapcsolódik az osztályozáson alapuló következtetéshez, amelyben az elemi ismereteket hierarchiába rendezett tulajdonságok írják le eset-alapuló következtetés lehetővé teszi kevésbé formalizált problémák kezelését valamint új ismeretek megtanulását és gyakorlati tapasztalatok alapján történő továbbfejlesztését
Következtetési módok közelítő következtetés képes figyelembe venni bizonytalan és pontatlan ismereteket és adatokat hipotetikus következtetés a hiányzó adatokat, amelyek különböző értékeket vehetnek fel hipotézisként kezeli. Valamennyi szóba jöhető értékkel továbbdolgozik, s ha valamelyikkel ellentmondásra jut, azt elveti. alapértelmezésen alapuló a hiányzó adatokat alapértelmezésük szerint kezeli kvalitatív következtetés a fizikai törvények kvalitatív modelljén alapul, amikor a mennyiségi adatok hiányában a minőségi változásokat használja fel
Következtetési módok Három fő kategória: levezetés jellegű (deduktív) egyediből az általános felé haladó (induktív) hasonlóságot figyelembe vevő (analóg)
Eset alapú következtetés a hasonlóságon alapuló következtetés egyik formája Case Based Reasoning, CBR az előzőleg már megismert eseteket használjuk fel az új problémák megoldása során egyes szakmákban a tanulás nem más, mint a különböző esetek sokaságának memorizálása
olyan modell felállítását teszi lehetővé, amely magában foglalja a probléma ◦ megértését ◦ már megoldott más problémákhoz való viszonyát ◦ megoldását ◦ tanulását alkalmas ◦ hiányosan vagy pontatlanul definiált szituációk kezelésére ◦ olyan kiértékelések elvégzésére, amelyekre nem létezik jól definiált algoritmus Eset alapú következtetés
szükség van: a problémát megfelelően reprezentáló alapesetekre jó adaptáló mechanizmusra eset-bázis: sikeres és sikertelen próbálkozások egy cél eléréséhez sikeres esetek: segítséget nyújtanak a probléma megoldására sikeres esetek: felhasználhatjuk a hibák elkerülésére Eset alapú következtetés
az új szituáció megértésének képessége a régi tapasztalatok függvényében két fő részből áll: emlékezni kell a régi tapasztalatra (felidézni azt valamilyen jellemzői alapján) interpretálni az új szituációt a visszakeresett függvényében ezután egy adaptációs eljárással módosítjuk a régi megoldást az új szituáció által támasztott követelmények figyelembe vételével
Eset alapú következtetés az eset alapú következtető rendszerek egyik jellegzetessége, hogy képesek tanulni a tapasztalatokból ehhez szükség van egy bizonyos visszacsatolásra, hogy a rendszer értelmezni tudja, mi működött jól és rosszul az általa szolgáltatott megoldásban
Eset alapú következtetés az eset alapú következtetés célja formálisan: a P célproblémához hozzárendeljen egy Megoldás(P) megoldást, felhasználva az eset-bázisban talált P’ forrásproblémának a Megoldás(P’) megoldását Eset: (P, megoldás-menete (o1,…,ol), megoldás(P)) ahol P: a probléma valamilyen reprezentációja; megoldás-menete(o1,…ol) az o1,…ol operátorok azon sorozatát jelöli, amelyek a P problémára, mint kezdeti állapotra előállítják a megoldás(P) megoldást, azaz a végállapotot
Eset alapú következtetés Eset bázis: az esetek egy véges halmaza, azaz Eset-bázis = {eset k : k=1,…,n}, ahol eset k =(P k,megoldás- menete(o 1k, …, o lk ), megoldás(P k )) különféle típusú problémák – diagnózis, konfiguráció, tervezés – megoldását állíthatjuk elő
A CBR életciklusa
1. az eset visszakeresése ez a lépés egy keresési és egy illesztési eljárás kombinációja két probléma: az esetek indexelése és a hasonlósági kérdések az indexelés, azaz az esetek jellemzésére szolgáló attribútumok kialakításának problémája során az indexeknek eléggé általánosnak kell lenniük, hogy lehetővé tegyék az esetek alkalmazását a különböző szituációkban, ugyanakkor megfelelő módon specifikusnak, hogy a visszakeresés során találjunk illeszthető eseteket az eset-bázisban az illesztéshez szükséges a hasonlóság megállapítása, ehhez viszont be kell vezetni valamilyen távolság definíciót, melynek alapján választunk a jelöltek közül
A CBR életciklusa 2. egyeztetés, a közelítő megoldás javaslata az előbbiek szerint megtalált esetekből kiindulva egy előzetes, közelítő megoldást konstruálunk általában kiválasztjuk a legjobb visszakeresett eset megoldását, mint első közelítést itt az a kérdés, hogy a régi megoldás mely részeit használjuk fel 3. Illesztés, adaptáció mivel az új szituáció ritkán azonos valamely régivel, ezért annak megoldását módosítanunk kell az aktuális szituáció sajátos feltételeivel például valamilyen helyettesítő eljárással meg kell oldanunk az aktuális paraméterek illesztését két megközelítési mód: generáló adaptáció és átalakító adaptáció
A CBR életciklusa generáló adaptáció esetén minden szükséges ismeret a rendelkezésünkre áll a tudásbázisban a feladat megoldásához átalakító adaptáció esetén hiányosak az ismereteink, a tudásbázisból nem vagyunk képesek a megoldás generálására 4. Felülvizsgálat, igazolás az illesztés során kialakult közelítő megoldás értelmezése során ellenőrizzük az esetleges alternatív megoldásokat és a sikertelen megoldásokra magyarázatot szolgáltatunk 5. Tanulás, memorizálás az eset-bázist kiegészítjük a kialakult új eset (probléma, megoldás, megoldás-menete) hármassal megtörténik az új ismeretek szintézisének beépítése ez a lépés nem feltétlenül kapcsolódik közvetlenül a CBR következtetési eljáráshoz
Bizonytalanságkezelés Szakértő rendszerek készítésekor a tárgyköri szakértők ismerete nehezen reprezentálható, nehezen formalizálható. az ismeretek reprezentálása során használhatunk olyan adatokat, illetve tudást, amely csak bizonyos valószínűséggel biztos, az ilyen adatok kezelését nevezzük bizonytalanságkezelésnek.
Bizonytalanságkezelés Bizonytalan adatok kezelése egy szakértői rendszerben azokban az esetekben indokolt, amikor a rendelkezésre álló információ hiányos vagy nem teljesen megbízható vagy pontos lenne, de a reprezentáló nyelv nem elég precíz vagy ellentmondásos
Bizonytalanságkezelés Módszerek, modellek osztályozása numerikus modellek klasszikus valószínűségszámítás Fuzzy logika szimbolikus modellek nem monoton logikák heurisztikus módszerek
Bizonytalanságkezelés Felmerülő problémák hogyan reprezentáljuk a bizonytalan információt? hogyan kombináljunk több bizonytalan információt (and, or, not)? a következtetés problémája
Fuzzy logika 60-as évek közepén Zadeh dolgozta ki a fuzzy halmazelméletet a nyelvi fogalmakban rejlő pontatlanság matematikai kezelésére Zadeh bevezette a parciális tagság fogalmát, annak kifejezésére, hogy bizonyos objektumok jobban beletartoznak egy halmazba, mások kevésbé ezt a parciális tagságot egy [0,1] intervallumbeli számmal jellemezte, ahol az 1 azt jelenti, hogy az objektum benne van a halmazban, a 0 pedig hogy nincs benne, míg a kettő közötti érték azt a meggyőződésünket, hogy milyen mértékben tartozik az adott objektum a halmazhoz (nagyon, kissé, eléggé, meglehetősen)
Fuzzy logika Tagsági függvény: egy adott halmazhoz tartozás fokát fejezi ki egy [0,1] intervallumbeli számmal. A köznapi nyelvben kissé, eléggé, meglehetősen, nagyon, stb, módosítószavakkal fejezzük ki.
példa a színek U halmazán definiálhatjuk az S = { x: Zoli kedveli az x színt} halmazt a következő tagsági függvénnyel: 1, ha x eleme U kék 0,5, ha x eleme U fehér ds(x)= 0,2, ha x eleme U piros 0, egyébként szokásos megadás: S = {(kék, 1), (fehér, 0,5), (piros, 0,2)}
Fuzzy logika a halmazelméleti műveletek kiterjesztése alapján az ugyanazon alaphalmazon értelmezett fuzzy halmazok egyesítése, metszete és komplemense is fuzzy halmaz lesz az alábbi tagsági függvényekkel legyenek A és B fuzzy halmazok az U alaphalmazon, da(x) és db(x) tagsági függvénnyel, ekkor: A U B = {(x, max(da(x); db(x))) : x eleme U} A ∩ B = {(x, min(da(x); db(x))) : x eleme U} Ā = {(x; (1-da(x))) : x eleme U}
Fuzzy logika a szokásos halmazműveleteken túl a nyelvi módosítóknak megfelelő műveleteket is definiálhatunk (fuzzy műveletek): dilatáció (többé-kevésbé) növeli a tagsági függvény értékét koncentráció (nagyon) csökkenti a tagsági függvény értékét intenzitás (meglehetősen, eléggé) 0,5 alatti értékre csökkenti, 0,5 felettire növeli a tagsági függvény értékét
Fuzzy műveletek DIL(A) = {(x, da 1/2 (x)): x eleme U} CON(A) = {(x, da 2 (x)): x eleme U} INT(A) = {(x, i(x)): x eleme U}, ahol i(x) = 2* da 2 (x), ha 0<= da(x)<= 0,5 i(x) = 1-2*(1-da(x)) 2, ha 0,5<= da(x)<= 1
Fuzzy logika Előnyei: Szemlélete közel áll a napi valóságszemléletünkhöz. E rendszerleírás egyszerűbb, mint más numerikus modell esetén. Előnyösen alkalmazható hiányos adatokkal dolgozó, bonyolult feladatok esetén. A fuzzy bizonyosságokkal könnyű számolni.
Fuzzy logika Hátrányai: Elmélete még nem teljesen megalapozott. Kombinációs függvények(egymást kizáró halmazok együttes bizonyossága a két halmaz bizonyosságának minimuma és nem nulla).
Szakértő rendszerek készítésének fázisai 1. a projekt kezdete 2. a rendszer analízise és tervezése 3. gyors prototípus 4. rendszerfejlesztés 5. alkalmazás 6. utómunkálatok
1. A projekt kezdete 1. probléma megfogalmazása, igények felmérése 2. alternatív megoldások vizsgálata 3. a szakértő rendszer megközelítéses értékelése 4. tanulmányterv 5. költséghatékonysági vizsgálat 6. kérdések a vezetőség számára 7. fejlesztőcsapat megszervezése
Aszalós jegyzetben a többi
Esettanulmányok gyakorlat: lips.htm lips.htm