vod do expertnch systm Expertn systm Definice ES

  • Slides: 30
Download presentation
Úvod do expertních systémů

Úvod do expertních systémů

Expertní systém Definice ES (Feigenbaum): expertní systémy jsou počítačové programy, simulující rozhodovací činnost experta

Expertní systém Definice ES (Feigenbaum): expertní systémy jsou počítačové programy, simulující rozhodovací činnost experta při řešení složitých úloh a využívající vhodně zakódovaných, explicitně vyjádřených znalostí, převzatých od experta, s cílem dosáhnout ve zvolené problémové oblasti kvality rozhodování na úrovni experta. Charakteristické rysy ES: · oddělení znalostí a mechanismu jejich využívání, · rozhodování za neurčitosti, · schopnost vysvětlování.

Expertní systémy a znalostní systémy Znalostní systém (knowledge-based system) je podle staršího pojetí obecnější

Expertní systémy a znalostní systémy Znalostní systém (knowledge-based system) je podle staršího pojetí obecnější pojem než expertní systém. Expertní systémy tedy lze chápat jako zvláštní typ znalostních systémů, který se vyznačuje používáním expertních znalostí a některými dalšími rysy, jako je např. vysvětlovací mechanismus. V poslední době dochází ke stírání rozdílů mezi těmito pojmy.

Základní složky ES · báze znalostí, · inferenční mechanismus, · I/O rozhraní (uživatelské, vývojové,

Základní složky ES · báze znalostí, · inferenční mechanismus, · I/O rozhraní (uživatelské, vývojové, vazby na jiné systémy), · vysvětlovací modul, · modul pro udržování znalostí.

Architektura ES Báze znalostí Znalostní inženýr, expert Prázdný ES Vysvětlovací modul Uživatelské rozhraní Uživatel

Architektura ES Báze znalostí Znalostní inženýr, expert Prázdný ES Vysvětlovací modul Uživatelské rozhraní Uživatel Inferenční mechanismus Modul udržování znalostí Rozhraní k jiným systémům DBS, programy, měřicí přístroje, …

Báze znalostí a báze faktů Báze znalostí obsahuje znalosti z určitého oboru a specifické

Báze znalostí a báze faktů Báze znalostí obsahuje znalosti z určitého oboru a specifické znalosti o řešení problémů v tomto oboru. Báze faktů se vytváří v průběhu řešení konkrétního problému a obsahuje data k řešenému problému. Prostředky reprezentace znalostí: · · · matematická logika, pravidla (rules), sémantické sítě (semantic nets), rámce a scénáře (frames and scripts), objekty (objects).

Inferenční mechanismus obsahuje obecné (oborově nezávislé) algoritmy schopné řešit problémy na základě manipulace se

Inferenční mechanismus obsahuje obecné (oborově nezávislé) algoritmy schopné řešit problémy na základě manipulace se znalostmi z báze znalostí. Typický inferenční mechanismus je založen na · inferenčním pravidle pro odvozování nových poznatků z existujících znalostí, · strategii prohledávání báze znalostí.

Neurčitost v expertních systémech Neurčitost se může vyskytovat jednak v bázi znalostí a jednak

Neurčitost v expertních systémech Neurčitost se může vyskytovat jednak v bázi znalostí a jednak v bázi faktů. Zdroje neurčitosti: · · nepřesnost, nekompletnost, nekonzistence dat, Stochastická neurčitost Kvantová neurčitost vágní pojmy, nejisté znalosti. Prostředky pro zpracování neurčitosti: · Bayesovský přístup, Bayesovské sítě · fuzzy logika.

Tvorba ES zahrnuje procesy: · · · získání a reprezentace znalostí, návrh uživatelského rozhraní,

Tvorba ES zahrnuje procesy: · · · získání a reprezentace znalostí, návrh uživatelského rozhraní, výběr hardwaru a softwaru, implementace, validace a verifikace. Vytvářením ES se zabývá znalostní inženýrství (knowledge engineering). V procesu tvorby ES představuje úzké místo akvizice znalostí (knowledge acqusition bottleneck). Toto úzké místo pomáhají překonat metody strojového učení (machine learning).

Nástroje pro tvorbu expertních systémů Prázdné expertní systémy: EXSYS, FLEX, G 2, HUGIN, M

Nástroje pro tvorbu expertních systémů Prázdné expertní systémy: EXSYS, FLEX, G 2, HUGIN, M 4, . . . Speciální programová prostředí: CLIPS, OPS 5, Lisp, Prolog, . . . Obecná programová prostředí: Pascal, Delphi, C, C++Builder, . . .

Aplikace ES Aby mělo smysl použít expertní systém pro řešení nějakého problému, musejí být

Aplikace ES Aby mělo smysl použít expertní systém pro řešení nějakého problému, musejí být splněny dvě podmínky: 1. Musí se jednat o problém složitý rozsahem nebo neurčitostí vztahů, pro nějž exaktní metoda řešení buď není k dispozici, nebo není schopna poskytnout řešení v požadované době. 2. Efekty plynoucí z použití expertního systému musejí převyšovat vynaložené náklady. To znamená, že by mělo jít o problém s opakovanou potřebou řešení a značnými finančními dopady, pro nějž lidští experti jsou drazí nebo omezeně dostupní.

Výhody a nevýhody ES Výhody ES: · schopnost řešit složité problémy, · dostupnost expertíz

Výhody a nevýhody ES Výhody ES: · schopnost řešit složité problémy, · dostupnost expertíz a snížené náklady na jejich provedení, · trvalost a opakovatelnost expertízy, · trénovací nástroj pro začátečníky, · uchování znalostí odborníků odcházejících z organizace. Nevýhody ES: · nebezpečí selhání ve změněných podmínkách, · neschopnost poznat meze své použitelnosti.

Historie vývoje ES Poté, co při řešení praktických problémů selhaly obecné metody řešení, byla

Historie vývoje ES Poté, co při řešení praktických problémů selhaly obecné metody řešení, byla pochopena nutnost využívat specifické (expertní) znalosti z příslušné problémové domény. Etapy vývoje: 1965 -70 počáteční fáze (Dendral) 1970 -75 výzkumné prototypy (MYCIN, PROSPECTOR, HEARSAY II) 1975 -80 experimentální nasazování 1981 - komerčně dostupné systémy

Rozdělení expertních systémů dle úrovně jejich využívání § poradce - pomůcka experta na potvrzení

Rozdělení expertních systémů dle úrovně jejich využívání § poradce - pomůcka experta na potvrzení či zpochybnění svých § § profesionálních názorů. Má hlavně kontrolní funkci rovnocenný partner - ES navrhuje řešení, konečné rozhodnutí však dělá uživatel expert - pracuje úplně autonomně na úkolech, které uživatel není schopen sám vyřešit. Systém má konečné slovo v rozhodování a svá rozhodnutí často také ihned provádí. Uživatel obvykle není ani schopen kontrolovat správnost těchto rozhodnutí.

Produkční (pravidlové) systémy Poskytují vhodnou strukturu na opis a provádění procesu prohledávání. Tři základní

Produkční (pravidlové) systémy Poskytují vhodnou strukturu na opis a provádění procesu prohledávání. Tři základní složky produkčních systémů: · báze dat (reprezentace faktů) · báze (produkčních) pravidel · inferenční mechanizmus (interpreter)

Produkční pravidlo předpoklady předpokladová část důsledek (akce) důsledková (akční) část

Produkční pravidlo předpoklady předpokladová část důsledek (akce) důsledková (akční) část

Inferenční mechanizmus určuje, jak a v jakém pořadí aplikovat pravidla na bázi dat. Principiálně

Inferenční mechanizmus určuje, jak a v jakém pořadí aplikovat pravidla na bázi dat. Principiálně lze rozlišit: · přímé (dopřední) řetězení, kdy při aplikaci produkčních pravidel postupujeme ve směru od počátečního stavu k některému ze stavů cílových (strategie řízená daty) · zpětné řetězení, kdy se vychází od cíle ve směru počátečních stavů (strategie řízená cílem)

Příklad a) b) c) d) e) f) g) A (Je zamračeno. ) & B

Příklad a) b) c) d) e) f) g) A (Je zamračeno. ) & B (Je podzim. ) E (Bude pršet. ) C (Zmoknu. ) & D (Jsem mimo domova. ) G (Dostanu chřipku. ) E (Bude pršet. ) H (Nateče mi do bot. ) B (Je podzim. ) & G (Dostanu chřipku. ) I (Dostanu zápal plic. ) E (Bude pršet. ) & H (Nateče mi do bot. ) C (Zmoknu. ) G (Dostanu chřipku. ) & E (Bude pršet. ) F (Budu dlouho nemocná/ý. ) I (Dostanu zápal plic. ) & K (Nebudu se léčit. ) F (Budu dlouho nemocná/ý. ) h) Báze dat ať obsahuje data B, D a E, cílový údaj ať je symbol G.

Přímé řeťezení Báze dat: B (Je podzim) Cíl: D (Jsem mimo domova) G (Dostanu

Přímé řeťezení Báze dat: B (Je podzim) Cíl: D (Jsem mimo domova) G (Dostanu chřipku) E (Bude pršet) Řešení: c) E (Bude pršet) H (Nateče mi do bot) e) E (Bude pršet) & H (Nateče mi do bot) C(Zmoknu) b) C (Zmoknu) & D (Jsem mimo domova) G (Dostanu chřipku)

Zpětné řeťezení Báze dat: Cíl: G (Dostanu chřipku) B (Je podzim) D (Jsem mimo

Zpětné řeťezení Báze dat: Cíl: G (Dostanu chřipku) B (Je podzim) D (Jsem mimo domova) E (Bude pršet) Řešení: b) C (Zmoknu) & D (Jsem mimo domova) G (Dostanu chřipku) e) E (Bude pršet) & H (Nateče mi do bot) C(Zmoknu) c) E (Bude pršet) H (Nateče mi do bot)

Procedurální (klasické) programování Popisuje algoritmus – postup, jak vyřešit úlohu

Procedurální (klasické) programování Popisuje algoritmus – postup, jak vyřešit úlohu

Příklad programu v procedurálním programovacím jazyce (Pascal) Procedure kvadraticka_rovnice (a, b, c: Real); Begin

Příklad programu v procedurálním programovacím jazyce (Pascal) Procedure kvadraticka_rovnice (a, b, c: Real); Begin D: =b*b-4*a*c if D<0 then writeln ('neni reseni'); if D=0 then writeln ('jedno reseni: ', -b/(2*a)); if D>0 then begin D: =sqrt(D); R 1: =(-b+D)/(2*a); R 2: =(-b-D)/(2*a); writeln ('Dve reseni: ', R 1, R 2); end;

Neprocedurální (logické) programování „Program“ je pouze popis situace, problému. Programátor nespecifikuje, jak problém řešit.

Neprocedurální (logické) programování „Program“ je pouze popis situace, problému. Programátor nespecifikuje, jak problém řešit. To nechává na programu, respektive na překladači, či interpretu jazyka

Neprocedurální programovací jazyky LISP AUTOLISP Prolog (SWI-Prolog)

Neprocedurální programovací jazyky LISP AUTOLISP Prolog (SWI-Prolog)

Příklad programu v Prologu Fakta pravidla

Příklad programu v Prologu Fakta pravidla

muz(tomas). muz petr). muz(jan). muz(jiri). muz(josef). muz(lukas). muz(bartolomej). zena(lucie). zena(zdislava). zena(petra). zena(hana). zena(johana). zena(anna).

muz(tomas). muz petr). muz(jan). muz(jiri). muz(josef). muz(lukas). muz(bartolomej). zena(lucie). zena(zdislava). zena(petra). zena(hana). zena(johana). zena(anna). Fakta

rodic(tomas, josef). rodic(tomas, anna). rodic(lucie, josef). rodic(lucie, anna). rodic(petr, johana). rodic(petr, bartolomej). rodic(zdislava, johana).

rodic(tomas, josef). rodic(tomas, anna). rodic(lucie, josef). rodic(lucie, anna). rodic(petr, johana). rodic(petr, bartolomej). rodic(zdislava, johana). rodic(zdislava, bartolomej). rodic(jan, lukas). rodic(petra, lukas). rodic(jiri, tomas). rodic(jiri, petr). rodic(jiri, jan). rodic(hana, tomas). rodic(hana, petr). Fakta

Pravidla otec(X, Y) : - rodic(X, Y), muz(X). matka(X, Y) : - rodic(X, Y),

Pravidla otec(X, Y) : - rodic(X, Y), muz(X). matka(X, Y) : - rodic(X, Y), zena(X). dite(X, Y) : - rodic(Y, X). sourozenec(X, Y) : - rodic(Z, X), rodic (Z, Y). bratr(X, Y) : - sourozenec(X, Y), muz(X). sestra(X, Y) : - sourozenec(X, Y), zena(X). manzel(X, Y) : - dite(Z, X), dite(Z, Y), muz(X). manzelka(X, Y) : - dite(Z, X), dite(Z, Y), zena(X).

Dotazy muz(tomas) muz(anna) otec(tomas, josef) otec(X, josef) dite(tomas, X) dite(X, _) otec(X, Y) sestra(X,

Dotazy muz(tomas) muz(anna) otec(tomas, josef) otec(X, josef) dite(tomas, X) dite(X, _) otec(X, Y) sestra(X, Y) bratr(tomas, X)

Úkoly Napiše tato pravidla: dedecek(X, Y) babicka(X, Y) stryc(X, Y) teta(X, Y) synovec(X, Y)

Úkoly Napiše tato pravidla: dedecek(X, Y) babicka(X, Y) stryc(X, Y) teta(X, Y) synovec(X, Y) neter(X, Y) bratranec(X, Y) sestrenice(X, Y)