Ich habe ein kleines ungerichtetes Netzwerk erstellt, in dem einige Knoten als Quellen und einige als Ziele dienen. dann habe ich Wanderer auf Quellknoten platziert. Nun möchte ich einen sehr einfachen lokalen Routing-Algorithmus mit diesem Netzwerk implementieren. Hier tritt mein Algo;Lokales Routing in einem komplexen Netzwerk mit Netlogo
1 go
2 get-list-of-neighbors
3 select one-of from list of neighbors
check is-visited:
if yes: [remove from the list
check is-loop
if yes: Die
else go to setp 3]
4 else Move-to selected node
5 check is-target?
if yes: die
else add to list-of-visited and Go
Frage: Ich bin neu auf Netlog, und weiß nicht, wie dieser Algorithmus zu implementieren. Hier ist mein Code.
to go
ask walkers[
set list-of-neighbors (list [link-neighbors] of location)
let selected-node one-of list-of-neighbors
if (visited?=true)[ set list-of-neighbors remove-duplicate list-of-neighbors
chek if loop? exist
if yes:
if no:
if(visited?=false)[ move-to selected-node]
set location selected-node
ask location[ ifelse target=true[die][set list-of-visited lput location
go ]
end
Thank you so viel, Herr, ich habe meine Antwort bekommen. Durch Überprüfen der Is-Schleife? Ich möchte überprüfen, ob es einen Kreis gibt. durch Bewegen zum ausgewählten Knoten. Also sollte der Walker sterben. –