Ich habe diesen Code:Wie macht man diese Nachbarfunktion?
(defparameter fC#\F)
(defparameter bC#\B)
(defparameter gap #\G)
(defun solp (seq)
(if (eql fc (car seq))
(not (if (listp (cdr seq))
(find bc (cdr seq))
(eql seq bc)))
(solp (cdr seq))))
(defun heuristic (seq &optional (f 0))
(if (eql nil seq)
0
(if (eql bc (car seq))
(+ f (heuristic (cdr seq) f))
(heuristic (cdr seq) (+ f 1)))))
(defun genneighbors (seq)
;seq == (fc fc gap bc bc) ===> neighbors == ((gap fc fc bc bc)
; (fc gap fc bc bc)
; (fc fc bc gap)
; (fc fc bc bc gap))
;I can't figure out how to do this
)
ich nicht herausfinden kann, wie die genneighbors
Funktion codieren. Wie greife ich auf ein Element (2 | 1) Slots vor gap
Wie generiere ich alle vier möglichen Nachbarn? Kann mir jemand ein paar Hinweise geben?
Sind das Hausaufgaben? Aus dem Code und dem Beispiel lässt sich schwer ableiten, was die Funktionen tun sollen, welchen Input sie akzeptieren sollen und welchen Output sie generieren sollen. 'heuristic' ist beispielsweise ein generischer Name. Interessanter wäre, was für eine Heuristik es ist. –