Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.23 KB | None | 0 0
  1. (defn update [v f]
  2. (let [new-route (f v)
  3. new-route-len (routelength new-route)]
  4. (if (< new-route-len @best-length)
  5. (dosync
  6. (ref-set best-length new-route-len)
  7. (ref-set best-route new-route)
  8. (swap! num-improv dec)
  9. )
  10. @best-length
  11. )
  12. )
  13. )
  14. ;funkcija koja dokolku se ispolneti uslovi treba da napravi azuriranje na referencite best-route, best-length, num-improv, improv-operation
  15. ;na vlez dobiva dva argumenti: vektor za momentalna pateka i funkcija koja treba da se primeni na takvata pateka za da se promeni
  16. ;referencite se menuvaat samo ako promenetata pateka e podobra od tekovnata
  17. ;ovaa funkcija treba da bide iskoristena od strana na agentite koi go baraat resenieto,t.e. ova e funkcijata koja mu se praka na sekoj eden agent
  18. ;pri koristenje na send funkcijata, momentalnata sostojba na agentot ke bide postavena kako prv argument na funkcijata
  19. ;rezultatot od izvrsuvanjeto na funkcijata ke bide nova sostojba na agentot
  20. ;vtoriot argument na funkcijata ukazuva na toa koja promena da se iskoristi za da se vidi dali agentot ke si ja promeni sostojbata
  21. ;primer: (send displacement-agent update displacement),
  22. ;sto bi znacelo deka vrz momentalnata sostojba na agentot so ime displacement-agent ja primenuvame update funkcijata vo koja ke se proba da se napravi azuriranje so displacement funkcijata
  23.  
  24. (defn show []
  25. (do
  26. (println "Initial route was" initial "with length" (routelength initial))
  27. (println (- maximprov @num-improv) "improvements made")
  28. (println "The following operations were made" @improv-operation)
  29. (println "Best route is" @best-route "with length" @best-length)))
  30. ;funkcija za prikaz na resenieto
  31.  
  32. (defn main []
  33. (if (or (zero? @num-tries) (zero? @num-improv))
  34. (do
  35. (await displacement-agent scramble-agent exchange-agent insertion-agent inversion-agent)
  36. (show)
  37. )
  38. )
  39. (do
  40. (send displacement-agent update displacement)
  41. (send scramble-agent update scramble)
  42. (send exchange-agent update exchange)
  43. (send insertion-agent update insertion)
  44. (send inversion-agent update inversion)
  45. (dosync (swap! num-tries dec))
  46. (recur)
  47. )
  48. ;vasiot kod ovde
  49. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement