Ú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 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ší 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é, vazby na jiné systémy), vysvětlovací modul, modul pro udržování znalostí.
Rozhraní k jiným systémům Architektura ES Báze znalostí Znalostní inženýr, expert Prázdný ES Vysvětlovací modul Inferenční mechanismus Modul udržování znalostí Uživatelské rozhraní Rozhraní k jiným systémům DBS, programy, měřicí přístroje, … Uživatel
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 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í.
Metody inference Dedukce – odvozování závěrů z předpokladů. Indukce – postup od specifického případu k obecnému. Heuristiky – pravidla „zdravého rozumu“ založená na zkušenostech. Generování a testování – metoda pokusů a omylů. Analogie – odvozování závěru na základě podobnosti s jinou situací. Defaultní inference – usuzování z obecných znalostí při absenci znalostí specifických. Nemonotonní inference – je možná korekce resp. ústup od dosavadních znalostí. Intuice – obtížně vysvětlitelný způsob usuzování, zatím nebyl v ES implementován.
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, vágní pojmy, nejisté znalosti. Prostředky pro zpracování neurčitosti: Bayesovský přístup, Bayesovské sítě fuzzy logika.
Typy ES: Problémově orientovaný ES: báze znalostí obsahuje znalosti z určitého oboru. Prázdný ES (shell): báze znalostí je prázdná. Diagnostický ES: jeho úkolem je určit, která z hypotéza z předem definované konečné množiny cílových hypotéz nejlépe koresponduje s daty týkajícími se daného konkrétního případu. Plánovací ES: obvykle řeší takové úlohy, kdy je znám cíl řešení a počáteční stav a je třeba s využitím dat o konkrétním řešeném případu nalézt posloupnost kroků, kterými lze cíle dosáhnout.
Tvorba ES 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, G2, HUGIN, M4, ... Speciální programová prostředí: CLIPS, OPS5, 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 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í.
Typické kategorie způsobů použití ES Konfigurace – sestavení vhodných komponent systému vhodným způsobem. Diagnostika – zjištění příčin nesprávného fungování systému na základě výsledků pozorování. Interpretace – vysvětlení pozorovaných dat. Monitorování – posouzení chování systému na základě porovnání pozorovaných dat s očekávanými. Plánování – stanovení posloupnosti činností pro dosažení požadovaného výsledku. Prognózování – předpovídání pravděpodobných důsledků zadaných situací. Ladění – sestavení předpisu pro odstranění poruch systému. Řízení – regulace procesů (může zahrnovat interpretaci, diagnostiku, monitorování, plánování, prognózování a ladění). Učení – inteligentní výuka při níž studenti mohou klást otázky např. typu proč, jak, co kdyby.
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 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
1.generace ES Charakteristické rysy 1.generace ES: jeden způsob reprezentace znalostí, malé schopnosti vysvětlování, znalosti pouze od expertů.
2.generace ES Charakteristické rysy 2.generace ES: modulární a víceúrovňová báze znalostí, hybridní reprezentace znalostí, zlepšení vysvětlovacího mechanismu, prostředky pro automatizované získávání znalostí. V rámci 2.generace ES se také objevují hybridní systémy, v nichž se klasické paradigma expertních systémů kombinuje s dalšími přístupy, jako jsou neuronové sítě a evoluční metody.
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í. VŠB - TU Ostrava, 2007
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) VŠB - TU Ostrava, 2007
Produkční pravidlo předpoklady důsledek (akce) důsledková (akční) část předpokladová část VŠB - TU Ostrava, 2007
Inferenční mechanizmus 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) VŠB - TU Ostrava, 2007
Příklad 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á/ý.) Báze dat ať obsahuje data B, D a E, cílový údaj ať je symbol G. VŠB - TU Ostrava, 2007
Přímé řeťezení Báze dat: B (Je podzim) D (Jsem mimo domova) Cíl: E (Bude pršet) Cíl: G (Dostanu chřipku) Ř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) VŠB - TU Ostrava, 2007
Zpětné řeťezení Báze dat: B (Je podzim) Cíl: G (Dostanu chřipku) D (Jsem mimo domova) E (Bude pršet) Cíl: G (Dostanu chřipku) b) C (Zmoknu) & D (Jsem mimo domova) G (Dostanu chřipku) Řešení: e) E (Bude pršet) & H (Nateče mi do bot) C(Zmoknu) c) E (Bude pršet) H (Nateče mi do bot) VŠB - TU Ostrava, 2007