Wissenschaft
Copyright © 2024 Jiri Kriz, www.nosco.ch

2    Backtracking

Lösung der Aufgaben

2.1    Notenwechsel

wechsel( N10, N20, N50) :- 
    c1( N10), 
    c2( N20), 
    c5( N50),
    100 is N10 * 10 + N20 * 20 + N50 * 50.

c5( 0).
c5( 1).
c5( 2).

c2( N) :- c5( N).
c2( 3).
c2( 4).
c2( 5).

c1( N) :- c2( N).
c1( 6).
c1( 7).
c1( 8).
c1( 9).
c1( 10).

Back to example 2.1

2.2    Das 4-Farben Problem

karte( A, B, C, D, E) :-
    nachbar( A, B), 
    nachbar( A, D), 
    nachbar( A, E),
    nachbar( B, C), 
    nachbar( B, D), 
    nachbar( B, E),
    nachbar( C, D), 
    nachbar( C, E),
    nachbar( D, E).

farbe( rot).
farbe( blau).
farbe( gelb).
farbe( gruen).

nachbar( X, Y) :- 
    farbe( X), 
    farbe (Y), 
    X \= Y.

Back to example 2.2

2.3    Europa

dichte( S, D) :- 
    einwohner( S, E), 
    flaeche( S, F), 
    D is E/F.

nachbarn( S1, S2) :- 
    nachbar( S1, S2).
nachbarn( S1, S2) :- 
    nachbar( S2, S1).

/* Frage 1 */
nachbar_ch( S) :- 
    nachbarn( ch, S).

/* Frage 2 */
nachbar_f( S) :- 
    nachbarn( f, S).

/* Frage 3 */
nachbar_d( S) :-
    nachbarn( d, S), 
    einwohner( d, ED), 
    einwohner( S, ES),
    flaeche( d, FD), 
    flaeche( S, FS), 
    ES > ED, 
    FS > FD.

/* Frage 4 */
nachbar_ch1( S) :- 
    nachbarn( ch, S),
    dichte( ch, DCH), 
    dichte( S, DS), 
    DS > DCH.

Back to example 2.3