/* Datenbasis bzw. Datenbank */ /* nur aus Fakten bestehend */ strecke(erfurt,weimar,21). strecke(weimar,apolda,16). strecke(weimar,bad_berka,15). strecke(weimar,jena,23). strecke(apolda,naumburg,23). strecke(naumburg,halle,43). strecke(halle,leipzig,41). strecke(naumburg,leipzig,54). strecke(naumburg,camburg,13). strecke(camburg,jena,14). strecke(jena,stadtroda,15). strecke(stadtroda,hermsdorf,11). strecke(hermsdorf,gera,19). strecke(jena,kahla,15). strecke(kahla,orlamuende,5). strecke(orlamuende,rudostadt,12). strecke(orlamuende,poessneck,14). strecke(rudolstadt,saalfeld,11). strecke(saalfeld,probstzella,25). strecke(erfurt,soemmerda,25). strecke(soemmerda,sangerhausen,45). strecke(sangerhausen,eisleben,22). strecke(eisleben,halle,38). /* strecke(X,Y,K) bedeutet: Es gibt eine direkte Verbindung von X nach Y und die ist K km lang. */ |
Mängel dieser ersten Lösung: |
---|
Auf Anfragen, die sich auf eine Verbindung nicht direkt benachbarter Orte beziehen, erhält man lediglich die Antwort "No.". |
Selbst die Anfrage ?-strecke(leipzig, halle, W). scheitert, da die Verbindungen nur in einer Richtung eingegeben wurden und somit auch nur in dieser erkannt werden. |
Letzteren Mangel kann man wie folgt beheben: | |
---|---|
1. |
Alle Fakten noch einmal eintippen mit umgekehrter Reihenfolge Start- / Zielort.
Das macht viel Arbeit. Man bedenke auch die eventuellen Wartungs- /Erweiterungsarbeiten am Programm. |
2. | Man fügt eine Regel ein, die diesen Mangel behebt. |