NetLogo Uri Wilensky Tutorial by Bin-Tzong Chie AI-Econ Research Center, National Chengchi University Department of Industrial Economics, Tamkang University.

Download Report

Transcript NetLogo Uri Wilensky Tutorial by Bin-Tzong Chie AI-Econ Research Center, National Chengchi University Department of Industrial Economics, Tamkang University.

NetLogo
Uri Wilensky
Tutorial by Bin-Tzong Chie
AI-Econ Research Center, National Chengchi University
Department of Industrial Economics, Tamkang University
Outline
•
•
•
•
Introduction
Build a Model
Applets
HubNet
NetLogo
• NetLogo is a programmable modeling
environment for simulating natural and social
phenomena. It was authored by Uri Wilensky
in 1999 and is in continuous development at
the Center for Connected Learning and
Computer-Based Modeling.
• More Information
– http://ccl.northwestern.edu/netlogo/docs/
Download and Install
• http://ccl.northwestern.edu/netlogo/
Initial the NetLogo
Exemplify a Model
Example of El Farol Problem
Three Main Tabs of a Model
• Interface Tab
• Information Tab
• Procedure Tab
Interface Tab
World
The Interface
The World Setting
Information Tab
Procedure Tab
Initial the Model
Run the Model
How does the Model work?
• Global Variables
• Agent’s Variables
• Defined Procedures
– Linked with Interface
– Sub procedure
• Without return values
• With return values
Global Variables
globals [
attendance
history
home-patches
bar-patches
crowded-patch
]
;;
;;
;;
;;
;;
the current attendance at the bar
list of past values of attendance
agentset of green patches
agentset of blue patches
patch where we show the "CROWDED" label
Agent’s Variables
turtles-own [
strategies
best-strategy
attend?
prediction
]
;;
;;
;;
;;
list of strategies
index of the current best strategy
true if the agent currently plans to attend the bar
current prediction of the bar attendance
Procedures Linked with Interface
to setup
...
...
end
Event Trigger
to go
...
...
end
Procedures as Sub-Procedures
without return values
to move-to-empty-one-of
...
end
to update-plots
...
end
to update-strategies
...
end
Procedures as Sub-Procedures
with return values
to-report predict-attendance
...
report ...
end
to-report random-strategy
...
report ...
end
Let’s Play
Instance Interactive with the agents
Stalk an Agent
Save as Applet
HubNet
How to apply HubNet
to startup
setup
hubnet-set-client-interface "COMPUTER" []
hubnet-reset
end
to go
every 0.1
[
listen-clients
display
]
end
to listen-clients
to listen-clients
;; as long as there are more messages from the clients
;; keep processing them.
while [ hubnet-message-waiting? ]
[
;; get the first message in the queue
hubnet-fetch-message
ifelse hubnet-enter-message? ;; when clients enter we get a special message
[ create-new-student ]
[
ifelse hubnet-exit-message? ;; when clients exit we get a special message
[ remove-student ]
[ ask students with [user-id = hubnet-message-source]
[ execute-command hubnet-message-tag ] ;; otherwise the message means that the user has
]
;; done something in the interface hubnet-message-tag
;; is the name of the widget that was changed
]
]
end
HubNet Client Editor
Do you want to go to the Bar