Výber prostredia pre vývoj znalostného systému
Pri tvorbe konkrétneho problémovo orientovaného ZS sa iba
zriedkakedy prikročí ku "krajnému" prípadu - k úplnej
implementácii všetkých jeho komponentov. Väčšinou si tvorca ZS
vyberie vhodný už existujúci prázdny ZS (prostredie pre tvorbu
ZS), ktorého BZ sa naplní znalosťami o konkrétnom riešenom
probléme a ktorý poskytuje tvorcovi ZS podporu pri plnení a vývoji
aplikácie.
Výber prázdneho ZS (prostredia pre tvorbu ZS) je veľmi
dôležitý krok, ktorý môže podstatnou mierou ovplyvniť úspešnosť
vytváranej aplikácie. Nesprávny výber prostredia môže vyústiť až
do stavu, kedy v nevhodne zvolenom prostredí nemožno
pokračovať v ďalšom vývoji ZS a treba začať jeho vývoj nanovo
v inom prostredí. V mnohých prípadoch výber nevhodného prostredia
môže viesť k neuspokojivým vlastnostiam vytvorenej aplikácie
(napr. z hľadiska rýchlosti atď.). Nesprávny výber prostredia
môže mať ďalekosiahle dôsledky rovnako i na ďalší vývoj
a rozširovanie aplikácie a hľadiska managementu.
Pre správny výber prostredia pre danú aplikáciu treba mať
prehľad o širokom spektre najpoužívanejších prostredí. Treba
poznať prednosti i nedostatky prostredí, prípadne i charakteristiky
existujúcich aplikácií vytvorených na báze týchto prostredí.
Rovnako je dôležité poznať kritériá, ktoré treba brať do úvahy pri
výbere takéhoto prostredia.
Pri výbere prostredia treba zamerať pozornosť na tieto
charakteristiky dostupných prostredí:
- Formalizmus reprezentácie znalostí:
- predstavuje jednu zo
základných skupín kritérií pre výber vývojového prostredia. Na
etapu výberu formalizmu reprezentácie znalostí (resp. jeho
alternatív) priamo nadväzuje výber takého prostredia, ktoré
podporuje i zvolené formalizmy reprezentácie znalostí. Základné
charakteristiky prostredia, ktoré môžu ovplyvniť proces jeho
výberu z tohoto hľadiska sú:
- Triedy objektov:
- hierarchie objektov, spôsoby dedenia
- možnosti dynamického vytvárania inštancií tried
- možnosť dynamickej zmeny atribútov abjektov
- možnosti dynamického presunu objektov medzi triedami
- Typy a hodnoty slotov:
- povolené typy hodnôt
- polia, zoznamy, referencie objektov
- ohraničenia na rozsah hodnôt
- množiny povolených hodnôt
- viacnásobné hodnoty
- možnosti zmeny hodnôt počas inferencie
- Rozšírenia atribútov:
- démoni
- typy atribútov
- Dedenie:
- spôsob dedenia slotov (hodnoty dedené explicitne, alebo iba
v prípade potreby)
- zmeny zdedených hodnôt
- viacnásobné dedenie
- Premenné:
- na miestach inštancií alebo hodnôt atribútov
- Vzťahy:
- vzťahy medzi hodnotami (neštruktúrované fakty)
- Neurčitostné faktory:
- rozsah hodnôt určujúcich neurčitosť
- neurčitostný kalkulus
- Viaceré bázy znalostí:
- znalosti organizované vo viacerých bázach znalostí
- Princípy odvodzovania:
- vo väčšine prípadov bezprostredne súvisia
s formalizmom reprezentácie znalostí. Sledované charakteristiky sú:
- Pravidlá:
- spôsoby reťazenia pravidiel (priame, spätné, zmiešané)
- spôsoby modifikácie atribútov pravidlami
- spôsob organizácie pravidiel, napr. zoskupovanie do sád
pravidiel, hierarchie nad pravidlami
- spôsob práce s pravidlami: možno k nim pristupovať ako
k objektom ? (komentáre, atribúty atď.).
- explicitné referencie objektov/ vs. referencovanie objektov
na základe ich vlastností
- pattern matching (typy vzorov na ľavých stranách pravidiel,
relácie, funkcie)
- meta-pravidlá: referencia a modifikácia iných pravidiel
- stratégie riešenia konfliktov
- Démoni:
- aktivované prístupom k hodnotám (pred, po)
- démoni ako metódy objektov
- Procedúry:
- podpora procedurálneho programovania
- možnosť aktivácie externých procedúr
- miesta v inferencii, na ktorých je možné použiť volanie
externej procedúry (THEN časť, IF časť, atď.)
- Objektovo-orientované črty:
- mechanizmus odovzdávania správ v plnom rozsahu
- zapuzdrenie objektov
- polymorfizmus
- dedenie
- Nemonotónne usudzovanie/systémy uchovávania pravdivosti:
- systém logickej závislosti používaný pre modifikáciu hodnôt
- Hypotetické usudzovanie:
- podpora vytvárania predpokladov
- viacnásobné, protirečivé predpoklady
- Tabule:
- počet využívaných tabulí
- spôsob práce s tabuľou (tabuľami)
- Vlastnosti podporujúce vývoj aplikácie:
- umožňujú posúdiť
efektívnosť vytvárania aplikácie v danom prostredí:
- prostredia podporujúce (automatizujúce) proces získavania,
analýzy a štrukturalizácie znalostí
- "sofistikovaný" editor bázy znalostí: syntaktická kontrola
bázy znalostí, analýza bázy znalostí (statická, dynamická)
- ladiace prostriedky umožňujúce rýchle a pohodlné ladenie
bázy znalostí vytváranej aplikácie
- dostatok vhodnej dokumentácie s príkladmi využitia
jednotlivých vlastností vývojového prostredia
- Výkonnosť:
- ohodnotenie prostredia z hľadiska výkonnosti
- inferenčná výkonnosť (napr. počet aplikovaných pravidiel za
jednotku času)
- výkonnosť pri vývoji a ladení aplikácie - súhrn
efektívnosti všetkých podporných prostriedkov
a vyjadrovacej sily používaných formalizmov daného
prostredia
- Ochrana aplikácie:
-
- možnosti ochrany vytváranej a distribuovanej aplikácie pred
zásahmi do bázy znalostí, prípadne i obsahu bázy znalostí
- možnosti diferenciácie používateľov aplikácie (prípadne
i vývojových pracovníkov) s následnou diferenciáciou
aktivít, ktoré je im dovolené vykonávať
- Rozhrania na iné prostredia:
možnosti zakomponovania daného
prostredia do existujúcich systémov
- možnosti prepojenia na iné technológie spracovania
informácií, napr. na databázové systémy:
- na aké je prepojenie priamo podporované
- aký je spôsob komunikácie
- možnosti aktivácie externých programov a programových
systémov
- spôsob komunikácie s ich údajovými štruktúrami
- možnosti rozširovania vlastností daného prostredia
(otvorené prostredie)
- možnosť zakomponovania prostredia do existujúcich prostredí
- spôsob aktivácie prostredia
- prístup k údajovým štruktúram prostredia
- podpora budovania sieťových a distribuovaných aplikácií
- Rozhrania na používateľa:
-
- spôsob komunikácie s používateľom
- spôsob vytvárania používateľských rozhraní pre aplikáciu
a knižnice použiteľných primitív (menu, myš, aktivačné
kľúče, grafické objekty)
- možnosti používania grafických objektov
- vytváranie online-help systému
- podpora vysvetľovania (default texty, prepojenie na
hypertext)
- Implementačný jazyk prostredia:
- ovplyvňuje prepojenie na okolie
aplikácie
- Hardvérové a softvérové požiadavky:
-
- vyžadovaný hardvér (procesor, disková kapacita, operačná
pamäť, grafické zariadenia atď.) a jeho vzťah k dostupnému
hardvéru v organizácii, pre ktorú sa aplikácia vytvára
- vyžadovaný operačný systém a jeho vzťah k používaným
operačným systémom v danej organizácii
- ďalšia vyžadovaná softvérová podpora
- Podpora zo strany dodávatela:
-
- Dôveryhodnost dodávatela:
- finančná situácia dodávateľa
- skúsenosti dodávateľa vo vytváraní aplikácií pre umelú
inteligenciu
- podpora tomuto smeru - budúce plány dodávateľa v danej
oblasti (bude sa dané prostredie rozvíjať i naďalej ?)
- Podpora zo strany dodávatela:
- dostatok manuálov a dokumentácie, ich čitateľnosť
- kurzy a školenia poriadané na zacvičenie v práci s daným
prostredím a ich ceny
- možnosť výmeny skúseností v práci s daným prostredím (kluby
používateľov)
- hot-line - možnosť priamej konzultácie problémov
s expertami dodávateľa
- servis dodávateľa (priebežné odstraňovanie zistených
nedostatkov v aktuálnej verzii prostredia)
- Nové verzie:
- ako často sú vytvárané a distribuované novšie verzie
- aké su podmienky obdržania novej verzie
- Cena:
- vzťah ceny produktu k jeho vlastnostiam (výkonnosť, podpora
vývoja prostredia atď.)
- nominálna cena, možnosti zľavy
- možnosti ďalšieho predaja a distribúcie vytvorených
aplikácií
- monolicencie, multilicencie
Ako vidno z uvedeného prehľadu, sledovaných kritérií je
pomerne veľa. Pre výber prostredia treba mať prehľad o viacerých
prostrediach. Vo väčšine prípadov žiadne prostredie nespĺňa presne
požiadavky vyplývajúce z konkrétnej aplikácie. Treba preto robiť
kompromis a pre danú aplikáciu stanoviť priority jednotlivým
požiadavkám.
Expertný sysytém je vo svojej podstate programový systém
a preto pre svoju prácu vyžaduje zodpovedajúce výpočtové
prostredie. Prvé vývojové prostredia vychádzali z implementačných
jazykov umelej inteligencie a vykonávali sa na špecializovaných
výpočtových systémoch. Špecializované prostredia boli určené pre
potreby umelej inteligencie a jej aplikácií, preto na nich neboli
dostupné komerčne používané produkty a ani vytvorené aplikácie
neumožňovali prepojenia s týmito komerčne používanými produktmi.
Tieto špecializované systémy však sú pre bežného používateľa
viac-menej cenovo nedostupné a preto sa v neskorších etapách začal
prenos myšlienok overených v týchto prostrediach do iných
programovacích jazykov a na dostupné výpočtové systémy.
V súčasnosti existuje viacero vývojových prostredí
implementovaných v jazyku C a dostupných už i na osobných
počítačoch.
O výpočtových systémoch typu PC však má informácie skoro
každý tvorca a používateľ znalostných systémov. Menej informácií
je však dostupných o špecializovaných výpočtových systémoch pre
potreby umelej inteligencie, na ktorých prebiehali počiatočné fázy
vývoja a výskumu v oblasti znalostných systémov. Táto časť by mala
doplniť chýbajúce informácie v tejto oblasti.
Prvé výskumy a aplikácie v oblasti znalostných systémov sa
vykonávali na tzv. "lispovských počítačoch". Sú to výpočtové
systémy so špecializovaným procesorom, ktorého strojový kód
predstavuje programovací jazyk lisp. Tieto systémy patrili do
triedy pracovných staníc a mali na tie časy pomerne rozsiahlu
operačnú pamäť (vo väčšine prípadov virtuálnu) a rozsiahly diskový
priestor. Boli rovnako vybavené monitorom s veľkou rozlišovacou
schopnosťou (1024 x 1024) a zväčša boli určené pre jedného
používateľa. Rýchlosť týchto systémov dosahovala 10.000 až 50.000
LIPS (logical Inferences Per Second) a v súčasnosti sa pohybuje
okolo 10.000.000 LIPS. Dodávaný softvér predstavoval vo väčšine
prípadov lisp, smalltalk a prolog.
LISP MACHINE INC.
Firma Lisp Machine Inc. je tvorcom celej série systémov LMI
Lambda, ktorá predstavuje jeden z prvých modelov lispovských
počítačov dostupných na trhu. Prvé systémy tejto triedy boli
vyvinuté v roku 1981 a boli výsledkom kombinácie lispovskej
technológie v spojení s novou počítačovou architektúrou nazývanou
NuBus. Architektúra NuBus predstavuje zbernicovú architektúru
umožňujúcu spájať špecializované procesory so štandardnými
procesormi všeobecného určenia a umožňuje efektívnu výmenu
informácií medzi týmito procesormi.
LMI Lambda výpočtové systémy predstavujú multiprocesorové
systémy umožňujúce simultánne vykonávanie lispovských a ďalších
(klasických) aplikácií. Zakladnými komponentami je zbernica NuBus,
systémová diagnostické jednotka, lispovský procesor, UNIX procesor
a displej s vysokou rozlišovacou schopnosťou. Multibus je
podporovaný týmto systémom taktiež. LMI Lambda systémy umožňujú
paralelné vykonávanie viacerých procesov, ktoré môžu vzájomne
komunikovať a spolupracovať na riešení problémov. Rovnako tento
systém možno pripájať k počítačovým sieťam.
Lispovský procesor predstavuje základ LMI Lambda systémov.
Jedná sa o 32 bitový mikroprogramovateľný procesor, ktorý umožňuje
realizovať i veľmi rozsiahle softvérové aplikácie.
SYMBOLICS
Séria 3600 firmy Symbolics predstavuje jeden
z najvýkonnejších systémov pre symbolické spracovanie.
Hlavné oblasti aplikácií týchto systémov sú: podpora
programovania, návrh VLSI obvodov, CAE/CAD/CAM, vývoj expertných
systémov, interpretácia signálov, spracovanie prirodze ného
jazyka, simulácia, robotika a rozpoznávanie obrazov.'
Širka dodávanej série umožňuje výber najvhodnejšieho modelu
podľa určenia. Väčšina týchto systémov obsahuje špecializovaný
mikroprocesor pre styk s okolím, harvérovo podporovanú správu
pamäťe (garbage collection), zásobníkovo orientované architektúry
a akcelerátor spracovania v pohyblivej rádovej čiarke.
TEKTRONIX
Séria TEK 4400 nepredstavuje v pravom slova zmysle lispovské
výpočtové systémy, pretože nie sú založené na myšlienke podpory
Lispu na báze architektúry procesora a celého systému. Predstavujú
však rozsiahle mikroprocesorové systémy určené na podporu vývoja
aplikácií pre umelú inteligenciu.
Model TEK 4405 predstavuje jednopoužívateľský systém založený
ma vysokovýkonnom mikroprocesore Motorola 68020. Procesor
pohyblivej rádovej čiarky 68881 a 1 MB rýchlej RAM pamäťe, rovnako
ako 45 MB pevný disk sú charakteristikami tohoto mdelu. Pamäť je
možné rozšíriť na 4 MB a dodať ďalší 90 MB pevný disk. Súčasťou
modelu je bitový displej s vysokou rozlišovacou schopnosťou.
Model TEK 4406 predastavuje výkonnejšiu verziu. Je založený
na mikroprocesore Motorola 68020, procesore pohyblivej rádovej
čiarky 68881 2 MB pamäte a 90 MB pevnem disku. Model poskytuje
možnosť rozšírenia na 6 MB a o ďalší 90 MB pevný disk. Obsahuje
19 palcový bitový displej s harvérovou podporou grafických
operácií.
Dominantným prostredím používaných na systémoch série TEK
4400 je TEK SMALLTALK-80. Je možné používať taktiež TEK CommonLISP
a MPROLOG.
Z dnešného hľadiska sa môžu zdať technické parametre
popisovaných systémov tejto série ako bežné, no je potrebné si
uvedomiť, že táto séria bola k dispozícii na začiatku 80-tych
rokov.
TEXAS INSTRUMENTS
Produktom firmy Texas Instruments v oblasti Lispovských
systémov je TI Explorer. Architektúra modelu pozostáva zo zbernice
NuBus, lokálnej zbernice, pamäťových modulov, a bitovo mapovaný
displej.
Lispovský procesor predstavuje dôležitú súčasť systému. TI
Explorer obsahuje 32 bitový mikroprogramovateľný procesor
s pamäťou pre mikroprogram obsahujúcou 16.000 56 bitových slov.
TI Explorer obsahuje hardvérové prostriedky pre podporu
rozhraní (najmä grafických) s používateľom. V spojení
s programovým vybavením a myšou vytvárajú tieto zabudované
vlastnosti mohutné prostredie pre vývoj aplikácií pre umelú
inteligenciu.
Programové vybavenie je budované na báze Lispu a zahŕňa
podporu CommonLISPu a ZetaLISPu. Spolu s prostredím FLAVORS
predstavuje toto vybavenie prostredie podporujúce väčšinu
používaných nadstavieb pre vývoj produktov pre potreby umelej
inteligencie.
XEROX
Firma XEROX sa začala zaoberať vývojom špecializovaných
systémov pre podporu aplikácií pre umelú inteligenciu v 70-tych
rokoch. Typová séria tejto firmy predstavuje modely Xerox 1108,
Xerox 1132 a pracovné stanice Xerox 1185 a Xerox 1186.
Last update by
Mária Bieliková
on