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

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

Kartografisch Tijdschrift | 1988 | | pagina 28