530 likes | 718 Views
Ismeretalapú rendszerek, szakértői rendszerek Bevezetés, alapok. Ajánlott irodalom. Sántáné-Tóth Edit: Tudásalapú technológia, szakértő rendszerek. Dunaújvárosi Főiskola Kiadói Hivatala, 2000 Futó Iván:Mesterséges intelligencia. Aula Kiadó, 1999.
E N D
Ismeretalapú rendszerek, szakértői rendszerekBevezetés, alapok
Ajánlott irodalom • Sántáné-Tóth Edit: Tudásalapú technológia, szakértő rendszerek. Dunaújvárosi Főiskola Kiadói Hivatala, 2000 • Futó Iván:Mesterséges intelligencia. Aula Kiadó, 1999. • Jackson, P.: Introduction to Expert Systems. Addison-Wesley Publ. Comp, 1986. • Giarratano P. C.: Expert Systems: Principles and Programming. PWS Publishing Co. 1999. • http://clipsrules.sourceforge.net/ (CLIPS) • http://protege.stanford.edu/ (PROTÉGÉ) • http://aaai.org/AITopics/RuleBasedExpertSystems (MYCIN) • Kóczy László T., Tick Domonkos: Fuzzy rendszerek • http://aispace.org/search/ (keresések, segédlet) • http://aispace.org/dTree/ (döntési fa, segédlet)
Miről lesz szó? • Tudásalapú rendszerek, szakértői rendszerek • felépítése, jellemzői • képességei, főbb funkciói • előnyei, hátrányai • formális meghatározása • alkalmazási területei, klasszikus példák • Megoldáskereső módszerek • Tudásreprezentációs módszerek
Tudás-/ ismeretalapú rendszerek(Knowledge Based Systems, KBS) intelligens problémamegoldás (bonyolult problémák, tanulás korábbi tapasztalatokból, természetes nyelvű közegek megértése, képek értelmezése, ...) • kevesebb ember/ kevesebb idő • hibás döntések számának csökkenése • egyszerűen, olcsón többszörözhető • bármikor elérhető • veszélyes helyekre elvihető
Tudásalapú rendszerek • újszerű programstruktúrával rendelkező MI programok • tudásbázis (szabályok, tények, metaismeretek) • következtető gép (megoldáskereső stratégia, egyéb szolgáltatások) • jellemzői: • intelligens információfeldolgozó rendszer • tárgyköri ismeretek ábrázolása szimbolikus módon • feladatmegoldás szimbólum-manipulációval • szimbolikus programok
Szakértői rendszerek(Expert Systems, ES) ES KBS szakértői ismeretek felhasználása • szűk problémakör • elég bonyolult (igény legyen szakértelemre) • emberi szakértők szükségesek • szakterület alapkérdéseiben egyetértés a szakértők között • tanpéldák, alapadatok • részproblémákra osztás
Szakértői rendszerek • elvárások (szakértőhöz hasonlóan): • javaslatok adása • javaslatok indoklása • kérdés/ válasz (“egyenrangú beszélgető partner”) • kérdések megmagyarázása • bizonytalan szituációban elfogadható javaslat adása
Tudásalapú rendszerek elméleti alapjai • MI programok: intelligens problémamegoldó eszközök, bonyolult probléma, tanulás, természetes nyelvű közlés, képértelmezés, ... • tudásalapú rendszerek újszerű programstruktúrával rendelkező MI programok (tudásbázis elkülönítése) • szakértői rendszerek olyan tudásalapú rendszerek, 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
Tudásalapú rendszerek alapvető komponensei • tudásbázis (TB) problématerületet leíró ismeretek (tudás) természetes nyelvhez közeli formalizmus szimbolikus módon leírt rendszer- specifikáció TUDÁSREPREZENTÁCIÓS MÓDSZER! • következtető gép (KG) feladatmegoldás “motorja” általános problémamegoldó ismeretek MEGOLDÁSKERESŐ MÓDSZER! • munkamemória (MM) kisegítő komponens konkrét feladat kiinduló/közbülső adatai információk
Megoldáskereső módszerek • nem-algoritmizálható/ bonyolult feladatok • problémamegoldás keresés • keresés: általános problémamegoldó mechanizmus • keresés szükséges: • bonyolult (nem-triviális, komplex, nagy/összetett) probléma • a probléma megoldásának algoritmusa nem adott • nem-triviális problémamegoldás (emberhez hasonló módon) • a keresési stratégia hatékonysága mérhető: • talál-e (optimális) megoldást • megoldás költsége • keresés költsége (idő, memória)
Megoldáskereső módszerek • a probléma leírásának alapvető elemei • kezdeti állapot(ok) • műveletek/ akciók halmaza • közbülső állapotok/ állapottér (implicit) • célfüggvény (vagy lehetséges célállapot(ok)) • műveletek költsége • feladat: célállapot elérése, út/ utak keresése (akciósorozat) • keresési tér • megoldás közben keletkezik) • reprezentálása: irányított gráffal
Megoldáskereső módszerek • fogalmak: • csúcs/él • gyökér • szülő/gyermek • elágazási tényező • szint • levél • cél • út • költség
Megoldáskereső módszerek • probléma: • optimális megoldási stratégia? • minden lehetséges megoldás kipróbálása kombinatorikus robbanás • azonban: • gyakorlati feladatoknál nem szükséges az összes megoldás cél: „elég jó” megoldás „elég rövid” idő alatt • konfliktusfeloldás: • a lehetséges akciók közötti választás (keresési stratégia) • heurisztikus ismeret figyelembe vétele (extra tudás a feladatról)
Keresési stratégiák osztályozása (felhasznált ismeretek alapján) • véletlenszerű keresés nem biztosított a véges időn belüli célbaérés • vak keresések (neminformált keresések) teljes körű szisztematikus bejárás nincs információ az út/csúcs „jóságáról” az algoritmus a cél és nemcél csúcsokat különbözteti meg bonyolultabb problémáknál: kombinatorikus robbanás • heurisztikus keresések (informált keresések) feladatspecifikus heurisztikus ismeretek felhasználása becslés az út/csúcs „jóságáról”
Keresési stratégiák osztályozása (módosíthatóság alapján) • nem-módosítható vezérlési stratégiák • a kiválasztott akció nem vonható vissza • másik alkalmazható akció kipróbálására nincs lehetőség • minden lépés végérvényes • módosítható vezérlési stratégiák • felismerik a hibás/ nem megfelelő akciókat • az algoritmus egy korábbi állapotba lép vissza (új irányt próbál ki), ha • végállapotba ér, amely nem célállapot • az adott irány nem tűnik igéretesnek
Nem-módosítható stratégiák • a kiválasztott akció nem módosítható/ nem vonható vissza • nincs lehetőség visszalépésre • az algoritmus csak az aktuális csúcsról tárol információt (korábbi elágazásokról nem) • alkalmazható akciók = az aktuális csúcsra alkalmazható akciók választás (lokális ismeret alapján, legígéretesebb gyermek) • (optimális) megoldás nem biztosított
Módosítható stratégiák • visszalépéses vezérlési stratégiák egyszerre egy út nyilvántartása • gráfkereső vezérlési stratégiák továbblépéskor a kiválasztott csúcs minden utódjának létrehozása nyílt csúcsok közül legígéretesebb csúcs kiválasztása már vizsgált utak nyilvántartása (emlékezet) • nem-informált vezérlési stratégiák (mélységi, szélességi, ...) • heurisztikus vezérlési stratégiák (előretekintő, A, A*, ...)
Visszalépéses keresés • az MI egyik legjelentősebb módosítható keresési stratégiája • aktuális út és a választási pontok nyilvántartása • alkalmazható akciók = az út végén levő csúcsra alkalmazható akciók választás (első alternatíva) • zsákutca esetén visszalépés (backtrack) • útszakasz végének törlése • legközelebbi elágazáshoz való visszalépés • folytatás egy másik irányban (következő alternatíva) • folytatás egy cél csúcs eléréséig vagy az összes út megvizsgálásáig
Visszalépéses keresés • visszalépés szükséges: • a csúcsból nem vezet további út (zsákutca vége) • a csúcsot nem érdemes tovább vizsgálni (heurisztika alapján) • aktuális csúcsból kiinduló minden útról visszaléptünk (zsákutca torkolata) • nyilvántartott út egy csúcsába jutunk (kör) • túl messzire vagyunk a kezdőcsúcstól (mélységi korlát)
Visszalépéses keresés • visszalépéses keresés előnye: • viszonylag egyszerű, könnyen megvalósítható • kicsi memóriaigényű • MI rendszerekben nagy jelentősége van: • szakértői rendszerek következtető gépének vezérlési stratégiája • Prolog rendszerek • visszalépéses keresés hátránya: • nem garantált a cél elérése végtelen mélységű vagy kört tartalmazó gráfban (kiegészítés: mélységi korlát, körök figyelése) • rossz irány esetén csak a zsákutca végén veszi észre azt • ugyanazon zsákutcába vezető útszakaszt több út részeként is bejárhat (nincs emlékezete)
Gráfkereső stratégiák • az MI másik legjelentősebb módosítható keresési stratégiája • az összes vizsgált út nyilvántartása (bizonyos mélységig) • a cél eléréséhez legígéretesebbnek tűnő út folytatása • a kiválasztott út végén levő csúcs összes gyermekének előállítása csúcs kiterjesztése • részgráf készítése • az összes vizsgált út végén levő csúcsok nyílt csúcsok (kiterjesztésre váró csúcsok) • nem felejti el a keresési gráf már megvizsgált részét
Gráfkereső stratégiák • az általános gráfkereső algoritmus fő lépései: • Add the initial node to L. (L: list of open nodes) • If L is empty, return failure; otherwise choose a node n from L. • If n is a goal node, stop and return the path from the initial node to n; otherwise, remove n from L, expand n, add the successors of n to L, return to step 2. • különböző gráfkereső stratégiák: • hogyan válasszuk a csúcsot a nyílt csúcsok halmazából • hogyan (hova) tegyük az előállított csúcsokat a nyílt csúcsok halmazába
Gráfkereső stratégiák • néhány fontosabb gráfkereső stratégia: • neminformált stratégiák: • mélységi keresés • szélességi keresés • egyenletes keresés • informált stratégiák: • előretekintő keresés • A* keresés
Tudásreprezentációs módszerek • tudás: • sokrétű, nehéz pontosan jellemezni, formalizálni, változik • szimbólumokkal való leírása: ismeret • cél: • ismeret megszerzése, “kinyerése” • ismeret ábrázolása, reprezentálása • ismeret hasznosítása, feladatmo-ra való felhasználása • ehhez szükséges: • leíró eszköz, szintaxis (nyelv, grafikus leíró eszköz) • elemek jelentését meghatározó szemantika (pl. következtető módszer) }
Reprezentációs módszerek osztályozása • problémaleírás módja szerint: • procedurális/ algoritmikus reprezentáció • probléma megoldását vagy annak stratégiáját adjuk meg • HOGYAN oldjuk meg a feladatot • leíró/ deklaratív reprezentáció • problémát írjuk le, MIT kell megoldanunk • megoldást következtető rendszer végzi • logika alapú leírások Tudásalapú rendszereknél jellemzően deklaratív leírás + hatékonyságnövelő algoritmikus elemek (pl. démonok, meta-szabályok)
Reprezentációs módszerek osztályozása • problémaleírás szerkezete szerint: • egyszerű/ elemi reprezentáció • egyszerű, struktúra nélküli elemek • atomok, ezek kapcsolatai, rajtuk végezhető műveletek, róluk szóló állítások logika alapú rendszerek • strukturált reprezentáció • belső struktúrával, attribútumokkal rendelkező objektumok • objektumok kapcsolata lehet: • taxonomikus/ osztályozó hierarchia, pl. állatok rendszertana • szervezeti hierarchia, pl. autó részei keret-alapú rendszerek
Reprezentációs módszerek osztályozása • procedurális reprezentáció (procedurális pr.nyelv eljárásai) • logika-alapú reprezentáció • logikai nyelvek (állítások, logikai következtetés) • szabályalapú reprezentáció (feltételtől függő állítások, tevékenységek) • formális nyelvtanok (módszerek nyelvek tulajdonságainak felismerésére) • algebrai kifejezések (formalizmusok spec. mat. ismeretek leírására) • strukturált/ keret-alapú reprezentáció • keretek/ frame-ek (fogalom/ objektum strukturált szimbolikus leírására) • asszociatív hálók/ szemantikus hálók (fizikai/ oksági kapcs. leírására) • rokonsági hierarchiák (taxonómiák, rendszertanok) • döntési fák (osztályozási feladatoknál alkalmazott módszerek) • forgatókönyvek/ script-ek (eseménysorozatok oksági kapcs. leírására) • hibrid tudásreprezentáció
Hagyományos programok program = adat + algoritmus bemenő adat: konkrét feladat kimenő adat: eredmény cél: függvény leképezés megvalósítása (bemenő adatok megfelelő kimenő adatok) HOGYAN? algoritmus (programozó írja le) szereplők: rsz.szervező, pr.tervező, programozó, felhasználó passzív aktív
Adatbázis alkalmazások adatbáziskezelő rendszerek fő elvei: • nagyméretű adatbázisok, egyidőben nagyszámú felhasználó • adat-függetlenség • fizikailag különböző helyeken tárolt adatokhoz való hozzáférés program helyett: DB alkalmazások (pl. lekérdezések) szerkezete: • adat-rész: adatbázis (több alkalmazás közösen használja) • algoritmus: adatbáziskezelő rendszer cél: reláció megvalósítása, MIT (milyen mat. relációt) akarunk leíró/ deklaratív I/O adatok lehetnek halmazok halmaz-műveletek lehetnek új szereplő: DB adminisztrátor
Tudásalapú rendszerek tudásbázis + következtető gép TB részei: • tények (adatok) • összefüggések, tények közötti kapcsolatok problémamegoldás folyamata (emberi pr.mo-hoz hasonló): • tudáselemek/ tudásdarabkák/ sémák/ ökölszabályok • feladatmegoldás: tudáselemek szituációfüggő mozgósításával • eredmény: adat helyett információ (magyarázattal ellátott szakértői szintű javaslat, tanács) INTELLIGENS INFORMÁCIÓFELDOLGOZÓ RENDSZER új szereplők: tudásmérnök, tárgyköri szakértő
Ismeretalapú rendszerek felépítése • tudásbázis • tudásdarabkák szimbolikus leírása (reprezentációs technika) • meta-ismeretek • következtető gép • megoldáskereső stratégia • többi komponens működésének támogatása • munkamemória • specifikus információ (külvilágból érkező/ onnan kért) • következtetések során kapott ismeretek
Ismeretalapú rendszerek felépítése • magyarázó alrendszer rsz. akcióinak megmagyarázása felhasználói kérésre jellegzetes magyarázatadási módok: • magyarázatadás feladatmegoldás közben: • WHY... (magyarázó következtetés, intelligens súgó-help) • WHAT IF... (hipotetikus következtetés) • WHAT IS ... (tallózás a TB-ban és MM-ban) • magyarázatadás, indoklás a feladatmegoldás után: • HOW ... (magyarázó következtetés, visszatekintő következtetés) • WHY NOT ... (magyarázó következtetés, ellenpéldák keresése) • WHAT IS ... (tallózás a TB-ban és MM-ban)
Ismeretalapú rendszerek felépítése • tudásbázis kezelő/fejlesztő alrendszer • feladatai: TB építése, tesztelése, módosítása • tartalmaz: TB fejlesztő eszközök, teszt-esetek könyvtára, tudásszerzést támogató szolgáltatások • felhasználói felület ( user) • természetes nyelvű párbeszéd, konzultáció/ javaslat • speciális felületek • adatbázis- és egyéb kapcsolatok • fejlesztői felület ( tudásmérnök, tárgyköri szakértő)
Ismeretalapú rendszerek készítése • legkritikusabb része: • ismeretszerzés (tudásmérnök/ tárgyterületi szakértők) • tudásmérnök feladata: • tudásbeszerzés, adott formába öltés: módszerek, ökölszabályok, eljárások felderítése, rendszerezése, finomítása, formalizálása • tudásreprezentációs és következtetési stratégia kiválasztása • tudásalapú rendszer megépítése • TB ellenőrzés • TB karbantartás
Szakértői keretrendszer (shell) • üres TB, erőteljes TB fejlesztő alrendszer • tárgyterülettől független szolgáltatásokat nyújt SZR létrehozásához és működtetéséhez • támogatja a gyors prototípuskészítést, inkrementális rendszerépítést • pl. CLIPS, GoldWorks, G2, Level5
Tudásalapú/ szakértő rsz. előnyei • pótolják a szakértőhiányt, elérhető áron terjesztik a szakértői ismereteket (TROPICAID) • tárgyterület változásait jól nyomon követik (R1) • növelik a szakértő képességét • fokozzák a szakértő produktivitását • megőrzik a szakértelmet • létrehozhatók hagyományos technológiával nem megvalósítható rendszerek (Buck Rogers) • a tanácsadásban következetesek, egyenletes teljesítményűek • állandóan rendelkezésre állnak • képesek részleges, nem-teljes adatokkal is dolgozni • képesek magyarázatot/ indoklást adni
Tudásalapú/ szakértő rsz. hátrányai • ismereteik egy adott szűk tárgyterületről valók, korlátaikat nem ismerik • válaszaik nem mindig korrektek (tanácsaikat elemezni kell!) • nincs hétköznapi józan eszük (ez a legnagyobb korlát) minden kézenfekvő ellenőrzést be kell építeni (sok kivétel megnöveli a TB méretét, a végrehajtási időt)
A szakértő rendszer formális meghatározása "Egy szakértő rendszert a számítógépben tárolt ismeretbázis megjelenítéseként értelmezünk, ahol a szakértői ismeretek olyan formában tárolódnak, hogy a rendszer képes intelligens tanácsot vagy intelligens döntést hozni az adott kérdéssel összefüggésben. További jellemző, amelyet sokan alapvetőnek is tartanak, a rendszernek az a képessége, hogy - igény szerint és az érdeklődő számára alkalmas módon - igazolja is saját okfejtését.” British Computer Society's Specialist Group, 1983
Tekintélyes kutatók szélsőséges véleményei a szakértői rendszerekről: "Mindenre ezt használjuk: programírásra, programtervezésre, egyszóval mindenütt, ahol az alkotó gondolkodást rendszerezni, majd eredményét a gyakorlatban realizálni kell.” "A szakértői rendszerek révén okossá válik az értelmi fogyatékos gyerek, diagnosztizálhatók a bonyolult betegségek, az Egyesült Államok megszerzi a világhatalmat és a világ megmenekül a nukleáris katasztrófától.” "A király - legalábbis ha a mesterséges intelligencia ötödik generációjáról van szó - anyaszült meztelen, legalábbis a bokájáig, onnan lefelé viszont egy pár jól kidolgozott díszes cipőt visel, amelyet szakértő rendszereknek neveznek.” "A piacon jelenleg kapható szakértői rendszerek semmiféle mesterséges intelligenciát nem tartalmaznak."
Alkalmazási terület, klasszikus példák • DENDRAL (DENDritic Algorithm) Ismeretlen szerves vegyületek molekulaszerkezetének meghatározása tömegspektrográfiai és mágneses rezonancia mérési adatokból. • INTERNIST Orvosi rendszer belgyógyászati betegségek diagnosztikájának támogatására. • QMR (Quick Medical Reference) Elektronikus kézikönyv. • MYCIN/NEOMYCIN A vér bakteriális eredetű fertőzései, agyhártyagyulladás diagnosztizálása, terápia meghatározása. • EMYCIN MYCIN alapú keretrendszer.