430 likes | 580 Views
Ismeretalapú rendszerek alaptechnikái I. Szabályalapú rendszerek. Miről lesz szó?. Alapvető következtetési technikák Produkciós rendszerek Szabályalapú rendszerek előrefelé haladó következtetés visszafelé haladó következtetés Rete algoritmus strukturált szabályalapú rendszerek
E N D
Ismeretalapú rendszerek alaptechnikái I. Szabályalapú rendszerek
Miről lesz szó? • Alapvető következtetési technikák • Produkciós rendszerek • Szabályalapú rendszerek • előrefelé haladó következtetés • visszafelé haladó következtetés • Rete algoritmus • strukturált szabályalapú rendszerek • előnyök/ hátrányok
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: • induktív technikák (gépi tanulás) • szabályalapú technikák • vezérlési stratégia iránya szerint: adatvezérelt/ célvezérelt • TB szabályainak szerkezete szerint: egyszerű/ strukturált • 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
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 (rsz. á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
Reasoning and search • reasoning problems are solved by search in the state space (r1): p1=t p2=t (r2): p2=t p3=t (r3): p3=u p1=u initial state: {p1=t, p2=f, p3=u}, (a0) states: {p1=u, p2=f, p3=u}, (a1) {p1=t, p2=t, p3=u}, (a2) {p1=t, p2=t, p3=t}, (a3) {p1=u, p2=t, p3=u}, (a4)
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? • 4x4 kirakós játék • cselekvési terv generálás • diagnosztikai feladatok • matematikai tételbizonyítás • misszionáriusok/ kannibálok probléma • N királynő probléma
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
Bidirectional reasoning • problems where neither forward nor backward chaining is efficient, but they operate efficiently at an early stage • combination of backward and forward techniques bidirectional reasoning • the goal state can be reached from two directions at same time • terminates when the reasoning bridge is built up
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
Struktúrált szabályalapú rendszerek • sok szabály célszerű modulokra bontani • “oszd meg és uralkodj” elv • modulok (kontextusok) kontextusfa • megoldásszerkezet szerinti hierarchikus csoportosítás • hierachikus áttekintést tesz lehetővé • feladatmegoldás kontextusfüggő • KG az aktuális kontextushoz tartozó szabályokhoz fér hozzá • átkapcsolás a kontextusok között kontextusváltás
Példa: borkiválasztó szakértő rendszer tudásbázisának modularizálása
Szabályok strukturálásának előnyei: • rendszer viselkedésének könnyebb áttekinthetősége (könnyebb tesztelés, módosítás, karbantartás) • ugyanannak a szabályhalmaznak többszörös aktivizálása lehetséges statikus kód redukálása • célvezérelt/ adatvezérelt szabályok elkülönített kezelése kiválóan megoldható
Kontextusfák: • Statikus kontextusfa • a szabályok végrehajtás előtti struktúrája • Dinamikus kontextusfa • a feladat végrehajtása közben felépülő kontextusfa • KG építi fel és bontja le • mindig a fa valamely csúcsa van a figyelem középpontjában (az ahhoz rendelt szabályok esélyesek a végrehajtásra)
A kontextusváltás kezdeményezője lehet: • a végrehajtás alatt álló szabály (programozott kontextusváltás) • a feladatmegoldás lépéseinek előjegyzését tartalmazó komponens: agenda (automatikus kontextusváltá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