Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
UNIVERZA V MARIBORUFAKULTETA ZA ORGANIZACIJSKE VEDE
Diplomsko delo univerzitetnega študijaOrganizacijska informatika
Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi
Mentor: prof. dr. Vladislav Rajkovič Kandidat: Primož Kastelic
Kranj, maj 2007
ZAHVALA
Zahvaljujem se mentorju prof. dr. Vladislavu Rajkoviču za pomoč in nasvete pri izdelavi diplomskega dela. Zahvaljujem se tudi ženi Simoni in sinu Maju za vso strpnost pri čakanju končnega izdelka.
Povzetek
Diplomska naloga podrobno opredeli pojma ekspertni sistem in umetna inteligenca.
Predstavi tudi programski jezik Java in razvojno okolje Eclipse, ki sta bila
uporabljena za razvoj prototipne rešitve ekspertnega sistema za pomoč operaterjem
pri delu z računalniškimi sistemi. Naloga prav tako predstavi tudi ekspertno lupino
CLIPS namenjeno izdelavi mehanizma sklepanja ter baze znanja.
Osrednji del diplomske naloge predstavlja izdelavo zgoraj omenjenega prototipnega
ekspertnega sistema. Poglavitni rezultat naloge je v realnem testnem okolju
organizacije preizkušen in delujoč prototip ekspertnega sistema, ki v celoti
nadomesti posredovanje specialistov področja, se pravi ekspertov.
Ključne besede: računalniški sistemi, delo operaterjev, ekspertni sistemi, sistemi za
podporo odločanju, večparametersko odločanje
Summary
The thesis defines in detail the notions of expert system and artificial intelligence. It
also introduces Java programming language and Eclipse development tool, which
have been used for the development of prototype solution of expert system to assist
operators with managing computer systems. The thesis also introduces CLIPS
expert shell designed for the development of inference system and knowledge base.
The central part of the thesis consists of the execution of the abovementioned
prototype expert system. Main outcome of the thesis is the prototype of expert
system, tested and functional in real test environment, which entirely substitutes
intervention of specialists in the field, i.e. experts.
Keywords: computer systems, operators' work , expert systems, decision support
systems, multiparameter decision-making
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Kazalo
1 Uvod........................................................................ 2
2 Teoretične osnove................................................... 5
2.1 Orodje za razvijanje ekspertnih sistemov CLIPS...........5
2.2 Java............................................................................... 8
2.3 Razvojno orodje Eclipse................................................ 9
2.4 Večparametersko odločanje........................................ 12
2.5 Faze odločitvenega procesa......................................... 16
2.6 Umetna inteligenca in ekspertni sistemi..................... 20
Umetna inteligenca...................................................................................20
Ekspertni sistemi......................................................................................21
3 Obstoječe stanje................................................... 31
3.1 O podjetju ................................................................... 31
3.2 Pomen kakovosti opravljenih storitev za podjetje...... 34
3.3 Identifikacija problema............................................... 34
Proces potrebe po strokovni pomoči..........................................................35
4 Prototip ekspertnega sistema...............................37
4.1 Baza znanja in mehanizem sklepanja.......................... 37
4.2 Uporabniški vmesnik................................................... 40
4.3 Funkcije prototipne rešitve......................................... 42
5 Zaključki............................................................... 43
Literatura in viri................................................................. 44
Kazalo slik.......................................................................... 46
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 1
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
1 Uvod
Danes je najpomembnejše merilo kakovosti storitve popolna zadovoljitev
stranke. Tehnologije, ki lahko pripomorejo k boljši učinkovitosti organizacije so
številne. Diplomska naloga, kot je razvidno že iz naslova, se je omejila na eno
izmed teh tehnologij in sicer ekspertne sisteme, podmnožico širšega
znanstvenega področja imenovanega umetna inteligenca. Ekspertne sisteme
lahko opredelimo kot inteligentne računalniške programe, ki uporabljajo znanje
in procedure sklepanja za reševanje problemov, ki so dovolj zahtevni, da je za
njihovo reševanje potrebno znanje posebej usposobljenih strokovnjakov –
ekspertov. Ekspertni sistemi lahko na določenem področju emulirajo sposobnost
odločanja in reševanja problemov človeških izvedencev (Nikolopulos, 1997, str.
2-3).
Podjetje 3 GEN, v katerem sem zaposlen, je predvsem storitveno podjetje, zato
je tudi ključni cilj podjetja opravljati storitve kvalitetno, hitro, zanesljivo in
predvsem produktivno. Z izdelavo prototipa ekspertnega sistema dosežemo, da
proces reševanja nekega problema skrajšamo na minimum in kot pozitivno
posledico dosežemo predvsem zadovoljstvo uprabnikov.
Namen diplomskega dela je kot prvo zbrati in preučiti različne strokovne vire s
področja ekspertnih sistemov ter na tej osnovi opredeliti metodološki okvir za
izgradnjo modela, ki bo omogočal uspešno izdelavo ekspertnega sistema za
pomoč operativni sistemski službi.
Po izgradnji modela sledi izgradnja aplikacije oz. ekspertnega sistema za pomoč
sistemski operaterski službi.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 2
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Končno pa je namen diplomskega dela tudi kritična analiza modela z
ovrednotenjem in preizkusom v praksi.
Ključni cilj diplomskega dela je izdelava ekspertnega sistema za pomoč
operaterjem na velikih - "mainframe" sistemih. Ekspertni sistem bi operaterjem
pomagal reševati probleme z uporabo znanja iz običajno ozkega problemskega
področja in se pri tem obnašal kot sistemski inženirji – eksperti.
Poleg izdelave ekspertnega sistema je eden od ciljev tudi preizkus in testiranje
tega ekspertnega sistema v praksi.
Teza diplomske naloge je bila zvišanje produktivnosti in odzivnosti operaterske
službe z vpeljavo prototipa ekspertnega sistema v organizaciji.
Pomemben cilj diplomske naloge je bil tudi prikazati, da se omenjeni ekspertni
sistem da uporabljati tudi v prihodnosti, saj se lahko bazo znanja relativno
enostavno nadgrajuje in dopolnjuje.
Izdelava diplomskega dela je potekala v naslednjih fazah:
Temeljita preučitev domače in tuje strokovne literature o ekspertnih
sistemih.
Na podlagi razpoložljive domače in tuje literature sem preučil
programiranje v programskem jeziku Java.
V organizaciji kjer bo uporabljen ekspertni sistem sem opredelil ključna
dela, ki so jih do sedaj opravljali specialisti področja – eksperti.
Za prototip ekspertnega sistema sem opredelil primere, ki bodo vključeni
v bazi znanja.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 3
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Programiranje uporabniškega vmesnika v Javi, vključevanje mehanizmov
sklepanja ter baze znanja v CLIPS.
Polnjenje baze znanja.
Testiranje ekspertnega sistema z realnimi podatki v realni situaciji.
Sledila je kritična analiza in napotki za možne izboljšave ter nadaljnje
delo.
V uvodnem delu diplomskega naloge je opredeljen problem, cilji in namen
naloge ter metodologija, ki je uporabljena pri preučevanju teoretičnih izhodišč,
pri gradnji modela in njegovi prototipni realizaciji. V naslednje poglavju so
opredeljena teoretična izhodišča, nato sledi opis obstoječega stanja in
identifikacija problema. V naslednje poglavju sledi izdelava prototipne rešitve in
nazadnje zaključkek, ki govori o testiranju prototipne rešitve in možnosti
nadaljnega razvoja.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 4
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
2 Teoretične osnove
2.1 Orodje za razvijanje ekspertnih sistemov CLIPS
CLIPS je akronim za C Language Integrated Production System.
CLIPS je orodje za razvijanje ekspertnih sistemov. Razvil ga je Software
Technology Branch (STB), NASA/Lyndon B. Johnson Space Center. Od leta
1986, ko je bil prvič predstavljen javnosti, se je nenehno izboljševal, tako da ga
zdaj uporablja že na tisoče uporabnikov po celem svetu. V namen lažje
komunikacije med uporabniki je pripomogla tudi novičarska skupina
comp.ai.shells.
Obstajajo trije načini s katerimi je predstavljeno zanje v CLIPS-u:
pravila (rules), ki so namenjena hevrističnemu prikazu znanja,
splošne funkcije (deffunctions, generic functions), ki so namenjene
proceduralnemu znanju,
objektno orientirano programiranje, prav tako namenjeno
proceduralnemu znanju.
Ker je CLIPS napisan v jeziku C, je kot tak tudi izredno povezljiv z drugimi
programskimi jeziki kot so jezik C, C++, SmalTalk, Pascal in seveda tudi Java.
CLIPS se lahko uporablja interaktivno, kot ukazna lupina, kakor tudi posredno
kot skupek knjižnic, povezan z nekim drugim naprednim programskim jezikom.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 5
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Dobra stran ukazne lupine je tudi ta, da lahko bazo znanja in mehanizme
sklepanja kadarkoli preizkusiš tudi interaktivno, brez naprednega uporabniškega
vmesnika. To vsekakor pripomore k boljšemu in hitrejšemu razhroščevanju
definicij in pravil v bazi znanja.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 6
Slika 1: Ukazna lupina orodja za razvijanje ekspertnih sistemov – CLIPS
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Prenos CLIPS-a v Unix/Linux okolje
Operacijski sistem Linux že prevladuje na področju strežniških računalnikov. Ker
pa je operacijski sistem Linux brezplačen, je kot tak zanimiv tudi na področju
namenskih delovnih postaj. Zato sem se odločil, da razvoj ekspertnega sistema –
prototipa moje diplomske naloge, izvedem na operacijskem sistemu SuSE Linux.
Kot prvo je bilo potrebno v okolje Linux prenesti tudi CLIPS, ki je prvotno
preveden samo za okolje Windows.
Na spletni strani http://www.cs.vu.nl/~mrmenken/jclips/ sem prevzel izvorno
kodo za CLIPS knjižnice za javo in datoteko jclips.jar. Ker je bila knjižnica
jclips.dll prevedena samo za okolje Windows sem moral knjižnico prevesti za
okolje Linux in kot produkt dobil libjclips.so. Nato sem pognal testno aplikacijo in
dobil pričakovan rezultat.
sys10@bober:~/diploma/jclips-library-src/CLIPSSrc>make clipssys10@bober:~/diploma/jclips-library-src/CLIPSSrc>make libjclips.so
Delovanje CLIPS lupine v okolju Linux sem tudi takoj preizkusil.
sys10@bober:~/diploma/jclips-library-src/CLIPSSrc>java -cp ~/diploma/jclips-library-src/CLIPSSrc;j~/diploma/jclips-library-src/CLIPSSrc/clips.jar -Djava.library.path=~/diploma/jclips-library-src/CLIPSSrcl JClipsExample
Po mojih pričakovanjih je test uspel in je vse delovalo brezhibno.Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 7
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
2.2 Java
Začetki programskega jezika znanega pod imenom Java so se začeli leta 1990.
Pri Sunu so v okviru projekta "Green" želeli izdelati porazdeljen sistem
elektronskih naprav. Tako je bil leta 1991 izdelan Oak (Hrast) – ime mu je dal
njegov postavitelj Gosling, ki je medtem, ko je kreiral imenik za nov jezik,
pogledal skozi okno in zagledal drevo (Hrast). Vendar ime ni preživelo tržne
politike in je bilo spremenjeno v Java (kava).
Pri nastanku jezika so se njegovi snovalci osredotočili na lastnosti, ki bi jih naj
imel učinkovit programski jezik. Izdelovalcem jezika se je zdelo pomembno, da
je jezik:
enostaven,
predmeten,
neodvisen,
trdoživ,
varen
dinamičen,
visoko zmogljiv.
Java je podlaga za nov rod programske opreme (Mesojedec, Fabjan, 2004,
str.23) in jo sestavlja več pomembnih členov. Ti so:
programski jezik,
programske knjižnice,
izvajalno okolje.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 8
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Java omogoča razvoj in razpečevanje strojno neodvisne programske opreme, ki
jo je mogoče uporabiti v dinamičnih, omrežno povezanih računalniških sistemih,
saj ponuja popolno podporo omrežni komunikaciji, predmetni usmerjenosti,
trdoživosti in varnosti (Mesojedec, Fabjan, 2004, str.27).
2.3 Razvojno orodje Eclipse
Ker je Java postala svojevrsten industrijski standard, ki ga podpira zelo veliko
ponudnikov strojne in programske opreme, so prav razvojna orodja za Javo
trenutno ena najbolj živahnih vej računalniške industrije. Če nam osnovni
razvojni komplet za Javo ne ustreza, ker je premalo udoben za uporabo, lahko
posežemo po najrazličnejših razvojnih pripomočkih. Večina je razvitih kar v Javi,
kar je najlepši dokaz zmogljivosti te platforme tudi za uporabniške programe z
bogatimi grafičnimi vmesniki. Nekatera zelo zmogljiva razvojna orodja so na
voljo brezplačno. Posebej velja izpostaviti okolje Eclipse, ki je nastal na pobudo
podjetja IBM in je pravzaprav univerzalno ogrodje za razvoj programske opreme
na različnih platformah (Mesojedec, Fabjan, 2004, str. 33).
IBM je začel z ogrodjem Eclipse kot izziv Sunu. Že ime ogrodja je dovolj
zgovorno. Čeprav nad razvojem ogrodja bdi neodvisna istoimenska organizacija,
je IBM-ov vpliv še vedno velik, saj tudi zaposluje veliko število razvijalcev
ogrodja.
Programsko razvojno orodje Eclipse je namenjeno razvoju integriranih razvojnih
okolij (IDE), ki jih lahko uporabimo za izdelavo aplikacij kot so npr. internetne
strani, vgrajeni Java programčki, C in C++ programi, JavaBeans. Prav hitri
razvoj dodatnih komponent, ki temeljijo na vstavkih (plug-in), je prednost
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 9
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
programskega orodja Eclipse. Eclipse ima tudi zelo všečen grafični vmesnik (UI)
za delo z raznimi orodji. Prednost Eclipse je tudi odprto-kodni način uporabe.
Projekt Eclipse je začel IBM in ga dal na voljo odprto-kodni skupnosti. Ta ga je
do danes zelo kvalitetno nadgradila in njegova uporabnost je vedno večja.
Vstavki se integrirajo v sam Eclipse s pomočjo prenosnih aplikacijskih protokolov
za interakcijo (API). Prednost Eclipse je tudi možnost uporabe na mnogih med
seboj različnih operacijskih sistemih, kot so Linux, Microsoft Windows, Unix,
Solaris, itd.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 10
Slika 2: Java pogled – razvojno orodje Eclipse
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Z Eclipse lahko delamo različne stvari, in sicer: testiramo, definiramo,
animiramo, kompiliramo, objavljamo, diagramiziramo, razhroščujemo, itd. Sama
programska arhitektura poskrbi, da se razvijalci ne ukvarjajo z samim
operacijskim sistemom, ampak se lahko osredotočijo na svoje projekte in
nadaljnjo razvijanje samih dodatnih vstavkov oz. orodij. Arhitektura Eclipse je
strukturirana z večimi pod-sistemi. Ti so implementirani z enim ali več vstavki.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 11
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
2.4 Večparametersko odločanje
Odločanje je umska aktivnost, ki obsega opredelitev problema in izbiro ene
izmed alternativnih smeri dejavnosti za njegovo rešitev (Možina et al., 1994, str.
212).
Odločanje lahko definiramo kot proces izbire med dvema ali več alternativami
mogočega reševanja nekega problema. Problem lahko opredelimo kot posebno
stanje, ki ga ljudje občutijo na različne načine in bi ga najlažje opredelili kot
oddaljenost med željenim in dejanskim stanjem (Možina et al., 1994, str. 213).
Odločanje poteka v določenih fazah, ki jih lahko na splošno opredelimo kot:
1. definiranje problema,
2. zbiranje podatkov in opredelitev kriterijev za izbiro rešitve,
3. iskanje alternativnih rešitev,
4. ocenjevanje in izbira ustrezne alternative,
5. uresničevanje odločitve in nadzor uresničevanja (Možina et al., 1994, str.
241).
Osnovna ideja večparameterskega odločanja je razgradnja odločitvenega
problema na manjše in lažje obvladljive podprobleme. Variante razčlenimo na
posamezne parametre (kriterije, atribute) in jih ločeno ocenimo glede na vsak
parameter. Končno oceno variante dobimo s postopkom združevanja ocen
parametrov. Končna izpeljana vrednost predstavlja temelj za razvrščanje in izbor
najustreznejše variante (Bohanec, Rajkovič, 1995, str. 428).
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 12
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Najpomembnejši problemi, ki nastopajo pri težkih odločitvenih problemih,
izvirajo iz:
velikega števila dejavnikov, ki vplivajo na odločitev,
številnih, slabo definiranih ali poznanih variant,
zahtevnega in pogosto nepopolnega poznavanje odločitvenega problema,
obsoja več skupin odločevalcev z nasprotujočimi si cilji in
omejenega časa in drugih virov za izvedbo odločitvenega procesa
(Bohanec, Rajkovič, 1995, str. 427).
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 13
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Model je predstavljen kot drevo, ki je sestavljeno iz vrst komponent.
Variante - Variante opišemo po osnovnih parametrih z vrednostmi ai. Na osnovi
teh vrednosti funkcija koristnosti določi končno oceno vsake variante. Varianta,
ki dobi najvišjo oceno, je praviloma najboljša.
Parametri (xi) - Parametri (xi) predstavljajo vhod v model (atributi, kriteriji).
Parametri so spremenljivke, ki ponazarjajo podprobleme odločitvenega modela.
Običajno so urejeni v hierarhični strukturi, ki ponazarja medsebojne odvisnosti
med parametri (višjenivojski atributi so odvisni od neposrednih naslednikov).
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 14
Slika 3: Večparameterski odločitveni model (Vir: Rajkovič, Kljajič, 2006)
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Funkcija koristnosti – Funkcija koristnosti je predpis po katerem se vrednosti
posameznih parametrov združujejo v končno oceno. Funkcija koristnosti, ki je
opredeljena za vsak izpeljan atribut, opredeljuje odvisnost tega atributa od
njegovih neposrednih naslednikov v strukturi.
Koristnost – Koristnost variante dobimo po postopku združevanja od spodaj
navzgor, to je s postopnim združevanjem vrednosti v skladu z modelom in
funkcijo koristnosti.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 15
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
2.5 Faze odločitvenega procesa
Odločitveni proces je proces sistematičnega zbiranja in urejanja znanja.
Zagotovil naj bi dovolj informacij za primerno odločitev, zmanjšal možnost, da bi
kaj spregledali, pohitril in pocenil proces odločanja ter dvignil kakovost odločitve.
Praviloma poteka po fazah, ki so opisane v tem poglavju. Faze se lahko tudi
prepletajo ali ponavljajo (Bohanec, Rajkovič, 2007)
Identifikacija problema
Ta faza je rezultat spoznanja, da je nastopil odločitveni problem, ki je dovolj
težak, da ga je smiselno reševati na sistematičen in organiziran način. V tej fazi
poskušamo definirati problem ter opredeliti cilje in zahteve.
Oblikujemo odločitveno skupino , katere jedro sestavljajo odločevalci (t.i.
"lastniki problema"): to so tisti, ki se morajo v končni fazi odločiti in so
odgovorni za odločitev. Pri zahtevnejših problemih je priporočljivo v delo skupine
vključiti tudi:
eksperte, ki imajo poglobljeno znanje o dani problematiki in lahko
svetujejo pri oblikovanju odločitvenega modela;
odločitvenega analitika - metodologa, ki kot moderator vpliva na učinko-
vitost in usklajenost dela skupine ter skrbi za ustrezno metodološko in
računalniško podporo odločanja;
druge predstavnike tistih segmentov, na katere vpliva odločitev.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 16
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Identifikacija kriterijev
V tej fazi določimo kriterije, na osnovi katerih bomo ocenjevali variante in
zasnujemo strukturo odločitvenega modela. Posebej je pomembno, da pri tem
ne spregledamo kriterijev, ki bistveno vplivajo na odločitev (načelo polnosti). Pri
oblikovanju modela poskušamo izpolniti tudi nekatere druge zahteve, kot so
strukturiranost, neredundantnost, ortogonalnost in operativnost (merljivost)
kriterijev. Postopek identifikacije kriterijev je do neke mere odvisen od
uporabljene metodologije. Poteka po naslednjih korakih:
1. Spisek kriterijev: Sami ali med pogovorom v skupini oblikujemo
nestrukturiran seznam kriterijev, ki jih bomo upoštevali pri odločanju.
2. Strukturiranje kriterijev: Kriterije hierarhično uredimo, upoštevajoč
medsebojne odvisnosti in vsebinske povezave. Nepomembne kriterije in
tiste, ki so izraženi z ostalimi kriteriji, zavržemo in po potrebi oblikujemo
nove. Rezultat je drevo kriterijev.
3. Merske lestvice: Vsem kriterijem v drevesu določimo merske lestvice, to
je zalogo vrednosti, ki jih lahko zavzamejo pri vrednotenju ter morebitne
druge lastnosti (na primer urejenost).
Definicija funkcij koristnosti
V tej fazi definiramo funkcije, ki opredeljujejo vpliv nižjenivojskih kriterijev na
tiste, ki ležijo višje v drevesu, vse do korena drevesa, ki predstavlja končno
oceno variant. Oblika funkcij in način njihovega zajemanja močno zavisi od
uporabljene metode. Najpogosteje se uporabljajo preproste funkcije, kot so
utežena vsota in razna povprečja, srečamo pa tudi zahtevnejše funkcije, ki imajo
večjo izrazno moč, vendar so nekoliko zahtevnejše za praktično uporabo:
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 17
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
funkcije zvezne logike, funkcije na osnovi Bayesovega pravila ali mehkih množic,
odločitvena pravila. Prav tako so pestre računalniško podprte metode za
podporo odločevalcev v tej fazi, ki segajo od neposrednega analitičnega
izražanja funkcij do možnosti izbiranja oziroma parametrizacije vnaprej
pripravljenih funkcij, definiranja funkcije po točkah, zajemanja v grafični obliki in
raznih dialogov, ki jih vodi računalniški program.
Opis variant
Vsako varianto opišemo z vrednostmi osnovnih kriterijev, to je tistih, ki ležijo na
listih drevesa. Do tega opisa nas vodi bolj ali manj zahtevno proučevanje variant
in zbiranje podatkov o njih. Pri tem se pogosto srečamo s pomanjkljivimi ali
nezanesljivimi podatki. Nekatere metode v tem primeru odpovedo, druge pa
omogočajo, da takšne podatke opišemo v obliki intervalov ali verjetnostnih
porazdelitev.
Vrednotenje in analiza variant
Vrednotenje variant je postopek določanja končne ocene variant na osnovi
njihovega opisa po osnovnih kriterijih. Vrednotenje poteka "od spodaj navzgor"
v skladu s strukturo kriterijev in funkcijami koristnosti. Varianta, ki dobi najvišjo
oceno, je praviloma najboljša.
Besedo "praviloma" je potrebno na tem mestu posebej poudariti. Na končno
oceno vpliva mnogo dejavnikov in pri vsakem od njih lahko pride do napake.
Poleg tega sama končna ocena navadno ne zadostuje za celovito sliko o
posamezni varianti. Zato moramo variante analizirati in poskusiti odgovoriti na
naslednja vprašanja:
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 18
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Kako je bila izračunana končna ocena - na osnovi katerih vrednosti
kriterijev in katerih funkcij? So vrednosti kriterijev in uporabljene funkcije
koristnosti ustrezni?
Zakaj je končna ocena takšna, kot je? Je v skladu s pričakovanji ali
odstopa in zakaj? Kateri kriteriji so najbolj prispevali k takšni oceni?
Katere so bistvene prednosti in pomanjkljivosti posamezne variante?
Kakšna je občutljivost odločitve: kako spremembe vrednosti kriterijev
vplivajo na končno oceno? Ali je mogoče in kako variante izboljšati?
Katere spremembe povzročijo bistveno poslabšanje ocen variant?
V čem se variante bistveno razlikujejo med seboj?
Šele z odgovori na ta vprašanja pridemo do celovite slike o variantah in s tem do
kvalitetnejše, bolje utemeljene in preverjene odločitve. Računalniška podporna
orodja so pri tem praktično nepogrešljiva, saj imajo že vgrajene pripomočke, ki
tovrstne analize bistveno olajšajo (Bohanec, Rajkovič, 2007).
Realizacija variante
Ta faza direktno ne sodi v proces odločanja, vendar bistveno vpliva na kakovost
odločitve. V tej fazi spremljamo realizacijo izbrane variante tudi na osnovi
kriterijev in odločitvenega znanja. Spremembe, ki nas spremljajo imajo lahko
vpliv na našo odločitev, zato se lahko pojavi tudi potreba po ponovitvah
določenih faz. Faze se lahko tudi prepletajo in ciklično ponavljajo, zato lahko
skrbno spremljanje celotnega procesa bistveno pripomore h kakovosti odločitve.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 19
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
2.6 Umetna inteligenca in ekspertni sistemi
Umetna inteligenca
Umetna inteligenca (UI) je znanstvena disciplina, ki se ukvarja z metodami,
tehnikami, orodji, arhitekturami za reševanje logično zapletenih problemov, ki bi
jih bilo težko ali celo nemogoče rešiti s klasičnimi metodami (Rajkovič, 2002, str.
74).
Umetna inteligenca vključuje proučevanje učenja, zaznavanja, sklepanja,
pomnjenja, motivacije , čustev, samozavedanja , komunikacije, itd. Zaradi tega
se prepleta s številnimi drugimi znanstvenimi disciplinami, še posebej s
psihologijo, filozofijo in lingvistiko. Prav tako se prepleta z računalniškimi vedami
in programskim inženirstvom, saj vključuje gradnjo različnih vrst sistemov za
procesiranje informacij. Ti lahko bodisi modelirajo človeško procesiranje
informacij bodisi so namenjeni reševanju praktičnih problemov.
Področje umetne inteligence je zelo razvejano in vključuje naslednje teme
oziroma tehnologije (Krapež, Rajkovič, 2003, str. 14):
hevristično reševanje problemov,
predstavitev znanja in mehanizmi sklepanja,
ekspertni sistemi,
procesiranje naravnega jezika,
strojno učenje in sinteza znanja,
inteligentni roboti,
računalniški vid,
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 20
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
avtomatsko programiranje,
kvalitativno modeliranje,
kognitivno modeliranje,
nevronske mreže.
V nadaljevanju bom podrobneje opredelil ekspertne sisteme, ki predstavljajo
jedro moje diplomske naloge.
Ekspertni sistemi
Ekspertne sisteme lahko opredelimo kot inteligentne računalniške programe, ki
uporabljajo znanje in procedure sklepanja za reševanje problemov, ki so dovolj
zahtevni, da je za njihovo reševanje potrebno znanje posebej usposobljenih
strokovnjakov – ekspertov. Ekspertni sistemi lahko na določenem področju
emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev
(Nikolopulos, 1997, str. 2-3).
Ena najpomembnejših lastnosti ekspertnih sistemov je zmožnost pojasnjevanja
rešitev, s čimer postane sistem transparenten oziroma uporabniku razumljiv. To
jih razlikuje od konvencionalnih aplikacij, ki v glavnem delujejo kot črne škatle.
Sistem mora pojasniti svojo rešitev v taki obliki, da jo uporabnik lahko preveri in
da takrat, ko se z rešitvijo ne strinja, ugotovi vzrok svoje napake ali napake
sistema.
Ekspertni sistemi so oblikovani tako, da omogočajo enostavno modifikacijo in
nadgrajevanje baze znanja. Pri tem je mogoče pravila v bazi znanja dodajati,
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 21
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
spreminjati ali odvzemati brez povzročanja stranskih učinkov na drugih delih
programske kode. To omogoča predvsem ločevanje znanja in programske kode,
ki izvaja sklepanje ter modularnost pravil in drugih predstavitev znanja.
Pomembna značilnost, ki pri drugih vrstah računalniških programov ni tako
poudarjena je njihova transparentnost. Transparentnost je sposobnost sistema,
da pojasni in utemelji zaključke ter priporočila, ki jih nudi. Ekspertni sistem
predstavlja na tak način za uporabnika prozorno škatlo v nasprotju s črno škatlo,
ki uporabniku ne omogoča vpogleda v notranjost svojega delovanja. (Bratko,
1997, str. 313).
Praviloma so ekspertni sistemi sestavljeni iz treh modulov:
Baze znanja, ki vključuje znanje o specifičnem problemskem področju,
pravila, ki opisujejo dogodke in relacije med dogodki. Znanje, ki je v
bazah se pridobiva s pomočjo intervjujev s strokovnjaki iz področja na
katerem bo deloval ekspertni sistem ali s pomočjo metod rudarjenja v
podatkih.
Mehanizmov sklepanje, ki omogočajo aktivno uporabo znanja za
reševanje problemov.
Komunikacijskega vmesnika, ki omogoča komunikacijo človeka s
sistemom.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 22
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 23
Slika 4: Ekspertni sistem (Vir: Rajkovič, Kljajič, 2006)
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Baza znanja
Baza znanja vsebuje znanja o specifične problemskem področju: dejstva, pravila,
ki opisujejo relacijo med dejstvi, lahko pa tudi metode in hevristike za reševanje
problemov.
Baza znanja predstavlja osrednji del ekspertnega sistema. Znanje mora biti
predstavljeno na način, ki omogoča prilagodljivo hierarhično urejeno,
heterogeno in aktivno strukturo zapisa. Prilagodljivost strukture zapisa znanja je
potrebna zaradi naknadnega vključevanja novih spoznanj in omogočanja
spremljanja zapisov, hierarhičnost pa zaradi vertikalnih povezav med objekti
nadrejenih in podrejenih tipov v bazi znanja.
Znanje v bazi znanja je mogoče predstaviti z različnimi predstavitvenimi
formalizmi. Najpogostejša oblika so pravila tipa če-potem, lahko pa je
predstavljeno tudi z drugimi formalizmi, kot so okvirji, semantične mreže in
logični izrazi (Nikolopoulos, 1997, str. 60).
Pravila oblike če-potem imajo številne pozitivne lastnosti, med katerimi lahko
naštejemo naslednje (Bratko, 1997, str. 312-313):
S pravili če-potem lahko v večini primerov znanje izražamo na naraven
način oziroma na način, ki je blizu človeškemu razmišljanju.
Vsako pravilo predstavlja majhen, relativno neodvisen del znanja, zato je
struktura baze znanja modularna. To omogoča spreminjanje posameznih
pravil relativno neodvisno od drugih pravil v bazi znanja.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 24
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Pri obliki pravil oblike če-potem je baza znanja razširljiva. Z dodajanjem
novih pravil jo lahko nadgradimo razmeroma neodvisno od drugih pravil v
bazi znanja.
Predstavitveni formalizem v obliki pravil če-potem ima pomembno vlogo
pri zagotavljanju transparentnosti sistema. Pravila če-potem omogočajo,
da sistem enostavno odgovarja na uporabnikova vprašanja, kako je prišel
do določenega sklepa in zakaj zahteva od uporabnika določen podatek.
Produkcijsko pravilo je sestavljeno iz jedra pravila in vzorca. Vzorec je tisti del
pravila, ki ga sistem primerja z dejstvi v podatkovni zbirki, jedro pa del, s
katerega izpeljuje nova dejstva. Vsako pravilo predstavlja majhen, relativno
neodvisen del znanja, ki je izoliran od ostalih pravil. Dodajanje pravil v bazo
znanja in njihovo spreminjanje je relativno enostavno, zapis s produkcijskimi
pravili pa podpira transparentnost sistema, saj omogoča odgovarjanje na
vprašanja vrste "kako" in "zakaj". Med glavne pomanjkljivosti te metode
predstavitve znanja literatura uvršča zapletenost zank in ponavljanj pri velikem
številu pravil ter oteženo predvidevanje vrstnega reda izvajanja pravil.
Predstavitev znanja lahko udejanjimo z matematično logiko oz. njenim
podsistemom predikatnim računom prvega reda. Dejstva in pravila so v skladu s
sintaktičnimi pravili podsistema aksiomi. Rešitev je izrek, ki ga izpeljemo iz
dejstev in pravil. Prednost predstavitve so hitri algoritmi za dokazovanje izrekov,
pomanjkljivost pa je predvsem pomanjkanje mehanizmov za modeliranje
mehkega znanja.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 25
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Semantična mreža je struktura, ki predstavlja znanje z organiziranjem v vozlišča,
med seboj povezana s povezavami. Vozlišča označujejo objekte, ki so lahko
fizični objekti, množice , situacije ali relacije, povezave med njimi pa označujejo
binarne relacije med objekti. Semantične mreže uporabljamo predvsem za
naravno opisovanje enostavnih relacij, manj pa za izražanje kompleksnih formul
in povezav, zato jih uporabljamo predvsem pri sistemih za sklepanje nad
množicami in produkcijskih sistemih, pri katerih mreža modelira zveze med
produkcijskimi pravili.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 26
Slika 6: Semantična mreža (Vir: Rajkovič, Kljajič, 2006)
Slika 5: Predikatni račun prvega reda (Vir: Rajkovič, Kljajič, 2006)
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Okvir je opis objekta, kjer je prostor za vsako informacijo o tem objektu. Sistem
okvirjev je organiziran podobno kot semantične mreže. Okvirji predstavljajo
vozlišča, ki na višjih ravneh hierarhične organizacije predstavljajo splošne
koncepte, na nižjih pa specifične primere konceptov. Razlika v primerjavi s
semantičnimi mrežami je dodatna definicija vozlišča z množico atributov,
imenovanih reže. Reže se zapolnjujejo z vrednostmi atributov (informacijami).
Mehanizem sklepanja
Mehanizmi sklepanja omogočajo aktivno uporabo znanja za reševanje
problemov, na primer za izpeljavo novih dejstev iz dejstev, ki so eksplicitno
shranjena v bazi znanja. Mehanizmi sklepanja v bistvu predstavljajo programe,
ki so sposobni uporabiti bazo znanja za reševanje problemov te ekspertne
domene. Poleg rešitve problema pa omogočajo tudi argumentacijo rešitev –
zakaj je rešitev takšna kot je in ne drugačna (Rajkovič, Bohanec, 1988, str.
131).
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 27
Slika 7: Okvir (Vir: Rajkovič, Kljajič, 2006)
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Pri svojem delu uporablja mehanizem sklepanja tudi določene iskalne strategije,
kot so preiskovanje baze znanja naprej in nazaj, globinsko ter površinsko
preiskovanje, monotono in nemonotono preiskovanje, itd. Te so lahko vključene
tako v sklepanje naprej kot tudi v sklepanje nazaj.
Ekspertne sisteme lahko delimo na ciljno usmerjene in podatkovno usmerjene.
Pri prvih računalnik postavlja vprašanja po potrebi tako dolgo dokler nima dovolj
podatkov, da sestavi odgovor. Zanje je značilen mehanizem sklepanja "nazaj"
(Backward Chaining). Pri podatkovno usmerjenih sistemih pa mora uporabnik že
na začetku odgovoriti na vsa vprašanja. Odgovore nato sistem obdela s
sklepanjem v smeri "naprej" (Forward Chaining). Pri tem načinu je potrebno
odgovoriti tudi na tista vprašanja, ki so lahko za določen primer nepomembna.
Npr. pri odkrivanju napake na tiskalniku je nepomemben podatek o kvaliteti
tiska, če vemo, da tiskalnik nima napajanja.
Slabost podatkovno usmerjenih sistemov so lahko vnosi nepomembnih
podatkov. Prednost podatkovno usmerjenih sistemov pa je takojšen odgovor, ki
ga da računalnik, ko dobi zahtevane podatke. To je še zlasti pomembno, če dela
uporabnik v računalniškem omrežju s počasnimi povezavami. Podatkovno
usmerjeni sistemi so tudi bolj razumljivi, ker so vsi parametri, ki lahko vplivajo
na odločitev prikazani že na začetku.
Ekspertni sistemi se danes uporabljajo na področjih kot so medicina,
matematika, inženirstvo, geologija, računalniške vede, kemija, management,
ekonomija, obramba, pravo, izobraževanje, itd.
Ukvarjajo se z različnimi vrstami problemov oz. problemskimi kategorijami, ki so
opredeljene kot:
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 28
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
interpretacija (pomoč pri dojemanju oziroma spoznavanju pomena ali
vsebine česa; oblikovanje sklepov ali opisov na višji ravni na osnovi
surovih podatkov),
napovedovanje (ugotavljanje in določanje vzroka bolezni ali okvar na
osnovi simptomov, ki jih je mogoče opazovati),
oblikovanje (načrtovanje in oblikovanje strukture sistema ob upoštevanju
določenih zahtev in omejitev),
načrtovanje (snovanje in izdelovanje načrta za določen objekt oziroma
področje ter določanje ustreznih ukrepov, s katerimi bo mogoče doseči
zadani cilj),
razhroščevanje in popravljanje (prepisovanje in implementacija rešitev za
določene pomanjkljivosti),
inštrukcije (pomoč učečim se pri obvladovanju določene učne snovi),
nadzor (vodenje in krmiljenje, nadzor in regulacija sistema).
Primernost problema za uporabo ekspertnih sistemov je odvisna od več
dejavnikov:
Če je problem rešljiv s klasičnim programiranjem, potem ekspertni sistem
ni primerna rešitev. Ekspertni sistem ni alternativa klasičnemu
programiranju.
Problem mora biti dobro strukturiran. Pri reševanju slabo strukturiranih
problemov lahko nehote naletimo na skrite rešitve, ki so primernejše za
klasično programiranje. Prikriti algoritmi se običajno pojavljajo pri
kontrolnih mehanizmih.
Problemsko področje mora biti omejeno na ozko problemsko področje.
Ekspertni sistem ne vsebuje le ene domene, več domen pa pomeni tudi
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 29
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
večjo kompleksnost sistema. Kompleksnost pomeni težje vzdrževanje
ekspertnega sistema.
Uporabniški vmesnik
Uporabniški vmesnik skrbi za komunikacijo med uporabnikom in sistemom (z
bazo znanja in mehanizmom sklepanja) ter uporabniku omogoča, da lahko
posega v bazo znanja. Pomembno je, da tako kot vsi uporabniški vmesniki tudi
uporabniški vmesnik za ekspertne sisteme vsebuje kakovostno grafiko in
omogoča učinkovito komunikacijo z uporabnikom (Krapež, Rajkovič, 2003, str.
28).
Uporabniški vmesnik je eden kritičnih elementov celotnega ekspertnega sistema.
Slab uporabniški vmesnik lahko vodi v negativno oceno sistema s strani
uporabnikov, kar ima lahko za posledico njegovo omejeno ali neučinkovito
eksploatacijo. Oblikovanje uporabniškega vmesnika ekspertnega sistema je na
splošno zahtevnejše kot pri običajnih računalniških aplikacijah. Razlog je v
dejstvu, da so informacije, ki se izmenjujejo med uporabnikom in sistemom,
ponavadi kompleksnejše, procesiranje, ki ga sistem izvaja pa bolj sofisticirano.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 30
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
3 Obstoječe stanje
3.1 O podjetju
Podjetje 3 GEN deluje od leta 1996. Že od začetka se ukvarjamo s sistemsko in
operativno podporo velikih IBM "mainframe" sistemov in unix orientiranih
sistemov ter baz podatkov. Našim naročnikom zagotavljamo kakovostne storitve,
s katerimi smo si pridobili njihovo zaupanje. Tako že od samih začetkov leta
1996 podjetje stalno raste. Ta trenutek je v podjetju 23 redno zaposlenih,
večinoma visoko kvalificiranih strokovnjakov s področja sistemske administracije.
Naši naročniki so različni organi javne uprave.
Podjetje 3 GEN d.o.o. je uspešno slovensko podjetje, ki se ukvarja z integracijo
in skrbništvom informacijskih sistemov, upravljanjem z bazami podatkov in
aplikacijskimi strežniki ter svetovanjem na svojih področjih delovanja.
V podjetju 3 GEN sledimo trendom v informatiki, zato v zadnjem obdobju svojo
pozornost usmerja tudi v odprtokodne rešitve.
V podjetju 3 GEN se ukvarjamo predvsem z integracijo informacijskih sistemov.
Poleg tega skrbimo tudi za administracijo operacijskih sistemov, upravljanje z
aplikacijskimi strežniki in upravljanjem z bazami podatkov. Za vse prej omenjene
storitve nudimo tudi svetovalne usluge. Ena naših storitev je tudi zagotavljanje
optimalnih kapacitet za implementacijo informacijskih sistemov, po potrebi na
ključ.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 31
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Področja delovanja podjetja 3gen:
Integracija informacijskih sistemov
Osnovna dejavnost podjetja 3 GEN je integracija informacijskih sistemov.
Zagotavljamo metode, tehnike in orodja za povezovanje in uskladitev
uporabniških programov in podatkov, z namenom zagotoviti celovite in
povezane informacijske sisteme. Smo strokovnjaki za različne operacijske
sisteme (z/OS, Solaris, Linux, Windows), različne sisteme za upravljanje z
bazami podatkov in različne aplikacijske strežnike (CICS, Oracle IAS, IBM
WebSphere).
Migracije operacijskih sistemov in podsistemov
V podjetju 3 GEN imamo veliko izkušenj z migracijo operacijskih sistemov in
podsistemov. S to storitvijo našim strankam zagotavljamo prehod iz enega
računalniškega okolja na drugo.
Administracija operacijskih sistemov
V podjetju 3 GEN se ukvarjamo tudi z administracijo operacijskih
sistemov. S to storitvijo našim strankam zagotavljamo instalacije,
nadgradnje, odpravljanje napak, optimizacijo delovanja in nadzor nad
delovanjem.
Smo specialisti za naslednje operacijske sisteme:
z/OS,Solaris,
Linux,
Windows.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 32
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Upravljanje z različnimi sistemi za upravljanje z bazami
podatkov
Proces upravljanja baze podatkov obvladujemo celovito - od namestitve,
administracije, odpravljanja napak, optimizacije delovanja in vzdrževanja,
do zagotavljanja neprekinjenega delovanja, izdelave varnostnih kopij in
ponovne vzpostavitve.
Upravljanje z aplikacijskimi strežniki
Proces upravljanja z aplikacijskimi strežniki obvladujemo celovito -
namestitev, odpravljanje napak, optimizacija delovanja, administracija in
vzdrževanje. Specializirani smo za delo z različnimi aplikacijskimi strežniki:
CICS,
Oracle IAS,
IBM WebSphere.
Svetovanje
Na vseh področjih našega delovanja nudimo tudi svetovalne storitve.
Tako našim naročnikom nudimo pomoč pri načrtovanju, razvoju in
upravljanju informacijskih sistemov. Vedno bolj aktualno je tudi
svetovanje iz področja načrtovanja neprekinjenega poslovanja.
Svetujemo tudi na področju varnostne politike.
Stalno dežurstvo
V našem podjetju se zavedamo kako pomembni so za naročnika
informacijski sistemi, ki nam jih zaupajo v upravljanje. Zato smo razvili
posebno storitev, s katero strankam zagotavljamo stalen (24/7) nadzor
nad podatkovnimi bazami in operacijskimi sistemi.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 33
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
3.2 Pomen kakovosti opravljenih storitev za podjetje
Danes je najpomembnejše merilo kakovosti storitve popolna zadovoljitev
stranke, z drugimi besedami, za kakovosten proizvod velja tisto, kar popolnoma
zadovolji stranko, v okviru določenih meja proizvodnih stroškov. Zato je prava
kakovost tista, ki zadovoljuje predhodno izražene zahteve. Vendar pa je odlična
kakovost "prava kakovost", s kar najmanjšimi stroški za stranko in ponudnika
storitev.
Ker je podjetje 3 GEN predvsem storitveno podjetje, je tudi ključni cilj podjetja
opravljati storitve kvalitetno, hitro, zanesljivo in predvsem produktivno. Kot
dokaz, da je temu tako smo pred dvema letoma uvedli v podjetju tudi sistem
kakovosti po standardu ISO 9000-1. Ker so naši naročniki različni organi javne
uprave in ker je naše delo vezano na obdobje treh let od javnega naročila, je še
posebej pomembno, da si s kvalitetnimi storitvami ustvarimo "dobro ime", da se
lahko v naslednjih tri-letnih obdobjih zopet potegujemo za delo.
3.3 Identifikacija problema
Delo v podjetju lahko v grobem delimo na planirano delo ter na trenutno delo
oz. reševanje trenutnih problemov. O potrebi po strokovni pomoči oz. o
problemu obvesti sistemskega inženirja operaterska služba ali dežurni sistemski
inženir, ki je ekspert drugega področja. Tu gre predvsem za strogo ozka in
specifična področja posameznih ekspertov – strokovnjakov.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 34
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Proces potrebe po strokovni pomoči
Proces potrebe po strokovni pomoči lahko opišemo tudi grafično:
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 35
Slika 8: Proces potrebe po strokovni pomoči
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Iz slike procesa je razvidno, da problem operaterski službi javijo končni
uporabniki – stranke ali EVT – enotna vstopna točka. Operater nato vpiše v bazo
incidentov točen opis problema in oceni ali bo lahko problem rešil sam oziroma
bo za reševanje potreboval znanje specialista področja – eksperta. Če je
ugotovil, da potrebuje slednje, eksperta obvesti o problemu. Ekspert ima v bazi
incidentov že točen opis problema, zato se lahko loti reševanja. Ko problem reši,
v bazo tudi zabeleži kaj je bilo narobe in kako je problem rešil. Če problema ne
more rešiti, govorimo o "višji sili" in je potreben poseg razvijalcev operacijskih
sistemov, programske opreme in strojne opreme (recimo podjetja IBM, SUN
Solaris in drugih).
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 36
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
4 Prototip ekspertnega sistema
4.1 Baza znanja in mehanizem sklepanja
Baza znanja vsebuje znanja o specifičnem problemskem področju, se pravi,
dejstva oz. pravila, ki opisujejo relacijo med dejstvi in kot taka predstavlja
osrednji del ekspertnega sistema.
Mehanizmi sklepanja omogočajo aktivno uporabo znanja za reševanje
problemov, na primer za izpeljavo novih dejstev iz dejstev, ki so eksplicitno
shranjena v bazi znanja.
Dejstva in trditve so, v prototipu mojega ekspertnega sistema za pomoč
operaterjem pri delu z računalniškimi sistemi, predstavljena na enostaven in
transparenten način.
Recimo, da naš ekspertni sistem uči otroka kako mora iti čez cesto. V naravnem
jeziku bi se navodila glasila sledeče:
če je luč rdeča potem stoj,
če je luč zelena lahko greš.
Grafično bi lahko izziv predstavili tudi tako:
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 37
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Z ekspertno lupino CLIPS lahko to storimo na zelo enostaven način:
1. najprej definiramo pravilo za rdečo luč
(defrule rdeca-luc (luc-je rdeca ) => (printout t "Stoj!")),
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 38
Slika 9: Grafična predstavitev primera
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
2. nato pravilo za zeleno luč
(defrule zelena-luc (luc-je zelena ) =>(printout t "Pojdi")),
3. če povemo, da gori zelena luč, se pravi da luči nastavimo status na
zelena
(assert luc-je zelena),
4. in ga nato poženemo
(run)sistem pravilno pove, da se pri zeleni luči lahko gre z izjavo "Pojdi!".
Na enak način je predstavljeno znanje tudi v ekspertnem sistemu za pomoč
operaterjem pri delu z računalniškimi sistemi.
Kakor tudi pri otroku in luči, sta tudi tu baza znanja in mehanizem sklepanja v
prototipni rešitvi predstavljena kot množica pravil in definicij.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 39
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
4.2 Uporabniški vmesnik
Kakor sem že omenil, uporabniški vmesnik skrbi za komunikacijo med
uporabnikom in sistemom (z bazo znanja in mehanizmom sklepanja) ter
uporabniku omogoča, da lahko posega v bazo znanja.
Uporabniški vmesnik ekspertnega sistema za pomoč operaterjem pri delu z
računalniškimi sistemi, kakor je bilo omenjeno že v uvodu, je napisan v
programskem jeziku Java. Java je dovolj fleksibilna, da omogoča združitev
CLIPS-a ter izdelavo sodobnega uporabniškega vmesnika, ne glede na platformo
na kateri se izvaja. Na vseh računalnikih v sistemski sobi je instaliran operacijski
sistem SuSE Linux in ker je prenos kode CLIPS-a na Linux uspel, ni nobenih
zadržkov, da ekspertni sistem na teh računalnikih ne bi deloval.
Kot vemo je uporabniški vmesnik eden kritičnih elementov ekspertnega sistema.
Zato sem se držal naslednjih načel:
uporabniški vmesnik je zasnovan inovativno,
uporabniški vmesnik mora delovati zanesljivo,
in uporabniški vmesnik mora biti enostaven za uporabo.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 40
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 41
Slika 10: Glavno okno ekspertnega sistema
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
4.3 Funkcije prototipne rešitve
Kot je bilo povedano že v prejšnjih poglavjih je prototip ekspertnega sistema
skupek Jave in ekspertne lupine CLIPS. Zaradi lepše interpretacije podatkov, ki
do uporabnika prispejo preko mehanizmov sklepanja iz baze znanja, je bilo
potrebno v javanski kodi programirati to funkcionalnost.
Kode, ki jih CLIPS vrača Javi so naslednje:
Q1 – pomeni vprašanje, možni odgovori so da, ne in ne vem,
Q2 – pomeni vprašanje, možna odgovora sta da in ne,
A1 – pomeni odgovor.
Ekspertni sistem je zasnovan, da deluje samostojno, se pravi na delovni postaji
in brez strežniškega sistema. Ker pa vemo, da se baza znanja lahko spreminja,
je v ekspertni sistem dodana funkcionalnost osveževanja le te. To pomeni, da
uporabnik sproži osveževanje preko menija, aplikacija se poveže s strežnikom
preko HTTP protokola in sproži prenos baze znanja ter jo zapiše na lokalni disk.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 42
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
5 Zaključki
Prototip ekspertnega sistema je bil testiran na realnih podatkih v organizaciji.
Testiranje je potekalo v dveh sklopih. Prvi sklop je zajemal testiranje samega
uporabniškega vmesnika prototipne rešitve in dodatnih funkcionalnosti, drugi
sklop pa je bil predvsem namenjen vsebinskemu testiranju baze znanja in
mehanizmov sklepanja, seveda v povezavi z uporabniškim vmesnikom.
Testiranje je izvajalo ločeno tudi več operaterjev, ki so dobili nek namišljen
problem, ki naj bi ga s pomočjo prototipne rešitve poskušali rešiti. V vseh testnih
primerih se je izkazalo, da je bila uporaba sistema uspešna, kajti problemi so bili
rešeni 100%.
Glede na opravljeno testiranje in fleksibilnost prototipne rešitve menim, da je
primerna tudi za produkcijsko uporabo. Zaradi svoje odprtokodne naravnanosti
ter minimalne potrebe po sistemskih sredstvih, ne obstaja nobena cenovna
ovira, da se sistem v prihodnosti tudi implementira in uporablja.
Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi zaradi
svoje fleksibilnosti nudi veliko možnih smernic za razvoj. Kot prvo bi izpostavil
integracijo z delujočim produkcijskim računalniškim sistemom, kot preventivni
ekspertni sistem. Računalniški sistem ekspertnemu sistemu pošilja spremenljivke
in stanja sistema, ta pa glede na bazo znanja in mehanizme sklepanja zazna
morebitne probleme in jih poskuša že preventivno odpraviti. Tako bi lahko
zagotovili še boljšo razpoložljivost oz. zanesljivost danega računalniškega
sistema.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 43
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Literatura in viri
Bohanec, M., Rajkovič, V. (1995). Večparameterski odločitveni modeli.
Organizacija, Kranj.
Bohanec, M. Rajkovič, V., Večparameterski odločitveni modeli. http://www-
ai.ijs.si/MarkoBohanec/org95/, (11.4.2007).
Bratko, I. (1997). Prolog in umetna inteligenca. Fakulteta za računalništvo in
informatiko, Ljubljana.
Expert System Demos. http://www.exsys.com/demomain.html, (10.4.2007).
Krapež, A., Rajkovič, V. (2003). Tehnologije znanja pri predmetu informatika:
vodnik za izpeljavo sklopa tehnologije znanja. Zavod republike Slovenije za
šolstvo, Ljubljana.
Mesojedec, U., Fabjan, B. (2004). Java2: Temelji programiranja. Pasadena,
Ljubljana
Možina, S. et al. (1994). Management. Didakta, Radovljica.
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 44
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Nikolopolous, C. (1997). Expert Systems. Introduction to First and Second
Generation and Hybrin Knowledge Based Systems. M. Dekker, New York.
Rajkovič, V., Bohanec, M. (1988). Sistemi za pomoč pri odločanju. Organizacija
in kadri, Kranj.
Rajkovič, V., Odločitveni sistemi. http://www1.fov.uni-
mb.si/programiranje/uros/files/SPO/OS.zip, (11.4.2007).
Rajkovič, V., Kljajič Borštnar, M., (2006). Poslovni ekspertni sistem. Prosojnice.
SuSE Linux 8.1: User guide (2002). SuSE Linux AG
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 45
Univerza v Mariboru - Fakulteta za organizacijske vede Diplomsko delo univerzitetnega študija
Kazalo slik
Slika 1: Ukazna lupina orodja za razvijanje ekspertnih sistemov – CLIPS................. 6
Slika 2: Java pogled – razvojno orodje Eclipse.....................................................10
Slika 3: Večparameterski odločitveni model (Vir: Rajkovič, Kljajič, 2006)............... 14
Slika 4: Ekspertni sistem (Vir: Rajkovič, Kljajič, 2006)...........................................23
Slika 5: Predikatni račun prvega reda (Vir: Rajkovič, Kljajič, 2006)........................26
Slika 6: Semantična mreža (Vir: Rajkovič, Kljajič, 2006)....................................... 26
Slika 7: Okvir (Vir: Rajkovič, Kljajič, 2006)...........................................................27
Slika 8: Proces potrebe po strokovni pomoči........................................................35
Slika 9: Grafična predstavitev primera.................................................................38
Slika 10: Glavno okno ekspertnega sistema.........................................................41
Primož Kastelic: Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi stran 46