Het is een beschrijvende taal. Dat wil zeggen dat, in
plaats van een programmeur die aangeeft hoe in een
serie stappen de Computer het probleem moet oplos-
sen, bij Prolog de oplossing al uit een beschrijving van
het probleem bestaat. Deze beschrijving bestaat uit een
drietal komponenten:
namen en strukturen van de in het probleem betrok-
ken Objekten;
namen van relaties die er tussen de Objekten
bestaan;
feiten en regels die deze relaties beschrijven.
Bijvoorbeeld gegeven de feiten:
- er bestaat een verbinding tussen de Grote Markt en
de Heerestraat
- er bestaat een verbinding tussen de Heerestraat en het
Zuiderdiep
en de regel:
- er is een route tussen X en Y als er een verbinding
bestaat tussen X en Z en een verbinding tussen Z en Y
dan kan Prolog deduceren dat
- er een route is tussen de Grote Markt en het Zui
derdiep.
Tijdens de uitvoering van een programma kunnen met
behulp van deze deduktieve methode alle mogelijke
oplossingen van een probleem worden gevonden.
Hiervoor gebruikt Prolog het zogenaamde 'back-
tracking' mechanisme. Dat houdt in dat, wanneer een
oplossing is gevonden, het programma opnieuw gaat
bekijken of andere mogelijke variabele waarden tot
nieuwe oplossingen zullen leiden. Verder gaat Prolog
op een simpele en efficiente wijze om met rekursieve
strukturen.
Gegevensbestand
Voor de opbouw van het bestand van het centrum van
Groningen is gebruik gemaakt van een kaart van de
binnenstad van Groningen, op de schaal 1:5000 ver-
vaardigd door de kartografen van de Faculteit der
Ruimtelijke Wetenschappen van de Rijksuniversiteit
Groningen.
Bij het opbouwen van het gegevensbestand wordt uitge-
gaan van hoekpunten en verbindingen tussen de hoek-
punten. Indien een straat een andere straat kruist of
raakt wordt dit snijpunt als hoekpunt aangemerkt. Als
twee hoekpunten met elkaar verbonden zijn vormt deze
verbinding (een deel van) een straat.
Met behulp van een digitizer zijn van de hoekpunten
de X- en Y-koördinaten bepaald. Aan deze hoekpunten
wordt een wijknummer gekoppeld, waarna ze in de
volgende vorm in het bestand worden opgenomen:
(1,291,73,1)
1 hoekpunt
291 X-koördinaat
73 Y-koördinaat
1 wijknummer
Vervolgens worden de hoekpunten die met elkaar zijn
verbonden, samen met de bijbehorende waarden en an
dere gegevens, op de volgende manier in het bestand
gezet:
(48,49,"Hoofdstraat" ,130,6)
48 hoekpunt
49 hoekpunt
Hoofdstraat straatnaam
130 afstand in meters
6 wijknummer
Aan het bovenstaande kunnen een groot aantal, op dit
moment nog niet gespecificeerde, variabelen worden
toegevoegd, zoals postkodes, huisnummers, wegenklas-
sifikatie, reistijd enzovoort. Naast hoekpunten, die op
de straathoeken gepositioneerd zijn, worden Objekten
op bijna dezelfde wijze in het bestand opgenomen.
De route-zoekmethode
Centraal staan hoekpunten en de verbindingen tussen
deze hoekpunten. Het zoeken van een route tussen een
Start- en een bestemmingsobjekt gaat in hoofdlijnen als
volgt.
Vanuit een Startobjekt worden in het gegevensbestand
de hoekpunten gezocht die direkt met het Startobjekt
verbonden zijn. Van ieder afzonderlijk hoekpunt wor
den respektievelijk de afgelegde afstand vanuit het star-
tobjekt en een schatting van de af te leggen afstand tot
aan het bestemmingsobjekt bepaald. Deze schatting
wordt bepaald door hemelsbreed de afstand van het
betreffende hoekpunt tot aan het bestemmingspunt te
berekenen. Deze schatting is altijd lager dan de werke-
lijke afstand (via de verbindingen) tussen die twee pun-
ten. Vervolgens worden deze twee waarden opgeteld en
vergeleken met de uitkomsten van de andere paden
(niet komplete route's). Alle paden worden onthouden,
waarbij telkens het päd met de laagste uitkomst wordt
uitgebreid. Dit zoekproces herhaalt zieh totdat het
bestemmingsobjekt is bereikt.
Toepassingsvelden
Het bovenbeschreven Route-Zoeksysteem is globaal van
karakter. Naar aanleiding van het geven van de-
monstraties van het systeem aan een aantal instanties,
zoals de centrale meldkamer van het ambulancevervoer,
de brandweer, VW, alle te Groningen, is gebleken dat
er grote belangstelling bestaat voor een verdere ontwik-
keling van het systeem, rekening houdend met de speci-
fieke wensen of eisen van de gebruiker. Uit de gesprek-
ken die hieruit voortvloeiden kwam naar voren dat een
drietal hieronder besproken toepassingsvelden voor
32
KT 1989.XV.1