Ismeretalapú rendszerek alaptechnikái I. Szabályalapú rendszerek.

Slides:



Advertisements
Hasonló előadás
A BIZTONSÁGTECHNIKA ALAPJAI
Advertisements

Készítette: Ágfalvi Zsófia – Szakértői rendszerek, Pannon Egyetem, 2009.
Információs és kommunikációs technikák szerepe a szakképzésben
Karbantartás- és eszköz menedzsment Maintenance Assistant™ rendszerrel
Diagnosztika szabályok felhasználásával, diagnosztikai következtetés Modell alapú diagnosztika diszkrét módszerekkel.
K-Chat Dr. Szepesvári Csaba Kutatási Alelnök mindmaker.
Készítette: Ősz Edina október 31.
Szakértő rendszer problématípusok és a tudásalapú rendszerépítés jellegzetességei Horváth Milán Sántáné-Tóth Edit: Tudásalapú technológia, szakértő rendszerek.
Képességszintek.
Tanuló (projekt)szervezet a Magyar Nemzeti Bankban
Intelligens irányító rendszerek (Intelligent control systems) BEVEZETÉS.
GoldWorks III.
Bayes hálók október 20. Farkas Richárd
Bevezetés a gépi tanulásba február 16.. Mesterséges Intelligencia „A számítógépes tudományok egy ága, amely az intelligens viselkedés automatizálásával.
A munka világával kapcsolatos tudás
TUDÁS és TANULÁS a szervezetben
Általános lélektan IV. 1. Nyelv és Gondolkodás.
TUDÁSALAPÚ RENDSZEREK ILCV441, ILDV443 Előadó: Kovács Zita 2013/2014. I. félév december 6.
TUDÁSALAPÚ RENDSZEREK Tudnivalók ILCV441 Előadó: Kovács Zita 2013/2014. I. félév.
ILCV441, ILDV443 Előadó: Kovács Zita 2013/2014. I. félév TUDÁSALAPÚ RENDSZEREK december 7.
Előadó: Kovács Zita 2013/2014. II. félév TUDÁSALAPÚ RENDSZEREK Bevezetés.
A matematikai kompetencia jellemzői, fejlesztése, módszerei
A virtuális technológia alapjai Dr. Horv á th L á szl ó Budapesti Műszaki Főiskola Neumann János Informatikai Kar, Intelligens Mérnöki Rendszerek.
Modellezés és tervezés c. tantárgy Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Matematikai Intézet Mérnöki Informatikus MSc 9. Előadás és.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Mesterséges intelligencia
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
Egy egyszerű gép vázlata
DÖNTÉSELŐKÉSZÍTÉS, DÖNTÉS
Készítette: Harangozó Richárd.  Hayes-Rooth féle osztályozás:  Interpretáció  Előrejelzés  Diagnózis  Objektumtervezés  Tevékenységtervezés  Őrzés/monitorozás.
Szakértői rendszerek Bevezetés, alapok
PROLOG PROGRAMOZÁSI NYELV
ISMERETALAPÚ RENDSZEREK SZAKÉRTŐ RENDSZEREK
MYCIN szakértői rendszer. MYCIN modell szakértői rendszer vér fertőzéseinek, gyógykezeléseknek meghatározását támogató orvosi diagnosztikai rendszer célvezérelt,
Ismeretalapú rendszerek alaptechnikái I. Szabályalapú rendszerek.
Ismeretalapú rendszerek, szakértői rendszerek Bevezetés, alapok
Ismeretalapú rendszerek alaptechnikái
Szakértő rendszer alaptechnikák, elemi problématípusok és a tudáslapú rendszerépítés jellegzetességei Forrás: Sántáné-Tóth Edit: Tudásalapú technológia,
MESTERSÉGES INTELLIGENCIA (ARTIFICIAL INTELLIGENCE)
INTELLIGENS GYÁRTÓRENDSZEREK
MYCIN Szakértői rendszer.
TERVEZÉS - SZERVEZÉS - VEZETÉS
2003. december 18.Gyires Béla Informatikai Nap1 Következtés tudás alapú rendszerekben Bognár Katalin Debreceni Egyetem Informatikai.
A pánikbetegség kezelése
Adatbázisrendszerek jövője
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Önálló labor munka Csillag Kristóf 2005/2006. őszi félév Téma: „Argument Mapping (és hasonló) technológiákon alapuló döntéstámogató rendszerek vizsgálata”
KOMMUNIKÁCIÓ Gyula,
Tóth Máté Tudásbázisok, szakértői rendszerek Könyvtári szolgáltatások menedzselése I. Tóth Máté
2. Korlátozott racionalitás elmélete
Logikai programozás 2..
Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek.
Avagy: Mit lát a pitypang magja repülés közben?
Algoritmikus gondolkodás és fejlesztésének lehetőségei
Gyurkó György. Az állapotmodellezés célja Általánosságban ugyanaz, mint a többi dinamikus modellezési technikáé: Jobban megismerni a problémát. Finomítani.
UML modellezés 3. előadás
TEROTECHNOLÓGIA Az állóeszközök újratermelési folyamata.
Reflektív gondolkodás
PÁRHUZAMOS ARCHITEKTÚRÁK – 13 INFORMÁCIÓFELDOLGOZÓ HÁLÓZATOK TUDÁS ALAPÚ MODELLEZÉSE Németh Gábor.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
Mesterséges intelligencia Áttekintés. Mesterséges intelligencia (MI) Artificial Intelligence (AI) Filozófia Matematika Pszichológia Nyelvészet Informatika.
Adatstruktúrák Algoritmusok Objektumok
Tudásalapú rendszerek
Mesterséges intelligencia
Mesterséges intelligencia
Tudásalapú rendszerek
SZAKKÉPZÉSI ÖNÉRTÉKELÉSI MODELL ÖNÉRTÉKELÉSI SZINTEK
11. Vizuális jelképek, jelek, sematikus ábrák
INFOÉRA 2006 Miért tanítsunk informatikát?
14-16 óra Rendszerek irányítása. Szabályozás és példával A szabályozás a kibernetikában az irányítás egyik fajtája: az irányítás lehet vezérlés (open.
Előadás másolata:

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 AKKOR 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)

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) Vezérlő komponens

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 AKKOR AKKOR HA  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)

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) Szabályok

 Ha x<y és y<z akkor x<z feltétel és következmény rész: állítás  x  y  z  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 j  3 é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 > 50 o C 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

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) Kétféle következtetési módszer:

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 Adatvezérelt következtetés

the problems of forward reasoning:  forward reasoning with defined goal given: the initial state of fact-base, the rule-base, the goal state(s) of fact-base question: is goal state a consequence of initial state? can goal state be derived from initial state by the rules? decision problem: the whole search tree must be traversed in the worst case NP-complete (the size of the tree increases the number of computational steps exponentially)  forward reasoning (without defined goal) given: the initial state of fact-base, the rule-base compute: all the possible consequences of initial state search problem: the whole search tree must be traversed NP-complete (follows from the problem specification)

Reasoning and search reasoning problems are solved by search in the state space (r 1 ): p 1 =t  p 2 =t (r 2 ): p 2 =t  p 3 =t (r 3 ): p 3 =u  p 1 =u initial state: {p 1 =t, p 2 =f, p 3 =u}, (a 0 ) states: {p 1 =u, p 2 =f, p 3 =u}, (a 1 ) {p 1 =t, p 2 =t, p 3 =u}, (a 2 ) {p 1 =t, p 2 =t, p 3 =t}, (a 3 ) {p 1 =u, p 2 =t, p 3 =u}, (a 4 )

MP alkalmazása: cél B bizonyítása A  B -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) Célvezérelt következtetés

the problems of backward reasoning:  backward reasoning with defined state given: the goal state of fact-base, the rule-base, one or more given states („s”) of fact-base question: can „s” be a reason of the goal state? (can goal state be derived from „s” by the rules?) decision problem: the whole search tree must be traversed in the worst case NP-complete (the size of the tree increases the number of computational steps exponentially)  backward reasoning (without defined state) given: the goal state of fact-base, the rule-base compute: all the possible reasons of the goal state search problem: the whole search tree must be traversed NP-complete (follows from the problem specification)

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 Melyik irányú következtetést használjuk?

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 A módszer kiválasztását befolyásoló tényezők:

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 Bidirectional reasoning

Példa célvezérelt rendszer működésére Sebesség Kép- nyomtatás Minőség Karakter- készlet ÁrNyomtató kicsinemlevélfixalacsonydaisy-wheel-type-11 kicsiigenvázlatváltoztathatóközepesdot-matrix-type-12 közepesigenvázlatfixalacsonydot-matrix-type-12 közepesigenközel-levélváltoztathatóközepesdual-dot-matrix3 nagyigen*változtathatómagaslaser-printer4 nagyigenközel-levélváltoztathatóközepesdot-matrix-type-25 nagynemlevélfixközepesdaisy-wheel-type-26 kicsiigenközel-levélváltoztathatómagasdual-dot-matrix3 *nemlevélfixközepesdaisy-wheel-type-26

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. Sebesség Kép- nyomtatás Minőség Karakter- készlet ÁrNyomtató kicsinemlevélfixalacsonydaisy-wheel-type-11

/* cél */ goal=nyomtató. /* következtetési szabályok */ szab-5: if sebesség=nagy and képnyomtatás=igen and karakterkészlet=változtatható and ár=magas then nyomtató=laser-printer cf 100. 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. szab-6: If sebesség=nagy and képnyomtatás=igen and minőség=közel-levél and karakterkészlet=változtatható and ár=közepes then nyomtató=dot-matrix-type-2 cf 100. szab-2: If sebesség=kicsi and képnyomtatás=igen and minőség=vázlat and karakterkészlet=változtatható and ár=közepes then nyomtató=dot-matrix-type-1 cf 75. szab-7: if sebesség=nagy and képnyomtatás=nem and minőség=levél and karakterkészlet=fix and ár=közepes then nyomtató=daisy-wheel-type-2 cf 75. szab-3: if sebesség=közepes and képnyomtatás=igen and minőség=vázlat and karakterkészlet=fix and ár=alacsony then nyomtató=dot-matrix-type-1 cf 50. szab-8: if sebesség=kicsi and képnyomtatás=igen and minőség=közel-levél and karakterkészlet=változtatható and ár=magas then nyomtató=dual-dot-matrix-1 cf 60. szab-4: if sebesség=közepes and képnyomtatás=igen and minőség=közel-levél and karakterkészlet=változtatható and ár=közepes then nyomtató=dual-dot-matrix-1 cf 90. szab-9: if képnyomtatás=nem and minőség=levél and karakterkészlet=fix and ár=közepes then nyomtató=daisy-wheel-type-2 cf 90.

/* metadeklarációk a felhasználói párbeszéd támogatására */ question(sebesség)=„Milyen legyen a sebesség?”. legalvals(sebesség)=[kicsi, közepes, nagy]. question(képnyomtatás)=„Legyen-e képnyomtatás?”. legalvals(képnyomtatás)=[igen, nem]. question(minőség)=„Milyen legyen a minőség?”. legalvals(minőség)=[levél, vázlat, közel-levél]. question(karakterkészlet)=„Milyen legyen a karakterkészlet?”. legalvals(karakterkészlet)=[fix, változtatható]. question(ár)=„Milyen legyen az ár?”. legalvals(ár)=[alacsony, közepes, magas].

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 Tudásbázis részei:

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 rendszerek általános felépítése

1Illesztés  szabálykiválasztó  minden szabály feltételi része/ MM adatai  tüzelőképes szabály példány  konfliktushalmaz 2Konfliktusfeloldás  szabálykiválasztó  szabálypéldány kiválasztása, tüzelésre kijelölése (stratégia) 3Végrehajtás  szabályinterpreter  MM tartalma általában módosul  ha nincs kiválasztott szabály vagy halt utasítás  leállás 4Ciklus újrakezdése (konfliktushalmaz törlése) Adatvezérelt KG “tölts és tüzelj” (recognize-act) ciklusa:

1kombinatorikus robbanás pl. s=150 szabály p=4 elem a feltételrészben szabályonként t=20 adat a MM-ban  s*t p =150*20 4 = illesztés lehet ciklusonként! 3MM 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! Problémák az adatvezérelt következtetési lépések során:

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: 1szabálymemória lefordítása Rete hálóvá 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: 1szabálymemória lefordítása Rete hálóvá 2munkamemória elemek lekérdezése 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: 1szabálymemória lefordítása Rete hálóvá 2munkamemória elemek lekérdezése 3egyesítések, cselekedetek elvégzése (MM módosítása), Rete háló módosítása

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) Rete algoritmus előnye:

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

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ó Szabályok strukturálásának előnyei:

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) Kontextusfák:

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) A kontextusváltás kezdeményezője lehet:

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