Znalostné systémy. Znalostné systémy a expertné systémy

3. Stratégie získavania vedomostí

1. Vedomosti, typy znalostí, znalostné bázy, znalostné banky

Existujú rôzne definície pojmu „vedomosti“.

Vedomosti sú základné vzorce predmetnej oblasti, ktoré umožňujú človeku riešiť konkrétne výrobné, vedecké a iné úlohy, teda fakty, pojmy, vzťahy, odhady, pravidlá, heuristiku (inak vlastne poznatky), ako aj stratégie rozhodovania. v tejto oblasti (inak strategické znalosti). )

Pod pojmom "znalosti" sa rozumejú formalizované informácie, na ktoré sa odkazuje alebo ktoré sa používajú v procese riešenia problému.

Poznatky o predmetnej oblasti zahŕňajú opis predmetov, ich prostredia, potrebných javov, faktov, ako aj vzťahov medzi nimi. Zložitosť pojmu „znalosti“ spočíva v mnohosti jeho nositeľa a neoddeliteľnosti od pojmu „údaje“.

Existuje niekoľko úrovní formalizácie vedomostí o danej oblasti:

Vedomosti v ľudskej pamäti;

Vedomosti vo forme jazykového modelu predmetnej oblasti, ktorý používa osoba a sú zaznamenané na fyzických nosičoch pomocou kontextovo citlivých jazykov, grafických obrázkov atď.;

Znalosti formalizované na ich reprezentáciu pri použití v počítači;

Faktické informácie alebo údaje.

Vedomosti sa zvyčajne delia do 2 širokých kategórií: fakty a heuristika. Prvá kategória (fakty) označuje dobre známe okolnosti v konkrétnej tematickej oblasti. Takéto poznatky sa nazývajú aj textové, čo znamená ich dostatočné pokrytie v odbornej literatúre a učebniciach. Druhá kategória (heuristika) je založená na individuálnych skúsenostiach špecialistu (experta) v danej oblasti, nahromadených ako výsledok dlhoročnej praxe. Táto kategória často zohráva rozhodujúcu úlohu pri budovaní intelektuálnych programov.

Znalostná báza je súbor modelov, pravidiel a faktorov (údajov), ktoré vytvárajú analýzy a závery s cieľom nájsť riešenia zložitých problémov v určitej tematickej oblasti.


2. Modely reprezentácie znalostí

Najbežnejšie modely reprezentácie znalostí sú:

výrobné systémy;

Logické modely;

sémantické siete.

Vo výrobných systémoch znalosti sú reprezentované ako súbor špeciálnych informačných jednotiek s nasledovnou štruktúrou. Vo všeobecnosti výrobný systém obsahuje nasledujúce komponenty:


Databáza obsahujúca veľa faktov;

Základ pravidiel obsahujúci súbor inscenácií;

Interpret (inferenčný engine) alebo pravidlá pre prácu s produktmi.

Základňa pravidiel a databáza tvoria bázu znalostí.

Fakty v databáze sú krátkodobé informácie a v zásade sa môžu meniť v priebehu produktového systému podľa získavania skúseností.

Pravidlá sú dlhodobejšie informácie a sú navrhnuté tak, aby generovali hypotézy (nové fakty) z toho, čo je už známe.

Produkty v porovnaní s inými formami reprezentácie znalostí majú nasledujúce výhody:

modularita;

Jednotnosť štruktúry (hlavné komponenty výrobného systému možno použiť na vybudovanie inteligentných systémov s rôznym zameraním problému);

Prirodzenosť (záver záveru vo výrobnom systéme je v mnohých ohľadoch podobný procesu uvažovania odborníka);

Flexibilita generickej hierarchie pojmov, ktorá je podporovaná len ako prepojenia medzi pravidlami (zmena pravidla so sebou nesie zmenu hierarchie).

Výrobné systémy však nie sú bez nevýhod:

Proces vyvodzovania je menej efektívny ako v iných systémoch, pretože väčšinu času vyvodzovania vynakladá režijná kontrola použiteľnosti pravidiel;

Tento proces sa ťažko riadi;

Je ťažké si predstaviť generickú hierarchiu pojmov.

Logické modely reprezentácie znalostí sú implementované pomocou predikátovej logiky.

Predikát je funkcia, ktorá má iba dve hodnoty - true a false - a je určená na vyjadrenie vlastností objektov alebo vzťahov medzi nimi.

Výraz, ktorý tvrdí alebo popiera existenciu akýchkoľvek vlastností objektu, sa nazýva výrok.

rám najčastejšie definované ako dátová štruktúra na reprezentáciu stereotypných situácií. Rámce (doslova - "rám") je jednotka reprezentácie vedomostí, ktorej detaily sa môžu meniť v súlade s aktuálnou situáciou. Rám je možné kedykoľvek doplniť o rôzne informácie týkajúce sa spôsobov použitia tohto rámu, dôsledkov tohto použitia atď.

Sémantický web popisuje znalosti vo forme sieťových štruktúr. Uzly siete sú pojmy, fakty, objekty, udalosti atď. a oblúky siete sú vzťahy, ktorými sú uzly navzájom spojené.

3. Stratégie získavania vedomostí

Existuje niekoľko stratégií na získanie vedomostí. Najčastejšie:

  1. extrakcia;
  2. akvizícia;
  3. objav (formácia).

Obrázok 1 - Tri stratégie získavania vedomostí

Extrakcia znalostí je postup interakcie znalostného inžiniera so zdrojom vedomostí, v dôsledku čoho sa objasňuje proces uvažovania odborníkov-expertov pri rozhodovaní a štruktúra ich predstáv o predmetnej oblasti.

Obrázok 2 - Klasifikácia metód extrakcie znalostí

Získavanie znalostí sa chápe ako metóda automatizovaného budovania bázy znalostí prostredníctvom dialógu medzi odborníkom a špeciálnym programom (v tomto prípade je štruktúra znalostí predprogramovaná v programe). Táto stratégia si vyžaduje výrazný predbežný rozvoj predmetnej oblasti. Systémy získavania znalostí získavajú hotové poznatky podľa štruktúr, ktoré stanovili dizajnéri systému. Väčšina týchto nástrojov je špecificky zameraná na konkrétne expertné systémy s presne definovanou tematickou oblasťou a modelom reprezentácie znalostí, t.j. nie sú univerzálne.

Pojem objavovanie (formovanie) znalostí sa tradične priraďuje mimoriadne sľubnej a aktívne sa rozvíjajúcej oblasti znalostného inžinierstva, ktorá vyvíja modely, metódy a algoritmy na analýzu dát pre získavanie znalostí a učenie sa. Táto oblasť zahŕňa induktívne modely na generovanie hypotéz založených na trénovacích vzorkách, učenie sa pomocou analógie a iné metódy.


4. Vlastnosti znalostných systémov

Obrázok 3 - Vlastnosti znalostných systémov

5. Kritériá vhodnosti riešenia problémov pomocou znalostných systémov

Obrázok 4 – Kritériá vhodnosti riešenia problémov pomocou znalostných systémov

6. Aplikácie znalostných systémov

Oblasti použitia znalostných systémov sú veľmi rôznorodé:

Výroba;

Vojenské aplikácie;

liek;

sociológia;

geológia;

Poľnohospodárstvo;

kontrola;

judikatúra;

7. Typy problémov riešených pomocou znalostných systémov

Typy úloh riešených pomocou znalostných systémov:

Interpretácia symbolov alebo signálov - zostavenie sémantického popisu podľa vstupných údajov;

Diagnostika - identifikácia porúch (ochorení) podľa symptómov;

Monitorovanie - pozorovanie meniaceho sa stavu objektu a porovnávanie jeho ukazovateľov so stanovenými alebo želanými;

Dizajn - vývoj objektu so špecifikovanými vlastnosťami pri dodržaní stanovených obmedzení;

Prognózovanie – určovanie následkov, pozorované situácie;

Plánovanie - určenie postupnosti akcií vedúcich k požadovanému stavu objektu;

Kontrola - vplyv na objekt na dosiahnutie požadovaného správania;

Školenie je vysvetlenie alebo konzultácia v určitej oblasti vedomostí.

Znalostné systémy sú implementované na základe nasledujúcich inteligentných algoritmov:

Expertné systémy;

Neurálne siete;

Fuzzy logika;

Genetické algoritmy.

Pretože znalostné systémy využívajú inteligentné algoritmy, takéto systémy sa niekedy označujú ako systémy umelej inteligencie.

Expertné systémy (ES) sú počítačové programy, ktoré využívajú princípy umelej inteligencie a formalizované znalosti experta na spracovanie operačných informácií a prijímanie informovaných rozhodnutí v analyzovanej oblasti.

V expertných systémoch sa špecializované znalosti široko využívajú na riešenie problémov na úrovni ľudského experta. Pojem „expert“ sa vzťahuje na osobu, ktorá má odborné znalosti v určitej oblasti. To znamená, že odborník má znalosti alebo špeciálne zručnosti, ktoré sú pre väčšinu ľudí neznáme alebo nedostupné. Odborník je schopný riešiť problémy, ktoré väčšina ľudí nedokáže riešiť vôbec, alebo ich rieši oveľa efektívnejšie. Keď boli expertné systémy prvýkrát vyvinuté, obsahovali iba odborné znalosti. V súčasnosti však výraz „ expertný systém“ sa často aplikuje na akýkoľvek systém, ktorý využíva technológiu expertných systémov. Technológia expertných systémov môže zahŕňať špeciálne jazyky expertných systémov, ako aj softvér a hardvér určený na podporu vývoja a prevádzky expertných systémov.

Ako poznatky v expertných systémoch možno využiť buď expertné znalosti, alebo bežné verejné znalosti, ktoré možno získať z kníh, časopisov a od dobre informovaných ľudí. V tomto zmysle sa bežné znalosti považujú za koncept nižšej úrovne v porovnaní so zriedkavejšími odbornými znalosťami. Podmienky " expertný systém", "znalostný systém", a " expertný systém založený na znalostiach" sa často používajú zameniteľne. Väčšina ľudí však používa iba výraz " expertný systém“ jednoducho preto, že je kratší, aj keď v expertný systém v otázke sa môžu prezentovať nie odborné, ale len bežné poznatky.

Existujú dve zásadne odlišné triedy ES: „založené na vedomostiach“ a „založené na príklade“. Prvá trieda ES slúži na prácu s dobre systematizovanými prvkami vedomostí a a priori známymi vzormi vyjadrenými rôznymi metódami, pokynmi, pravidlami atď. Pracovné princípy expertný systém založený na znalostiach 11.15.


Ryža. 11.15.

Okrem toho boli vyvinuté užitočné znalostné systémy, ktoré sú určené na použitie ako inteligentný asistent ľudského experta. Títo inteligentní asistenti sú navrhnutí na základe technológie expertných systémov, pretože takáto technológia poskytuje významné vývojové výhody. Čím viac vedomostí inteligentného asistenta vloží do vedomostnej základne, tým viac budú jeho činy pripomínať činy odborníka. Vývoj inteligentného asistenta môže byť užitočným medzikrokom pred vytvorením plnohodnotného expertný systém. Inteligentný asistent vám navyše umožní uvoľniť užitočnejší čas pre odborníka, pretože jeho použitie prispieva k zrýchlenému riešeniu problémov.

Odborné znalosti sa týkajú len jednej tematickej oblasti, a to je rozdiel medzi metódami založenými na použití expertných systémov a všeobecnými metódami riešenia problémov. Predmetová oblasť je špeciálna problémová oblasť, akou je medicína, financie, veda a technika, v ktorej dokáže problémy veľmi dobre riešiť len určitý odborník. Expertné systémy, podobne ako ľudskí experti, sú vo všeobecnosti určené na použitie ako experti v jednej tematickej oblasti. Napríklad od odborníka na šach sa zvyčajne nedá očakávať, že bude mať odborné znalosti súvisiace s medicínou. Odbornosť v jednej tematickej oblasti sa automaticky neprenáša do inej oblasti.

Znalosti odborníka týkajúce sa riešenia konkrétnych problémov sa nazývajú oblasť znalostí odborníka. Vzťah medzi predmetnou oblasťou a oblasťou vedomostí je znázornený na obrázku 11.16.

Na tomto obrázku je oblasť vedomostí plne zahrnutá do predmetu. Časť, ktorá presahuje oblasť vedomostí, symbolizuje oblasť, v ktorej nie sú vedomosti o žiadnej z úloh súvisiacich s touto oblasťou.

V oblasti vedomostí expertný systém vedie úvahy alebo vyvodzuje logické závery na rovnakom princípe ako odborník – človek by argumentoval alebo dospel k riešeniu problému logickým spôsobom.


Ryža. 11.16.

To znamená, že na základe určitých skutočností sa uvažovaním utvára logický, opodstatnený záver, ktorý z týchto skutočností vyplýva.

ES sa úspešne využívajú v tých oblastiach, kde sa okrem použitia štandardných algoritmických metód založených na presných výpočtoch zásadne využívajú znalosti a skúsenosti konkrétnych expertov-analytikov a rozhodovanie sa formuje v podmienkach neúplných údajov a závisí viac na kvalitatívnych ako kvantitatívnych hodnoteniach. Medzi tieto tematické oblasti patrí predovšetkým oblasť analýzy finančnej činnosti, kde efektívnosť prijímaných rozhodnutí závisí od porovnávania mnohých rôznych faktorov, berúc do úvahy komplexné vzťahy príčina-následok, využívanie ne triviálne logické uvažovanie a pod.

klasický expertný systém stelesňuje nepísané znalosti, ktoré je potrebné získať od odborníka prostredníctvom rozhovorov vedených znalostným inžinierom počas dlhého časového obdobia. Tento proces tvorby expertný systém volal znalostné inžinierstvo a vykonáva ho znalostný inžinier. znalostné inžinierstvo sa týka získavania poznatkov od ľudského experta alebo iných zdrojov a následnej prezentácie poznatkov v expertný systém(obr.11.17).


Ryža. 11.17.

Po prvé, znalostný inžinier nadviaže dialóg s ľudským expertom, aby odhalil znalosti experta. Tento krok je podobný pracovnému kroku, ktorý vykonáva systémový dizajnér pri konvenčnom programovaní, keď diskutuje o systémových požiadavkách s klientom, pre ktorého sa program vytvára. Znalostný inžinier potom tieto znalosti explicitne vystaví na zahrnutie do databázy znalostí. Odborník následne vyhodnotí expertný systém a sprostredkúva kritiku znalostnému inžinierovi. Tento proces sa opakuje znova a znova, kým odborník nevyhodnotí výsledky systému ako uspokojivé.

Vo všeobecnosti sa proces vytvárania expertných systémov značne líši od procesu vývoja bežných programov. V expertných systémoch sa berú do úvahy problémy, ktoré nemajú uspokojivé algoritmické riešenie, preto sa na dosiahnutie prijateľného riešenia používa logický záver. Od základu fungovania expertný systém leží logický záver, takýto systém musí vedieť vysvetliť svoje úvahy, aby ho bolo možné otestovať. Preto je neoddeliteľnou súčasťou každého komplexu expertný systém je prostriedkom na vysvetlenie. V skutočnosti môžu byť vyvinuté sofistikované vysvetľovače, ktoré používateľovi umožnia preskúmať viacero línií otázok, ako napríklad „Čo sa stane, ak...“ nazývaných hypotetické uvažovanie.

teda znalostné inžinierstvo- Ide o oblasť informačných technológií, ktorej účelom je zhromažďovať a aplikovať poznatky nie ako predmet na ich spracovanie osobou, ale ako predmet na ich spracovanie v počítači. Na to je potrebné analyzovať znalosti a vlastnosti ich spracovania osobou a počítačom, ako aj vyvinúť ich strojovú reprezentáciu. Žiaľ, ešte nebola poskytnutá presná a nepopierateľná definícia toho, čo sú vedomosti. Avšak, cieľ znalostné inžinierstvo– zabezpečiť využívanie znalostí v počítačových systémoch na vyššej úrovni, ako je relevantné doteraz. Možnosť využitia vedomostí je realizovateľná len vtedy, keď tieto znalosti existujú, čo je celkom pochopiteľné. Technológia akumulácie a sumarizácie poznatkov ide „vedľa seba“ s technológiou využívania poznatkov, kde sa navzájom dopĺňajú a vedú k vytvoreniu jednej technológie, technológie spracovania poznatkov.

Druhá trieda ES sa používa v situáciách, kde neexistujú zjavné súvislosti a vzorce medzi prvkami vedomostí a samotné znalosti sú prezentované vo forme zoznamov príkladov popisujúcich realizáciu určitých udalostí. Ak prvá trieda ES pracuje s presne definovanými dátami a znalosťami extrahovanými od expertov – analytikov znalostnými inžiniermi, potom druhá trieda formuje svoje znalosti prispôsobením sa oblasti predmetu reprezentovanej príkladmi, pričom školenia aj analyzované informácie môžu byť skreslené a neúplné. V prvom prípade sú inferenčné mechanizmy spravidla založené na klasických stratégiách dedičnosti a inferencie, v druhom prípade na rôznych metódach induktívnej generalizácie príkladmi, najmä na vlastnostiach umelých neurónových sietí, ktoré sa na to používajú.

V systéme založenom na pravidlách sú doménové znalosti potrebné na riešenie problémov zakódované vo forme pravidiel a obsiahnuté v znalostnej báze. Samozrejme, pravidlá sa najčastejšie používajú na reprezentáciu vedomostí. Prvky typického expertný systém, na základe pravidiel, sú znázornené na obrázku 11.18.


Ryža. 11.18.

Expertný systém pozostáva z komponentov popísaných nižšie.

  • Používateľské rozhranie. Mechanizmus, ktorým používateľ a expertný systém.
  • prostriedky na vysvetlenie. Komponent, ktorý umožňuje užívateľovi vysvetliť priebeh uvažovania systému.
  • pracovná pamäť. Globálny základ faktov použitých v pravidlách.
  • Inferenčný stroj. Softvérový komponent, ktorý poskytuje generovanie záverov (rozhodovanie, ktoré pravidlá spĺňajú fakty alebo objekty). Uprednostní spustené pravidlá a vykoná pravidlo s najvyššou prioritou.
  • Pracovný zoznam pravidiel. Inferenčný nástroj vygenerovaný a uprednostnený zoznam pravidiel, ktorých vzory sa zhodujú s faktami alebo objektmi v pracovnej pamäti.
  • Prostriedok na získanie vedomostí. Automatizovaná metóda, ktorá umožňuje užívateľovi zadávať znalosti do systému, namiesto zapojenia znalostného inžiniera do riešenia problému explicitného kódovania znalostí.

Mnohé systémy majú voliteľný nástroj na získavanie znalostí, ktorý sa v niektorých expertných systémoch dokáže učiť pomocou induktívneho odvodzovania pravidiel z príkladov a automaticky generovať pravidlá. Na generovanie pravidiel v strojovom učení sa použili aj iné metódy a algoritmy, ako sú umelé neurónové siete a genetické algoritmy. Hlavným problémom používania strojového učenia na generovanie pravidiel je, že neexistuje vysvetlenie, prečo boli pravidlá vytvorené. Na rozdiel od ľudskej bytosti, ktorá je schopná vysvetliť dôvody, prečo bolo zvolené konkrétne pravidlo, systémy strojového učenia nikdy nedokázali vysvetliť svoje činy, čo môže viesť k nepredvídateľným výsledkom. Vo všeobecnosti sú však na vytváranie rozhodovacích stromov najlepšie príklady prezentované vo forme jednoduchých tabuliek. Všeobecné pravidlá pripravené znalostným inžinierom môžu byť oveľa zložitejšie ako jednoduché pravidlá odvodené induktívnym odvodením pravidiel.

AT expertný systém, na základe pravidiel sa báza znalostí nazýva aj produkčná pamäť. Ako veľmi jednoduchý príklad si predstavte problém rozhodovania sa prejsť cez cestu. Nasledujú produkcie pre dve pravidlá, v ktorých šípky znamenajú, že systém vykoná akcie napravo od šípky, ak sú splnené podmienky naľavo od šípky:

svieti červené svetlo -> stop

zelené svetlo svieti -> pohyb

Produkčné pravidlá môžu byť vyjadrené v ekvivalentnom formáte pseudokódu IF-THEN takto:

Pravidlo: red_light

AK svieti červené svetlo TAK sa postavte

Pravidlo: green_light

AK svieti zelené svetlo POTOM sa hýbte

Každé pravidlo je označené názvom. Za názvom je časť pravidla IF. Časť pravidla medzi časťami pravidla IF a THEN sa označuje rôznymi názvami, ako napríklad predchodca, podmienená časť, časť šablóny alebo ľavá strana (LHS). Jediná podmienka ako napr

"červené svetlo svieti" sa nazýva podmienený prvok alebo vzor.

V systéme založenom na pravidlách odvodňovací mechanizmus určuje, ktoré predchádzajúce pravidlá (ak nejaké existujú) sa vykonajú podľa faktov. Ako stratégie riešenia problémov v expertných systémoch sa bežne používajú dve všeobecné metódy inferencie: priama inferencia a reverzná inferencia. Iné metódy používané na vykonávanie špecifickejších metód môžu zahŕňať analýzu cieľov a prostriedkov, zjednodušenie problémov, spätné sledovanie, kontrolu plánovanej práce, hierarchické plánovanie a najmenší prínos a manipuláciu s obmedzeniami.

Priama logická inferencia je metóda formovania úvah od faktov k záverom, ktoré z týchto faktov vyplývajú. Napríklad, ak pred odchodom z domu zistíte, že prší (fakt), mali by ste si so sebou vziať dáždnik (záver).

Reverzná inferencia zahŕňa formovanie úvah v opačnom smere – od hypotézy (potenciálneho záveru, ktorý musí byť dokázaný) k faktom, ktoré hypotézu potvrdzujú. Napríklad, ak sa nepozeráte von, ale niekto vojde do domu s mokrými topánkami a dáždnikom, potom môžete prijať hypotézu, že prší. Na potvrdenie tejto hypotézy sa stačí opýtať tejto osoby, či prší. V prípade kladnej odpovede sa dokáže, že hypotéza je pravdivá, teda sa stáva skutočnosťou. Ako bolo uvedené vyššie, hypotézu možno považovať za skutočnosť, ktorej pravdivosť je spochybnená a musí byť preukázaná. V takom prípade možno hypotézu interpretovať ako cieľ, ktorý treba dokázať.

V závislosti od projektu expertný systém v inferenčnom stroji sa vykonáva buď dopredná alebo spätná inferencia, alebo obe formy inferencie. Napríklad CLIPS je navrhnutý pre doprednú inferenciu, PROLOG poskytuje spätnú inferenciu a verzia CLIPS od Paula Haleyho s názvom Eclipse vykonáva doprednú aj spätnú inferenciu. Výber nástroja na odvodenie závisí od typu problému. Diagnostické úlohy sa najlepšie riešia pomocou spätnej inferencie, zatiaľ čo problémy s predikciou, kontrola prúdu a ovládacie prvky je najjednoduchšie vyriešiť pomocou priamej logickej inferencie.

Pracovná pamäť môže obsahovať fakty o aktuálnom stave semafora, ako napríklad „svieti zelené svetlo“ alebo „svieti červené svetlo“. Jedna alebo obe tieto skutočnosti môžu byť prítomné v pracovnej pamäti. Ak semafor funguje správne, v pracovnej pamäti bude iba jeden fakt. Ale je tiež možné, že obe skutočnosti budú prítomné v pracovnej pamäti, ak je semafor mimo prevádzky. Aký je rozdiel medzi vedomostnou základňou a pracovnou pamäťou? Fakty sa navzájom neovplyvňujú. Skutočnosť, že svieti zelené svetlo, nemá vplyv na skutočnosť, že svieti červené svetlo. Na druhej strane poznatky o fungovaní semaforov naznačujú, že ak sú súčasne obe skutočnosti, potom je semafor chybný.

Ak je v pracovnej pamäti skutočnosť „zelené svetlo“, inferenčný mechanizmus zistí, že táto skutočnosť spĺňa podmienenú časť pravidla green_light a umiestni toto pravidlo do pracovného zoznamu pravidiel. A ak má pravidlo viacero šablón, potom musia byť splnené všetky tieto šablóny súčasne, aby sa pravidlo umiestnilo do pracovného zoznamu pravidiel. Ako podmienku na splnenie určitých vzorcov možno dokonca špecifikovať absenciu určitých faktov v pracovnej pamäti.

Pravidlo, ktorého všetky šablóny sú splnené, sa nazýva aktivované alebo implementované. V pracovnom zozname pravidiel môže byť súčasne niekoľko aktivovaných pravidiel. V tomto prípade si inferenčný mechanizmus musí vybrať jedno z pravidiel, ktoré sa má spustiť.

Za časťou pravidla POTOM nasleduje zoznam akcií, ktoré sa musia vykonať po spustení pravidla. Táto časť pravidla sa nazýva následná alebo pravá strana (Right-Hand Side - RHS). Ak sa spustí pravidlo červeného svetla, vykoná sa jeho akcia „stand“. Podobne, akonáhle je pravidlo green_light spustené, jeho akcia sa zmení na „pohyb“. Špecifické akcie zvyčajne zahŕňajú pridávanie alebo odstraňovanie faktov z pracovnej pamäte alebo výstup výsledkov. Formát na popis týchto akcií závisí od syntaxe jazyka. expertný systém. Napríklad v CLIPS akcia na pridanie nového faktu do pracovnej pamäte, nazývaná "stop", má formu (tvrdiť stop).

Inferenčný stroj pracuje v režime implementácie cyklov "rozpoznanie - akcia". Na opis tohto spôsobu prevádzky sa používajú aj ďalšie pojmy, ako je cyklus vyzdvihnutia-vykonania, cyklus odozvy na situáciu a cyklus situácia-akcia. Nech sa však takáto slučka nazýva akokoľvek, inferenčný mechanizmus vykonáva určité skupiny úloh znova a znova, až kým nenarazí na určité kritériá, ktoré spôsobia zastavenie vykonávania. Toto vykonáva bežné úlohy uvedené v pseudokóde nižšie, ako je riešenie konfliktov, akcia, vyjednávanie a kontrola podmienok prerušenia.

KEĎ práca nie je dokončená

Riešenie konfliktov. Ak sú aktivované pravidlá, vyberte pravidlo s najvyššou prioritou; inak je práca hotová.

Akcia. Dôsledne vykonávajte akcie uvedené v pravej časti vybraného aktivovaného pravidla. V tomto cykle sa prejavuje priamy vplyv tých akcií, ktoré menia obsah pracovnej pamäte. Odstráňte novo spustené pravidlo z pracovného zoznamu pravidiel.

Koordinácia. Aktualizujte pracovný zoznam pravidiel kontrolou, či sa vykonáva ľavá strana pravidiel. Ak áno, aktivujte príslušné pravidlá. Odstrániť aktivované pravidlá, ak ľavá strana príslušných pravidiel už nie je splnená.

Kontrola podmienok zastavenia. Ak je vykonaná akcia zastavenia alebo je zadaný príkaz na prerušenie, práca je dokončená.

Prijmite príkaz nového používateľa.

Počas každého cyklu je možné aktivovať viacero pravidiel a umiestniť ich do pracovného zoznamu pravidiel. Okrem toho zostávajú výsledky aktivácie pravidiel z predchádzajúcich cyklov v pracovnom zozname pravidiel, pokiaľ tieto pravidlá nie sú deaktivované z dôvodu, že ich ľavé časti sa už nevykonávajú. Počas vykonávania programu sa teda počet aktivovaných pravidiel v pracovnom zozname pravidiel mení. V závislosti od programu môžu predtým aktivované pravidlá vždy zostať v pracovnom zozname pravidiel, ale nikdy sa nevyberú na spustenie. Podobne sa niektoré pravidlá nemusia nikdy aktivovať. V takýchto prípadoch by ste mali znova skontrolovať účel týchto pravidiel, pretože buď takéto pravidlá nie sú potrebné, alebo ich šablóny nie sú dobre navrhnuté.

Inferenčný mechanizmus vykoná akcie aktivovaného pravidla s najvyššou prioritou z pracovného zoznamu pravidiel, potom akcie aktivovaného pravidla s ďalšou najvyššou prioritou atď., až kým v zozname nebudú žiadne ďalšie aktivované pravidlá. Pre nástroje expertných systémov boli vyvinuté rôzne prioritné systémy, ale vo všeobecnosti všetky nástroje umožňujú znalostnému inžinierovi uprednostniť pravidlá.

V pracovnom zozname pravidiel dochádza ku konfliktom, ak rôzne spúšťané pravidlá majú rovnakú prioritu a inferenčný nástroj sa musí rozhodnúť, ktoré z týchto pravidiel spustí. Rôzne škrupiny používajú rôzne metódy na vyriešenie tohto problému. Newell a Simon zvolili prístup, že pravidlá zadané do systému ako prvé majú štandardne najvyššiu prioritu. V CLIPS majú pravidlá štandardne rovnakú prioritu, pokiaľ jednému z nich znalostný inžinier nepriradí inú prioritu.

Po vykonaní všetkých pravidiel sa riadenie vráti na príkazový tlmočník najvyššej úrovne, aby ho používateľ mohol vydať do shellu expertný systém dodatočné pokyny. Spustenie v režime najvyššej úrovne zodpovedá predvolenému režimu, v ktorom používateľ interaguje expertný systém a je označená ako úloha „Prijať nový používateľský príkaz“. Nové príkazy sú prijímané na najvyššej úrovni.

Najvyššou úrovňou je používateľské rozhranie pre shell počas vývoja aplikácie. expertný systém. Zvyčajne sa však vyvíjajú zložitejšie používateľské rozhrania, aby sa s nimi ľahšie pracovalo expertný systém. V skutočnosti môže návrh a implementácia používateľského rozhrania vyžadovať viac úsilia ako budovanie databázy znalostí. expertný systém najmä vo fáze prototypu. V závislosti od možností tlmočníka príkazov expertný systém používateľské rozhranie môže byť implementované pomocou pravidiel alebo pomocou príkazov v inom jazyku volanom z expertný systém.

Hlavná prednosť expertný systém je jeho vysvetľovacie zariadenie, ktoré umožňuje užívateľovi klásť otázky o tom, ako systém dospel k určitému záveru a prečo potrebuje určité informácie. Systém založený na pravidlách môže ľahko odpovedať na otázku, ako sa dospelo k určitému záveru, pretože história aktivácie pravidiel a obsah pracovnej pamäte môžu byť uložené v zásobníku. Ale táto možnosť nie je tak ľahko dosiahnuteľná pri použití umelých neurónových sietí. genetické algoritmy alebo iné systémy, ktoré sú stále vo vývoji. Samozrejme, boli urobené pokusy poskytnúť možnosť vysvetlenia v niektorých systémoch, ale prostriedky vysvetlenia vytvorené v tomto prípade nemožno porovnávať v ich jasnosti s prostriedkami žiadneho expertný systém navrhnutý človekom. Vyvinuté vysvetľovacie nástroje umožňujú používateľovi klásť otázky typu „čo ak“ a skúmať alternatívne spôsoby vytvárania hypotetických úvah.

Niektoré znalostné systémy sa nazývajú expertné systémy, keď štandard pre ich použitie musí určiť odborník. Existuje mnoho systémov, ktoré sú založené na znalostiach odborníkov. Konečným cieľom znalostných systémov je nahradiť človeka s rozhodovacou právomocou, ale v skutočnosti tento cieľ presahuje skutočné možnosti systémov. Môžu prevziať len časť práce človeka, ale nemôžu ju úplne nahradiť. Potrvá nejaký čas, kým znalostné systémy nahradia manažérov, ak vôbec niekedy. V tomto smere sú systémy založené na vedomostiach niekedy preceňované.

Každý zo štyroch typov informačných systémov, ktoré sme uvažovali, je vhodný na konkrétny účel. Žiadna z nich nie je vhodná pre všetky typy informácií používaných na všetkých úrovniach riadenia.

Hoci transakčné a transakčné systémy nie sú také atraktívne ako systémy na podporu rozhodovania alebo znalostné systémy, sú dosť výkonné v tom, že vkladajú údaje do spoločného informačného systému, udržiavajú údaje organizované a aktualizované a zabezpečujú, aby sa údaje presúvali tam, kde sú potrebné. Ale samy o sebe sú tieto systémy obmedzené na používanie špecifických údajov.

Typy manažérskych informačných systémov, o ktorých sa hovorí v tejto časti, rozširujú možnosti transakčných a transakčných systémov. Manipulujú s údajmi o známych a opakujúcich sa problémoch, aby boli použiteľné na stimuláciu výnimočných informácií. Tieto informácie sa najčastejšie používajú na operačnej úrovni, menej často na úrovni divízií a najmenej často na strategickej úrovni.

Systémy na podporu rozhodovania pomáhajú manažérom riešiť menej štruktúrované problémy. Sú vhodnejšie ako UIS na produkciu riadiacich, distribučných a navádzacích informácií. DSS sú zložitejšie na vytváranie a údržbu systémov ako manažérske informačné systémy. A hoci DSS dokáže vyriešiť problém stimulujúcich a exkluzívnych informácií, MIS vám to umožňuje hospodárnejšie.

Systémy na podporu rozhodovania poskytujú jednoduchý a flexibilný prístup k mnohým komponentom. Keď sú dobre navrhnuté, je jednoduchšie meniť a pridávať nové komponenty. Rovnako ako iné výkonné nástroje, účinnosť WBS G je do značnej miery určená zručnosťou ich používania.

Na druhej strane znalostné systémy sú navrhnuté tak, aby podporovali majstrovstvo. Teraz však tieto systémy obmedzili a zúžili zameranie na remeselnú zručnosť. V súčasnosti sú znalostné systémy výkonnými, ale obmedzenými nástrojmi na kontrolu, distribúciu a usmerňovanie rozhodnutí.

Informačné systémy nie sú vždy okamžite použiteľné a manažéri si často musia vytvárať individuálne informačné systémy.

Budovanie informačných systémov

Na začiatku používania počítačových systémov, najmä v jednoduchých organizáciách, bol vývoj počítačových programov nesystematickou záležitosťou. Napríklad mnohí programátori začali s kódovaním softvéru čo najrýchlejšie – často ešte predtým, než bolo jasné, aký program majú vyvíjať. Z tohto dôvodu vznikli problémy a dizajnéri začali v tomto procese obnovovať určitý poriadok. Vznikol tak model nazývaný životný cyklus vývoja systému.

A. Definujúca fáza

Fáza definovania poskytuje možnosť načrtnúť informačný systém. Fáza návrhu argumentov je kritická, pretože prvý popis problému určuje veľa z toho, čo bude musieť softvér formalizovať. Fáza implementácie hodnotenia zahŕňa dve základné úlohy.

Prvým je problém definície.

Druhý je v rozhodovaní, či je vôbec možné postaviť systém. Implementácia hodnotenia v životnom cykle vývoja systému sa vykonáva spravidla vtedy, keď je k dispozícii minimum informácií. To môže spôsobiť problémy, ako napríklad chýbajúce dôležité pojmy.

Počas analýzy systému sa čas vynakladá na určenie toho, aké informácie používateľ od systému požaduje. Ďalším krokom je určiť, aké údaje sú potrebné na poskytnutie týchto informácií. Počas tohto procesu sa postupy vyvíjajú, takže je potrebné získavať údaje a využívať informácie. Nakoniec skúma, odkiaľ budú dáta pochádzať a ako budú prúdiť systémom.

Úlohou ďalšej fázy, návrhu logických systémov, je vyvinúť koncepciu systému, ktorá zahŕňa spôsob zberu údajov, čo sa s týmito údajmi urobí a aké správy bude systém vydávať. Dokončením projektu logického systému sa končí aj etapa definovania. Fáza definovania je rozhodujúca pre úspech návrhu a vývoja systému. jeho realizácia je náročná. Počas systémovej analýzy sa veľa vecí zdá abstraktných a je ťažké si predstaviť, ako to všetko bude vyzerať po jeho prestavbe.

By. Vývojové štádium

Rozhodujúce je aj štádium vývoja, avšak s nasledujúcim rozdielom. Slabá fáza vývoja môže zničiť dobrú prácu v štádiu definovania, ale ani vynikajúca práca vykonaná v štádiu vývoja nemôže zachrániť zlú prácu v štádiu definovania. Vo fáze fyzického návrhu systému sa logický návrh premieta do špecifikácií pre podsystémy, programy, procedúry, súbory a databázy. Návrh fyzických systémov vyžaduje dobre vyvinuté technické zručnosti. Ak boli úlohy fázy definovania vykonané dobre, potom nie je potrebné rozsiahle zapojenie používateľov do návrhu fyzického systému.

Počas vývoja softvéru dizajnérsky tím vyvíja programy špecializované na fyzický návrh systému. Tiež píše programy a kontroluje ich.

Procedurálny vývoj zahŕňa návrh a popis postupov, pomocou ktorých budú používatelia zbierať a pripravovať údaje na vstup do systému výkazníctva, ako aj postupy na interpretáciu správ. Keď sú programy napísané a otestované, je čas na testovanie systému. Testovanie systému má dve časti: uistenie sa, že jednotlivé programy spolupracujú a kontrola, či počítačový systém dodržiava postupy.

Etapa založenia a implementácie

Počas fázy inštalácie a uvedenia do prevádzky projekt prechádza od návrhu k realizácii. Fáza konverzie a inštalácie je zvyčajne najkritickejším obdobím. Proces konverzie vytvorí súbory potrebné pre nový systém. To si často vyžaduje špeciálny podsystém, ktorý prekladá údaje z formátu starého systému do nového formátu. Zamestnanci, ktorí sú dočasne zbavení akéhokoľvek počítačového systému, môžu manuálne zapisovať veľké množstvo údajov, čo najviac ich overiť a umiestniť do súborov nového formátu. Počas tejto doby je tiež možné zaškoliť používateľa v postupoch používania nového systému.

Inštalačný proces presúva počítačové programy z počítačových knižníc používaných programátormi do počítačových knižníc používaných počas skutočnej prevádzky systému. Tento proces môže zahŕňať aj fyzickú inštaláciu nových terminálov alebo počítačov.

Ak bol systém úspešne konvertovaný a nainštalovaný, je vývoj projektu ukončený a začína fáza používania a podpory. Počas prevádzky systému užívatelia poskytujú vstup a používajú pôvodné dáta. Aj keď je systém vyvinutý, práca ešte nie je dokončená. Systémy obsahujú chyby a potrebujú opravu a meniace sa okolnosti si často vyžadujú zmeny v systéme. Práce na systéme teda pokračujú a nazýva sa to podpora.

Znalostné systémy

Živé bytosti v závislosti od postavenia na evolučnom rebríčku majú väčšie alebo menšie intelektuálne schopnosti. Intelektuálne schopnosti včiel, vtákov, delfínov a ľudí sa mnohonásobne líšia. Napriek tomu o každej z týchto bytostí možno povedať, že má schopnosť individuálne sa rozhodovať a robiť vlastné rozhodnutia. Toto je jeden zo znakov inteligencie.

V aplikáciách postavených na báze umelej inteligencie sa pokúša reprodukovať správanie živých bytostí pomocou počítačových systémov. Znalostný inžinier zároveň rieši pomerne náročnú úlohu: musí do počítačových programov zabudovať správanie, ktoré je živým bytostiam vlastné.

Pomocou radu metodológií, ktoré zahŕňajú expertné systémy, neurónové siete, systémy založené na prípadoch, genetické algoritmy, inteligentných agentov a dolovanie údajov, môžeme prinútiť počítačové systémy, aby sa správali ako živé bytosti reprodukovaním malého počtu aspektov inteligentného správania, ako napr.

□ rozhodovanie, diagnostika, plánovanie systémov a situácií pomocou expertných systémov alebo neurónových sietí;

□ predpovedanie vývoja zložitých systémov pomocou genetických algoritmov;

□ preštudovanie predchádzajúcich skúseností (niekedy jeden príklad) a rozhodovanie sa na ich základe o aktuálnej situácii pomocou systémov založených na precedensoch;

□ rozpoznávanie rukopisu alebo grafického obrazu modelovaním v neurónových sieťach;

□ Stanovenie kauzálnych vzťahov medzi súbormi údajov pomocou mechanizmov extrakcie údajov (čím sa identifikujú kauzálne vzťahy v reálnom svete, z ktorého údaje pochádzajú);

□ simulácia nezávislého správania sa počítačového programu realizovaná pomocou technológie inteligentných agentov.

Právne informačné systémy môžu napríklad ponúkať vhodné rozhodnutia na základe príkladov z minulých skúseností s použitím uvažovania na základe prípadu (takéto systémy budú efektívne fungovať v právnom systéme založenom na prípadoch, v ktorom sa rozhodnutia prijímajú na základe minulých súdnych rozhodnutí v podobných prípadoch).

Znalostné systémy sú počítačové programy určené na reprodukciu práce odborníkov v daných oblastiach vedomostí.

Existuje sedem hlavných typov znalostných systémov.

1. Expertné systémy modelujú rozhodovací proces vlastný ľudskému mozgu. Používajú sa na to, aby sa správali ako ľudskí experti, pomáhali manažérom alebo špecialistom rozhodovať sa na základe odborných znalostí. Typickými aplikáciami expertných systémov sú plánovanie, plánovanie, diagnostika. Hoci expertné systémy slúžia na napodobňovanie ľudského rozhodovacieho procesu, algoritmy a pravidlá, ktorými sa riadia rozhodnutia, sú statické. To znamená, že expertný systém nemôže samostatne upravovať logiku svojej práce a nie je samoučiaci sa.

2. Neurónové siete simulujú prácu ľudského mozgu na biologickej úrovni (na úrovni správania jednotlivých mozgových buniek, neurónov). To znamená, že neurónové siete majú zabudovanú schopnosť samoučenia: môžu sa naučiť rozpoznávať vzory a potom rozpoznávať vzory na základe vzorov. Vďaka schopnosti samoučenia sa neurónové siete dajú do určitej miery využiť na riešenie problémov s prognózovaním na základe minulých skúseností (napríklad na predpovedanie dennej distribúcie nákladov na elektrickú energiu v elektrizačnej sústave).

3. Systémy založené na prípadoch modelujú ľudskú schopnosť robiť rozhodnutia analogicky s existujúcimi precedensmi. Takéto systémy sú často využívané v službách technickej podpory, kde sa podobné problémové situácie opakujú mnohokrát u rôznych klientov.

4. Systémy založené na genetických algoritmoch, ako už názov napovedá, modelujú proces vývoja biologických organizmov na bunkovej úrovni. Algoritmy tohto druhu sú navrhnuté tak, aby našli jedno najlepšie z mnohých prijateľných riešení problémov s veľkým počtom definujúcich parametrov. Keďže biologický organizmus v procese vývoja neustále rieši problém optimalizácie všetkých svojich parametrov a nastolenia rovnováhy s prostredím, systémy založené na genetických algoritmoch môžu byť použité na riešenie problémov optimalizácie zložitých multifaktoriálnych systémov a predikcie možností ich vývoja.

5. Inteligentní agenti sú programy, pre ktoré je stanovený konečný cieľ, ale môžu si nezávisle zvoliť spôsoby, ako tento cieľ dosiahnuť, flexibilne meniť algoritmus svojho správania. Väčšina inteligentných agentov sú programy na pozadí, ktoré robia špinavú prácu a dostávajú sa do popredia až vtedy, keď je potrebné výsledok prezentovať používateľovi. Príklady inteligentných agentov zahŕňajú roboty internetových vyhľadávačov, ktoré neustále prehľadávajú milióny stránok rôznych lokalít, aby udržiavali údaje vyhľadávacích nástrojov aktuálne.

6. Systémy dolovania údajov. Termín „dolovanie údajov“ sa používa na opísanie procesu objavovania vedomostí prostredníctvom hľadania predtým neznámych vzťahov medzi údajmi. V databázach, ktoré uchovávajú veľké množstvo údajov, možno identifikovať implicitné vzory, ktoré majú praktické využitie. Napríklad pri analýze predaja v supermarkete môžete zistiť, že v lete v rovnakom časovom intervale prudko stúpa predaj limonád, zmrzliny a semien. Tento tovar musí byť umiestnený na obchodnom podlaží v blízkosti a zabezpečiť jeho neprerušované zásobovanie. Takéto opatrenia výrazne zvýšia predaj týchto produktov.

3.4.1. Expertné systémy

Expertné systémy musia mať niektoré špecifické vlastnosti: expertný systém na svoju prácu využíva poznatky, ktoré musí vedieť uložiť do znalostnej bázy, extrahovať a spracovať určitým spôsobom na vyriešenie problému. Inými slovami, expertný systém by mal úplne nahradiť ľudského experta v akejkoľvek konkrétnej oblasti činnosti.


Expertné systémy sú vytvorené pomocou programovacích jazykov, ktoré podporujú programovanie založené na pravidlách. Prolog a Lisp zvyčajne fungujú ako takéto jazyky.

Pre expertné systémy sú obzvlášť dôležité dve požiadavky:

□ Pomerne úzka oblasť predmetu. Čím užšia je vecná oblasť, v ktorej sú funkcie znaleckého systému implementované, tým jednoduchšie je preň vytvoriť súbor pravidiel a tým je vydaný znalecký posudok efektívnejší.

□ Možnosť spätnej inferencie (pozri príklad výrobného modelu vyššie) vám umožňuje sledovať, na základe akých počiatočných údajov bolo vypracované odborné odporúčanie.

Hlavnými prvkami expertného systému sú (obr. 3.5):

□ modul na ukladanie znalostí (knowledge base), v ktorom sú znalosti uložené v rôznych prezentačných formátoch;

□ nástroj na odvodzovanie, ktorý využíva vedomostnú základňu na riešenie problémov;

□ užívateľské rozhranie, cez ktoré užívateľ aplikuje expertný systém, sformuluje problém a dostane jeho riešenie;

□ mechanizmus získavania vedomostí, pomocou ktorého sa vytvárajú znalostné bázy na rôzne účely (pre rôzne tematické oblasti).

Ryža. 3.5. Prvky expertného systému

Medzi výhody expertných systémov patria:

□ rozhodovací proces prebieha na základe vopred stanovených pravidiel;

□ oddelené používanie databázy znalostí a nástroja na odvodzovanie vám umožňuje upravovať obe samostatne;

□ možnosť zistiť, ako bolo rozhodnutie prijaté;

□ rýchlosť získania rozhodnutia;

□ dostupnosť štandardného postupu stiahnutia;

□ schopnosť opakovane riešiť typické problémy s uvoľnením ľudských expertov z tejto práce;

□ Splnomocnenie používateľov k schopnostiam skúsených odborníkov v určitej oblasti.

Nevýhody expertných systémov:

□ zameranie na úzku oblasť vedomostí, na riešenie problémov s obmedzenými špecifikami;

□ potreba odborníkov získať znalosti;

□ častá potreba experta na záverečný posudok;

□ vysoký stupeň formalizácie, neschopnosť používať „jednoduchý zdravý rozum“ pri uvažovaní;

□ vysoké náklady na vývoj a údržbu;

□ vysoký stupeň mechanistických záverov, nedostatok „kreatívy“;

□ potreba neustáleho dopĺňania vedomostnej základne v súlade so zmenami v expertnej oblasti;

□ zložitosť získavania vedomostí od odborníkov a špeciálne požiadavky na znalostného inžiniera (proces premeny intuície odborníka na symboly a vyjadrenia formálnej logiky môže trvať dlho a byť veľmi nákladný).

Expertné systémy sa využívajú tam, kde

□ riešené problémy sú také dôležité, že použitie expertného systému šetrí čas a peniaze, prípadne oboje;

□ pravidlá skúšania sú stabilné a dobre známe (inými slovami, sú k dispozícii odborníci, od ktorých je ľahké získať vedomosti, čo umožňuje vybudovať expertný systém určený na opakované a dlhodobé používanie);

□ je lacnejšie vytvoriť a udržiavať expertný systém ako zamestnávať ľudských expertov;

□ existuje veľa spotrebiteľov, ktorí potrebujú práve takýto expertný systém (v tomto prípade, keď je expertný systém vytvorený, môže byť opakovane reprodukovaný a používaný rôznymi spotrebiteľmi);

□ je jednoduchšie a lacnejšie vytvoriť expertný systém ako školiť personál v novej oblasti činnosti;

□ rozhodnutie sa ľahko formalizuje a robí sa na základe stabilných pravidiel (bez zavádzania intuície alebo slabo formalizovaných znalostí).

Na rozhodovanie, získavanie ďalších informácií, zvyšovanie spoľahlivosti alebo znižovanie nákladov na riešenie problémov v rôznych oblastiach vedy, techniky, ekonómie, medicíny atď. sa využívajú expertné systémy líšiace sa cenou, výkonom, objemom bázy znalostí a implementáciou hardvéru. Na obr. 3.6 ukazuje klasifikáciu expertných systémov podľa rôznych kritérií.


Expertné systémy


- Vzdelávanie - Superpočítač - Autonómne

__ Na charaktere ____ Hybrid

Kapitola 1. Znalostné systémy.

Kapitola 2Úvod do znalostného inžinierstva.

KAPITOLA 1. Systémy založené na znalostiach.

^ 1.1. Vedomosti a údaje

Ak máte problém alebo úlohu, ktorá sa nedá vyriešiť vlastnými silami, obráťte sa na znalých ľudí, prípadne na odborníkov, na tých, ktorí VEDOMOSTI majú. Pojem „systémy založené na vedomostiach“ sa objavil v roku 1976 súčasne s prvými systémami, ktoré hromadia skúsenosti a znalosti odborníkov. Išlo o expertné systémy MYCIN a DENDRAL pre medicínu a chémiu. Stanovili diagnózu infekčných krvných chorôb a rozlúštili údaje z hmotnostnej spektrografickej analýzy.

Expertné systémy sa objavili v rámci výskumu umelej inteligencie (AI) v čase, keď táto veda prechádzala vážnou krízou a bol potrebný výrazný prelom vo vývoji praktických aplikácií. Tento prelom nastal, keď výskumníci nahradili hľadanie univerzálneho algoritmu na myslenie a riešenie problémov myšlienkou modelovania špecifických znalostí špecializovaných odborníkov. Takže v USA prvá reklama znalostné systémy alebo expertné systémy (ES). Tieto systémy sa právom stali prvými inteligentnými systémami a zatiaľ jediným kritériom intelektuálnosti je dostupnosť mechanizmov na prácu so znalosťami.

Objavil sa tak nový prístup k riešeniu problémov umelej inteligencie - reprezentácia vedomostí.

Viac podrobností o histórii umelej inteligencie možno nájsť v [Pospelov, 1986; Jackson, 2001; Gavrilova a Khoroshevsky, 2001; Ondrej, 1985|.

Pri štúdiu inteligentných systémov už tradične vyvstáva otázka – čo sú vedomosti a ako sa líšia od bežných dát spracovávaných desaťročia na počítačoch. Je možné navrhnúť niekoľko pracovných definícií, v ktorých je to jasné.

Definícia 1.1

Údaje- ide o informácie získané ako výsledok pozorovaní alebo meraní jednotlivých vlastností (atribútov) charakterizujúcich predmety, procesy a javy predmetnej oblasti.

V opačnom prípade sú údajmi konkrétne fakty, ako je teplota vzduchu, výška budovy, priezvisko zamestnanca, adresa webovej stránky a pod.

Pri spracovaní na počítači sa údaje transformujú a bežne prechádzajú týmito fázami:


  • D1 - údaje ako výsledok meraní a pozorovaní;

  • D2 - údaje o hmotných médiách (tabuľky, protokoly, adresáre);

  • D3 - dátové modely (štruktúry) vo forme diagramov, grafov, funkcií;

  • D4 - údaje v počítači v jazyku popisu údajov;

  • D5 - databázy na strojových pamäťových médiách.
Poznatky sú založené na údajoch získaných empiricky. Sú výsledkom skúseností a duševnej činnosti človeka zameranej na zovšeobecnenie tejto skúsenosti získanej ako výsledok praktickej činnosti.

Ak teda človeka vyzbrojíte údajmi, že má vysokú teplotu (výsledok pozorovania alebo merania), tak mu táto skutočnosť nedovolí vyriešiť problém obnovy. A ak sa skúsený lekár podelí o svoje poznatky, že teplota sa dá znížiť liekmi proti horúčke a dostatkom tekutín, tak to výrazne priblíži riešenie problému s rekonvalescenciou, hoci v skutočnosti sú potrebné ďalšie údaje a hlbšie znalosti.

Definícia 1.2

Vedomosti- sú to súvislosti a zákonitosti predmetnej oblasti (princípy, modely, zákony) získané ako výsledok praktických činností a odborných skúseností, čo umožňuje špecialistom nastavovať a riešiť problémy v tejto oblasti.

Pri spracovaní na počítači sa poznatky transformujú podobne ako údaje:


  • Z1 - poznanie v ľudskej pamäti ako výsledok analýzy skúseností a myslenia;

  • Z2 - materiálne nosiče vedomostí (odborná literatúra, učebnice, učebné pomôcky);

  • Z3 - oblasť vedomostí - podmienený opis hlavných objektov predmetnej oblasti, ich atribútov a vzorov, ktoré ich spájajú;

  • Z4 - znalosti popísané v jazykoch reprezentujúcich znalosti (produkčné jazyky, sémantické siete, rámce - Pozri nižšie);

  • Z5 - vedomostná báza o strojových pamäťových médiách. Často sa používa nasledujúca definícia vedomostí:
Vedomosti sú dobre štruktúrované údaje alebo údaje o údajoch alebo metaúdaje.

Kľúčovou etapou pri práci so znalosťami je formovanie znalostného poľa (tretia etapa Z3), táto netriviálna úloha zahŕňa identifikáciu a definíciu objektov a pojmov predmetnej oblasti, ich vlastností a vzťahov medzi nimi, ako aj ich prezentáciu vizuálnou a intuitívnou formou. Tento termín bol prvýkrát zavedený pri praktickom vývoji expertného systému AUTANTEST pre psychodiagnostiku [Gavrilova, 1984] a v súčasnosti je široko používaný vývojármi ES.

Bez dôkladného preštudovania vedomostnej oblasti nemôže byť ani reči o vytvorení vedomostnej bázy.

Pre pochopenie podstaty vedomostí sú nevyhnutné spôsoby, akými sú pojmy definované. Jedna zo široko používaných metód je založená na myšlienke intenzie a extenzie.

Definícia 1.3

Koncepčný zámer- ide o jeho definíciu prostredníctvom korelácie s konceptom vyššej úrovne abstrakcie s uvedením konkrétnych vlastností.

Napríklad zámer konceptu "NÁBYTOK": "predmety navrhnuté tak, aby zabezpečili pohodlný pobyt pre človeka a zaplnili dom."

Definícia 1.4

Rozšírenie je definícia pojmu vymenovaním jeho konkrétnych príkladov, t. j. pojmov nižšej úrovne abstrakcie.

Rozšírenie konceptu "NÁBYTOK": "Skriňa, pohovka, stôl, stolička atď."

Intenzie tvoria poznatky o objektoch, zatiaľ čo rozšírenia kombinujú údaje. Spolu tvoria prvky vedomostnej oblasti konkrétneho predmetu.

Databázy sa používajú na ukladanie údajov (vyznačujú sa veľkým objemom a relatívne malými jednotkovými nákladmi na informácie), na ukladanie znalostí - znalostné bázy (malé, ale extrémne drahé informačné polia).

Vedomostná základňa - základ každého intelektuálneho systému, kde sú znalosti opísané v určitom jazyku reprezentácie znalostí, blízkom prirodzenému.

Vedomosti možno rozdeliť na:


  • hlboký;

  • povrchný.
Povrch - poznatky o viditeľných vzťahoch medzi jednotlivými udalosťami a skutočnosťami v predmetnej oblasti.

hlboký- abstrakcie, analógie, diagramy, ktoré odrážajú štruktúru a povahu procesov prebiehajúcich v predmetnej oblasti. Tieto poznatky vysvetľujú javy a možno ich použiť na predpovedanie správania objektov.

Povrchné znalosti

"Ak zadáte správne heslo, na obrazovke počítača sa zobrazí obrázok."

Hlboké znalosti

„Pochopenie fungovania operačného systému a znalosti na úrovni kvalifikovaného správcu systému“.

Moderné expertné systémy pracujú najmä s povrchnými znalosťami. Je to spôsobené tým, že v súčasnosti neexistujú žiadne univerzálne metódy, ktoré by vám umožnili identifikovať hlboké štruktúry vedomostí a pracovať s nimi.

Okrem toho učebnice AI tradične delia vedomosti na procedurálne a deklaratívne. Historicky boli primárne procedurálne znalosti, t. j. znalosti „rozpustené“ v algoritmoch. Spravovali dáta. Pre ich zmenu bolo potrebné zmeniť text programov. S rozvojom informatiky a softvéru sa však čoraz väčšia časť vedomostí sústreďovala do dátových štruktúr (tabuľky, zoznamy, abstraktné dátové typy), t. j. rástla úloha deklaratívnych znalostí.

Vedomosti dnes nadobudli čisto deklaratívnu formu, t.j. za vedomosti sa považujú vety napísané v jazykoch reprezentujúcich vedomosti, ktoré sú blízke prirodzenému jazyku a sú zrozumiteľné aj pre laikov.

Jeden z priekopníkov AI, Alan Newell, ilustroval vývoj komunikácie človek-počítač ako prechod od strojových kódov cez symbolické programovacie jazyky k jazykom reprezentujúcim znalosti (obr. 1.1).

^ 1.2. Modely reprezentácie znalostí

V súčasnosti boli vyvinuté desiatky modelov (alebo jazykov) reprezentácie vedomostí pre rôzne tematické oblasti. Väčšina z nich môže byť zredukovaná do nasledujúcich tried:


  • výrobné modely;

  • sémantické siete;

  • rámy;

  • formálne logické modely.
Túto množinu tried možno zase rozdeliť do dvoch veľkých skupín (obr. 1.2):

  • modulárny;

  • siete.
Modulárny jazyky fungujú na samostatných (nesúvisiacich) prvkoch vedomostí, či už ide o pravidlá alebo axiómy predmetnej oblasti.

sieť jazyky poskytujú schopnosť spájať tieto prvky alebo časti vedomostí prostredníctvom vzťahov do sémantických sietí alebo sietí rámcov.

Pozrime sa podrobnejšie na najobľúbenejšie jazyky reprezentácie znalostí (KRP) medzi vývojármi.

^ 1.2.1. výrobný model

RPL založené na pravidlách sú najbežnejšie a používa ich viac ako 80 % ES.

Definícia 1.5

Produkčný model alebo model založený na pravidlách umožňuje, aby boli znalosti reprezentované ako vety ako „Ak (podmienka), potom (akcia)“.

Pod „podmienkou“ (predchádzajúcou) sa rozumie určitá vzorka vety, podľa ktorej sa vyhľadávanie vykonáva v znalostnej báze, a pod „akciou“ (následné) - akcie vykonané po úspešnom výsledku vyhľadávania ( môžu byť prechodné, pôsobiace ďalej ako podmienky a koncové alebo cieľové, ukončujúce systém).

Najčastejšie je záver o takejto znalostnej báze rovno(od údajov k cieľovému vyhľadávaniu) príp späť(od účelu na jeho potvrdenie - k údajom). Dáta sú počiatočné fakty uložené v databáze faktov, na základe ktorých sa spúšťa inferenčný mechanizmus alebo interpret pravidiel, ktorý triedi pravidlá z produkčnej znalostnej bázy. (pozri časť 1.3).

Výrobný model sa tak často používa v priemyselných expertných systémoch, pretože priťahuje vývojárov svojou prehľadnosťou, vysokou modularitou, jednoduchosťou pridávania a zmien a jednoduchosťou mechanizmu odvodenia.

Existuje veľké množstvo softvérových nástrojov, ktoré implementujú produkčný prístup (napríklad jazyky na vysokej úrovni CLIPS a OPS 5; „škrupiny“ alebo „prázdne“ ES - EXSYS Professional a Carra, inštrumentálne systémy KEE, ARTS, PIES [ Khoroshevsky, 1993]), ako aj priemyselné ES založené na ňom (napríklad ES vytvorené pomocou G2 [Popov, 1996]). Pozri [Popov, Fominykh a kol., 1996; Khoroshevsky, 1993; Gavrilova a Khoroshevsky, 2001; Durkin, 1998].

^ 1.2.2 Sémantické siete

Termín „sémantický“ znamená„sémantika“ a samotná sémantika je veda, ktorá stanovuje vzťahy medzi symbolmi a predmetmi, ktoré označujú, teda veda, ktorá určuje význam znakov. Model sémantickej siete navrhol americký psychológ Quillian. Jeho hlavnou výhodou je, že viac ako iné zodpovedá moderným predstavám o organizácii ľudskej dlhodobej pamäti [Scragg, 1983].

Definícia 1.6

Sémantický web je orientovaný graf, ktorého vrcholy sú pojmy a oblúky sú vzťahy medzi nimi.

Pojmy sú zvyčajne abstraktné alebo konkrétne predmety a vzťahy ide o vzťahy typu: "toto" ("AKO - A-Kind-Of, "je" alebo "prvok triedy"), "má časť", "patrí", "páči sa".

Môžeme ponúknuť niekoľko klasifikácií sémantických sietí súvisiacich s typmi vzťahov medzi pojmami.

Podľa počtu typov vzťahov:


  • homogénne (s jediným typom vzťahu);

  • heterogénne (s rôznymi typmi vzťahov).
- Podľa typu vzťahu:

  • binárne (v ktorých vzťahy spájajú dva objekty);
N-ary (v ktorých existujú špeciálne vzťahy spájajúce viac ako dva pojmy).

V sémantických sieťach sa najčastejšie používajú tieto vzťahy:


  • prvok triedy (ruža Toto kvetina);

  • atribútové vzťahy / majú vlastnosť (pamäť má nehnuteľnosť- objem);

  • význam vlastnosti (farba má význam -žltá);

  • príklad prvku triedy (ruža, Napríklad -čajovňa);

  • typ pripojenia "časť-celok"(bicykel zahŕňa volant);

  • funkčné spojenia (zvyčajne definované slovesami „vyrába“, „ovplyvňuje“ ...);

  • kvantitatívne (väčšie, menšie, rovné...);

  • priestorové (ďaleko, blízko, za, pod, nad ...);

  • dočasné (skôr, neskôr, počas ...);

  • logické súvislosti (a alebo nie) atď.
Minimálne zloženie vzťahov v sémantickej sieti je nasledovné:

  • prvok triedy alebo ACO;

  • atribútové odkazy / majú vlastnosť;

  • hodnotu nehnuteľnosti.
Nevýhodou tohto modelu je zložitosť organizácie postupu pri organizácii inferencie na sémantickú sieť.

Tento problém je zredukovaný na netriviálnu úlohu nájsť sieťový fragment, ktorý zodpovedá nejakej podsieti, ktorá odráža dopyt do databázy.

Na obr. 1.3 ukazuje príklad sémantického webu. Pojmy „človek“, „súdruh Smirnov“, „Audi A4“, „auto“, „spôsob dopravy“ a „motor“ tu slúžia ako vrcholy.

Ryža. 1.3. Sémantický web

Na implementáciu sémantických sietí existujú špeciálne sieťové jazyky, napr. NET [Tseytin, 1985], jazyk na implementáciu systémov SIMER + MIR [Osipov, 1997] atď. Expertné systémy, ktoré využívajú sémantické siete ako jazyk reprezentácie znalostí sú všeobecne známe - PROSPEKTOR, CASNET, TORUS [Hayes-Roth et al., 1987; Durkin, 1998].

1.2.3. Rámy

Termín rám(z angličtiny. rám-„skeleton“ alebo „frame“) navrhol Marvin Minsky [Minsky, 1979], jeden z priekopníkov AI, v 70. rokoch ako odkaz na štruktúru vedomostí pre vnímanie priestorových scén. Tento model, podobne ako sémantická sieť, má hlboký psychologický základ.

Definícia 1.7

Rám je abstraktný obraz, ktorý predstavuje stereotyp objektu, konceptu alebo situácie.

Je intuitívne jasné, že abstraktný obraz je chápaný ako nejaký zovšeobecnený a zjednodušený model alebo štruktúra. Napríklad hlasné vyslovenie slova „izba“ dáva poslucháčom obraz miestnosti: „obývacia izba so štyrmi stenami, podlahou, stropom, oknami a dverami, s rozlohou 6-20 m2“. Z tohto popisu sa nedá nič odstrániť (napr. odstránením okien získame skriňu, nie izbu), ale sú v ňom „diery“ resp. "sloty" - sú to prázdne hodnoty niektorých atribútov - napríklad počet okien, farba steny, výška stropu, podlahová krytina atď.

V teórii rámov sa takýto obraz miestnosti nazýva rám miestnosti. Rám sa tiež nazýva formalizovaný model na zobrazenie obrázka.

Rozlišovať vzorové rámy alebo prototypy, uložené v databáze znalostí a inštancie rámov, ktoré sú vytvorené na zobrazenie skutočných skutočných situácií na základe prichádzajúcich údajov. Model rámu je celkom univerzálny, pretože vám umožňuje zobraziť všetku rozmanitosť vedomostí o svete prostredníctvom:


  • rámové konštrukcie, používa sa na označenie predmetov a pojmov (pôžička, záložné právo, zmenka);

  • rámy rolí(manažér, pokladník, klient);

  • rámy skriptov(konkurz, zhromaždenie akcionárov, oslava menín);

  • situačné rámce(alarm, nehoda, prevádzkový režim zariadenia) atď.
Tradične môže byť štruktúra rámca reprezentovaná ako zoznam vlastností:

^ (NÁZOV RÁMU:

(názov 1. slotu: hodnota 1. slotu),

(názov 2. slotu: hodnota 2. slotu),

…………….

(Názov n-tého slotu: hodnota n-tého slotu)).

Rovnaký záznam môže byť prezentovaný vo forme tabuľky (pozri tabuľku 1.1), pričom ju dopĺňajú dva stĺpce.

Tabuľka 1.1. rámová štruktúra


názov rámu

Názov slotu

Hodnota slotu

Ako získať hodnotu

Priložený postup

V tabuľke sú ďalšie stĺpce (3. a 4.) určené na popis toho, ako slot získava svoju hodnotu a ako sa dá pripojiť k jednému alebo druhému slotu špeciálnych procedúr, čo je povolené v teórii rámcov. Hodnota slotu môže byť názov iného rámca, čím sa vytvárajú siete rámcov.

Existuje niekoľko spôsobov, ako môže slot prijímať hodnoty v rámci inštancie:


  • štandardne z referenčného rámca (predvolená hodnota);

  • prostredníctvom dedenia vlastností z rámu špecifikovaného v slote AKO;

  • podľa vzorca uvedeného v slote;

  • prostredníctvom priloženého postupu;

  • výslovne z dialógu s používateľom;

  • z databázy.
Najdôležitejšou vlastnosťou teórie rámcov je výpožička z teórie sémantických sietí – takzvaná dedičnosť vlastností. V rámcoch aj sémantických sieťach sa dedenie vyskytuje pozdĺž odkazov AKO (A-Kind-Of = toto). Slot ACO ukazuje na rámec vyššej úrovne hierarchie, odkiaľ sa hodnoty podobných slotov implicitne dedia, t.j. prenášajú.

Napríklad v sieti rámcov na obr. 1.4 pojem „študent“ preberá vlastnosti rámcov „dieťa“ a „osoba“, ktoré sú na vyššej úrovni hierarchie. Na otázku "Majú žiaci radi sladkosti?" odpoveď je "áno", pretože všetky deti majú túto vlastnosť, ktorá je uvedená v rámčeku "dieťa". Dedenie majetku môže byť čiastočné: vek študentov sa nededí z rámca „dieťa“, pretože je výslovne špecifikovaný vo vlastnom rámci.


Ryža. 1.4. Rámová sieť

Hlavnou výhodou rámcov ako modelu reprezentácie znalostí je, že odráža koncepčný základ organizácie ľudskej pamäte [Shenk, Hunter, 1987], ako aj jej flexibilitu a viditeľnosť.

Špeciálne jazyky reprezentácie znalostí v rámcových sieťach FRL (Frame Representation Language) [Baydun, Bunin, 1990], KRL (Knowledge Representation Language) [Waterman, 1989], rámcový "shell" Kappa [Strelnikov, Borisov, 1997] a ďalší softvér nástroje umožňujú efektívne budovať priemyselné elektrárne. Všeobecne známe sú rámcovo orientované expertné systémy ako ANALYST, MODIS, TRISTAN, ALTERID [Kovrigin, Perfilyev, 1988; Nikolov, 1988; Sisodia, Warkentin, 1992].

^ 1.2.4. Formálne logické modely

Tradične v reprezentácii vedomostí existujú formálne logické modely založené na klas počet predikátov 1. rádu, keď sa predmetná oblasť alebo úloha opisuje ako súbor axióm. V skutočnosti sa predikátový počet prvého rádu v priemyselných expertných systémoch prakticky nepoužíva. Tento logický model je použiteľný hlavne vo výskumných „hračkových“ systémoch, keďže kladie na predmetnú oblasť veľmi vysoké požiadavky a obmedzenia. V priemyselných expertných systémoch sa využívajú jeho rôzne modifikácie a rozšírenia, ktorých prezentácia je nad rámec tejto knihy. Pozri [Adamenko, Kuchukov, 2003].

^ 1.3. Záver o vedomostiach

Ako už bolo uvedené v sek. 1.2 Najpoužívanejší produkčný model reprezentácie znalostí. Keď sa používa, znalostná báza pozostáva zo súboru pravidiel a program, ktorý spravuje zoznam pravidiel, sa nazýva výstupný stroj.

Definícia 1.8

výstupný stroj(interpret pravidiel) je program, ktorý simuluje logický záver odborníka pomocou tejto výrobnej znalostnej bázy na interpretáciu údajov zadaných do systému.

Zvyčajne plní dve funkcie:

Prezeranie existujúcich údajov (faktov) z pracovnej pamäte (databázy) a pravidiel z databázy znalostí a pridávanie (pokiaľ je to možné) nových faktov do pracovnej pamäte;

Určite poradie, v ktorom sa pravidlá zobrazujú a uplatňujú. Tento mechanizmus riadi konzultačný proces, ukladá informácie o prijatých záveroch pre používateľa a vyžaduje od neho informácie, keď v pracovnej pamäti nie je dostatok údajov na spustenie ďalšieho pravidla [Osuga, Saeki, 1990].

V prevažnej väčšine systémov založených na znalostiach je mechanizmus odvodenia malý program a zahŕňa dve zložky – jedna implementuje skutočnú inferenciu, druhá tento proces riadi.

Akcia výstupná zložka na základe uplatnenia pravidla tzv modus ponens:"Ak je známe, že tvrdenie A je pravdivé a existuje pravidlo v tvare AK A TAK B, potom je pravdivé aj tvrdenie B."

Pravidlá teda fungujú, keď existujú fakty, ktoré uspokoja ich ľavú stranu: ak je pravdivý predpoklad, potom musí byť pravdivý aj záver.

Výstupná zložka musí fungovať aj pri nedostatku informácií. Výsledné riešenie nemusí byť presné, ale systém by sa nemal zastaviť, pretože chýba akákoľvek časť vstupných informácií.

^ kontrolný komponent určuje poradie, v ktorom sa pravidlá uplatňujú, a vykonáva štyri funkcie:


  1. Zhoda- vzorové pravidlo sa porovnáva s dostupnými faktami.

  2. výber - ak v konkrétnej situácii možno použiť niekoľko pravidiel naraz, vyberie sa jedno z nich, ktoré je najvhodnejšie podľa daného kritéria (riešenie konfliktu).

  3. Prevádzka - ak sa vzor pravidla pri zhode zhoduje s akýmikoľvek faktami z pracovnej pamäte, potom sa pravidlo spustí.

  4. Akcia - pracovná pamäť sa upraví pridaním záveru spúšťaného pravidla. Ak pravá strana pravidla obsahuje označenie akejkoľvek akcie, vykoná sa (ako napríklad v systémoch informačnej bezpečnosti).
Produkčný tlmočník pracuje cyklicky. V každom cykle prezerá všetky pravidlá, aby identifikoval tých, ktorých premisy sa zhodujú s aktuálne známymi faktami z pracovnej pamäte. Po výbere sa pravidlo spustí, jeho záver sa zapíše do pracovnej pamäte a potom sa cyklus opakuje od začiatku.

V jednej slučke sa môže spustiť iba jedno pravidlo. Ak sa niekoľko pravidiel úspešne porovná s faktami, potom tlmočník vyberie podľa určitého kritéria jediné pravidlo, ktoré v tomto cykle funguje. Cyklus tlmočníka je schematicky znázornený na obr. 1.5.

Informácie z pracovnej pamäte sa postupne porovnávajú s odoslanými pravidlami, aby sa určila úspešná zhoda. Súbor vybraných pravidiel tvorí tzv konfliktná množina. Na vyriešenie konfliktu má tlmočník kritérium, podľa ktorého si vyberie jediné pravidlo, podľa ktorého potom funguje. Vyjadruje sa to zadávaním skutočností, ktoré tvoria záver pravidla, do práce