ex.
oft
EXPERT SYSTEMEN IN DE MARITIEME TECHNIEK
ES haalbaarhekkatudie naar de
toepas-sing van expert aystemen ten behoeve van
de bedlening, bewaldng en
onderhouds-beheereing van machine-in stallatles
RAPPORT OEMO 881054
R.H.T.M. Overea
Delft. december 1888.
Technlache Universiteit Delft Valgroep OEMO
Facultelt der Werktuigbouwkunde Marinelli° Werktuigkunde on Meritlame Techniek TNO IWECO
6.4
OPDRACHT-OMSCHRIJVING
In de laatste jaken Valt er een sterk toenetende belangstelling te
eonstateren op het gebied van kunstmatige intelligentie. Met name
is er een grote interesse voor toepassing van de zgn.
kennis-systemen weekender expert sytteMen.
Om in de maritieme sector, wear door toenemende autometiSering het operationele bedrijf Elan boord steeds compleXer wordt, een veilige
en efficifinte bedkijfsVoeking met een geoptimaliseerde bemanning
to lUnnen garanderen, is het noodzakelijk systemen te ontwikkelell
die dit mogelijk maken. Net toepaasen van expert syttemen
in
machinekamerinstallaties als bealissiftg-ondersteunend gereedschap voor de scheepsWerktUigkundige lijktgoede perspectieven te bieden.
Een eerste aauxet
in
de toepassing van eXpert ayttemeñ valt tebespeuren bij enkele motel-eh fabkikanten en Lloyd's Register of
Shipping- Verwacht wordt dat deze tendens
zich in
de toekomtt voort zal zetten.Net 4e jaaks cUrstsVerk omVat het Verrichten van een studie near de
togelijkheid om expert systemen toe te passen
in
seheepemachine-installaties. Deze studie zal de volgende aspecten beliChten:
Hen algemene beschrijving van expert systemen, VI Ben studie near de bestaande programmatUUt.
gen studje near
0
toepAssingstogelijkheden van expertsysteMen hij de bediening, bewaking en onderhoudsheheersing
van machine installaties, in bet bijXonder aan boord van schepen. Met name de diagnose van het storingsgedrag tan
Ben studie in samenwerking met de Nederlandse reders naar die machineinstallaties waarbij bediening, bewaking en
onderhoudsbeheersing door expert systemen rendabel is.
flit
4ejaars
cntensweik 2a1 ale Voptstedie dieben Vent hetuiteindelijke afstudeerwerk.
Afhankelijk van de resdltaten Van deze studie god een prototype van
een diagnostisch expert systeem ontwikkeld kunnen warden. Ben
nauwkeurige omschrijving van het afstudeerwerk zal te zijner tijd
yolgen:
Deze opdracht is aangevangen op 1 september 1988. Het rapport met
refsrentien4Mmer
OPID 88/054 en ingebondenin
TV band, dient Uitetlijk 1 januari in zesvoud ingeleverd te Warden.VOORWOORD
flit rapport is het result eat van het cursuswerk, uitgevoerd ten behoeve van de vakgroep Maritieme Werktuigkunde van de faculteit
Werktuigbouwkunde en MaritleMe_ Techniek van de Technisphe
UniVetsiteit te Delft. Net ohdertoek is uitgeVoetd bij TNO-IWECO in de periode van september 1988 - deceMber 1988.
Game wil:ik Dhr. BW. Jaspers Van TNO-IWECO en Prof. J. Klein Woud van de faculteit WerktuigbouwkUnde en Maritieme Techniek
bedanken Voor hun begeleiding tijdens het onderzoek.
TeVens,Wil ik de heteb A.C. Van Dorp, R.J. Gmelig Meijling en
fl.u Hansen van :respeCtievelijk rederij Gebr. Broere, de
Roninklijke Marine en NedllOyd rederij diensten bedanken voor 4e
v1sie
die zij over dit onderwerp gegeVen hebben.Speciale dank ben ik verschuldigd aan Margot Spruljt voor het
controleren en cortigeren van dit rapport.
Delft, december 1988.
SAMENVATTING
Scheepsmachine-insailaties zijh in de loop der tijden uitgegroeid
tot zeer complexe, in hoge mate geautomatiseerde en ktitisch
fUnctionerende installaties. De tijd eh de mankracht ten behoeve
Van de bediening, bewaking en onderhoudsbeheersing van deze
installaties zijn daarentegen voortdurend gereduceerd
Door toepassihg tan nieuWe technologiedni zoals bijvoorbeeld de
kunstmatige intelligentie is het mogelijk een veilig en econotisch aanvaardbaar operationeel scheepsbedrijf te bewerkatelligen-. Met nape expert systemen biedem nietwe OetSpectieten op het gebied van
de bediening, bewaking en onderhoudsbeheersing van
scheepsmachie-installaties.
Set expert systeem, Waarih de kennis van vele experts betreffende een specifieke gebied separaat van het gevolgtzekkingsmechanisme is op geslagen, biedt de mogeijkheid de scheepswerktuigkUndige te
assisteten
bij
het nemen Van.beslissingen, en deze met uitleg te dienen over de gevolgde tedeneetttant- Hierdoox wort het mogelijk dat de scheepswerktuigkundige op een snelle, doeltreffende wijze storingen kan diagnostiseren en verhelpen, alamede werktUigen opverantwoorde
wijze
kan bedienen, betaken eh onderhouden.Expert systemen kunnen antwikkeld warden met behulp tan
fundamentele kunstmatige intelligentie talen zoals LISP en PROLOG, of met behulp van comventionele pkogrammeertalen als C en pascal. Gebruik van een expert aysteet shell biedt de mogelijkheid, relatief snel tot een functionerend expert systeem te komen. Bij
dergelijke programmatuur is het gevolgttekkingsmechanisme al
aanwezig, zodat alleen de kennis door middel tan IF THEN regels
toegeleverd behoeft te worden.
De kennis, die als grondstof yoor nil expert systeem dient, is te
verdelen in feitenkennis en etVatingskennis, met name het ontrekken en expliciet maken van de ervaringskennis is een moeilijk proces.
De techniek van kennis-acquisitie biedt een aantal methoden die
deze problematiek tegemoet komt.
Expert. systemen zijn op een groat aantal gebieden 'sap board
inzetbaar. Deze gebieden etrekken zich uit van stOringsdiagnoae en brandstofkarakterdsatie
in
de machinekamer tot een hulpmiddel omradarbeelden te interpreteren en de stUurman te assisteren bij het navigeren in onbekendivaarwater. Deze applicaties zijn allemael alt
autOnome eenheden te beschouwen, doch het verdient de aanbeveling
te stteven naar een samenhang om in de toekomst tot een
INHOUDSOPGAVE OPDRACHT-OMSCHRIJVING i VOORWOORD iii SAMENVATTING iv 1
imiguam
11.1 Machine-installaties en de intereese
in
eXpert SYstemen 11.2 Doel van het onderzoek 3
1.3 Opbouw van het rapport 4
2 ExpEgT SYSTEMEN. . .
. ... ,
.. ... .
52.1 Algemene omschrijving 5
2-2 Geschiedenis 7
2-3 be opbauw van een Expert SYsteem
9 2.3.1 be knoWledge-base 9 2.3.1..1 Semantische netwerken 12 2-3-1-2 Frames 13 2-3-1.3 ProductieregelS 15 2.3.2 Het jnferentie-machanitte 16 2.3,2.1 VootWaarts redeneren 17 2.3.2.2 Achterwaarts redeneren 17 2,3.2-3 Voor- en nadelen . 19 2.3.2.4 Gecombineerd redeneren . . 20 2.3-3 Net gebruiketsinterface 21
2.4 Programmatuur voor de opbOUW van expert systemen 22
2.4.1 Programmeettalen voor expert systemen 23
2.4.1.1 LISP 24
2.4.1.2 PROLOG 26
2.4.1.3 Procedurele talen 30
2.4.2 Geintegreerde ontWikkelomgevingen . . , , 30
2.4,3 Expert SySteem shell 30
2:5 Rennis-acquisitie 32 2.5.1 Prototyping 34 2.5.2 SystematiAche kennisVetWetving 39 2.5.3 Geautoatiseerde kehnisverwerving 41 2-6 Conclusies 42
3 BEDIENING, BEWARING EN ONDERHOUDSBSHEERSING VERSUS ExpEger SYSTEMEN
44
3.1 Ambacht -> Techniek -> Technologie
44
3.2 Bediening, bewaking en onderhoudsbeheersing 47
3.2.1 Bediening en bewaking 47
3.2.2 Onderhoudsbeheersing 48
3.3 De huidige stand van aUtomatisering aan boord 52
3.3.1 Conditiebewaking 57
3.3.2 Storingsdiagnose 59
3.4 AUtomatisering in de toekost 61
3.5 De toepassing van expert systemen 3.5.1 Inleiding
3.52 Voorvaarden toot toepassingsgebieden
3.5.3 Mogelijke toepassingagebieden 63 64 66 3.5.3.1 Storingsdiagnose . 67 3.5.3.2 Brandstoffen diagnose 68 3.5.3.3 Performance optimalisatie 69
3.5,3.4 Onderbotdsbebeersing ,-predictie en -planning 70
3.5.4 ,Enkele toepassingen nit de praktijk 71
3.5.5 integratie van expert systemen met aahVezige monitoring
apparatuur 75
3.5.6 Geintegreerde expert systemen 76
3.6 Acceptatie
door
bekanning 784 CONCLUSIES 79 5 LITERATUURVEEWIjZING 80 liiI4AGE I 84 BIJLAGE II 86 BIJLAGE III 89 BIJLAGE IV 90 BIJLAGE V 91 BIJLAGE VI 94
1 IMLEIDING
1.1 Machine-installaties en de interesse in expert svstemen
In de maritieme sector geldt eveneens als bij alle andere
indsstriele sectoren dat de wijze waarop machine ihstallaties
bediend, bewaakt en ohderhouden wotden, grote invloed hebben op de veiligheid en efficientie van het operationele gebruik.
De ScheepsMachine-inStallatie is door toenemende automatisering en
door kritische bedrijfstoestanden steeds complexer geworden. De beschikbare tijd voor het plegen van onderhoudsWetkzaamheden aan boord tijdens het operatiOnele bedtijf is eChtet Steeds korter
geWotden. flit om een efficiOnte bedrljfsvoering te garanderen.
In het genl van een gesignaleerde storing zijh tOmenteel de
Volgende fasen te onderscheiden (22]::
Detectie, Compensatie,
Storingsdiagnose, Correctie.
Van bavengehoetde fasen leVert de
storingsdiagnose
de meeste Oroblemen op. Mede door het steeds complexer en geavanceerderworden van de machine-installaties !can het diagnostiseren van
storingan met behuip
van
handboeken een tijdkoVende zaak aijn,waarbij teVens de mogelijkheid optreedt dat Vetkeerde maatregelen
getroffen WOtden zoals by. het vervangen of repareren van onderdelen en/of deelsystemen die intact zijn.
De kennis en ervaring van de scbeepswerktuigkundige speelt een
belangrijke rOl bij het stellen Van eeh diagnose. flit omdat
bepaalde stotingen zich ih,de tijd herhalen en de zelfde symptomen tich ten toon spreiden. De scheepswerktuigkundige gaat deze
symptomen herkennen waardoor hij speller tot een betrouwbare
diagnose komt.
Ben expert is een persoon met veel henna betreffende eehspecifiek
gebied. Bij/zij kan deze kennis Vetkregen hebben door ervaring en/
of stud. ten scheepsWerktuigkundige met een aantal jaren etvaring
is naast de ontwerper en de service engineer een expert op het
gebied van
het
opderhoUd en de bediening vanscheepsmachine-installaties.
Net blijkt dus dat kennis eep zeer belapgrijke vol Speelt bij de
bedienipg; bewaking en ohdethoudsbeheersing van
machine-installaties. Bennis is echter schaars en teestel niet op het
juiste tijdstip en de juiste
pleats
voorhanden.Om deze problemen te eiimineren zoU het togelijk moeten zijn om
}tennis op te slaah en te copiOren om het zo op peardere plaatsen
gelijktijdig beschikbaar te hebben. Daze kennis kart Vetvolgens
aangewend worden voqr bealissingsondetstewhihg en scholings-doeleinden Expert syttemen bieden den mogelijkheden.
Expert systemen ofwel "knowledge based systems" zijn
computer-systemen waarin kennis omtrent een specifiek gebied op electronische Wijze iS vastgelegd. Deze kennis is op een dusdanige manier opgeslagen dat de gebruiker de kennisbank Via een
gebtuiksvriendelijk interface kan benaderen en dat door middel van
een dialoog van
waarschijnlijke
kap worden.
Doot Middel Van
tijd nodig voor beperken.
vraag en aptwoord met de computer al redenerend de
oorzaak van de stoting of alarmering achterpeald
dit soort computertoppassingen is het togelijX. de het onderhoud mat
nape
voor de Storingsdiagnose te1.2 Doel van het onderzoek
Het doel Van dit ondertoek is een Uitspraak te doen omtrent de haalbaarheid van de toepassing van expert systemen bij de bedie
rang, bewsking
en
onderkloudebeheetsing van lachine-installatieS,in het bijzonder aan bootd Van Sdhepen. Met name de diagnose van
het storingSgedrag is hierbij van belang. Met behulp van zo'n
expert systeem zou het mogelijk woeten zijn de scheepswerktuigkundige te ondersteUnen bij het nehen Van
beElittingen, OOdat hij op een snelle, efficifinte en betrouwbare
wijze een storingsanalyse kan geven.
1.3 Oobouw van het rapport
In hoofdstuk 2 Wordt een algeMehe beschouwing gegeven van expert
systemen. Hierin wordt aandacht besteed aan de structuur tan
expert systemen, met name 4e mogelijke manieten tan-
kennis-representatie,
de
redeneetstrategiein an bat gebruikersinterfaceWarden bier beschketen. Tot slot wordt een beschrijving gegeven van
de programmatuur waarmee expert systemen ontwikkeld kunnen warden en de problematic); tap de keppincquisitie.
Hoofdstuk 3 handelt over de toepassing van expert systemen ten behoeve van de bediening, bewsking en onderhoUdsbebeekaing Van
machine-installaties. Hiertoe wordt eerat een omschrijving gegeven Van de huidige stand van automatisering aan boord en de tpegepaste onderhoudstrategieih. Vervoigens warden de randvootwaarden beschreven
waaraan
eentoepassingsgebied'dient te Voldoenopdat eenexpert sySteem succesvol toegeOast kan warden. Hinnen het kader van
deie tootwaarden Warden vervolgens enkele potentieel geschikte
applicaties genoemd.
Tot slot Van dit hOofdatUk WOrdtaandacht besteed aan de integratie
Van expert systemen met de al aanwezige monitoring apparatuut en,
aan geintegreerde expert systemep die het gehele operationele
scheepsbedrijf ontatten, alstede de acceptatie door de bemanning
KUNSTMATIGE INTELLIGENTIE
Figuur 2.1
KUNSTMATIGE INTELLIGENTIE
Knowledge Based Systems
expert systemen lerende eystemen
beeld herkenning
2 EXPERT SYSTEMEN.
2.1 Alternate_ tmschriivina
Expert systemen vormen een onderdeel van de kunetmstige intelligen
tie (figuut 2.1). Dit Vakgebied dat ook wel "artificiale
intelligentie" of "machine intelligentie" wordt genoemd,
is
hetdeelgebied van de informetica dat
zich
bezighondt met het gebrtikvan computers bij taken die nottalitet kennls, perceptie,
redeneetkunst, begrip en andere soortgelijke cognitieve processen ereisen- Met andere woorden het op dusdanige wijze progtammeren van computers zodat den taken kunnen Uitvoereh, die, els ze door
mensen Uitgevoerd zoUden Warden, intelligentie zouden vereisen.
De machine intelligentie richt zich voornamelijk op niet-nUtetieke
processen die complexiteit, onzekerheid eh de aanwezigheid van meetvoUdige betekenissen als kenmetken hebben. Een groot verschil met de conventionele programmatuur is dat machine intelligentie
gebruik maakt van een kennisbestand, een geVOlgtrekkingSmechabiame
omvat, en er bijna altijd zoekproceddres gebruikt worden om het
oplossingsptoceS
in
een bepaalde richting te sturen.Met betrekking tot expert systeMen kUnnen We aangeVen dat het
intelligente cotpUtet sYstemen zijn die specialistische kennis
beVatten. Intelligent wil in dit verband zeggen dat het systeep ken
*etken met logische verbandenl "Als dit en dit zo is, dan
Voor het geval dit redeneren materifile zaken betteft, zgn
objecten, moet het niervan de eigenschappen kennel'''. De
specialis-tische kennis voor een expert sySteem omvat dus rowel de logische
eigenschappen-Door toepassing van denknethoden, Vuistregels (heuristieken) en
objectkonnis die een deskundige oak gebruikt, is een expert systeem in Staat zelf conclusies te trekkers.
Omdat b*j een expert systeem de denkroutine en de
gegevens.-verwerking niet vastligt in een vooraf opgesteld scheme, heeft het
systeem een hoge greed van gebrniksVriendelijkheid op het gebied van explicatie van 0 gevolgds redeneertrant die tot een bepaalde
oplossing leidt. Deze eigenschap is nodig am de acceptatiegraad van de 4ebtUlker in het expert systeem te vergroten.
Voor het begrip expert sytteem geldt de volgende definitie: [1]
Ben Expert systeem is een computerprogramma met ingebouwde
logische kennis en veelal met een uitgebreide gegevensbank
ter ondersteuning van die kennis, waardoor het kan
functio-neren als een deskundige.
Het systeem kan clus een intelligehte Steun zijn voor een
des-kundigei meat ook doeltteffend gebruikt warden door een niet
deskUndige o0 het gebied waarvoor het expert systeet ontworpen is, ook wel domein genoemd,
Kennisvormt 4e.ru4gegraati %tan het expert systeem. We onderscheiden
twee soorten kebnis:
De feitenkenn*s
van
het terrein of domein waarop het expertsysteem bettekking heeft, dit is de algemeen verbreide
kennis wear deskundigen het over eens eijn en die te Vinden
is
in
Vaktijdschtiften en leerboeken.De heuristische
kalaniai
die voOrnamelijk bestaatnit
prak,-tische ervaripg op een Oen inzicht in het vakgebied, de zgn. "knOW-how". Deze ervaringskennia wordt door eel*
specialist verworven in de lotp der Jaren_
be kennisingenieur (knowledge engineer) is verantwoordelijk Voor
het cteeren van het kennisbestand. Be domeinspecielist leVert
de
specifieke 'tennis voor de opbouw van het expert systeem.
Saest alle mogelijkheden van expert Syttemen hebbenzij de
volgende beperking:
Expert systemen kunnen niet, zoals menselijke experts dat wel kunnen, kennis reconstrueren en reorganiseren en
vergelijkingen maken. Bij een probleem dat buiten het
expertise gebied valt kan een menselijke expert parallellen
trekken en overeenkomsten zien met eerderopgeloste problemen.
Dit associatief vermogen mist de electronische expert.
2.2 Geschiedenis
RUnstkatige intelligentie komt voort uit de cognitieve psychologie
ten tijde
van
de tWeede wereldoorlog: De eerste toepassingenstammer; echter (lit de jaren vijftig toen de computer breder
toepasbaar werd. In de jaren zestig verschoof de nadilik- van de
pSychologie naar de salgemene probleem oplossers". Onderzoekers
raakten geinteresseerd in robots en bet Oplossen van
schaak-problemen met behulp van de computer. In deze periode werd
teVens de AZ' teal LISP ontwikkeld.
Its de jeren zeventig Werden de eerste expert .systeinen ontwikkeld.
Enkele net bekend uit deze tijd zijn: [1],[2].
DENDRAL
bit wordt als eerste el-4*ft systeem beschoUwd. Het is
een
sys teem dat een. analyse maakt van de molekulaire structuur van
MYCIN a9761
Pit eXpert systeet beWeegt zich op het gebied van de
infec-tietiekten, levert diagnoses en schrijft medidijmen Voor. In
MYCIN werd voor het eerst gebruik getaakt van IF-THEN regels
met zekerheidsfactoren en er werd uitsluitend terugwaartS
geredeneetd..Veel.van de huidigediagnostische expert systemen
tijn
afgeleid van dit systeem. MYCIN Werd later ontdaan vanzijn specifieke mediache kehnis op het gebied van
imfettieziekten, eh Wetd beschikbaar gesteld als een okpett
systeem tondet kennis, EMYCIN (Empty
NYcIN).
Hietkee was heteetste expert systeem shell progkatma ont*ikkeld.
HEARSAY (1977)
Pit is het meest uitgebreide expert sytteem voor de analyse
van spraak. Het- systeem moest in staat zijn om normale
spreekteal met een WOokdenschat van 1.000 wporden geed te
vekwerken.
Tot can het begin van 1984 zijh er in de Verenigde Staten van
Amerika
en
in Groot Britannia ruim 180 projectenvan
start gegaan011 het gebied van expert systemen. Slechfa Oen tWintigtal van deze
projecten heeft daadwerkelijk geleid tot een bevredigend werkemd
expert systeem [6].
Ala reden kan hiervOor worden aangevoerd:
De systemen zijn over het algemeen gebouwd els studie
object,
Gebrek ?sap adequate hardware, de systeme Weren-erg tkaag
en
Stelden Vaak itrelevante vragen aan de gebtuiker- Ditspeelde vaak een grate rol bij de acceptatie,
Veelal bestrijken de systemen slechts een deel
van
hetkennisdomein uniat er toch een menselijke expert
gekaad-pleegd dient te WOkden en het gebrnik van earl dergelijke Systemen geen tijdwinst oplevert.
EXPERT SYSTEEM
KARAKTERSTIEKE STRUCTUUR
KNOWLEDGE-BASE FIguw GEBRUIKER GEBRUIKERS INTERFACE INFERENTIE-MECHANISME2.3 De opbouw van eeIL.ExDert svsteem
Een expert systeem bestaat
in
zijn meest algemene von uit devolgende basiseemponenten [3], (figuur 2-1)
De knowledae-base of kennishankj hierin steen de feiten,
veronderstelUAgen, regels On heUristieken die temakenhebben
met het dotein Van het probleem.
De workbase, dit is de data-base die gedUrende de consultatie
opgebouwd wordt met feiten%die bekend zijm, of achterhaald
warden yen een sPecifiek probleem. Deze data-base
is
this vootelke consultatie verschillend.
Het-inferentiemechanisme of gevolgtrekkingsmechanisme on de
_
kennis uit de knowledge base te benaderen bij het oplossen van een probleem.
Het_aebtUikere interface on de conversatie met de onervaten
computer gebruiker mogelijk te Mneh, en 4e centersatie van
andere gebruikers set het systeem te tetgemakkelijken.
2.3.1 De knowledae-base
De opgeelagen kennis ken OP een aantal-manieren binnen het systeem
gerepresenteetd worden- Doel van deze represeptatie is de kennis
zo te otganiseren dat het programme de kennis getakkelijk kan
benaderen on beslissimgen te nemerh
In de knowledge base Onderscheiden We twee soorten kennis
up].
Op de eerste plaatt de objecten (woorden en begrippen) die een.eXpetten later de gebruiker nodig heeft. Daarnaast dient worden vast
RULE-BASE
Figuur 2.3KNOWLEDGE BASE
KNOWLEDGE BASE
DATA-BASE
FEITEN
RULES
gelegd hoe deze ohjecten met alkaat in Verband staan. Zo'n
definitie Van WoOtden eh begriOpen kunnen we zien als een soort
verklarende woordenlijst. We kunnen dit yergelijken met de
declaratie van variebelen
in
een conventidneel computerprogramma,en we noelen dit gedeelte tan de kennis ook de declaratieve kennis.
Deze statische, declaratieve kennis zal tijdens de
consultatie-sessie warden aengevuld met dynemische kennis diaelleen betrekking heeft op de huidige sessie. Zo klinnen We in een diagnosesysteem van
een leidingSysteem met filter, pomp en koeler [Bijlage II] het begrip "vervuiling van koeler" opnemeri, met daerbij de opmetking dat die afhankelijk is van het begrip "drukverschil otei koeler".
Tijdens de consuitatie Wordt Van beide begrippen de wagrde
VaStgesteld Bij "dtukverschil" zal het systeem willen weten, wat
de druk aan de intree- en uittreezijde van de koelet is en zal het controleteg of deze waarde tUssen bepaalde grenzen ligt.. De kennis dat bet "dttskVarschil" een waarde is die kan wort:len bepaald met
behulp van manometers, is declaratieve kennis. Tijdent een
consultatie krijgen
de
begrippen this eenWeat4e
toegekend die ofvan buiten Wordt Vetsttekt, of door het systeem zelf wordt
afdeleid. zal het begrip "drukverschil" door de gebruiker moeten
worden vetstrekt en zal "vervuiling" door het sIdteet worden
afgeleid tilt het "drukverschil". De Informatie waarmee we echter
deze concludie 16:Innen ttekken wordt
op
een andere manier VaStgelegd tozal
de procedurele verklaring yen "verVUiling" weergeven dat als het, "drOverechil" groter is dan z bar, er sprakeis
yen
"vetyttiling". Hierbij. *otdt this niet verklaard wat"vetvuiling" is, alleen hoe we kunnen constateren of daarvan sprake
is.
Pen behoeve van de overzichtelijkhei& deien we de kennis in een
expert systeem in naar bun gatd: de declaratieVe kennis komt in de data-base, de procedurele 'kennis gaat in de rulebase. De combinatie
van de data-base en rule-base noemen we collectief de
knowledge-base (figaut 2.3).
KENNIS
KENNIS / KENNISREPRESENTATIE
Flguur 2.3b DECLARATIEVE KENN'S PROCEDURELE KENNI8 SEMANTISCH FRAMES PRODUCTIE LISP PROLOG II FORTRANDe data-base van een expert systeem bevat this elle feiten, waarover
het
syteem lets moet kunnen zeggen. Wet de werke1ijke waarde vaneen feit is, wordt pas tijdens de uitvoeting Van het it:qt.-Slime
bepaald. In sommige geVallen zullen de waarden kunnen worden
verkregen door het raadplegen van een andere data-base, bijvborbee1d Van een cenventioneel databestand.
Naast de begrippen declaratief en proceduteel voor kennis kunnen
we deze begrippen ook gebruiken voor de wijte waarop de kennis is
vastgelegd.
Net is mOgelijk de kennis op te hemeS
ale
ondetdeel van hetptogritma, duS tin of. meet Verborgen in de structuur. Wanneer het programme gecompf1eerd is, zal na het draaien van
pet programme
toteen bowie/de conclusie geRomen warden,
doch
de manier weardp deteconclusie echter Werdt gettokRen ligt opgesloten in de programmacode. Het stukje pascal-programmal
IF drukverschil ) 10.0 then
vervuiling := 'TRUE'
is een vOrm van procedUrele vastlegging.
Gegevens ktntien
oak
declatatief met een symbolischeprogrammeertaall worden vastgelegd. Hiertoe warden de gegeveng
in
bun oorspronkelijke norm
in
een data-base opgeslagen. KenmetkendVogt een -expert systeem is, dat het eel's Vetklaring moat kunnen
geVen Van de wijze *estop het tot zijn conclusies komt. Dit
impliceert dat van de procedurele en declaratieve talen, alleen de laatstgenoemde geschlkt is.
Kennisrepresentatie hoUdt tich Voornamelijk bezig met de manier WearOp We boVehgehoemde informatie kunnen vastleggen.
1 LISP of PROLOG, zie paragraaf 2.4.1.
IS EEN
SEMANTISCH NETWERK
VAARTUIG
I
IS EEN OORLOGS KOOPVAARDIJ SCHIPI
SCRIP IS EEN IS EENM-FREGAT I
TANKER
Figuur 2.4 HEFT EEN L1AisiVOORTSTUWINGS I NSLLATIEHiertoe onderscheiden we de volgende methoden: [1],[3]
Semantische netwerken, Frames,
Productie regels.
Ervaring heeft geleerd dat geen enkele representatie methode
geschiat is voor elle typen kennie. Sommige methoden lenen zich
beter vpor het vaetleggen van declaratieve kehnis terwljl de andere Meer geschikt
tijn
toot het Vaatleggen van procedurele kennis.Semantische netwerken en frames zijn de meest toegepaste
represen-tatie methoden voor declaratieve 'tennis, terwijl de productie
regels vooral geschikt zijn Vpor het Vastleggen van procedurele
kenhis.
In de volgende paragrafen volgt een kprte owschrijving van de
bovengenoeode methodexn
2.3.1.1 Semantlsche netwerken
SU het gebruik van semantische netwerken worden de eigenschappen van, en relaties tussen objecten, gebeurtenisseni aithaties of acties beschreven,door pen grafische strUctuuk. Deze atructuur bestaat uit een aantal knooOpunten die verbonden zijn met
verbin-dingslijmen.. Den verbindingsIijnen omsehrijven de relaties tussen
de knooppunten.- De knooppunten zUn
de
Objectene gebeurtehissen,situafles of acties Twee %reel. gebrUiXte telaties bij deze represantatie methpde zijM; "IS EEN" en mBEEFT KEN".
In fignur 2.4 zien we een eenvoudig semantisch netwerki waarin
enkele objecten (zoals M fregat, oorlogsschip, tanker en voortstuwingsimstallatie) en bun onderlinge relaties zijn gedefinieerd.
Uit het netwerk blijkt: "sen M fregat is een oorlogsschip" en "Een
ootlogsschip is een vaartUig". Uit bovenstaande telaties kan een
derde relatie afgeleid Warden: "Een M fregat is ean. vaartuig".
gelaties zoals "IS EEN" en nillEEFt EEN" geVen een zekere mate van
etfenis hierarchie ;Lan het netwerk. flit houdt in dat objecten lager
in het netwerk eigenschappen van objecten hoger in het netwerk
kunnen etven. Ze is de voortstuwingsinstallatie slechts Genteel
op het Vaartuignivo opgeslaget tetWij1 beide typen schepen Op een
lager nivo er gebruik Van taken.
_Semantische netwetkeh Zijn zeer
populair
out nun zeer aansprekendemanier Van tepresenteren en hebben Als voordeel dat door de
hietardhle eigenschap vet* geheUgehrUimte bespaard wordt.
Een nadeel van deze tethode is dat de netwerken zeet groot en
onoverziqhtelijk kithiien wordenbij complege problemen. flit probleem
is voar een deel op te lessen door het tangsthikken van gegeVeng
in
logisch bijelkaar
horende ohderwerpen. flit opdat de knowledge engineer een gbed ovetzicht over de knowledge base kan behouden.2-34.2 Frames
Voor het Vastleggen van gegevens die We over eenbepaald. felt hodig
hebben, kunnen we oak geOrulk taken van frames. Hieritt Warden de
belangrijkste eigenschs00en Van het object Vastgelegd in slots
(of
rubrieken). Een frame is te vergelijgen net een record uit een
conventioneel bestand. De inhoUd van een frame is echter geheel
vatiabel en afhankelijk van de situatie.
leder frame bait een speciaal slot van het type: "IS ERN". Met
dit slot is het togelijk een hierarchische strUctUur op te batmen
waarin frames ei4entdhappen van elgaar kUnnen erven. flit kOtt
oyereen met de HEN en HST HEN" relatie bij het semahtische
netWerk. Met deze overervingseigenschap is het mogelij* frames
op
dezelfde mantes- te organiteten als een semantisch netwerk, met dat verschil dat nit elke knoop in het netwerk een frame vocorstelt.
KAREL
NEST
Figuur 2.5FRAMES
VOGEL Zwart Onbekend ek voodoo Beest Veren %carmen Is-type NEST HUM VOGEL Takken BOOM(//cmy)
De eigenschappen omschreVen in de slots, gecOtbiheerd met de
overervingseigenschappen van een frame, representeren de
declare-tieve of statische kennis van een object. Hiernaast
is
het ookmogelijk de Otodeddiele kehhis in slots ohdet te brengen. Teheinde
dit te bewerkstelligen Zijn de volgende procedures beschikbaar:
"IF-NEEDED" 1 deze procedure wordt geactiveerd indien details nodig
zijn e4 de "IffADDED" procedure, die gesctiveerd wordt indien de Waarde Van een bepaald slot Vetandetd.
In figuur 2:5 is een voorbeeld van frames weergegeven. In dit
voorbeeld 'etfV KAREL
elle
eigenschappen van een VOGEL en indienKAREL hanger heeft zal de opdracht of procedUte volgen: Ga op zoek
naar voedsel. flit is mogelijk door kleine stukjes prograMma, die geactiveerd warden als een bepaalde situatie zich voordoet.
Frame-systemen zijn bijzonder nuttig om op fezibele wijze compleze data-basestrUctUrem te bOUWen.
Voordelen van kennisrepresentatie door middel van frames zijn:
p.
InforMatie over elk Object is centraal opgeslagen.
Toenudering en manipulatie van de informatie
is
eanvoudig.poor overervingseigenschap kOmt geen dubbele inforMatie voor.
4 Bepaling tan nieUMe warden Wordt pal Uitgevderd indien
noodzakelijk-Als nadeel van deze methode geldt dat nsgst de zelf toe te voegen procedures de frame-StrnotUUr geen ingebouWde mogelijkheid heeft
Om met de aanwezige data problemen op te lossen. Dit in tegenstel-ling tot de kennisrepresentatie met productieregels (par 2.3.1.3).
Productierecels
_ _De voorgaande methoden Van
kennisrepresentatie waren utermate
geschikt Voot het vastleggen
van declaratieve /tennis zoals feiten
en
gegeVensstructuren.
Practieregels
zijn
dearentegen
Meer
geschikt voor het vastleggen *an
procedurele kennis.
Productieregels bestaan uit
een IF deal en earl THEN deel. Het IF
deel geeft de condities
aan wasrean Voldaan dient te warden
am een
actie.of conclusie door het THEN deel uit te laten
voeten of te
laten trekken, Elite regel Staat garant voor een deeltje
kennis.
Productiesystemen
*orden
het
meest
toegepast
in
kunstmatige
intelligentie programme's
om kennis
te representeren over het
hendelen van personen in specifieke
situaties. TOepassingen zijn:
medische diagnose,
sPraakherkenning en modelleten van menselijk
denkpatrodn.
_IF
Filter is schoon, and
Persdruk pomp is lag, and
Zuigafsluiter staat open, and
Persafsluiter staat open,
THEN
Pomp is waarschijnlijk vervuild.
Voorbeeld van productieregel (zie
bijlage II).
Vootdelen van het gebtui.k
van productieregels Zijn
Nbdulariteit. Regels kunnen direkt
toegevoegd of verwijderd
Sotden, zonder dat andere tegels
aangepast: dienen te worden.
Dit omdat de regels elkaar niet direkt aantelepen.'
Uniformiteit. Door de strakke structItUr ziln de regels
gemakkelijk te begtijpen en Zijn ze eenvoudig te manipuleren
door het inferentie-mechanisme.
HatUurliikheid. Be cPbouw van de regels is een natuurlijke
wijze voor de Mens om zijn kennis tilt te drukken. Vooral in
vooraf YeSt1i4ge44e 0-tIketieS
Be modulariteit en het onafhankelijke kerakter van de regels, welke
de
toepassing
VOorrepregentatie
Vanprocedurele
kennis
Zoaanttekkelijk maken, maken de regels minder geschikt voor het
representeren van objecten, hun eigenschappen en bun statische
relaties. Erames bieden in deze situatie de meeste'voordelen. In
een produotietYsteermodt de reptesentatie van object eigenschappen
verdeeld worden
over meerdere
afhankelijke regels,
zodat
4e
samenhang verdwijnt. Nome:a:steel zijn programme's in OntWikkeling
Waarin het mogelijk is prodUctietegels idet frames te
combineren-Hierbij wordt het mogelijk om in een frame productieregels wider
te brengen. Aierdoorworden de voordelen van frames (ol-perzichtelijk
en flexibel representeten Van Obiedteh en relaties) gecombineerd
net de stootdelen van productieregels (goede probleem oplossende
eigenschappen).
2.3-2
Het inferentirmedhanisme
Inferentie. j
het mechenigme waarmee uit een aantal bekende feiten
nieuwe feiten afgeleid kUnnen Worden. Het inferentie-mechanisme
vormt de werkelijke keen van een expekt Systeem en zorgt er voor
dat het sySteem kanredeneren. Het inferentie-mechanisme vergelijkt
feiten tilt de data-base met de condities van 4e regels. Wannser een
regel bewegen woreit zit]. de concluSie, Wannett het een nieuw feit
is, toegeVibegd wotden aan een data-base- Deze groeiende data-base,
Data-base
A,B,C
If a and d
Rules: 1:
then e
Figuur 2.6VOORWAARTS REDENEREN
=101,-1
A,B,C,D
Rule 1 is bruikbaarRule t is onbruikbaar 4110a
4
gebrulk rule 14
e TRUEA,B,C,D,E
2,
1If b and o
Ithen d
Rule 1 onbruikbaarRule 2 bruikbaar .4a
gebruik rule 2
d TRUE
Met Vluchtige informatie over een specifiek probleem, oak wel
work-base genoemd, heeft een dynamisch karakteri omdat hij tijdens de onsnitatie met het expert-syteem opgebOUWd Wordt.
Er bestaan twee essentieel verschillende strategiOn out de kennis uit de rule-base te manipuleren; een CoMbinatie Van deze twee is
echtet ook:togelijk.
Voorwaarts redeneren, Achterwaarts redeneren,
Bidirectioneel redeneren.
2.3.2.1 Voorwaarts redeneren
JAI Vooritaatts redeneren (figuur 2-6) of 'forward-chaining' wordt vanuit de feiten in de data-base geprobeerd e'en situatie te
herken-nen. Daartoe worden alle regels doorlopen totdat een tegel wotdt
geVonden, waarVen elle premissen overeenstemmen met de in de
data-base opgenomen feiten.
4
dat bij een regel het gevsl, dein wordthet' TEEN4dee1 Uitgevoerd. Daarmee wordt Veelal een hieuw feit beWezen dat aan de reeds bestaande feiten in de work-base wordt toegevoegd. Nadat een regal is behandeld wordt paar 4e volgende regel overgegaan; daze ondergaat dezelfde behandeling. Dit pkoces
gaat VoOrt totdat geen nieuwe feiten meer kUnhen worden afgeleid. Deze strategie wordt ook*el 'data-driven' genoemd.
2.3.2.2 Achterwaarts redeneren
In tegenstalling tot VoorMaarts redeneren gaat deze methode Nan
achtermaarts redeneren (figuur 2_1) ook we]. 'Backward-chaining'
Rules:
1: F iguur 2.7ACHTERWAARTS REDENEREN
Data-base
avb,c
If a and d
then e
kuldlg flak: Met In data bateI, Rule I bevajzon
Mons goal: a TRUE
Ni6OW gash d
filet In data base
RimS 2 bewlIan
4,
tikuw goal: b TRUE
MOUW goal: a TRUE
Rule 2 is bewezen d TRUE c,c1 Rule I Is bowmen e TRUE
If b and c
then d
Goal-stackIN!
11 711111111afgeleid client te warden. Indien het feit niet bekend is in de
data-base dan zullen de THEN-delen van elle rules warden doorzocht
om na te gaan met welke rules het betreffende felt zou kunnen
warden afgeleid. In het algemeen zullen in het IF deel Van eeh
getelecteetde rule Weer nieuwe hypotheseh staan die nog bewezen
dienen te worden. Hiertoe worden weer andere rules geselecteerd,
waarna het proces
zich
herhaalt. Indien bepaalde regels nietgevonden warden, dtn beachikt het SApert sYsteem elf kehnelijk over onvoldoende gegevens en zal het die van buiten het systeem
moeten betrekken, meestal door vragen aan de gebruiker te stellem,
Mier SPXs ook door r444Pleng van een andere lexterne) data-bases
2.3.2.3
Voor- en nadelen
get
is niet eendUidig te
zeggen well{
Van de boVenbeSchreven
infetentie-Mechanitmen de vookkeuk geniet-
In de meeste eicpekt
systemen wordt een keuze tilt een van beide technieken gemaakt.
Den keuze hangt voornamelijk at van de applicatie van het expert
SySteem.
Bij :voorwaarts redeneren,
waarbij
uitgaande
van
beschikbare
gegevens geprobeerd wordt een bepaald doel te bereiken, is de
volgorde .Van de rules in de rule-base van belang voor de snelheid
Waartee de oplossing gevonden wordt. Len optimale Volgorde Van de
rules is evenwel sterk afhankelijk van de feiten die in de
data-base opueslagen zijn. Den feitan zullen voor iedere consuttatie
weer andeka liggen,
Waardoor het Zinloos
is
oateen optiMale
rangschikking van de rules na te streven. Net is wel mogelijk am
in de verzameling van hypothesen, het T$Wdeel van pen rule, een
rangschikking aan te brengen near afnemende waarschijnlijkheid
suedes- Er dient dan te warden begonnen met die hypothese die de
grootste 'cans op siege!' heeft. Blijktzo'n hypothese niet te kunnen
worden bewezen, dan client de op een na waarschijnlijkate gekozen
te Warden,
enzovoorta. Hiertoe moeten alle rules die tot een
bepaalde hypothese leiden achter elkaar geplaatst worden. Een
nadeel van dere meth94 is 40 bet uStbreiden van de verzameling
rules hierdoor wordt bemoeilijkt omdat dan de gehele rule-base
Mogelijk tal moeten warden gereorganiseerd.
Voorwaarts
redeneren
heeft
het
voordeel
dat
tijdens
het
redenatieproces, afhankelijk van de reeds bekeude inforpatie de
richting van het proces veranderd kan warden.
Net prodet
is
hierdoor flekibel en de hoeVeelheid zoekWerk is beperkt, waardoor
Vookwaarts redeneren vooral geschikt is voor de grotere
knowledge-bases.
Achterwaarts redeneren mist daze flexibiliteit. gen eenmaal in gang
gerette keten client geheel te Warden geVolgd, totdat geconcludeerd
kan worden dat het spoor dood loopt. Achterwaarts redeneren leidt
dus tot een daelgericht systeem, dat zeker bij relatlef kleine
rule-bases effectief kan warden toegepast: Net
is
een simpele enelegante methode, die door zijn dObou* tegelrecht op het doel lijkt
at ta stevenen, voaroOgesteld dat de knowledge-base niet te groat
is.
We zien steeds meet dat expert systemen zich van beide technieken
bedienen en het laten afhangen Van de knowledge engineer, welke van
de technieken gekozen Wordt-
We hebben hier te maken met de
zogenaamde 'gecombineerde redeneer methade'
2.3.2.4 Geconbineerd redeneren
flit is eep combinatievan yoorwaarts- en aohtet*aarts redenerens Bij deze methode Wotdt gebtuik gemaakt Van de voordelen die beide
methoden leveren.
Vapor dit type inferentiemecnamigme is achterwaerts tedeneten het
stUUrproces, welke bepaalt Welke feiten getraceerd dienen te
warden. De voorwaartse redenatie kunnen we zien
els
een bijproces, welk na elite backward-'chaining slag prObeett nieu*e feiten uit deals maar groeiende data-base at te leiden en teVens bepaalde regels
prObeett to elimineren die door nieuwe feiten onbruikbear
zijn
geworden.
flit proces kan met behglp van Onderstaand Vootbeeld duidelijk
gemaakt warden.
RULE 1 : A ==> g
RULE 2 : A C
RULE 3 : D,C ==> [Goal]
RULE 4 : B ==> F
Indien felt E bepaeld dient te warden en this goal-attribuut is, zal het backWatd-chaining mechanisme beginnen met het vragen van
forward-chaining mechenieme in werking tredeh. Dit leidt in dit geval tot
geen niehwe feiten. Het Volgende te bewijzen feit is C. Siertoe
Woedt regel 2 geraadpleegd.
Indien den weer
is warden doorforward-chaining feit H enF afgeleld. Tot slot kah feit E worden afgeleid uit het feit dat D en C *Aar zijn.
tilt boVenstaande voorbeeld blijkt dat backward-chaining niet
bijdraagt -tot het afleiden van nieuwe feiten, deze ;Orden bepaald door forward-chaining. Backward-chaining
bepaalt
alleen welkefeiten getraceerd dieten te worden.
2.3,3_ Het debrulkersinterface
Deze component is van het grootste belang voor de acceptatie
van
het expert systeet. Dit interface bepaalt namelijk de
gebriliks-Vriendelijkheid van het systeem.
Een expert systeem Kent twee soorten gebihikers.:
De gebruiker die het systeem gaat gebruiken als hulpsiddel bij het oplossen van een bepaald probleem.
De ontwikkelaar van het expert systeem.
Voor de eerstgenoemde gebruiker is de uitlegfaciliteit een
onmisbear deal van het expert systeem. Conventionele cOmpUter
progtaMmes hissen een dergelijke faciliteit. De redenatie die tot
een bepaalde conclusie leidt ligt verborgen
in
deptogrammacode-De uitlegfaciliteit is niet van belang VoOt het redenatieproces
van het expert systeem, cloth het kan toot de gebruiker interessent
zijn te Weten wearom het expert systeem bepaalde vragen stelt of
te weten hoe het sYsteem tot een bepaalde concZusie gekohen is.
Uitlegfaciliteiten bieden tevene de mogelijkheid het expert systeem als didactisch hulpmiddel te gebthiken.
Editing en syntax-controle-faciliteiten
zijn
de gebruikert-ipterface-4'faciiiteiten die van belaog tijn treat de ontWerper vanhet expert sYsteet flit tYpe gebruikersinterface biedt een aantal
extra hulpmiddelen die de ontwerper in staat stelt op een knowledge-base te ontwerpen en uit te testen.
2-4 Proctrammateur voor de. opbouw van expert svstemen
Expert systemen kUnnen op Verachillende manieren geconstrueerd *Orden. Riertoe zijn drie hoofdgroepen aan te geven [6];(7].
Een taal of talenpakket. flit it het gereedschap dat benodigd
is als gekozen wgrdt voor de opbouw vanaf de
grond.
Een
geintegreerde OotWikkelomgeVing. In dit type systemenriin
er reeds een aantal van de benodigde onderdelenaanwezig dat nodig is voor de bouw van een expert
systeem.
Eat expert systeem shell- Dit type gereedschtp is in wezen
een leeg expert systeem. Bij
dit
soortsystemen hoeft alleende kennit van het betreffeode
dotein
ingebracht te worden.Bij den drie groepen zijn er vergelijkbare onderdelen te
hetkeh-nen, zoals een editor voor de opbouw en het ohderhoud van de
programma-segmenten.
Bij deze opbou* is uitgegaan vas de volgende criteria.
Een teal of talenpakket bent, naast de taal, die gereedschappen
die direct betrekking hebben op deze teal of deze ondersteunen. Dit zou kunnen zijn een regel- of screOneditot en controle-techanismen
Een geintegreerde ontwikkelomgeving beVat naast de ondeidelen. die
b*j de taal of talenpaketten genoemd werden, nog bulpmiddelen die
Voot de boil* van de systemen van helang klippen zijn. Voorbeelden
hiervan
ijn
een
*indOwmanaget,
ee*
grafische
interface,
netwerkinterface en muitbesturing.
De derde groep,
de expert systeem shells,
bevatten naast de
onderdelen die in de twee Vootgaande groePen te Vinden zijn, oOk
nog een of meerdere structuren voor de opbouw van de
knowledge-base en een of meerdere inferentiemechanismen.
2.4.1
Proarammeertalen /mar expert svstemen
EXpett syttemen kunnen evenals andere XUnstmatige intelligentie
toepassingen in verschillende programmeertalen worden
geschreven-Agn deze talen zijn de volgende eisen te stellent
De teal moet geschikt zijn took symbolischredeneren,
dat op eenvoudige wijze objecten en hun eigenschappen moeten
lcunnen warden weergegeven, eyenals relaties ertussen en
beWerkingen erop (zie bijlage I).
De taal moet de mogelijkheid bieden tot het vormen van
datastructuren van (van te voren) onvoorspelbare omvang Het
is handig, als een prograMmeertaal autOmatiech de benodigde
geheugenrulmte cleimt, en ook, weer vrijgeeft wanneer deze
ti-jet langer nodig is.
II De teal moet de mogelijkheid bieden tot rechrtiefl
peogtammeer gebruik.
1
recursief is de mogelijkheid dat een programme onderdeel
(subroutine) zichzelf aantoept. Deze progtammameer mogelijkheid is
Vooral nUttig bij het bepelen Van by. facUlteiteti. Expert SYstemen
gebruiken de recursiViteit vooral
ten behoeve van
backward-chaining (zie par 2.3.2.2).
De meest -gebruikte taleh toot kPnstMatige intelligentie toepaS-singen zijn LISP [15], PROLOG [14],[17], en diverse varianten en
uitbreidingen van beide. Beide talen voldoen aan de hierboven
verpelde eisen. Hammer het echter gaet over expert systemen kan niet zonder Meet warden geconclUdeetd, dat conVentibnele talen
zoals Pascal, C en Basic hiervoor ongeschkt zijn. Hoewel deze niet
zijn ontwikkeld voor symboolmanipulatie meat voor
getallen-papipulatie en dus on die reden minder elegant zijn toe te passen
den
LISP en PROLOG, Zijn ze ook bruikbaar in deze tak van dekunstmatige intelligentie. ten voordeel van deze talen is dat zij
een grotere bekendheid bezitten en this beter overdraagbaar zijn.
In de volgepde paragrafen-zUllen we
one
echter Uitsluitend betighouden met de fundamentele kunstmatige intelligentie talen: LISP
en PROLOG.
2.4.1.1 LISP.
14sp is
op
FORTRAN na de oudste pregrappeertaal dienu
nog wotdtgebrUikt. LISP is aan het einde Van de jai-en Vijftig ontwikkeld door John McCarthy an het Massachusetts Institute of Technology
(M.I.T).
Ondanks het fait dat LISP en FORTRAN tot de oudste programmeer
talen behoren /weft LISP nocit zo'n wijd en algemeen gebruik gekend
als FORTRAN. Redenen hiervoor zijn dat Fortran een industrifile standaard kept, terwijl er van LISP een aantal dialecten bestaan. Vetder claimt LISP Veel geheugenruimte. Dit vormde vooral in de
begintijd een beperkende factor omdat toen geheugen nog schaars en duur was.
Ben andere kwestie is de leesbaarheid
yea
LTAp programmes. HoewelLISP
de
mogelijicheden heeft on bepaalde type problemen adekwaat aante pakken, valt op te metken dat dit niet altijd de gebruikr
De basis elementen van LISP (=LISt Processing) worden gevormd door
de woordachtige objecten genaamd atoms ('appe11,181,16'). Groepen
Van atoms Vormen lists ((ePpel,peer) of (e,b,e,d)). Atoms
en
listsVorMen saten Symbolische earessies.
De lists kunnen warden gebruikt am zeer uiteenlgpend structuren
weer te geven. Dijvcorbeeld:
3 q Sty I
(diffetenee(4uotient(OlUs16 4)(times2(plus4 1)))1)
kunnen we schrijven
els
: (16+4)/(2*(44-1)),1((12 31(4 56)) = weergave van matrices
Oak in het gebrUik van logica en taalkUnde kUnnen strtctUren met lijsten warden Weergegeven.- Eijvoorbeeld de zin "De een slaapt terwijl de ander werkt" levert na ontleding
((De ewe slaa0t) tetwijl (de ander Werkt)).
De bewerkingen
van
LISP expressieskunnen
warden terUggebracht totVijf elememteire fUncties: CAR, CDR, CONS, ATOM en EQUAL.
CAR geeft het eerste element van een lijst. CDR geeft-de lijst zonder het eerste elemen
CONS Verbindt twee expressies tot eel: lijSt
Een ATOM Vormt semen met een lijst de basis
LISP.
EQUAL vergelijkt twee expressies. Indien de
wear is geeft de interpreter de waarde "TRUE" wear, de Waarde "NIL" .
LISP kent veel meer functies, maar het merendeel van die lunettes
is opgebouwd uit deze
yijf
primitieve functies.25 t. strUctUuk. elementen van vergelijking en indien niet
I PAM it OUDER Figuut 2.8
FAMILIE RELATIES
PROLOG
I TOM
IS 01.10101 IS SUDS It VWBOB
it CIUDIR IS OWNS NWOut zeif functies te kunnen definieren zijn er nog twee structuren
op een hoger nivo aanwezig, namelijk 'defun' voor de functie
definitie en 'condi, de Lisp versie voor condities.
Tezamen met de mathematisChe fUncties
PLUS -(+), TIMES (*), DIVIDE(/) en Met twee I/O routines;
READen PRINT en
de hulpmiddelen
TRACEen
UNTRACEen eventueel het predicgat
NUMEEEPout getallen te
herkennen, is een progtammear in staat Voleaardige Peogtatta's te
schrijven-2
.
4 .1.2
PROLOGPOLOG, dat staat. voor PROgramming in LOgic stemt uit de jaten
zeVentig. De ideeen hierobtrent waren gebaSeetd op het theotema
voor logisch programmeren, Waarin wordt uitgegaan van een strikte
vorm van mathematische logica, de r.g.n. Horn-Clauses.
Prolog is een programeeertaal voOr symbolische,
filet numerieke
berekeningen en it VOoral gesChikt *toot ptoblemen welke handelen
over Objecten en de relaties tussen objecten. De PROLOG programmeur
legt in een logische netatie fetters vast die geldig zijn voor zijn
probleem en geeft dear/least de regels Weartee Uit deze feiten weer
andete
feiten herleid kanen worden.
Degebruiker
kan
nu
interactief vragen stellen, eveneens in de -norm van een logische
expressiei waatna het systeem met ja of nee reageert.
Ale voorbeeld geven we een fandlie-relatie (fig-taut 1.8).
Het feit dat Tom de ouder is van Bob wordt in Prolog als volgt
weergegeven;
oUder (tem,bob)
[thin is made/. Van bob]
De gehele familie-boom WOrdt gedefinieerd door: ouder (pam,bob), Owder (tom,bob), inkier (tOm,liz), ouder (bob,ann), Older (bob,P0), glider (pat,jim).
Met programme bestaat uit zes clauses, en elite clause verklaart eon
felt uit de familiflelatie.
De PROLOG interpreter meat het mogelijk am vragen over deze
relaties te stellen. Mogelijke vragen zijn:
?- ouder (bqb,pat) .bob odder van pat?]
PROLOG zal de relsties nalopen en "JA" sntwoorden.
?- ouder (X,liz) [wie is ouder van liz?]
PROLOG zal antwoorden : X = tom,
Net programme kangetakkelijk Uitgebteid warden met nieuwe clauses.
In PROLOG Worden feiten op declaratieve wijze vastgelegd en
beschreven, dit in tegenstelling tot de conventioneis talen die tut op procedurele wijze does. flit is een van de redenen Waatom Prolog
zo geschikt is Voot de INAS Van expert Systemen. In par 2.3.1 is
bamelijk beschreven dat de kennis in expert systemen
op
declaratieve wijze vastgelegd dient te warden, in merband met de
vereiste uitlegfacillteiten.
Men tweede reden
wasrom
mLoG geSchikt
is
Voor de bob0 van expertsystemen is het felt dat de Volgende analogie bestaatl
In PROLOG geldt dat een algoritme in twee delen gesplitst ken
Algoritme. = logisch deal + controle deel
Net lOgische deel definieert mat het programme doet en het controle deel beschtijft hoe het gebeurt.
Bij een expert systeem kunnen we de volgende splitsing aanbrengen:
Expert systeem = knowledge-base + inferentie-mechanisme
Hierin bevat de knowledge-base de dopein afhankelijke kenhis en het
infetentie-mechaniAme bent een domain onafhankelijk algoritme on
deze kennis te manipuleren.
DeZe beide sOlitsingen Vettonen de volgende gelijkenis:
In beide gevallen is er onderscheid tussen het "wat" en
"de
manier maarop". De knowledge-base inhetexpert systeem correspondeert metde logische component in Prolog, het inferantie-mechanisme
correspondeert met het control. deel- Specifieker geldt: De PROLOG
data-base vertoont een analogie met de knowledge-base van het
expert systeem en de pgq4oG interpreter veXtoont gelijkenit Met het infetentie-Medhanishe Van het expert systeem.
Een derde voordeel is dat productieregels (zie par 3.24.3) weike in expert systemen gebruikt worden on prpcedurele kennis vast te
leggen grote gelijkenis Vertonen met de clahsale
Vert
die gebruiktwordt bij het logisch progiammeten [5].
Prolog is in Europa en Japan aanzienlijk populairdex den
in
Amerika., wear 4e voorkeur near LISP uitgaat. In Japan is PROLOG tot
de kerntaal van vijfde generatie project hitgetoepen.
Vetgeleken met LISP is PROLOG betet geschikt els programmeertaal
voor de bouw van een expert systeem dat productieregels als
kennisrepresentatie methode gebruikt. Ala reden geldt dat de
structuur van PROLOG gtote gelijkenis vertoont met de structuur van
eeri expert SYsteeM.
Ale nadeel geldt dat in PROLOG gebrUlk Wotdt getaakt Van een taste
zoekstrategie (at. het TOP-DOWN, LEFT to RIGHT zoekmechanisme) om
hypothesen tilt de data-base te bewijzen en het is totop heden niet
mogelijk
een
ander
inferentie-mechanis*e
toe
te
paseen.
Dit
ptobleem kent LISP daarentegen niet. LISP bait namelijk het 'open'
karakter,
dat
ook
bij
conventionele
programmeertalen
wordt
aangetroffen, hierdsbor is het Voor de programmeur mogelij)c is op
telatief
eenvoUdige wijze
zelf structuren en zoekmethoden te
programmerem.
Het ligt due aan bet probleem welk van de twee telen het best
geschikt is, doch volgene de auteUr [Overes] kan gesteld irotden dat
voor de bouw van een diagnostisch expert ysteem PROLOG te
prefereren is boveri LISP, dear de structuur van PROLOG op veZe
vlakken gelijkenis vertoont met dit type expert eysterden en dat
zodoende
op- inelle
en
elegante
wijze
een expert systeem
te
ontwikkelen is.
Slimy
Li
ce
AAA
2.4.1.3 Procedurele_ talen
Zoals al eerder ter sprake is gekomen, is het ook mogelijk kennit-sytemen te bouwen pet behulp van egn procedUrele taal. Bekend zijn
expert sytteten die geschreVen zijn in BASIC, PASCAL of C.
VOoral C en Pascal worden de laatste jaren veel toegepatt. bit
vindt zijn oorzeakin het felt dat ze beide de mogelijkheid bieden
tot recUrsief progratMeren, ze een snelle en compacte code ptodUderen en het felt dat de overdraagzaamheid van het eindprodUct
groot
is--Gezien het algepeng karakter van deze talen WOrdt er in deze studie niet VerdeX op ibgegaan.
2.4.2 Geinteareerde ontwikkelomaevinaen
.In deze paragraaf wordt ingegaan op de geintegreerde
ontWikkel-omgevingen [6]. Voor dit soort systepen is speciaal ontwikkelde
hardware
podia.
Deze hardware bestaat Meestal uit een single userWorkstation, gebeteetd o0 een bit CPU.
Ben dergelijk workstation biedt de software ontWikkelaat een omgeving die geheel gericht is op LISP. Door de structuur van LISP
is het relatief eenVoUdig de gehele programmeeromgeving (incluis
Operating system) in LISP te schrijven. Deze Systemen bieden
ondersteuning voor het creiren en podificeren van procedures, voor
het besturen en beheren van de Vele procedures in een LISP
programme, en Voor het intekactief debuggen van deze procedures.
Net is ook mogelijk am op deze machines met andere talen toals C
of Fortran te werken en deze te koppelen
pet
het te ontwikkelenkennis-systeem.
Naast de LISP-workstations zijn er sinds kort in Japan workstations
die Op PROLOG gericht zijn.
2.4.3 Expert svsteem shell
Een expert syseem shell is een expert systeem dat ontdaan is van
zijn kennis. Ben dergelik *mein onafhankelijk systeem beschikt uitsluitend over een inferentie-techanishe, een uttlegmechanisme en son mogelijkheden voor knowledge-acquisition en debugging. Be
domein afhankelijke kennts kan door
middel
van rules ingeVoetdmorden.
Expert systeek shells Zijn vooral zeer nuttig bij de ontmikkeling
van prototypes van expert systemen. bit omdat de shells niet al te
kostbaar zijn ex; de ontwikkeling door de gebrniksvriendelijkheid in relatief korte tijd kan geschieden. Indien na de bony van het prototype blijkt dat het verantwoord is het syteem utt te bouwen,
is het nuttig te overwegen of het gehruik van een AI-taal zoals
LISP of PROLOG Met te prefereren is boVen het gebruik van een
shell. flit otdat shell-systemen dentate algemeen van opbouw zijn, zodat.het dus onwaarschijnlijk is dat een expert SySteet Shell alle
behoeften
van
de gehruiker zal dekken. Verder is de programmacode die geprodUceetd Mordt minder efficient waardoor het sytteem trageris dan e'en Vergelijkbaar systeem welk,
in
L;sp of PROLOG ontMikkeldis. Een traag systeem zal minder snel geaccepteerd *Orden en is in sommige toepassingen zelfs oneanVaardbaar.
2.5 Kennieracauisitie
raj
de ontwikkelig van expert systemen kunnen we een tweetalaspecten onderkennen, pamplijk het vereetven van de kehnis die in
het systeem ingebracht dient te wetden, en de programmering van het
systoem tali.
tat
de literatuur [2] blijkt dat met nape deverwerving van de kennis een kneXpunt vorMt.
Het verwerven
yen
kennis .ofwel skennis-atqUiSitie! is het procesdat tot teak heeft te komen tot een goed werkende knowledge-base,
welke een eerste vereiste is voor een goed werkend expert systeet.
De kennis die In de knowledge-base opgeSlagen dient te warden is
meestal niet in pasklate von aaneezig. Het is de taak van een 'knowledge engineer' de informatie te verzamelen en te bewerke* op
een dusdanige wijZe dat uiteizdelijk een gded werkende
knoWledge-base ontstaat.
In het ptoces
Van 'tennis
Verwerving kunnen we twee activiteitenonderscheiden:
Het onttrekken van de kennis uit de kennisbron,
Het ordenen van de kennis cm het kennisdomein te
struc-tureren.
Deze twee activiteiten wisselen elkaar at.
Brannen van kennis kunnen zijn:
Menaelijke experts, Technische boeken,
Encyclopedieen,
Andere data- of kennis-bases, Audio, visuele bronnen.
In deze beschrijVing tullen we ons beperken tot de menselijke
expert., dit omdat het verwerven wen
zijn
kanois de meeste Otoblemenoplevert, en terwille van expert syStemen zeet belangrijk is.
We onderscheiden de Volgende methoden [10] ter VerwerVing van
kennis:
Prototypihg,
Gestructureerde methodeu, Geautomatiseerde methoden.
PrototYping Wotdt gekenmerkt dOot den inelle iMpletentatie Van de verworven kennis. Hierdoor kan een gedeelte van het uiteindelijke
systeem
snel
elan de gebruiker warden getoondo out te toetsenof
devoor de gewenste fUnctionaliteit behodigde kenniS aanWezig is. Tevens dient zoin _prototype am te bepalen in welke richting de verdere ontwikkelingen zouden moeten Taaatsvinden.
eastprototyping zijn er 'gestructureerde methoden' van
kennisver-werving. Bij de gestructureerde methoden tracht men het gehele kennisdomein in kaart te bxengen voordet tot implementatie wordt
Overgegaan.
Als laatste methode ondersdheiden we de lgeautomatiseerde
kennisverwervipg'. Bij deze methode wordt de kepnis niet geleVerd door een menselijke eXpett, teat Weedt gebtuik gemaakt van een
aantal voorbeelden van problemen die reeds eerder door experts zijn opgelost, oat de relevante kennis voor bet oplossen
van
de problemen at te leiden.Prototyping is de oudste methode van kennisverwervimg. Vele expert
systemen warden nog steeds op deze wijze gerealiseerd. Hierbij
blijkt dat het realiseren van expert systemen en met name de verwerving van de kennis een moeizaeM proces is. Oak komen de
beperkingen van de menselijke experts am de kennis te expliciteren
uidelijk naar voren. Dit heeft er toe geleid dat men op zoek is gegaan near meer gestructureerde methoden Van kennis vetwerVing.
2.5.1 Prototvpina
Prototyping biedt door een stalidgeWijs ontwikkelingsproces de mogelijkheid alternatieVen te genereren aan de hand wasrvan onder
andere de gebruikers, rich een beeld kunnen Votmen Van het te
ontwikkelensysteem. Deze tUssentijdseproduotengeven de
mogelijk-held koerswijzigingen aan te brengen near aanleiding van ver
amdsrende Wensen, zodat de discrepantie tussen deze wensen en het product in ontwikkeling minimaal kan blijven.
De methode Van .0tototyping komt voort uit de hehopfte atm een
ont*ikkelingstechniek met kenmerken die afwijken Van de algemene conventionele technieken.'Deze behoefte'is Met; name voelbaar bij
de ontwikkeling van Systemen die. technieken uit de kunstmatige
intelligehtie gebruiken. Het type probleten dat getChikt is am met technieken uit de kunstmstige intelligentie te warden opgelost, is
namelijk enders
On
het Poott Problemen dat met conventionelesoftwaretechnieken 00gelOst wordt.
Het terschil zit voornamelijk in de mate van strudturering van het
pobleeml. problemen
die ziuh
lenen Voor AI.-techniekenzijn
over hetalgsmeen, door de aan*OrighOid van heuristische kennis aanzienlijk minder gestructureerd dan problemen waarvobr conVentionele
technieken meer geschikt zijn.
Samenvattend kunnen de volgende kenmerken van prototyping worden
genoemd: [10]
Het flexibel kunnen entwikkelen en aanpassen van
specifi-caties.
Het kunnen Visualiseren van opgestelde specificaties en
altetnatieven.
Het snel kunnen ontwikkelen van eem Model om uitspraken
kunnen tp dOen over de haalbaarheid van het eventuele
De mogelijkneid tot
inbautl
Vag afgebakende beans- enbestu-ringtpucten.
Het tijdens de ontwikkeling kunnen structureren van het
probleem waarbij kennis expliciet gemaakt wordt.
Prototyping is
zinVol
in die gevallen waarin er onzekerhedenbestaan over het pp te leveren Ondprodukt of alt niet bekend is
tangs welke geformaliseerde weg Men de eindoplossing zal kunnen
bereiken.
Andere gevallen, waarbij prototyping zinvol is, zijn de volgende:
[101
Het ontwikkelen volgens de conyentiOnele wegen is miet
mogelijk of niet gewenst, bijVookbeeld doordat het
ptobleerngebied of het probleem te nag is on door de gebruiker direct in specificaties te warden Vastgelegd.
Er is inzicht gewenst
in
de haalbaatheid van een systeemwaarbij de systeemgrenzeti toeten Warden bepaald zonder dit in eerdte instantie in detail uit te werken.
Door onervarenheid met de mflerie Moet kennis opgebouwd
warden over de bouw van het gewenste type systeem. Hier
neeft het prototype eeh leerfunctie.
poor een sterk- veranderende omgeving kamen aaapassingen in
de ontwikkeling van het systeem regelmati4 voor.
Het op voorhand bepalen van een piogrammeertaal of
hUlpmiddelen die geschikt zijn voor de oplossing is niet
mogelijk.
Er staat een vooralsnog laag budget ter beschikking on een
systeem in eerste opzet zodanig te sPecificeren dat een
Prototyping zal geen tastbare resultaten opleveren als het probleem te complex bIljkt of als het probleem niet opgedeeld kan warden
ln
- eenVoudige,overzichtelijke deelproblemen die afzenderlijk opgelost
kunnen Worden.
Net prototype is namelijk een (deel)model van het uiteindelijk beadgde systeet. Is dit syateem te complex dan zal het Prototype zelf een te complex systeem warden waarvan de ontwikkeling niet
meet binnen het !cadet yen prototyping tt reeliseten is.
Prototyping dient volgens een vooraf opgesteld plan te verlopen, dit opdat voor allE betrokkenee (bOuwers, gebtuikets, beslissers)
dUidelijk is wat er aan reatltaten Vet-wad/it meg warden. en Wanteet
deze resultaten bereikt zijn.
Hen plan voor de aanpak bent een beschrijving Van: [10]
De globale omvang van het gewenste systeem. De verwachtingen die bestaan over het systeem. De criteria waaraan het prototype moet voldoen.
De momenten waarop stop / richtingsbeslissingen warden
genomen.
De bouwtijden.
De functionele deelnemers en hun afronderlijke taken. De wijze van documenteren.
Net wezan van prototyping Vtaagt gezien het zeer interactieve aspect om kleine teams die slagvaardig kunnen ontwikkelen en
wijzigen en daar oak de bevoegdheden toe hebben.