Een deklaratieve kenniseenheid bestaat uit een gegeven
dat gebruikt wordt door een programma. Dit type kennis
kan goed opgeslagen worden in een hierarchische struk-
tuur. Voorbeeld: de Benelux bestaat uit Belgie, Nederland
en Luxemburg; de grens tussen Zuid-Holland en Utrecht
in het bestand wordt gerepresenteerd door de koördinaten
[Xi,Yi] tot en met [Xn,Yn],
Een procedurele kenniseenheid geeft duidelijk aan hoe er-
mee gewerkt moet worden; de kenniseenheid zelf is een
programma.
De opslag geschiedt veelal via produktieregels. Een der-
gelijke regel vertegenwoordigt een onafhankelijke kennis
eenheid die bestaat uit een gekombineerde beschrijving
van een situatie en een betreffende aktie. Kenmerkend
voor de produktieregels is de wanne er... dan.,-struktuur.
Het linker deel van deze struktuur bevat een of meerdere
door en of o/verbonden voorwaarden. Het rechter ge-
deelte bevat de konklusie, die met een mate van zeker-
heid aangegeven kan worden. Een voorbeeld is: wanneer
de polygoon gesloten is en een oppervlakte heeft van
minder dan X2 dan is het een symbool, met zekerheid
0.8.
Kennissystemen
Door het gebruik van een kennissysteem, 00k wel expert-
systeem genoemd, tracht men geheel of gedeeltelijk een
expert in z'n werkzaamheden te vervangen of te on-
dersteunen. In het eerste geval moet een niet-specialist
kunnen werken met een specialistisch onderwerp. De
niet-geschoolde kaartenmaker moet toch verantwoorde
kartografische produkten kunnen maken. Ook moet het
mogelijk zijn van het systeem te leren.
Een omschrijving van een kennissysteem wordt gegeven
door Naylor (1983): 'Een kennissysteem kan men be-
schouwen als een belichaming in een Computer van een
op kennis gebaseerde komponent van expertise, in een
hoedanigheid dat het systeem een intelligent advies kan
bieden of een intelligente beslissing kan nemen omtrent
bepaalde processen. Een andere wenselijke karakteristiek,
die door sommigen als fundamenteel gezien wordt, is de
mogelijkheid van het systeem om op kommando, de ge-
volgde lijn van redenering te rechtvaardigen op een ma-
nier die duidelijk is voor de vrager. Om deze
karakteristiek te verwezenlijken is een op regels gebaseer
de programmeerstijl noodzakelijk'.
Figuur 1 geeft schematisch de struktuur van een kennis
systeem. Uit het Schema blijkt dat een dergelijk systeem
in grote lijnen uit drie onderdelen bestaat:
Een kennisbank met daarin gescheiden opgeslagen de
deklaratieve en procedurele kennis, respektievelijk de
feiten betreffende een bepaald kennisgebied en de
toepassings-specifieke kennis. De kennisbank is in de
literatuur wel bekend als de 'knowledge base';
Het kennis-interpretatieprogramma, ook bekend als de
'inference engine'. Dit interpretatie-programma legt het
verband tussen produktieregels (de procedurele kennis)
en de feiten (de deklaratieve kennis) en steh vast welke
regel van toepassing is en laat de daarbij hörende han-
deling uitvoeren;
De kontrole-eenheid, bestaande uit een gebruikers- en
een expertingang. De eerste om de gebruiker met het
systeem te kunnen laten werken en de tweede om het
systeem te voorzien van nieuwe kennis.
De werking van het interpretatieprogramma kan geschie
den volgens het principe van forward- of backward Enk
ing. In het eerste geval betreft het een op gegevens
geörienteerde benadering. Het interpretatieprogramma
maakt voortdurend een rondgang door het geheel van re
gels op zoek naar de regel die van toepassing is. In het
tweede geval gaat het om een doelgerichte benadering.
Hier probeert het interpretatieprogramma voortdurend een
doel te verwezenlijken en zoekt naar de regel die tot dat
doel leidt.
Aan een volwaardig kennissysteem kan men de volgende
eigenschappen toekennen:
Het moet mogelijk zijn konklusies te trekken op basis
van onzekere gegevens. Dit omdat een redenering vol
gens het gezonde verstand afwijkt van de wiskundige
formele logica, waardoor er in het eerste geval konklu
sies worden getrokken uit onvolledige informatie.
Het systeem moet de mogelijkheid hebben z'n eigen
kennis te begrijpen en toe te passen.
Het systeem moet gemaakte keuzes kunnen verklaren.
Het systeem moet een mogelijkheid hebben te leren.
Het is mogelijk de programmatuur waarmee een kennis
systeem werkt te schrijven in de traditionele 'command
languages' als Basic, C, Pascal of Fortran. Een andere
veel toegepaste benadering is het gebruik van zogenaamde
'declarative languages' als Prolog, Lisp, Logo of APL.
Deze meer logische en funktionele talen hebben als voor-
deel dat hiermee het probleem op een meer natuurlijke
wijze benaderd kan worden.
Onafhankelijk van de taal volgens welke het systeem
werkt zijn er een aantal karakteristieke verschillen met
konventionele programma's aan te geven (figuur 2). In het
laatste type programma ligt de oplossingsmethodiek (de
kennis) vast in de programmakode. De oplossing wordt
gevonden door het sequentieel afwerken van steeds de-
zelfde schema's. Alleen de gegevens waarmee gewerkt
wordt kunnen verschillen. Door de struktuur van de ken-
nisopslag in een kennissysteem ligt hier de weg tot een
oplossing van te voren niet vast. Afhankelijk van de pro-
bleemstelling kan steeds een andere weg gevolgd moeten
worden.
Toepassingsvelden binnen de kartografie waar een kennis
systeem kan worden ingezet zijn onder andere het ont-
KENNISBANK
CONTROLE EENHEID
KENNISINTERPRETATIE
PROGRAMMA
Figuur 1. De struktuur van een kennissysteem.
conventionele programma's
kennissystemen
manipulatie van gegevens
kennis ligt vast in
programmacode
algorithmisch afleiden
van oplossingen
- exacte' oplossingen
- manipulatie van kennis
- kennis flexibel opgesla
gen in de kennisbank
- symbolisch afleiden
van oplossingen
plausibele' oplossingen
Figuur 2. Het onderscheid tussen konventionele programma's en
kennissystemen (naar Schenk, 1988).
26
KT 1988.XIV.4