Plaster

common-lisp
(loop with converged = nil for iteration from 0 to iteration-limit until converged do (setf converged t) (loop for document in documents do (unless (convergedp (rank document) (setf (rank document) (loop for neighbor in (graph-neighbors document) sum (/ (* damping (rank neighbor) (document-similarity document neighbor)) (graph-neighbor-edge-sum neighbor))))) (setf converged nil))))

Annotations