# Path Finding ants

No preview image

Model was written in NetLogo 6.2.2
•
Viewed 75 times
•
Downloaded 5 times
•
Run 0 times

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)

## Comments and Questions

Please start the discussion about this model!
(You'll first need to log in.)

Click to Run Model

breed [ants ant] ants-own [ distance_to_home distance_to_target mode speed ] breed [houses house] breed [sugars sugar] directed-link-breed [connections connection] connections-own [ death-time ] to setup clear-all add_house add_sugar create-ants number_of_turtles [ set distance_to_home 0 set distance_to_target 10000 set speed random-float 1.5 set mode "hunt" set color red set shape "bug" set size 0.5 move-to one-of houses ] reset-ticks end to go ask ants [ update_position check_target_reached move_max_distance emit_info ] ask connections [ if ticks >= death-time [die] ] tick end to add_sugar create-sugars 1 [ setxy random-xcor random-ycor move-to one-of patches with [not any? other houses in-radius distance_locations] move-to one-of patches with [not any? other sugars in-radius distance_locations] set color yellow set shape "circle" set size 4 ] end to add_house create-houses 1 [ setxy random-xcor random-ycor move-to one-of patches with [not any? other houses in-radius distance_locations] move-to one-of patches with [not any? other sugars in-radius distance_locations] set color blue set shape "circle" set size 4 ] end to update_position rt random 10 lt random 10 fd speed set distance_to_home distance_to_home + 1 set distance_to_target distance_to_target + 1 end to check_target_reached ifelse (mode = "hunt" and any? sugars-here) [ set distance_to_target 0 set mode "home" set color blue rt 180 ] [if (mode = "home" and any? houses-here) [ set distance_to_home 0 set mode "hunt" set color red rt 180 ]] end to move_max_distance ; check that not lost if (distance_to_home >= max_search_distance and mode = "home") or (distance_to_target >= max_search_distance and mode = "hunt") [ rt random 90 lt random 90 ] end to emit_info let emiter self let clue_distance_home distance_to_home + max_emit_radius let clue_distance_target distance_to_target + max_emit_radius ask ants in-radius max_emit_radius [ ifelse mode = "hunt" and clue_distance_target <= distance_to_target [ set distance_to_target clue_distance_target face emiter if display_links? [ create-connection-from emiter [ set color red set death-time ticks + 5]] ] [if mode = "home" and clue_distance_home <= distance_to_home [ set distance_to_home clue_distance_home face emiter if display_links? [ create-connection-from emiter [ set color blue set death-time ticks + 5]] ]] ] end to setup_avg_plots clear-all-plots end to plot_avg_home let avg-distance-to-home mean [distance_to_home] of ants ; plot the average distance to A plotxy ticks avg-distance-to-home end to plot_avg_target let avg-distance-to-target mean [distance_to_target] of ants ; plot the average distance to B plotxy ticks avg-distance-to-target end to plot_mode_home plotxy ticks count ants with [mode = "home"] end to plot_mode_target plotxy ticks count ants with [mode = "hunt"] end

There is only one version of this model, created over 1 year ago by Leo B.

## Attached files

No files

This model does not have any ancestors.

This model does not have any descendants.