49
UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Diplomsko delo univerzitetnega študija Organizacijska informatika Ekspertni sistem za pomoč operaterjem pri delu z računalniškimi sistemi Mentor: prof. dr. Vladislav Rajkovič Kandidat: Primož Kastelic Kranj, maj 2007

Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 2: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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.

Page 3: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 4: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 5: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 6: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 7: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 8: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 9: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 10: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 11: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 12: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 13: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 14: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 15: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 16: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 17: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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)

Page 18: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 19: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 20: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 21: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 22: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 23: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 24: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 25: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 26: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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)

Page 27: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 28: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 29: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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)

Page 30: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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)

Page 31: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 32: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 33: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 34: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 35: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 36: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 37: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 38: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 39: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 40: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 41: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 42: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 43: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 44: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 45: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 46: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 47: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 48: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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

Page 49: Ekspertni sistem za pomoč operaterjem pri delu z ... · Ekspertni sistemi lahko na določenem področju emulirajo sposobnost odločanja in reševanja problemov človeških izvedencev

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