Súčasné expertné systémy

Simulácia rozhodovacej činnosti človeka Prostredie, v ktorom pÖsobia organizácie, sa stáva čoraz zložitejším a komp...


Simulácia rozhodovacej činnosti človeka
Prostredie, v ktorom pÖsobia organizácie, sa stáva čoraz zložitejším a
komplexnejším. K efektívnemu rozhodovaniu sú potrebné čoraz lepšie znalosti, a
to nielen "učebnicové", teoretické, ale najmä praktické, získané skúsenosťou a
dlhodobou praxou. Práve táto skupina znalostí je vlastná íuďom, ktorých
nazývame experti. Je žiadúce transformovať znalosti expertov do perzistentnej,
znovupoužiteínej, uchovávateínej a odovzdávateínej formy. Jednou možnosťou
takejto reprezentácie vedomostí sú expertné systémy.
Expertné systémy sú počítačové programy, ktoré simulujú rozhodovaciu činnosť
experta pri riešení netriviálnych úloh. Používajú pri tom vhodne zakódované
znalosti prevzaté od človeka-experta (tzv. bázu znalostí) a údaje o konkrétnej
riešenej úlohe (tzv. bázu údajov). Expertný systém by mal svojou činnosťou
dosiahnuť kvalitu rozhodovania vo zvolenej problémovej oblasti na úrovni
experta.
Jedným dychom je však potrebné dodať, že nie vždy ide pri implementácii
expertného systému o úplné odstránenie íudského faktora z procesu rozhodovania;
niekedy expertný systém iba odbremeňuje experta od rutinných rozhodovacích
procesov a tak mu poskytuje viac priestoru, aby sa mohol venovať špecifickým
črtám problému, ktoré v expertnom systéme nie sú zohíadnené, a tým expertný
systém umožňuje zvýšiť kvalitu rozhodovania íudského experta.

História
Expertné systémy sa prvýkrát objavili na prelome 70. a 80. rokov. DÖraz sa
vtedy kládol na flexibilitu a znovupoužiteínosť vytvorených softvérových
implementácii. Systémy boli veími všeobecné a mohli byť použité v rozličných
problémových oblastiach. NeskÖr bolo kvÖli zvýšeniu efektivity potrebné zahrnúť
do ich implementácie rÖzne problémovo závislé informácie, čím sa ich
všeobecnosť znížila.
V súčasnosti sa upúšťa od implementácie expertných systémov pre široké
použitie, implementujú sa skÖr jednoúčelové (vyhradené, angl. dedicated)
expertné systémy, ktoré sú často súčasťou iných, komplexnejších systémov (tzv.
vnorené, angl. embeded systémy).
DÖležitú úlohu najmä pre výskum expertných systémov a implementáciu rÖznych
pilotných projektov mali tzv. prázdne expertné systémy. Jedná sa o expertné
systémy bez problémovo závislých častí. Poskytovali mechanizmus na rýchle a
pohodlné vytvorenie potrebnej bázy znalostí a napojenie na bázu údajov.

Báza znalostí a údajov
Expertné systémy sa svojím charakterom, architektúrou i vlastnosťami líšia od
konvenčných programov pre vedecko-technické výpočty. Zatiaí čo v konvenčných
programoch sú znalosti špecialistov "roztrúsené" v jednotlivých častiach
algoritmu, pri expertných systémoch sú znalosti experta vyjadrené úplne
explicitne v podobe bázy znalostí. Oddelene od znalostí je určený spÖsob
manipulácie s týmito znalosťami inferenčný (odvodzovací) mechanizmus.
Báza znalostí obsahuje znalosti experta alebo expertov potrebné k riešeniu
zvoleného problému. Zachytáva znalosti od najzákladnejších, "učebnicových" až
po špeciálne heuristiky a neraz iba tušenia získané skúsenosťou a dlhodobou
praxou, pre ktoré často neexistuje lepšie vysvetlenie ako to, že "niekedy dobre
fungujú" a expert by si ich ani nedovolil publikovať. Znalosti experta nemajú
statický charakter, ale postupne sa mÖžu vyvíjať a rozrastať. Prirodzenou
požiadavkou kladenou na bázu znalostí expertného systému je vysoká modularita,
ktorá umožní bázu znalostí upravovať a dopíňať.
Riešiť konkrétnu úlohu s pomocou expertného systému znamená aplikovať v ňom
uložené znalosti na informácie o konkrétnej úlohe. Množinu všetkých údajov
relevantných k danému prípadu nazývame narozdiel od bázy znalostí bázou údajov.
Báza údajov sa počas spracovávania úlohy mení. Na začiatku riešenia úlohy
obsahuje iba predvolené (defaultné) fakty o všeobecnej úlohe v danej
problémovej oblasti, ktoré sa dajú vopred predpokladať. Tieto údaje sa
modifikujú na základe zistených údajov o riešenej úlohe upresňujú sa, pridávajú
sa nové odvodené údaje a vyraďujú sa údaje, ktoré sa ukázali ako neplatné.

Odvodzovací mechanizmus
Srdcom každého expertného systému je odvodzovací alebo inferenčný mechanizmus.
Tento mechanizmus určuje spÖsob využívania znalostí z bázy znalostí a ich
aplikácie na údaje v báze údajov. Od kvality inferenčného systému závisia
vlastnosti celého expertného systému. Báza znalostí je spravidla implementovaná
ako množina pravidiel tvaru:
AK PLATÍ [podmienka] POTOM PLATÍ [záver].
Spravidla možno v jednom okamžiku činnosti expertného systému aplikovať viacero
odvodzovacích pravidiel; vzniká tzv. konflikt výberu pravidiel. Inferenčný
mechanizmus určuje, ktoré z pravidiel sa v danej chvíli použije (hovorí sa o
"odpálení pravidla"). Výber pravidla sa mÖže riadiť viacerými spÖsobmi.
Najjednoduchším spÖsobom určenia použitého pravidla je vopred stanovené poradie
pravidiel (týmto spÖsobom sa napr. uskutočňuje výber inferenčných pravidiel, ak
je expertný systém implementovaný v programovacom jazyku ProLog).
Sofistikovanejší spÖsob výberu inferenčného pravidla mÖže byť založený na
očakávanej hodnote informačného zisku pre jednotlivé pravidlá: vždy sa vyberá
to pravidlo, od ktorého vyhodnotenia sa očakáva najväčší informačný zisk.
Naopak tento spÖsob výberu mÖže byť potlačený napr. pomocou metainformácií
(t.j. "informácií o informáciách"), ktoré mÖžu určovať cenu overenia platnosti
daného pravidla.
Ako príklad mÖže byť expertný systém pre diagnostiku ochorenia, v ktorom mÖže
byť pre účely diagnózy uprednostnené niekoíko síce menej priekazných (ale
lacných a rýchlych) vyšetrení pred jedným vysoko odborným, ale veími drahým
vyšetrením. Existujú aj ďalšie heuristiky na výber použitého odvodzovacieho
pravidla, zohíadňujúce aktuálnosť údajov (uprednostňuje sa použitie
aktuálnejších údajov) alebo históriu predtým použitých pravidiel (uprednostňujú
sa pravidlá čo najviac odlišné od už predtým použitých pravidiel).
Ak ani po aplikovaní týchto heuristík nie je stále možné jednoznačne vybrať
jedno pravidlo pre "odpálenie", možno analyzovať množinu pravidiel stále
prichádzajúcich do úvahy na aplikáciu a z nich vybrať čo možno najmenej
všeobecné pravidlo, alebo v krajnom prípade vybrať zo zostávajúcej množiny
odvodzovacích pravidiel náhodné pravidlo.

Vysvetlovací mechanizmus
Expertné systémy majú ešte jednu dÖležitú črtu, ktorá zatiaí nebola spomenutá.
Je to vysvetíovací mechanizmus, ktorý je v ktorejkoívek fáze spracovania úlohy
schopný podať používateíovi informáciu o tom, čo už bolo odvodené, čo je
aktuálnym cieíom odvodzovania (t.j. vysvetlenie, "prečo bol používateí
požiadaný práve o túto informáciu") a ako bol odvodený niektorý zo záverov
expertného systému.
Vysvetíovací mechanizmus je počas činnosti expertného systému používaný len
veími zriedkavo, ale pocit jeho existencie zvyčajne značne zvyšuje dÖveru
používateíov k systému. Má nenahraditeínú úlohu pri návrhu, úpravách, kontrole
a ladení systému. Pomocou neho íudský expert testuje činnosť systému a
kontroluje spÖsob, akým systém došiel k svojím záverom.

Neurčitosť systému
Mnoho údajov o reálnom svete sa nedá vyjadriť presne. Expertný systém sa musí
vedieť vysporiadať hneď s niekoíkými druhmi neurčitostí. Prvým druhom je
neurčitosť v báze znalostí, spÖsobená domnienkami a tušeniami experta o
vzťahoch platiacich v danej problémovej oblasti a/alebo znalosťami platiacimi
iba v obmedzenom rozsahu. Neurčitosť v báze údajov vyplýva z toho, že ani
používateí expertného systému nie je vždy schopný odpovedať na jeho otázky
kategoricky "áno" alebo "nie", ale dokáže vyjadriť určitú mieru svojho
presvedčenia o platnosti alebo neplatnosti určitého faktu (odpoveď "asi áno",
"takmer isto nie", "možno" a pod.).
Na danom mieste je potrebné poukázať na rozdiel chápania neurčitosti v
expertných systémoch a vo fuzzy systémoch. Pokiaí neurčitosť v expertných
systémoch je založená na presvedčení o miere platnosti či neplatnosti určitého
faktu alebo na miere všeobecnosti platnosti údajov v báze znalostí, neurčitosť
vo fuzzy systémoch vychádza z prirodzenej vágnosti pojmov ako sú "vysoký",
"rýchly", "vzdialený" a pod. Fuzzy systémy umožňujú výpočtovej technike
pracovať s pojmami, ktoré sú človekom bežne používané a v íudskej komunikácii
majú veíkú informačnú hodnotu.
Našťastie sa tieto dve spomínané chápania neurčitosti mÖžu kombinovať; niekedy
sa vágnosť uvádza ako jeden z typov neurčitosti, s ktorou dokážu expertné
systémy pracovať. V takomto prípade sa hovorí o tzv. fuzzy expertných
systémoch; tieto sú jedným z príkladov veími úspešnej kombinácie metód
symbolickej ("klasickej") a subsymbolickej umelej inteligencie.

Implementácia
Najťažším krokom implementácie expertného systému je tvorba bázy znalostí.
Získavaním znalostí od experta sa zaoberá znalostné inžinierstvo. Kíúčovým
faktorom, na ktorom mÖže proces získavania znalostí zlyhať, je porozumenie a
dobrá komunikácia medzi expertom a znalostným inžinierom, implementujúcim
znalosti experta do výpočtového systému.
Expert poskytujúci potrebné informácie pre budovanie expertného systému má
často len veími slabé alebo dokonca žiadne znalosti o výpočtovej technike. Je
úlohou znalostného inžiniera preniknúť do danej problematiky, ktorej sa
vyvíjaný expertný systém dotýka, natoíko, aby mohol s expertom komunikovať v
jeho odborných pojmoch.
Existuje veími mnoho metód získavania znalostí od experta a ich popis je nad
rámec tohto článku; znalostné inžinierstvo má však túto problematiku dobre
zvládnutú a metódy na interakciu znalostného inžiniera s expertom sú
rozpracované veími podrobne. Pri návrhu bázy znalostí sa v hojnej miere
používajú aj metódy tzv. strojového učenia, ktorých cieíom je opäť odbúranie
íudského faktora z procesu návrhu expertného systému a tým zamedzenie prieniku
subjektívnych dojmov do implementovaného systému.

Hodnotenie
Odhliadnuc od pamäťovej a časovej náročnosti činnosti expertných systémov,
ktoré sú skÖr závislé od efektívnosti ich programovej realizácie a rozsahu
riešených úloh, existuje niekoíko veličín, ktorými možno hodnotiť návrh
systému, efektívnosť jeho manipulácie so znalosťami a kvalitu bázy znalostí.
Verifikácia testuje samotnú bázu znalostí.
Detekuje konzistentnosť pravidiel, ich neprotirečivosť, možnosť vzniku slučiek
pri odvodzovaní a pod. Pri verifikácii bázy znalostí sa odstraňujú nadbytočné
pravidlá, pravidlá obsahujúce nesplniteíné podmienky a testuje sa syntaktická
správnosť pravidiel. Zároveň sa zisťuje, či je expertný systém schopný reagovať
na extrémne hodnoty vstupných údajov.
Validáciou sa overujú závery expertného systému. Porovnávajú sa závery experta
a expertného systému pre rÖzne modelové situácie. Vyhodnocuje sa nielen
správnosť záveru poskytnutého expertným systémom, ale aj spÖsob, akým expertný
systém k tomuto záveru došiel pri tejto činnosti sa hojne využíva už spomínaný
vysvetíovací mechanizmus expertného systému.
DÖležitou mierou úspešnosti implementácie expertného systému je jeho prijatie
používateíom. Zbytočne bude expertný systém poskytovať veími dobré závery, keď
bude jeho používanie veími zložité a náročné na čas tak pri zaučení ako aj pri
používaní. Z híadiska používateía je dÖležité, aby práca zo systémom bola
nenáročná a íahko pochopiteíná. Vhodné je, aby systém vedel korigovať
najčastejšie používateíské chyby. Je nutné poznamenať, že expertné systémy je
možné používať aj na výučbu nových expertov, kedy sa pracovníci za pomoci
vysvetíovacieho mechanizmu systému oboznamujú so spÖsobom vyhodnocovania
vstupných údajov a s možnými závermi, ktoré z nich mÖžu vyplývať.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.