von Christian Krahn
Dieses Bewertungsmodul dient dazu, Graphen, die in dem Programmablauf berechnet werden, zu bewerten. Dabei wird als Bewertungsindex die Summe der Abstände zwischen den einzelnen Knoten verwendet.
eine Liste mit Koordinaten in Form von Paaren
Dem Modul wird eine Liste von Wegpunkten ((x1 . y1) (x2 . y2)) übergeben.
Der erste Teil, die Funktion "abstand", berechnet den Abstand zwischen zwei Knoten und gibt diesen als Zahl zurück.
(define
(abstand knoten1 knoten2)
(sqrt(+ (* (- (car knoten1) (car knoten2)) (- (car knoten1) (car knoten2)))
(* (- (cdr knoten1)(cdr knoten2))(- (cdr knoten1) (cdr knoten2))))))
(define
(bewerte graph)
(cond
((null? (cdr graph)) 0)
(else
(+ (abstand (car graph) (cadr graph)) (bewerte (cdr graph))))))
(define
(fuegePunkte weg)
(if (not (null? weg))
(reverse (cons '(100 . 100) (reverse (cons '(0 . 0) weg))))))