Prehľad prostredí pre vývoj aplikácií

V súčasnosti existuje pomerne široká škála prostredí podporujúcich vývoj aplikácií znalostných systémov. Existujúce prostredia sa odlišujú niekedy v podstatnej miere vo svojich vlastnostiach, či už z hľadiska formalizmu reprezentácie znalostí, odvodzovacích princípov, či vlastností podporujúcich vývoj aplikácie.

ART (Automated Reasoning Tool)

ART predstavuje integrované prostredie poskytujúce pomerne širokú paletu metód riešenia problémov, vrátane priameho a spätného reťazenia, systému uchovávania pravdivosti, objektov a chápania implementácie tabulí - pohľadov (viewpoints). Integrovaný charakter prostredia umožňuje používanie rôznych metód bez toho, aby potreby aktivácie samostatných modulov a používania iné jazyky.

Prostredie ART neposkytuje iba formalizmus reprezentácie znalostí a nad ním vybudovaný inferenčný mechanizmus. Súčasťou prostredia ART je i ARTSTUDIO, ktoré predstavuje prostriedok pre prácu s bázou znalostí a riadenie komunikácie s prostredím. ARTIST je prostriedok používaný pre vytváranie používateľských rozhraní.

EMYCIN

EMYCIN [vanMelle:1981] je jeden z najstarších existujúcich produkčných systémov. Je určený najmä na riešenie problémov diagnostického typu. Veľa jeho aplikácií je určených pre oblasť ľudskej medicíny.

Pracovná pamäť v prostredí MYCIN je organizovaná ako množina objektov, ktoré sa nazývajú kontexty. Každý objekt môže mať ľubovoľný počet preddefinovaných atribútov, rozsah hodnôt ktorých môže byť ohraničený intervalom možných hodnôt. Fakty sú reprezentované ako trojice kontext:atribút:hodnota s priradenou pravdepodobnosťou (dôverou). Prípustné hodnoty pravdepodobnosti sa pohybujú v rozmedzí -1 až 1. Znalosti sú reprezentované pomocou jednoduchých pravidiel. K pravidlám môže byť priradená pravdepodobnosť určujúca dôveru v správnosť inferencie, ak sú predpoklady (ľavá strana pravidla) platné s istou pravdepodobnosťou. IM pracuje na základe spätného reťazenia s prehľadávaním do hĺbky.

Základná filozofia systému EMYCIN je v súčasnej dobe už prekonaná. V súčasnosti sa pre vývoj aplikácií pre diagnostické problémy používajú modernejšie prostredia a samotné prostredie sa komerčne nedistribuje.

EXPERT

EXPERT [Weiss,Kulikowski:1981] je prostredie pre tvorbu pravidlových systémov určených pre riešenie klasifikačných a diagnostických problémov konzultačným spôsobom. Bol vyvinutý na základe zovšeobecnenia skúseností s vývojom programu CASNET/GLAUCOMA. V súčasnosti patrí k starším prostrediam a komerčne sa nedistribuje.

EXSYS

EXSYS predstavuje prostredie pre tvorbu expertných systémov určené pre použitie na osobných počítačoch. Je určený pre aplikácie v rozsahu do 5000 pravidiel, čo je pre väčšinu aplikácií na osobných počítačoch postačujúce. Najrozšírenejšie jeho aplikácie sú z oblasti diagnostických aplikácií vo výrobe, finančníctve a poisťovníctve.

Pre reprezentáciu znalostí sa v EXSYS používajú tabuľky a pravidlá. Zápis znalostí do pravidiel pomocou špeciálneho editora je podobný prirodzenému jazyku a môžu obsahovať rovnako i matematické formuly.

EXSYS podporuje priamu aj spätnú inferenciu nad pravidlami. Je možné vyjadriť i mieru dôvery vo fakt alebo hypotézu, pričom tvorca BZ má k dispozícii viacero mierok: 0:1, 0:10, alebo 0:100. Používateľ môže využiť dodávané mechanizmy pre spracovanie neurčitosti, no môže definovať i vlastný spôsob jej spracovania. EXSYS podporuje aj numerické výpočty i spracovanie symbolov.

EXSYS poskytuje viacero prostriedkov pre reštrukturalizáciu vytvorenej BZ s následným zvýšením rýchlosti inferencie. Pri vysvetľovaní je možné zadávať otázky prečo je daná informácia od používateľa vyžadovaná a akým spôsobom bola daná informácia využitá pri riešení problému. EXSYS poskytuje možnosť analýzy citlivosti, tzn. analýzy dôsledkov modifikácie vstupu od používateľa. Vysvetľovanie je na základe zakonzervovaných textov i trasovaní pravidiel.

EXSYS je implemntovaný v jazyku C, čo umožnilo znížiť pamäťové nároky systému a zefektívniť inferenciu. Rovnako tento prístup poskytuje možnosť jednoduchého prepojenia na externé programy. S prostredím sú dodávané i interfejsy na DBASE a spreadsheety.

GURU

Základnou filozofiou použitou pri návrhu prostredia GURU bolo prepojenie technológie ZS s ďalšími technológiami spracovania informácií. Tieto technológie je možné používať i samostatne, no i v kombinácii s vytváranou aplikáciou ZS.

Medzi základné prostriedky patrí podpora prepojenia na relačnú databázu so štandardným SQL dotazovacím jazykom DBase, MDBS III), štatistické systémy, spreadsheety (LOTUS), grafiku, textové spracovanie a podpora štruktúrovaného programovania.

Základným formalizmom reprezentácie znalostí sú pravidlá organizované v sadách pravidiel. V pravidlách je možné používať premenné a preddefinované stratégie riešenia konfliktov. GURU podporuje prácu s neurčitosťou a poskytuje 16 preddefinovaných spôsobov prácce s neurčitosťou.

KAS

KAS (Knowledge Acquisition System) [Duda:1979] je ďalším z pravidlových systémov na riešenie problémov diagnostického typu. Historicky možno jeho základ nájsť v zovšeobecnení skúseností s vývojom systému PROSPECTOR.

Znalosti sú reprezentované pomocou sémantickej siete. V tomto ponímaní sú uzly sémantickej siete totožné s ľavými stranami pravidiel a môžu byť typu and alebo or. Mená uzlov zodpovedajú faktom a hypotézam a navyše sú im priradené pravdivostné hodnoty. Prostredie KAS teda nemá PP v klasickom ponímaní, existencia faktov a hypotéz je determinovaná numerickou hodnotou (pravdepodobnosťou existencie) pripojenou k príslušnému uzlu v sémantickej sieti.

Inferencia v KAS je založená na rozvíjaní alternatívy s najvyššou pravdepodobnosťou. Zakaždým keď používateľ zadá nové údaje (modifikuje numerické hodnoty uzlov reprezentujúcich dané fakty), po sieti sa šíria zmeny pravdivostných ohodnotení po všetkých od zmenených uzlov závislých uzloch. V každom inferenčnom cykle sa identifikuje v danej situácii najvyššie ohodnotená cieľová hypotéza a následne sa vyberajú otázky smerujúce k jej potvrdeniu alebo zvýšeniu jej p ravdivostného ohodnotenia. Uvedený spôsob inferencie sa v mnohom ponáša na spätné reťazenie. Ak sa však v dôsledku zadania nových faktov modifikujú pravdepodobnosti ďalších faktov a hypotéz, môže byť v ďalšom inferenčnom kroku rozvíjaná iná cieľová hypotéza.

KAS poskytuje štruktúrovo-orientovaný editor, ktorý umožňuje pohodlne vytvárať a modifikovať pravidlá reprezentované pomocou sémantickej siete. KAS sa vyznačuje taktiež dobrými používateľskými rozhraniami. V niektorých aplikáciách je dokonca možné s ním komunikovať v obmedzenej podmnožine prirodzeného jazyka. Nevýhodou je nemožnosť použitia prostredia KAS pre iné ako diagnostické problémy.

KC

KC (Knowledge Craft) dostupné prostredníctvom CARNEGIE GROUP poskytuje väčšinu z toho, čo sa od mohutného prostredia pre tvorbu ZS vyžaduje. Známe aplikácie sú z oblasti plánovania rozmiestnenia strojov v topárňach, riadenie procesov, simulácii, managementu projektov a diagnostikovania áut.

Založené na SRL (Schema Representation Language), KC využíva rámce na reprezentáciu deklaratívnych znalostí, ako i procedurálnych znalostí (vo forme démonov). Rovnako KC poskytuje možnosť využívania pravidiel a sémantických sietí. KC poskytuje tvorcovi BZ okrem uvedených prostriedkov aj niekoľko ďalších:

Prostredie KC je implementované v jazyku Common Lisp, čo zaručuje jeho pomerne rozsiahlu portabilitu. Interfejs na okolie je realizovaný prostredníctvom Lispu.

KEE

KEE (Knowledge Engineering System) [Intellicorp:1984] je prostredie využívajúce hybridné formalizmy reprezentácie znalostí založené na objektovo-orientovanej báze. Umožňuje kombinovať pravidlá a rámce s programovaním v Lispe. KEE rovnako umožňuje kombinovať pri riešení problémov viaceré stratégie usudzovania (ako napr. priame a spätné reťazenie).

Prostredie KEE je implementované v Lispe, čo je čiastočne ovplyvnené jeho prevádzkovaním na na systémoch s architektúrou založenou na Lispe (TI Explorer, LMI Lambda).

KES II

Základom prostredia KES je pravidlový systém, v ktorom je okrem iného možné pracovať s Bayesovskými pravdepodobnosťami a používať pravidlá typu hypotéza-test. KES podporuje priame i spätné reťazenie nad pravidlami.

Rámcový systém v KES II umožňuje vytváranie sémantických sietí. Pri riešení problémov KES II komunikuje s používateľom, ktorý musí riešiť vznikajúce konflikty. Táto črta môže byť v niektorých aplikáciách nežiadúca, čo limituje použiteľnosť KES II. Možné je i použitie démonov a tried atribútov.Vysvetľovanie je obmedzené na použitie zakonzervovaného textu.

Prostredie KES II je implementované v jazyku C, čo zaručuje jeho efektívnosť a širokú portabilitu. Rovnako umožnuje prepojenie na externé podprogramy.

LOOPS

LOOPS [Bobrow,Stefik:1983] predstavuje skôr laboratórny prostriedok pre výskum spôsobov reprezentácie znalostí a ich využívania pri riešení jednoduchých návrhových problémov. LOOPS poskytuje procedurálny (Interlisp), objektovo-orientovaný a pravidlový spôsob reprezentácie znalostí. Obsahuje mohutné podporné prostriedky - editor a ladiace prostriedky.

Medzi prvé aplikácie vytvorené v prostredí LOOPS patrí systém pre asistenciu pri návrhu integrovaných číslicových obvodov.

M1

Prostredie M1 dodávané firmou TECKNOWLEDGE je založené na štruktúre systému EMYCIN. Prvá implementácia bola realizovaná v jazyku Prolog, Neskôr bolo prostredie reimplementované do jazyka C. Je určené prevažne pre menšie aplikácie na systémoch PC, pričom rozsah BZ je obmedzený asi na 200 pravidiel.

M1 predstavuje príklad "klasického" pravidlového systému, ktorý pracuje s pravidlami a faktami. Fakty majú tvar (výraz = hodnota). Pravidlá majú syntax podobnú angličtine.

M1 umožňuje používať v pravidlách premenné. Rovnako je možná práca s neurčitosťou, kde sa faktory pohybujú v rozsahu 0:100. Inferencia je založená na spätnom reťazení. Vytvárané aplikácie v prostredí M1 predstavujú zväčsa jednoduchšie aplikácie diagnostického typu.

NEXPERT Object

NEXPERT Object predstavuje hybridné prostredie pre reprezentáciu znalostí, ktoré umožňuje prepojenie s veľkým množstvom súčasných výpočtových systémov a programových prostriedkov. Implementácia v jazyku C uľahčuje jeho zakomponovanie do existujúcich prostredí, rovnako i možný interfejs na existujúce prostredia, napr. databázové systémy, spreadsheety atď.

FRZ je založený na objektoch (štruktúry podobné rámcom), pravidlách a kontextových spojeniach.

Inferencia umožňuje využiť priame a spätné reťazenie. Vysvetľovanie inferencie sa vykonáva pomocou trasovania pravidiel a zakonzervovaného textu. Rovnako NEXPERT poskytuje prostriedky pre vývoj a ladenie vytváranej aplikácie.

Silnou stránkou prostredia sú rozhrania na existujúce prostriedky, napr. na databázové systémy: DBase, FoxBase, SylkDB (Excel), WKSDB (lotus), Oracle, Sybase, INGRES, Informix. Dostupné sú taktiež rozhrania na konvenčné programovacie jazyky ako C, Fortran, Pascal, Cobol, Ada a Asemblery. NEXPERT rovnako podporuje prácu s grafickými balíkmi Dataview a Easy+. Rovnako NEXPERT ponúka v prostredí zakomponovaný grafický interfejs použiteľný pri editovaní a prezeraní BZ a tr asovaní inferencie, ktorý predstavuje jednu z dôležitých predností prostredia vzhľadom k ostatným porovnateľným prostrediam.

NEXPERT patrí v súčasnosti k jedným z najpoužívanejších vývojových prostredí. Najrozšírenejšie oblasti nasadzovania sú diagnostika, finančníctvo, odstraňovanie závad, simulácia, podpora rozhodovania, plánovanie a riadenie procesov vo výrobných prevádzkach. Vďaka svojim prepracovaným rozhraniam umožňuje jednoduché zakomponovanie do existujúcich systémov.

OPS5

OPS5 [Brownston:1986] predstavuje jeden z najpoužívanejších pravidlových systémov. V OPS5 bolo vytvorených množstvo aplikácií, z ktorých možno spomenúť napr. XCON/R1 [McDermott:1982]], XSEL [McDermott:1984], MUD [Kahn:1984] a TALIB [Kim:1984].

OPS5 patrí medzi "klasické" implementácie pravidlových systémov. PP a BZ je realizovaná rovnakým spôsobom, aký sme opisovali pri realizácii akéhosi štandardu pravidlového systému. Sú k dispozícii dva spôsoby riešenia konfliktov pri výbere aplikovateľného pravidla: výber na základe špecifickosti podmienky v pravidle (LEX stratégia) a výber na základe "veku" prvkou PP, ktoré sú v obrazovej zhode s elementárnymi podmienkami v pravidle (MEA stratégia).

Medzi dôležité prednosti OPS5 patrí jeho široké rozšírenie. V mnohých prípadoch sa OPS5 stáva akýmsi štandardom pre pravidlové systémy. Vlastnosti OPS5 umožňujú jeho využitie i pre riešenie problémov návrhového typu (napr. [Kowalski:1983]).

Najviac kritizovanou vlastnosťou OPS5 je nedostatok vhodných používateľských rozhraní, prostriedkov pre editovanie BZ a ladenie vytváranej aplikácie. OPS5 v otmto zmysle predstavuje iba akýsi "holý" produkčný systém.

OPS83

OPS83 [Forgy:1984] v mnohom vychádza z OPS5. Hlavnou ideou pri vytváraní OPS83 však bola snaha o zefektívnenie činnosti produkčného systému a poskytnutie prostriedkov pre vytváranie kompaktných a efektívnych aplikácií s možnosťou jeho priameho rozširovania o moduly písané v jazyku C, ktorý predstavuje zároveň i programovací jazyk, v ktorom bolo prostredie vyvinuté.

Vhodné aplikačné oblasti sú tie, v ktorých sa kladie dôraz na efektívnosť a rýchlosť vytváraného prostredia a na potrebu jeho prepojenia s časťami už existujúcich systémov. Realizované aplikácie sú v oblastiach riadenia v reálnom čase, telekomunikáciách, elektronike, riadení výrobných procesov a v diagnostike.

PC+

Prostredie PC+ (Personal Consultant Plus) je navrhnuté špecificky pre prevádzku na osobných počítačoch typu PC (286/386) pracujúcich s operačným systémom MS-DOS. Je to pomerne jednoduché prostredie pre vývoj menších a stredných aplikácií vhodné i pre začiatočníkov v oblasti znalostného inžinierstva. Jeho pomerne rozšírený výskyt uľahčuje rozsiahla podpora používateľovi: on-line helpy, kontextovo závislé pomocné výpisy a pomerne prehľadná dokumentácia.

Filozofia prostredia vychádza zo systému MYCIN. Obohacuje ho o rámce a meta-pravidlá. Rámce slúžia na modelovanie a organizáciu znalostí o základných pojmoch a entitách problémového prostredia.

Pravidlový formalizmus však ostáva základom reprezentácie znalostí. Pravidlá sa využívajú najmä pre získavanie hodnôt parametrov. Sú tvaru IF-THEN, pričom obe časti okrem vzorov môžu obsahovať priame volania funkcií vytvorených v Lispe. Možno ich organizovať do sád pravidiel. V PC+ je možné vytvárať meta-pravidlá popisujúce použiteľnosť pravidiel spojených s jednotlivými rámcami. PC+ umožňuje reprezentáciu až 2000 pravidiel, čo býva pre vytvárané aplikácie postačujúce. Je možné definovať priority pravidiel, ktoré umožňujú riadiť riešenie konfliktov.

Vysvetľovanie je možné na základe zakonzervovaného textu viazaného k jednotlivým pravidlám využívaného pro ich trasovaní. Je možné zadávať otázky HOW a WHY.

PC+ podporuje priame prepojenie na externé programy a je ich možné aktivovať priamo z pravidiel.

ROSIE

ROSIE (Rule Oriented System for Implementing Expertise - RAND Corporation) [Fain:1981] tvorcovi BZ poskytuje štandardné programové konštrukcie (napr. volania procedúr, údajové typy), ako aj konštrukcie používané v znalostnom inžinierstve (vzory, predikáty, triedy, démoni). Zápis znalostí v jazyku ROSIE sa dosť podobá na bežnú angličtinu, čím sa uľahčuje porozumenie reprezentovaných znalostí. Patrí skôr k laboratórnym prostrediam ako k bežne používaným komerčne úspe šným peostrediam.

Prostredie ROSIE je implementované v jazyku Interlisp, čo do značnej miery ovplyvňuje i jeho vlastnosti. ROSIE poskytuje možnosť rekompilácie sád pravidiel, "undo" prostriedky a prostriedky pre uchovávanie histórie práce.

YAPS

YAPS (Yet Another Production System) [Allen:1982] je veľmi podobný OPS5 a jeho predchodcovi OPS4. Na rozdiel od OPS5 však povoľuje údajmi riadené (ako OPS5) i objektovo-orientované programovanie. YAPS predstavuje flexibilný produkčný systém so širokým využitím, ktorého nevýhodou je nedostatočne prepracované rozhranie s používateľom, čo je dané jeho prevažne laboratórnym použitím.

Pracovná pamäť v YAPS predstavuje omnoho rôznorodejšiu štruktúru ako u OPS5. Prvkami PP môžu byť aj zložité zoznamové štruktúry, ktoré je možné porovnávať s premennými v pravidlách. YAPS umožňuje používať viacero PP. S každou PP je spojená sada pravidiel, pričom jednotlivé pravidlá je možné používať v spojení s viacerými PP. V podmienke na ľavej strane pravidla možno používať ľubovoľné Lispovské funkcie.

Možnosť používania viacerých PP umožňuje pomocou prostredia YAPS vytvárať hierarchické ZS. Jednotlivé sady pravidiel je možné využiť rôznym spôsobom, napr. ako démonov aktivovaných v istom stave riešenia.

Prostredie poskytuje prostriedky pre trasovanie a prerušovanie inferencie a pre prístup do PP. Pravidlá je možné skompilovať Lispovským prekladačom a takto vytvorený kód zakomponovať do vytváranej aplikácie.

RULE MASTER

RULE MASTER je prostredie vyvinuté firmou RADIAN CORPORATION. Je implementované v jazyku C, čo umožňuje jeho vysokú portabilitu (PC, SUN, DEC VAX). RULE MASTER je výhradne pravidlové prostredie, ktoré umožňuje použitie priameho i spätného reťazenia. Pravidlá sú aktivované faktami v PP. RULE MASTER umožňuje ako jediné prostredie odvádzanie nových pravidiel z príkladov (učenie sa). Táto jeho prednosť je v mnohom znehodnotená tým, že fenomén učenia sa z príkladov doposiaľ nemá s olídne teoretické základy. Tvorca BZ musí preto venovať mnoho času výberu takých príkladov, ktoré vedú k odvodeniu vhodného pravidla a tým aj k dosiahnutiu požadovaného správania sa vytváranej aplikácie.

KEX

Prostredie KEX (Katedrový Expertný systém) je vyvíjané na Katedre počítačov EF STU v Bratislave. Toto prostredie je určené hlavne na tvorbu a vývoj ZS zameraných na riešenie návrhových problémov. Prostredie nie je komerčne distribuované a zatiaľ je určené výhradne pre laboratórne využitie.

FRZ KEX predstavuje kombináciu pravidlového, rámcového a procedurálneho prístupu k reprezentácii znalostí. Vyjadrovacia sila jazyka KEX umožňuje riešiť i problémy, ktorých riešenie vyžaduje kombináciu symbolických, numerických a algoritmických postupov.

Rámcový systém v prostredí KEX vychádza z objektovo-orientovaného prístupu, podobne ako je to u prostredia LOOPS. Je možné definovať triedy objektov, z ktorých je možné pri tvorbe BZ alebo pri riešení problému vytvárať inštancie - rámce. Definíciou generických atribútov KEX poskytuje prostriedky pre modifikáciu štruktúry rámcov, tzn. pre zmenu počtu atribútov daného rámca. Medzi jednotlivými triedami ( aj medzi jednotlivými rámcami - inštanciami týchto tried) je možné def inovať hierarchické vzťahy s plnou podporou dedenia vlastností. Pravidlá sú v systéme KEX organizované do sád pravidiel. Pre každú sadu pravidiel je možné explicitne definovať stratégiu výberu aplikovateľného pravidla z konfliktnej množiny, pričom táto stratégia sa môže v priebehu riešenia dynamicky meniť. Použitie parametrov v sade pravidiel umožňuje aktiváciu danej sady pravidiel v rôznych kontextoch.

Mnohé dielčie úlohy v problémoch návrhového typu je možné riešiť algoritmicky. KEX umožňuje zakódovanie takto vyjadriteľných znalostí do jazyka PASCAL, ktorý je obohatený o konštrukcie umožňujúce jeho prepojenie s ostatnými výrazovými prostriedkami jazyka KEX.

Súčasťou prostredia KEX je i editor BZ, ktorý umožňuje prehľadné editovanie a prezeranie BZ. Rovnako sú súčasťou prostredia ladiace prostriedky, ktoré podporujú proces ladenia BZ. Súčasťou prostredia je taktiež vysvetľovací mechanizmus s pomerne rozsiahlymi možnosťami.


Last update by Mária Bieliková on