• Nebyly nalezeny žádné výsledky

1. Znalostn´ı syst´emy

1.3.3 B´aze dat

Pˇri ˇreˇsen´ı konkr´etn´ıho probl´emu je potˇreba do syst´emu ukl´adat zjiˇstˇen´a data.

Tato data se ukl´adaj´ı do b´aze dat, tedy do mnoˇziny ´udaj˚u k dan´emu pˇr´ıpadu, kter´a se pak dosazuje do b´aze znalost´ı k vyhodnocov´an´ı v´ysledku. Konkr´etn´ı data jsou z´ısk´av´ana v dialogov´em reˇzimu s uˇzivatelem. Syst´em se zde pokouˇs´ı dotazovat se co nejefektivnˇeji, analyzovat odpovˇedi uˇzivatele a na z´akladˇe tˇechto informac´ı zkonstruovat z´avˇer, nebo navrhnout ˇreˇsen´ı. [4]

1.3.4 Inferenˇcn´ı mechanismus

Inferenˇcn´ı mechanismus je programov´y modul, kter´y pˇredem ud´av´a, jak´ym zp˚usobem bude vyuˇz´ıvat data z b´aze znalost´ı a jak´ym zp˚usobem bude zpros-tˇredkov´avat komunikaci mezi b´az´ı znalost´ı a b´az´ı dat.

Podle [7, 3] jsou typy inference, ze kter´ych si vˇetˇsina z nich naˇsla uplatnˇen´ı v expertn´ıch syst´emech, tyto:

Dedukce: logick´e usuzov´an´ı, pˇri kter´em mus´ı z´avˇer plynout z pˇredpoklad˚u (modus ponens, modus tollens).

Indukce: zobecnˇen´ı konkr´etn´ıch pˇr´ıpad˚u.

Abdukce: usuzov´an´ı ze z´avˇeru k pˇredpoklad˚um, kter´e mohly tento z´avˇer splnit.

Heuristiky: pravidla nebo odhady, kter´e jsou zaloˇzeny na zkuˇsenosti.

Analogie: odvozen´ı z´avˇeru na z´akladˇe podobnosti s jinou situac´ı/probl´emem.

Defaultn´ı inference: pˇri absenci speci´aln´ıch znalost´ı se usuzuje z obecn´ych znalost´ı.

Nemonotonn´ı: pˇredch´azej´ıc´ı znalosti se mohou upravovat na z´akladˇe novˇe z´ıskan´ych poznatk˚u.

Generov´an´ı a testov´an´ı: generuj´ı se v´ysledky a testuje se, zda sed´ı na da-nou situaci (metoda pokusu a omylu).

A B A =⇒ B

1.3. Struktura ES Prvn´ı tˇri typy (dedukce, indukce a abdukce) vych´azej´ı z pojmu implikace z v´yrokov´e logiky (tabulka 1.1). Zde bych r´ad definoval, ˇze v kontextu logiky znamen´a ˇc´ıslice

”0“ nepravdu a ˇc´ıslice

”1“ pravdu.

Udedukcepˇredpokl´ad´ame, ˇze plat´ı implikace (tedy pravidlo) a pˇredpoklad, z ˇcehoˇz se d´a jednoduˇse odvodit, ˇze plat´ı z´avˇer (modus ponens). Analogicky pˇri pˇredpokladu, ˇze plat´ı implikace a neplat´ı z´avˇer, m˚uˇzeme jednoznaˇcnˇe odvo-dit nepravdivost pˇredpokladu (modus tollens – obˇe pravidla jsou zn´azornˇena v tabulce 1.2). Dedukce je tedy zp˚usob usuzov´an´ı, kter´y zachov´av´a pravdu (truth preserving reasoning).

Pˇri abdukci pˇredpokl´ad´ame pravdivost implikace a z´avˇeru. Z tabulky 1.1 je vidˇet, ˇze pˇredpoklad m˚uˇze a nemus´ı platit, takˇze se lze jen domn´ıvat, ˇze m˚uˇze platit. Nˇekdy je abdukce oznaˇcov´ana za nejlepˇs´ı vysvˇetlen´ı v r´amci po-zorovan´ych fakt˚u. Abdukce tedy zachov´av´a nepravdu (falsity preserving reaso-ning). Kdyˇz budeme pˇredpokl´adat, ˇze plat´ı implikace a neplat´ı z´avˇer, m˚uˇzeme jednoznaˇcnˇe ˇr´ıct, ˇze neplat´ı pˇredpoklad.

Indukce z opakovan´eho souˇcasn´eho v´yskytu A a B vyvozuje, ˇze je mezi touto dvojic´ı implikace. Je to metoda vyuˇz´ıvan´a pro strojov´e uˇcen´ı a automa-tizovan´e z´ısk´av´an´ı znalost´ı z dat.

Heuristikaje oznaˇcen´ı pro druh informac´ı pouˇz´ıvan´ych v expertn´ıch syst´ e-mech. Jsou zaloˇzen´e na zkuˇsenostech experta a na zobecnˇen´ı situac´ı, ve kter´ych se expert musel rozhodovat.

Analogiese pouˇz´ıv´a napˇr´ıklad pˇri pˇr´ıpadov´em usuzov´an´ı(Case-Based Re-asoning). Znalosti nemaj´ı podobu obecn´ych pravidel z´ıskan´ych od experta, ale jsou tvoˇreny souborem dˇr´ıve vyˇreˇsen´ych (typick´ych) pˇr´ıpad˚u. M´a-li syst´em po-skytnout doporuˇcen´ı, projde svoji knihovnu dˇr´ıve ˇreˇsen´ych pˇr´ıpad˚u a hled´a ten nejpodobnˇejˇs´ı tomu aktu´aln´ımu. V´yhodou je snadnˇejˇs´ı v´yvoj aplikace, jelikoˇz nen´ı nutn´e n´aroˇcn´e z´ısk´av´an´ı pravidel od experta, ale staˇc´ı

”pouze“ dostatek reprezentativn´ıch pˇr´ıpad˚u.

Usuzov´an´ı za pouˇzit´ıdefault˚u (default reasoning) b´yv´a sp´ıˇse doplnˇen´ım usuzov´an´ı na z´akladˇe pravidel. Vyuˇz´ıv´a se, kdyˇz nen´ı pro danou situaci vyuˇ zi-teln´e ˇz´adn´e pravidlo. Napˇr´ıklad v ˇCesku se d´a pˇredpokl´adat, ˇze chˇripka bude mnohem ˇcastˇejˇs´ı onemocnˇen´ı, neˇz ˇzlut´a zimnice. Tedy bez jak´ychkoliv ot´azek na pacienta je moˇzn´e pˇredpokl´adat, ˇze m´a sp´ıˇse chˇripku, neˇz ˇzlutou zimnici a pokud n´am nezodpov´ı ˇz´adn´e ot´azky, poˇsleme ho s diagn´ozou chˇripky dom˚u.

1. Znalostn´ı syst´emy

Nemonot´onn´ı usuzov´an´ı je zaloˇzeno na skuteˇcnosti, ˇze pˇredchoz´ı z´ıskan´e informace je moˇzn´e

”zahodit“ pro novˇe z´ıskan´e znalosti.

Pˇri generov´an´ı a testov´an´ı se opakovanˇe generuje nov´e

”n´ahodn´e“ ˇreˇsen´ı a testuje se, zda vyhovuje vˇsem pˇredpoklad˚um. Pokud se najde takov´e, kter´e vyhovuje, cyklus konˇc´ı a syst´em pˇredloˇz´ı vygenerovan´e ˇreˇsen´ı.

1.3.4.1 Pˇr´ım´e ˇretˇezen´ı U tzv.

”odvozov´an´ı ˇr´ızen´em daty“ se zaˇc´ın´a zn´am´ymi fakty (daty), od kter´ych se postupuje pˇres aplikovateln´a pravidla na danou situaci, aˇz k z´avˇer˚um.

Pˇri pˇr´ım´em ˇretˇezen´ı se tedy postupuje b´az´ı znalost´ı od pˇredpoklad˚u pravi-del k jejich z´avˇer˚um. Tento zp˚usob odvozov´an´ı je vhodn´y pro pl´anovac´ı typy expertn´ıch ´uloh. [6]

Podle [9] spoˇc´ıv´a pˇr´ım´e ˇretˇezen´ı v opakov´an´ı n´asleduj´ıc´ıch krok˚u:

Porovn´an´ı (matching): Pravidla z b´aze znalost´ı jsou porovn´ana se zn´am´ymi fakty, aby se zjistilo, kter´a pravidla maj´ı splnˇen´e pˇredpoklady.

Reˇˇ sen´ı konfliktu (conflict resolution): Z mnoˇziny pravidel se splnˇen´ymi pˇredpoklady se vyb´ır´a pravidlo podle priority a v pˇr´ıpadˇe konfliktu podle nˇejak´e strategie. Pˇr´ıklady strategie pro ˇreˇsen´ı konflikt˚u:

• Strategie hled´an´ı do hloubky (depth search), kde jsou preferov´ana pravidla, pouˇz´ıvaj´ıc´ı aktu´alnˇejˇs´ı data – tedy data, kter´a se v b´azi znalost´ı vyskytuj´ı kratˇs´ı dobu.

• Strategie hled´an´ı do ˇs´ıˇrky (breath strategy), pˇri n´ıˇz jsou naopak preferov´ana pravidla pouˇz´ıvaj´ıc´ı starˇs´ı data.

• Strategie sloˇzitosti, resp. specifiˇcnosti (complexity strategy), kde jsou preferov´ana pravidla maj´ıc´ı v´ıce podm´ınek.

• Strategie jednoduchosti, kter´a zase naopak preferuje jednoduˇsˇs´ı pravidla – tedy ta s m´enˇe podm´ınkami.

Proveden´ı (execution): Provede se pravidlo vybran´e v pˇredchoz´ım kroku.

D˚usledkem proveden´ı m˚uˇze b´yt pˇrid´an´ı pravidla do b´aze dat, odebr´an´ı pravidla z b´aze dat, nebo tˇreba pˇr´ıd´an´ı pravidla do b´aze znalost´ı atp.

Obvykle je pˇri tomto postupu uplatˇnov´ana podm´ınka, ˇze kaˇzd´e pravidlo m˚uˇze b´yt

”aktivov´ano“ pouze jednou pro stejnou mnoˇzinu dat (fakt˚u).

Vhodn´ymi aplikacemi pro dopˇredn´e (pˇr´ım´e) ˇretˇezen´ı jsou:

• Monitorov´an´ı a diagnostika ˇr´ıd´ıc´ıch syst´em˚u pro ˇr´ızen´ı proces˚u v re´aln´em ˇcase, kde jsou data kontinu´alnˇe pˇrid´av´ana a mˇenˇena a kde existuje m´alo dopˇredu dan´ych vztah˚u mezi vstupn´ımi daty a z´avˇery.

14

1.3. Struktura ES

• Probl´emy zahrnuj´ıc´ı synt´ezu (navrhov´an´ı, konfigurace, pl´anov´an´ı, rozvrhov´an´ı, . . . ). V tˇechto aplikac´ıch existuje mnoho moˇzn´ych ˇreˇsen´ı a pravidla proto vyjadˇruj´ı znalosti jako obecn´e vzory. Pˇresn´e vztahy (inferenˇcn´ı ˇretˇezce) proto nemohou b´yt pˇredem pˇresnˇe ur-ˇ

ceny a musej´ı b´yt pouˇzity syst´emy pro porovn´av´an´ı se vzorem.

1.3.4.2 Zpˇetn´e ˇretˇezen´ı

Inference ˇr´ızen´a c´ıli (tedy zpˇetn´e ˇretˇezen´ı) je zaloˇzena na hled´an´ı informac´ı podporuj´ıc´ıch urˇcit´y z´avˇer. Pˇri tomto druhu inference se zaˇc´ın´a u c´ıle, kter´y chceme odvodit, tud´ıˇz je b´aze znalost´ı proch´azena smˇerem zpˇetnˇe od c´ıl˚u k pˇredpoklad˚um. Poˇrad´ı vyhodnocov´an´ı m˚uˇze b´yt zase stejnˇe jako u pˇr´ım´eho ˇretˇezen´ı d´ano prioritami nebo poˇrad´ım v b´azi znalost´ı. Zpˇetn´e ˇretˇezen´ı je pouˇz´ıv´ano sp´ıˇse u diagnostick´ych typ˚u ´uloh, kter´e maj´ı mal´y poˇcet c´ılov´ych hypot´ez. [6]

Dle [9] doch´az´ı pˇri zpˇetn´em ˇretˇezen´ı k opakov´an´ı n´asleduj´ıc´ıch krok˚u:

1. Vytvoˇren´ı a naplnˇen´ı z´asobn´ıku vˇsemi koncov´ymi c´ıli.

2. Shrom´aˇzdˇen´ı vˇsech pravidel schopn´ych splnit c´ıl na vrcholu z´asobn´ıku.

Pokud je z´asobn´ık pr´azdn´y, inference je ukonˇcena.

3. Zkoum´an´ı pravidel a platnosti jejich pˇredpoklad˚u z pˇredchoz´ıho kroku.

a) Pokud jsou splnˇeny vˇsechny pˇredpoklady, odvod´ı se z´avˇer (pouˇzije se pravidlo) a samotn´e pravidlo se doˇcasnˇe odloˇz´ı. Jestliˇze zkou-man´y c´ıl byl koncov´y, pak je odstranˇen ze z´asobn´ıku a vrac´ıme se ke kroku 2. Pokud to byl pouze podc´ıl, je odstranˇen ze z´asobn´ıku a je zpracov´av´ano pˇredchoz´ı pravidlo, kter´e bylo odloˇzeno.

b) Jestliˇze fakta nalezen´a v b´azi dat (fakt˚u) nesplˇnuj´ı pˇredpoklady pravidla, je zkoum´an´ı pravidla ukonˇceno.

c) Pokud pro nˇekter´y pˇredpoklad chyb´ı informace v b´azi dat, zjiˇst’uje se, zda se tato informace ned´a z nˇejak´eho pravidla odvodit. Po-kud ano, vloˇz´ı se do z´asobn´ıku jako podc´ıl, zkouman´e pravidlo se doˇcasnˇe odloˇz´ı a pokraˇcuje se krokem 2. V opaˇcn´em pˇr´ıpadˇe se in-formace zjist´ı od uˇzivatele a pokraˇcuje se krokem 3 a) zkoum´an´ım dalˇs´ıho pˇredpokladu.

4. Jestliˇze pomoc´ı ˇz´adn´eho ze zkouman´ych pravidel nebylo moˇzn´e odvodit c´ıl, pak tento c´ıl z˚ust´av´a neurˇcen. Je odstranˇen ze z´asobn´ıku a pokraˇcuje se krokem 2.

1. Znalostn´ı syst´emy

1.3.5 Vysvˇetlovac´ı modul

M´ame-li moˇznost s expertem pˇri ˇreˇsen´ı probl´emu komunikovat, oˇcek´av´ame od nˇeho, ˇze sv´e rozhodnut´ı a postup bude schopen zd˚uvodnit a vysvˇetlit. Funkce vysvˇetlovac´ıho modulu m´a tedy za ´ukol vysvˇetlit rozhodnut´ı expertn´ıho sys-t´emu a pr˚ubˇeh tohoto rozhodov´an´ı na m´ısto ˇclovˇeka. Tento modul nen´ı pod-m´ınkou kaˇzd´eho expertn´ıho syst´emu, nˇekdy je dokonce neˇz´adouc´ı.[10]

Podle [10] by v tom nejjednoduˇsˇs´ım proveden´ı mˇel b´yt vysvˇetlovac´ı modul schopen odpov´ıdat na dva n´asleduj´ıc´ı typy dotaz˚u:

• Proˇc

poˇzaduje danou informaci od uˇzivatele?

vol´ı dan´y zp˚usob odvozov´an´ı?

odvozuje dan´y fakt?

• Jak

dospˇel k odvozen´ı urˇcit´eho faktu?

dospˇel k urˇcit´emu zp˚usobu odvozov´an´ı?

dospˇel k urˇcit´emu v´ysledku?

V pˇr´ıpadˇe typu ot´azky

”Proˇc?“ bude vysvˇetlovac´ı modul vysvˇetlovat, co se dˇeje, nebo co se pˇredpokl´ad´a, ˇze se bude d´ıt v n´asleduj´ıc´ım procesu inference.

V pˇr´ıpadˇe typu ot´azky

”Jak?“ bude vysvˇetlovac´ı modul vysvˇetlovat, jak dospˇel k urˇcit´emu z´avˇeru.

1.4 Tvorba ES

Tvorbou expertn´ıch syst´em˚u se zab´yv´a vˇedn´ı obor znalostn´ı inˇzen´yrstv´ı. Jeho z´akladn´ım ´ukolem je z´ısk´an´ı znalost´ı potˇrebn´ych k ˇreˇsen´ı probl´em˚u z dan´e oblasti, coˇz zahrnuje nejen vytvoˇren´ı metod pro z´ısk´av´an´ı a modelov´an´ı zna-lost´ı, ale tak´e nalezen´ı vhodn´eho inferenˇcn´ıho mechanismu. Protoˇze jsou tyto znalosti ˇcasto ˇspatnˇe definov´any a nav´ıc zat´ıˇzeny neurˇcitost´ı, je v´yvoj ES do-prov´azen ˇcetn´ymi pot´ıˇzemi.

Tvorba ES je sloˇzit´y proces dˇel´ıc´ı se do nˇekolika v´yvojov´ych f´az´ı. Jedn´ım z prvn´ıch a nejtˇeˇzˇs´ıch rozhodnut´ı je, zda se v˚ubec do velice ˇcasovˇe (a finanˇcnˇe) n´aroˇcn´eho v´yvoje pustit. [6]

Podle [2] by se kaˇzd´y n´avrh softwaru s umˇelou inteligenc´ı mˇel ˇr´ıdit n´ asle-duj´ıc´ımi metodologick´ymi kroky:

1. identifikace probl´emu,

2. v´ybˇer nebo implementace vhodn´e reprezentace (znalost´ı), 16

1.5. Reˇserˇse bl´ızk´ych ˇreˇsen´ı 3. snaha o nalezen´ı pˇrirozen´ych omezen´ı, z´akon˚u a heuristik, pomoc´ı

kte-r´ych se budou ˇreˇsit dan´e probl´emy, 4. formulace procedur ˇreˇsen´ı probl´em˚u, 5. ovˇeˇren´ı a testov´an´ı dan´eho ˇreˇsen´ı.

Cel´y proces tvorby ES vyˇzaduje spolupracuj´ıc´ı t´ym odborn´ık˚u a velk´e mnoˇzstv´ı ˇcasu. Procesu z´ısk´av´an´ı znalost´ı a tvorby b´aze znalost´ı se ´uˇcastn´ı hlavnˇe experti ze zvolen´e oblasti problematiky, znalostn´ı inˇzen´yˇri a koncov´ı uˇzivatel´e. V´yznamn´e postaven´ı zde maj´ı pr´avˇe znalostn´ı inˇzen´yˇri. Jejich prv-n´ım ´ukolem je posoudit ´uˇcelnost a vhodnost ES jeˇstˇe pˇred zaˇc´atkem vlastn´ı tvorby. Mus´ı se tedy jednat o osobu s analytick´ymi a komunikaˇcn´ımi schop-nostmi, s velk´ym nadhledem a rozvinutou schopnost´ı proniknout do podstaty vˇeci. Pr´ace znalostn´ıho inˇzen´yra m˚uˇze pˇripom´ınat pr´aci tlumoˇcn´ıka. Stejnˇe jako tlumoˇcn´ık umoˇzˇnuje komunikaci mezi dvˇema stranami, umoˇzˇnuje zna-lostn´ı inˇzen´yr komunikaci mezi expertem a b´az´ı znalost´ı. Tak´e je zapojen do procesu z´ısk´av´an´ı znalost´ı, pˇri kter´em pom´ah´a expertovi strukturovat znalosti a n´aslednˇe je zodpovˇedn´y za k´odov´an´ı znalost´ı do b´aze znalost´ı (proces zn´