620 likes | 711 Views
Ismeretalapú rendszerek alaptechnikái. Ismeretalapú rendszerek alaptechnikái. tudásreprezentációs módszerek és következtetési/ keresési stratégiák számítógéppel megvalósított változatai Alapvető következtetési technikák: szabályalapú technikák induktív technikák (gépi tanulás)
E N D
Ismeretalapú rendszerek alaptechnikái tudásreprezentációs módszerek és következtetési/ keresési stratégiák számítógéppel megvalósított változatai Alapvető következtetési technikák: • szabályalapú technikák • induktív technikák (gépi tanulás) • hibrid technikák • szimbólum-manipulációs technikák • modell-alapú következtetési technikák • kvalitatív technikák • eset-alapú technikák • temporális következtetési technikák • neurális hálók
Produkciós rendszerek MI legáltalánosabb problémamegoldó szemlélete az emberi problémamegoldás modellezésére • produkciós szabályok (hosszútávú memória) • globális adatbázis (rövidtávú memória) • vezérlési stratégia és szabályinterpreter (következtető gondolkodás)
Produkciós szabály HA <feltétel> AKKOR <tevékenység> tudásmorzsa (chunk of knowledge) reprezentálása • feltétel: szabályalkalmazás feltételeit megadó tényállítás vagy ezek és/ vagy kapcsolata • következmény: szabályalkalmazás egy vagy több következménye • akciók (globális DB tartalmának módosítása) • eljáráshívások (információcsere biztosítása) • beavatkozások (rendszer által vezérelt folyamatba) • információkérés (felhasználótól)
Vezérlő komponens • terminálási feltétel bekövetkeztének figyelése Globális adatbázis • feladat kiinduló adatai, közbülső eredmények vezérlési stratégia és szabályinterpreter fő tevékenységei: • mintaillesztés • alkalmazható szabályok megkeresése • tüzelőképes szabályok konfliktushalmazba • szabály kiválasztása (beépített vezérlési stratégia) • szabály alkalmazása (következmény végrehajtása)
Szabályalapú rendszerek A szabályalapú rendszerek tudásbázisának elemei: • tényállítások (predikátumok) • deklaratív ismeretek a konkrét problémáról • igaz (vagy hamis) értékű állítások • értékük változhat a következtetés során (időben) • szabályok • meta-szabályok
Szabályalapú rendszerek A szabályalapú rendszerek tudásbázisának elemei: • tényállítások (predikátumok) • szabályok (feltételes állítások) HA <feltétel> AKKOR <következmény> AKKOR <következmény> HA <feltétel> • heurisztika vagy „ökölszabályok” reprezentálása • köznapi gondolkodás modellezésére • szakértői tapasztalatok (heurisztikák) leírására • adott szituációkban végrehajtandó akciók specifikálására • tárgyköri tudásunk általánosan érvényes része • működtetés: következtető gép • meta-szabályok (szabályok szabályok használatáról)
Szabályok ha A akkor B • A: feltételrész (előtag) • B: következmény rész (utótag) • A, B: • állítások • állítások és/ vagy kapcsolata • procedurális elemek (végrehajtandó tevékenységek)
Ha x<y és y<z akkor x<z feltétel és következmény rész: állítás xyz x<y y<z x<z • Ha az üres mező egyik szomszédja az n-nel számozott lapocskát tartalmazza, akkor húzd ezt a lapocskát az üres helyre. (szabály-séma) feltételrész: állítás következmény rész: végrehajtandó tevékenység pl. üres mező jobbra i, j: 1…4 m[i,j]: 0…15 ha j3 és m[i,j]=0 akkor m[i,j]:=m[i,j+1] és m[i,j+1]:=0
Akkor lesz jó a lágytojás ha sót teszel a hideg vízbe és a vizet felforralod és beleteszed a tojást és 4 percig főzöd és hideg vizet engedsz rá. feltételrész: tevékenységek következmény rész: állítás (célállítás) Tények feltétel nélküli állítások pl. hőmérséklet > 50oC 4x4-es játék „állása”
Szabályalapú következtetés • cél: • célállítás teljesülésének belátása • célállapot elérése • feladat: • tények és célállítások között egy szabályok láncolatából álló megoldási út keresése • következtetés eszköze: • szabályalkalmazás/ illesztés • modus ponens A A B B
Kétféle következtetési módszer: • MP alkalmazása szerint két különböző következtetési forma: • adatvezérelt (előrefelé haladó) következtetés • cél: egy célállapot elérése vagy megkonstruálása a kezdőállapotból • új következtetések előállítása MP alkalmazásával • következtetés a terminálási feltétel eléréséig vagy az összes következmény előállításáig (nincs több alkalmazható szabály) • célvezérelt (visszafelé haladó) következtetés • cél: egy feltételezett célállapot érvényességének igazolása kezdetben érvényes tényekre támaszkodva • új részcélok előállítása MP alkalmazásával • következtetés az összes részcél igazolásáig vagy amíg nincs több igazolható részcél (nincs több alkalmazható szabály)
Adatvezérelt következtetés MP alkalmazása: A és A B B TB-hoz új tény (adat következményei) • illesztés • szabály feltételi része/ tények • konfliktusfeloldás • konfliktusfeloldó stratégiák • szabályalkalmazás • következmény rész végrehajtása
Célvezérelt következtetés MP alkalmazása: cél B bizonyítása AB -ból B-re lehet következtetni, ha A igaz új cél: A bizonyítása • illesztés • szabály köv. része, tények/ cél(ok), részcél(ok) • konfliktusfeloldás • első alkalmazható szabály • szabályalkalmazás • szabály feltételi része: új részcél(ok) • zsákutca visszalépés (backtrack)
Melyik irányú következtetést használjuk? A módszer kiválasztását befolyásoló tényezők: • lehetséges kezdő- és célállapotok száma útvonaltervezés, szimbolikus integrálás • melyik irányban nagyobb az elágazási tényező tételbizonyítás • szükség van-e magyarázatadásra orvosi szakértő rendszer bevált megfigyelés: kérdésre válaszadás esetén: visszafelé haladó következtetés ha új tények, állapotok elérése a cél: előrefelé haladó következtetés kétirányú keresés Prolog, MYCIN, M.1, CLIPS, GoldWorks, G2
Szabályok készítése: minden márix-sor egy szabály gyors prototípus szab-1: if sebesség=kicsi and képnyomtatás=nem and minőség=levél and karakterkészlet=fix and ár=alacsony then nyomtató=daisy-wheel-type-1 cf 80.
Tudásbázis részei: • cél (kérdés) • szabályok • meta-deklarációk (párbeszéd támogatására) felhasználása mintaillesztéssel: • kiírandó kérdést megkeresi, kiírja • attribútum megengedett értékeit megkeresi, kiírja felhasználói menüként • adatok
Példa adatvezérelt rendszer működésére (előző példa adatvezérelt módon) Tudásbázis részei: • adatok • szabályok • meta-deklarációk Eltérés a célvezérelt esettől: • problémamegoldás iránya • végrehajtást a kezdeti adatok indítják
Adatvezérelt KG “tölts és tüzelj” (recognize-act) ciklusa: • Illesztés szabálykiválasztó • minden szabály feltételi része/ MM adatai • tüzelőképes szabály példány konfliktushalmaz • Konfliktusfeloldás szabálykiválasztó • szabálypéldány kiválasztása, tüzelésre kijelölése (stratégia) • Végrehajtás szabályinterpreter • MM tartalma általában módosul • ha nincs kiválasztott szabály vagy halt utasítás leállás • Ciklus újrakezdése (konfliktushalmaz törlése)
Problémák az adatvezérelt következtetési lépések során: • kombinatorikus robbanás pl. s=150 szabály p=4 elem a feltételrészben szabályonként t=20 adat a MM-ban s*tp=150*204=24.000.000 illesztés lehet ciklusonként! • MM tartalma általában csak kicsit módosul egy tüzelőképes szabály általában tüzelőképes marad, mégis újraillesztődik a következő ciklusban!
Rete algoritmus • OPS-5 produkciós rsz. illesztési módszere • előrefelé haladó következtetés mintaillesztési feladatának elvégzésére • az illesztés állapotinformációit átmenti az előre következtetés egyes fázisai között, csak a MM változásaival végzi el az illesztést • kiaknázza a szabályok feltételrészeinek strukturális hasonlóságában rejlő lehetőségeket
szabálymemória: A(x) B(x) C(y) D(x) (D hozzáadása) A(x) B(y) D(x) E(x) (E hozzáadása) A(x) B(x) E(x) A(x) (A törlése) • munkamemória: {A(1), A(2), B(2), B(3), B(4), C(5)} • Rete algoritmus: • szabálymemória lefordítása Rete hálóvá • munkamemória elemek lekérdezése • egyesítések, cselekedetek elvégzése (MM módosítása), Rete háló módosítása A=D D E lekérdezés egyesítés cselekedet E(2) A(2) D(2) D(2) A=B A B C D C(5) D(2) B(2) B(3) B(4) A(1) A(2) A(2) B(2) E(2) A=E E A A(2) E(2) A(2)
Rete algoritmus előnye: • megszünteti a szabályok közti átfedéseket (így egyazon ciklusban a szabályok illesztésénél minden MM-beli adattal egy illesztést kell elvégezni) • megszünteti az időbeli ismétlődéseket (csak a módosításokat veszi figyelembe a törlések és hozzáadások után)
Konfliktusfeloldó stratégiák • újrafelhasználhatóság • vezérlés ciklusmentesítése • pl. egy szabálypéldány csak egyszer tüzelhet vagy a rákövetkező ciklusban nem hajtható végre • frissesség • MM elemeihez időcímkék rendelése • friss időcímkéjű adatok előnyben részesítése • specifikusság • több feltételt tartalmazó szabályok előnyben részesítése • prioritásos rangsorolás Több stratégia támogatása választás
Szabályalapú rendszerek előnyei • modularitás • univerzális megjelenítés • természetesség • bizonytalanságkezelési lehetőségekkel könnyen kiegészíthető
Szabályalapú rendszerek hátrányai • végtelen láncolás • új, a korábbiakkal ellentmondó ismeret beépítése • szabályok módosítása során ellentmondás • szabályok/ meta-szabályok formailag nem különböznek, a kétféle ismeret keveredik zavaró, jól strukturáltságot rontja • nincs szabványosítva a szabályok nyelve más rendszerre átvinni nehéz
Induktív rendszerek • induktív következtetés: egyedi esetekből általános érvényű következtetés • gépi tanulás, példák alapján történő tanulás • döntési fa tanulása • attribútumaikkal megadott példák osztályozása • optimális döntési fa generálása • példák osztályozásának egyszerű reprezentációja • belső csomópontok: attribútumra vonatkozó tesztek • levelek: osztályok • élek: attribútum értékek
Döntési fa készítése (ID3 algoritmus) • „legjobb” attribútum kiválasztása • az attribútum minden lehetséges értéke szerint a fa bővítése (részosztályokra bontás) • az értékek szerint a példák csoportosítása a levelekhez (példák részosztályokba sorolása) • minden levélre külön-külön: • azonos osztályozású példa(k) esetén: leállás • egyébként: 1..4 lépések
Döntési fa használata: • tudásszerzés/ gyors prototípus-készítés támogatása (szabályalapú/ hibrid rendszerek induktív szolgáltatással) • példákkal/ ellenpéldákkal történő magyarázatadás természetes használata
Szabályok készítése: minden márix-sor egy szabály gyors prototípus szab-1: if sebesség=kicsi and képnyomtatás=nem and minőség=levél and karakterkészlet=fix and ár=alacsony then nyomtató=daisy-wheel-type-1.
Szabályok készítése: minden gyökér-levél út egy szabály gyors prototípus szab-1: if ár=alacsony and minőség=levél then nyomtató=daisy-wheel-type-1.
Induktív rendszerek fő lépései: • probléma megadása (tudásreprezentáció): • attribútumok (mátrix fejléce, oszlopok előállítása, objektum osztály definiálása) • tanulási példák (mátrix sorainak feltöltése, objektum példányok definiálása) • következtetés (hipotézis generálás) • példák ellentmondásmentességének ellenőrzése • optimális döntési fa (DF) készítése TB • vezérlés (rendszer futtatása) • felhasználói példák osztályozása (DF bejárásával) • felhasználói példák elemzése (DF segítségével)
Hibrid rendszerek • többféle programozási mintát támogatnak: • keret-struktúrákat (frame-eket) • szabályokat • célvezérelt • adatvezérelt • megvalósításuk: • objektum-orientált eszközökkel
Keret (frame) • ismeretelméleti alapokon kidolgozott tudásreprezentálási alapegység • szerkezettel rendelkező fogalom leírására szolgáló formális eszköz • keretek jellemzői: • egy keret tartalmazza: • fogalom nevét (egyedi azonosító) • legfontosabb tulajdonságait (attribútumok) rekeszekben, résekben (slot) tárolva (keret is lehet) • osztályok, alosztályok, példányok • hierarchikus struktúra (is_a, instance_of relációk) • öröklődés (osztály - alosztály, osztály - példány) • eseményvezérelt eljárások: démonok