breed [symptoms symptom] symptoms-own [ symptom-present? ;; if true, the symptom is a present symptom threshold ;; the difficulty parameter in the logistic function threshold-plot ;; the threshold for the plots activation ;; =0 if symptom-absent, =1 if symptom-present total-activation ;; total activation from network chance-to-become-activated ;; calculates the likelihood with logistic function to become active ] links-own [ weight-edge link-active? ] ;;;;;;;;;;;;;;;;;;;;;;;; ;;; Setup Procedures ;;; ;;;;;;;;;;;;;;;;;;;;;;;; to setup clear-all setup-symptoms ask symptom 0 [set threshold 1.80 set threshold-plot 1.80 set label "Depressed mood"] ask symptom 1 [set threshold 3.37 set threshold-plot 3.37 set label "Weight/appetite"] ask symptom 2 [set threshold 3.72 set threshold-plot 3.72 set label "Loss of interest"] ask symptom 3 [set threshold 3.99 set threshold-plot 3.99 set label "Sleep"] ask symptom 4 [set threshold 3.99 set threshold-plot 3.99 set label "Fatigue"] ask symptom 5 [set threshold 4.03 set threshold-plot 4.03 set label "Psychomotor"] ask symptom 6 [set threshold 5.87 set threshold-plot 5.87 set label "Worthlessness"] ask symptom 7 [set threshold 5.94 set threshold-plot 5.94 set label "Concentration"] ask symptom 8 [set threshold 7.74 set threshold-plot 7.74 set label "Suicidal"] setup-network setup-initial-symptoms reset-ticks end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Setup symptoms: creates symptoms with a nice layout ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to setup-symptoms create-symptoms 9 [ set shape "circle"] layout-circle (sort symptoms) max-pxcor - 1 ask symptoms [setxy (xcor * 0.70) (ycor * 0.70) become-symptom-absent ] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Setup network: creates fully connected network, assigns ;; ;; weights to the links ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to setup-network while [count links < 36] ;; with 9 nodes there are 36 links when fully connected [ ask one-of symptoms [create-link-with one-of other symptoms] ask links [ set link-active? false set weight-edge 0 set color 0 ] ] while [count (links with [link-active?]) < number-of-connections] [ ask one-of links [ set link-active? true set weight-edge connection-strength set color gray ] ] ask links with [not link-active?] [ hide-link ] end to setup-initial-symptoms ask n-of initial-symptoms symptoms [become-symptom-present] end to go setup-weights-edges spread-activation tick update-plot end ;;;;;;;;;;;;;;;;;;;;;;; ;;; Main Procedure ;;; ;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Setup weights edges: Assigns weight to the edges ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to setup-weights-edges if count links with [link-active?] < number-of-connections [ ask one-of links [ set link-active? true set weight-edge 1 show-link ] ] if count links with [link-active?] > number-of-connections [ ask one-of links [ set link-active? false set weight-edge 0 hide-link ] ] ask links with [link-active?] [set weight-edge connection-strength] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Spread activation: The likelihood is calculated and drawing a random number between a uniform distribution of 0 and 1 ;; ;; determines whether the symptom will actually be activated or deactivated ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to spread-activation ask symptoms with [symptom-present?] [ calculate-chance-to-become-activated if random 1000 / 1000 > chance-to-become-activated [ become-symptom-absent ] ] ask symptoms with [not symptom-present?] [ calculate-chance-to-become-activated if random 1000 / 1000 < chance-to-become-activated [ become-symptom-present ] ] turn-active-links-red end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Calculates the likelihood with a logistic function ;; ;; Makes a list with the actual activation values of the symptoms ;; ;; and calculates the chance to become activated in a random order ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to calculate-chance-to-become-activated ask symptoms [ set total-activation [activation] of symptom who let j 0 while [j < count symptoms] [ if who < j [ if link who j != nobody [ if who != j [ let temptot-activation ([weight-edge] of link who j * [activation] of symptom j) set total-activation total-activation + temptot-activation ] ] ] if who > j [ if link who j != nobody [ let temptot-activation ([weight-edge] of link j who * [activation] of symptom j) set total-activation total-activation + temptot-activation ] ] set j j + 1 ] set chance-to-become-activated (exp (total-activation - (threshold - external-activation)) / (1 + exp (total-activation - (threshold - external-activation)))) ] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; procedures to activate and deactivate symptoms ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to become-symptom-absent set symptom-present? false set activation 0 set shape "circle 2" set size 1 end to become-symptom-present set symptom-present? true set activation 1 set shape "circle" set color red set size 2 end to turn-active-links-red ask links with [link-active? = false] [set color 0] ask links with [link-active? = true] [set color gray] let i 0 while [i < count symptoms] [ let j 0 while [j < count symptoms] [if i != j [ ifelse [symptom-present?] of symptom i = true or [symptom-present?] of symptom j = true [ if [link-active?] of link i j = true [ask link i j [set color red]] ] [if [link-active?] of link i j = false [ask link i j [set color 0]] ] ] set j j + 1 ] set i i + 1 ] end ;;;;;;;;;;;;;;;;;;;;;;; ;;; Plots ;;; ;;;;;;;;;;;;;;;;;;;;;;; to update-plot set-current-plot "Network Status" set-current-plot-pen "cut-off" ;; we don't want the "auto-plot" feature to cause the ;; plot's x range to grow when we draw the axis. so ;; first we turn auto-plot off temporarily auto-plot-off ;; now we draw a cut-off for depression by drawing a line from the origin... plotxy 0 5 ;; for depression there must be at least 5 symptoms present ;; ...to a point that's way, way, way off to the right. plotxy 1000000000 5 ;; now that we're done drawing the axis, we can turn ;; auto-plot back on again auto-plot-on set-current-plot-pen "symptom-present" plot (count symptoms with [symptom-present?]) ask symptoms [ set-current-plot label set-current-plot-pen "threshold" auto-plot-off plotxy 0 [threshold-plot] of symptom who plotxy 1000000000 [threshold-plot] of symptom who auto-plot-on set-current-plot-pen "activation" plot (total-activation) ] end ; *** NetLogo 4.0.3 Model Copyright Notice *** ; ; Copyright 2008 by Uri Wilensky. All rights reserved. ; ; Permission to use, modify or redistribute this model is hereby granted, ; provided that both of the following requirements are followed: ; a) this copyright notice is included. ; b) this model will not be redistributed for profit without permission ; from Uri Wilensky. ; Contact Uri Wilensky for appropriate licenses for redistribution for ; profit. ; *** End of NetLogo 4.0.3 Model Copyright Notice *** @#$#@#$#@ GRAPHICS-WINDOW 222 10 555 344 16 15 9.8 1 10 1 1 1 0 0 0 1 -16 16 -15 15 0 0 1 ticks 30.0 BUTTON 21 96 99 132 NIL setup NIL 1 T OBSERVER NIL NIL NIL NIL 1 BUTTON 110 96 189 133 NIL go T 1 T OBSERVER NIL NIL NIL NIL 1 SLIDER 8 24 208 57 initial-symptoms initial-symptoms 0 9 0 1 1 NIL HORIZONTAL PLOT 3 362 555 520 Network Status time number of nodes 0.0 0.0 0.0 9.0 true true "" "" PENS "symptom-present" 1.0 0 -2674135 true "" "" "cut-off" 1.0 0 -16777216 true "" "" PLOT 560 10 808 130 Depressed mood time activation 0.0 10.0 0.0 9.0 true true "" "" PENS "activation" 1.0 0 -16777216 true "" "" "threshold" 1.0 0 -5825686 true "" "" PLOT 560 136 808 256 Loss of interest time activation 0.0 10.0 0.0 9.0 true true "" "" PENS "activation" 1.0 0 -16777216 true "" "" "threshold" 1.0 0 -5825686 true "" "" PLOT 561 263 808 383 Weight/appetite time activation 0.0 10.0 0.0 9.0 true true "" "" PENS "activation" 1.0 0 -16777216 true "" "" "threshold" 1.0 0 -5825686 true "" "" PLOT 562 388 808 508 Fatigue time activation 0.0 10.0 0.0 9.0 true true "" "" PENS "activation" 1.0 0 -16777216 true "" "" "threshold" 1.0 0 -5825686 true "" "" PLOT 814 10 1062 130 Psychomotor time activation 0.0 10.0 0.0 9.0 true true "" "" PENS "activation" 1.0 0 -16777216 true "" "" "threshold" 1.0 0 -5825686 true "" "" PLOT 814 136 1062 256 Sleep time activation 0.0 10.0 0.0 9.0 true true "" "" PENS "activation" 1.0 0 -16777216 true "" "" "threshold" 1.0 0 -5825686 true "" "" PLOT 814 263 1062 383 Worthlessness time activation 0.0 10.0 0.0 9.0 true true "" "" PENS "activation" 1.0 0 -16777216 true "" "" "threshold" 1.0 0 -5825686 true "" "" PLOT 814 388 1062 508 Concentration time activation 0.0 10.0 0.0 9.0 true true "" "" PENS "activation" 1.0 0 -16777216 true "" "" "threshold" 1.0 0 -5825686 true "" "" PLOT 1068 10 1315 130 Suicidal time activation 0.0 10.0 0.0 9.0 true true "" "" PENS "activation" 1.0 0 -16777216 true "" "" "threshold" 1.0 0 -5825686 true "" "" SLIDER 11 152 210 185 number-of-connections number-of-connections 1 36 36 1 1 NIL HORIZONTAL SLIDER 11 195 210 228 connection-strength connection-strength 0.1 3 1 .05 1 NIL HORIZONTAL SLIDER 11 240 210 273 external-activation external-activation -3 3 0 .1 1 NIL HORIZONTAL @#$#@#$#@ ## WHAT IS IT? This model is a representation of major depression. The nodes in this model represent the symptoms of major depression. According to the DSM-IV (APA, 2000) there are nine symptoms: (1) depressed mood, (2) loss of interest, (3) weight loss/gain or appetite loss/gain, (4) sleep problems (hypersomnia or insomnia), (5) psychomotor retardation/agitation, (6) fatigue, (7) worthlessness or guilt, (8) concentration problems, and (9) suicidal thoughts. In this model, a recently emerging view on the relations between symptoms is illustrated. It is based on the hypothesis that symptoms of mental disorders have direct causal relations with one another and is called the causal network perspective (Borsboom, 2008; Cramer, Waldorp, van der Maas & Borsboom, 2010; Schmittmann, Cramer, Waldorp, Epskamp, Kievit & Borsboom, 2011). For instance, if one develops a symptom of major depression (e.g., insomnia) then this increases the likelihood of developing other symptoms (e.g., fatigue, lack of concentration). Conversely, if one of the symptoms disappears, this increases the likelihood that other symptoms disappear as well. The present model simulates the development of symptoms based on these assumptions. ## HOW IT WORKS The model is based on four parameters that can be controlled by the sliders: INITIAL-SYMPTOMS, NUMBER-OF-CONNECTIONS, CONNECTION-STRENGTH and EXTERNAL-ACTIVATION. At each time step (tick), the probability to become activated (red) is calculated for each symptom. This calculation is based on a logistic function. This is an S-shaped, monotonically increasing function often used in item response theory (IRT, Reise & Waller, 2009). The probability to become activated for symptom i is represented as: e^(S[a*x]-b)/(1+e^(S[a*x]-b)). Here, S[a*x] designates the activation sum of the symptom's neighbors (a) times the weight of their connection (x), and b is a symptom specific threshold. The thresholds were set to values derived from appropriate transformations of the IRT difficulties reported by Aggen, Neale, & Kendler (2005). The model thus specifies that a symptom's activation probability increases monotonically with the activation of its neighboring symptoms; symptoms differ however in the level of input they need to become activated, which is controlled for with the empirically derived thresholds. For instance, suicidal ideation is less easily activated than sleep problems. Besides the thresholds, the activation of a symptom depends also on four other factors. The first factor is the activation of the other symptoms in the network. The more symptoms that are active, the higher the probability that a symptom will become activated. But only connected activated symptoms can contribute to a higher probability of becoming activated. Therefore, the second factor on which activation of a symptom depends is whether or not the symptoms are connected. This is determined by the NUMBER-OF-CONNECTIONS slider, on which the created network is based. The connections can have a certain strength, which is the third factor. The strength of the connections determines the degree to which the activation signal of a symptom is sent to the other symptoms and is controlled by the CONNECTION-STRENGTH slider. Finally, the probability to become activated depends on influences from the environment (e.g., stressful life events like a romantic breakup or the loss of a loved one), controlled by the EXTERNAL-ACTIVATION slider. This slider serves to adjust the amount of influence from the environment that influences the activation probabilities of the symptoms. A positive value causes a heightened probability to become activated, while a negative value of external activation means a lowered probability to become activated. Each network created in this manner has symptoms with fixed thresholds. The NUMBER-OF-CONNECTION slider, however, randomly adds connections to the network until the network has the chosen number of links. ## HOW TO USE IT Use the sliders to choose the initial settings for the model. Besides the INITIAL-SYMPTOMS slider, all sliders can be adjusted while the model is running. The INITIAL-SYMPTOMS slider determines with how many activated symptoms the simulation will start. Press SETUP to create the network. To run the model, press the GO button. To stop (and continue) the simulation, press GO again. If you want to start a new simulation press SETUP to create a new network. The NUMBER-OF-CONNECTIONS, CONNECTION-STRENGTH and EXTERNAL-ACTIVATION sliders can be adjusted before pressing GO, or while the model is running. The NETWORK STATUS plot shows the number of activated symptoms over time. The black horizontal line in this plot indicates the DSM-IV cut-off for a major depressive episode, namely five out of nine symptoms. The plots of the separate symptoms show the level of influence of the whole network (i.e., the total amount of activation) on the particular symptom. The influence of the network depends on the connection strength, but also on whether symptoms have connections altogether. The purple horizontal line in these plots represents the threshold of the symptoms. When the activation level of the network is above the threshold for a particular symptom, there is a high probability that this symptom will be activated. ## THINGS TO NOTICE Dependent on the settings of the parameters, the network exhibits three states: a 'healthy' state, a depressive state or a bistable state. A network has a healthy state when there are no or only a few symptoms active. A network has a depressive state when all or almost all symptoms are active. A bistable state, however switches periodically between a healthy and a depressive state. ## THINGS TO TRY The simplest network is a network with the following settings: INITIAL-SYMPTOMS 0 NUMBER-OF-CONNECTIONS 36 CONNECTION-STRENGTH 1.0 EXTERNAL-INFLUENCE 0 Which of the three possible states (healthy, depressive or bistable) does this network exhibit? How is the state of the network affected by changing the CONNECTION-STRENGTH? And how does the EXTERNAL-INFLUENCE affect the behavior of the network? Use the settings of the simplest network again and try altering the number of connections. See what happens in a network with only 20 connections. Press the SETUP button again after a while and see how the connections change. Can the network enter a depressive state in which all or almost all symptoms are active? And what if you combine the 20 connections with a CONNECTION-STRENGTH of 1.5? Does the network status plot pattern changes? Create different networks by pressing the SETUP button repeatedly. Check the Network status plot. Are the peaks higher or lower, or more or less frequent? Can you create a network that is bistable; that is, a network that switches between a healthy and a depressive state? It may take a number of attempts to create such a network. How, do you think, is it possible that some networks can get "depressed" and other networks cannot? Bistability is a feature of many complex dynamic systems and is an indication for a hysteresis effect. To see this effect, set up a network with the following settings: INITIAL-SYMPTOMS 0 NUMBER-OF-CONNECTIONS 36 EXTERNAL-INFLUENCE 0 CONNECTION-STRENGTH 0.3 With these setting the network will not be able to reach a depressive state. Now increase the connection strength constantly step by step, for example by 0.1 every second by clicking on the slider. At what connection strength does the network get depressed? And when you decrease the connection strength at the same pace: at what connection strength does the network go into a healthy state? Is the connection strength at which the network switches from healthy to depressed and vice versa the same when you gradually increase or decrease the connection strength? ## EXTENDING THE MODEL This model could be extended with phenomena related to major depression. An interesting example is comorbidity of major depression with generalized anxiety. Comorbidity means that the two disorders exist simultaneously. In recent scientific research it has been suggested that comorbidity can be explained from a network perspective through the role of bridge symptoms between two disorders. These are symptoms that are part of both disorders and thus exert their influence on the networks of both major depression and generalized anxiety (Cramer, Waldorp, Van der Maas & Borsboom, 2010). In the case of depression and generalized anxiety, such symptoms are sleep problems, concentration problems, fatigue and psychomotor problems. This could be modeled by including another network containing the symptoms of generalized anxiety; the overlapping symptoms should be part of both networks. Via these bridge symptoms, the activity of one network can spread to the other network. ## NETLOGO FEATURES To calculate the influence of the network on a symptom, the matrix extension is used. The weights of the connections are represented in a 9 by 9 matrix. The value in cell (2,3) for example, represents the weight of the connection between symptom 2 and 3. Row 4, for example, represents the weights of the links of symptom 4 to all other symptoms. ## CREDITS AND REFERENCES Aggen, S. H., Neale, M. C., and Kendler, K. S. (2004/5). DSM criteria for major depression: evaluating symptom patterns using latent-trait item response models. Psychological Medicine 35, 475-487. APA (2000). Diagnostic and Statistical Manual of Mental Disorders, 4th edition, text revision. American Psychiatric Association: Washington, DC. Borsboom, D. (2008). Psychometric perspectives on diagnostic systems. Journal of Clinical Psychology, 64, 1089-1108. Cramer, A. O. J., Waldorp, L. J., Van der Maas, H. L. J., and Borsboom, D. (2010). Comorbidity: A network perspective. Behavioral and Brain Sciences, 33, 137-193. Reise, S. P., and Waller, N. G. (2009). Item Response Theory and Clinical Measurement. Annual Review of Clinical Psychology, 5, 27-48. Schmittman, V. D., Cramer, A. O. J., Waldorp, L. J., Epskamp, S., Kievit, R. A., and Borsboom, D. Deconstructing the construct: A network perspective on psychological phenomena. New Ideas in Psychology (2011), doi:10.1016/j.newideapsych.2011.02.007 ## HOW TO CITE If you mention this model in an academic publication, we ask that you include these citations for the model itself and for the NetLogo software: - Van Borkulo, C.D., Borsboom, D., Nivard, M.G. and Cramer, A. O. J. (2011). NetLogo Symptom Spread model. http://ccl.northwestern.edu/netlogo/models/SymptomSpread. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. - Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. In other publications, please use: - Copyright 2011 Claudia D. van Borkulo, Denny Borsboom, Michel G. Nivard and Angelique O. J. Cramer. All rights reserved. See http://ccl.northwestern.edu/netlogo/models/SymptomSpread for terms of use. @#$#@#$#@ default true 1 Polygon -7500403 true false 150 5 40 250 150 205 260 250 airplane true 0 Polygon -7500403 true true 150 0 135 15 120 60 120 105 15 165 15 195 120 180 135 240 105 270 120 285 150 270 180 285 210 270 165 240 180 180 285 195 285 165 180 105 180 60 165 15 arrow true 0 Polygon -7500403 true true 150 0 0 150 105 150 105 293 195 293 195 150 300 150 box false 0 Polygon -7500403 true true 150 285 285 225 285 75 150 135 Polygon -7500403 true true 150 135 15 75 150 15 285 75 Polygon -7500403 true true 15 75 15 225 150 285 150 135 Line -16777216 false 150 285 150 135 Line -16777216 false 150 135 15 75 Line -16777216 false 150 135 285 75 bug true 0 Circle -7500403 true true 96 182 108 Circle -7500403 true true 110 127 80 Circle -7500403 true true 110 75 80 Line -7500403 true 150 100 80 30 Line -7500403 true 150 100 220 30 butterfly true 0 Polygon -7500403 true true 150 165 209 199 225 225 225 255 195 270 165 255 150 240 Polygon -7500403 true true 150 165 89 198 75 225 75 255 105 270 135 255 150 240 Polygon -7500403 true true 139 148 100 105 55 90 25 90 10 105 10 135 25 180 40 195 85 194 139 163 Polygon -7500403 true true 162 150 200 105 245 90 275 90 290 105 290 135 275 180 260 195 215 195 162 165 Polygon -16777216 true false 150 255 135 225 120 150 135 120 150 105 165 120 180 150 165 225 Circle -16777216 true false 135 90 30 Line -16777216 false 150 105 195 60 Line -16777216 false 150 105 105 60 car false 0 Polygon -7500403 true true 300 180 279 164 261 144 240 135 226 132 213 106 203 84 185 63 159 50 135 50 75 60 0 150 0 165 0 225 300 225 300 180 Circle -16777216 true false 180 180 90 Circle -16777216 true false 30 180 90 Polygon -16777216 true false 162 80 132 78 134 135 209 135 194 105 189 96 180 89 Circle -7500403 true true 47 195 58 Circle -7500403 true true 195 195 58 circle false 0 Circle -7500403 true true 0 0 300 circle 1 false 7 Circle -7500403 true false 0 0 300 Circle -16777216 true false 30 30 240 circle 2 false 12 Circle -7500403 true false 0 0 300 Circle -16777216 true false 30 30 240 cow false 0 Polygon -7500403 true true 200 193 197 249 179 249 177 196 166 187 140 189 93 191 78 179 72 211 49 209 48 181 37 149 25 120 25 89 45 72 103 84 179 75 198 76 252 64 272 81 293 103 285 121 255 121 242 118 224 167 Polygon -7500403 true true 73 210 86 251 62 249 48 208 Polygon -7500403 true true 25 114 16 195 9 204 23 213 25 200 39 123 cylinder false 0 Circle -7500403 true true 0 0 300 dot false 0 Circle -7500403 true true 90 90 120 face happy false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 255 90 239 62 213 47 191 67 179 90 203 109 218 150 225 192 218 210 203 227 181 251 194 236 217 212 240 face neutral false 0 Circle -7500403 true true 8 7 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Rectangle -16777216 true false 60 195 240 225 face sad false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 168 90 184 62 210 47 232 67 244 90 220 109 205 150 198 192 205 210 220 227 242 251 229 236 206 212 183 fish false 0 Polygon -1 true false 44 131 21 87 15 86 0 120 15 150 0 180 13 214 20 212 45 166 Polygon -1 true false 135 195 119 235 95 218 76 210 46 204 60 165 Polygon -1 true false 75 45 83 77 71 103 86 114 166 78 135 60 Polygon -7500403 true true 30 136 151 77 226 81 280 119 292 146 292 160 287 170 270 195 195 210 151 212 30 166 Circle -16777216 true false 215 106 30 flag false 0 Rectangle -7500403 true true 60 15 75 300 Polygon -7500403 true true 90 150 270 90 90 30 Line -7500403 true 75 135 90 135 Line -7500403 true 75 45 90 45 flower false 0 Polygon -10899396 true false 135 120 165 165 180 210 180 240 150 300 165 300 195 240 195 195 165 135 Circle -7500403 true true 85 132 38 Circle -7500403 true true 130 147 38 Circle -7500403 true true 192 85 38 Circle -7500403 true true 85 40 38 Circle -7500403 true true 177 40 38 Circle -7500403 true true 177 132 38 Circle -7500403 true true 70 85 38 Circle -7500403 true true 130 25 38 Circle -7500403 true true 96 51 108 Circle -16777216 true false 113 68 74 Polygon -10899396 true false 189 233 219 188 249 173 279 188 234 218 Polygon -10899396 true false 180 255 150 210 105 210 75 240 135 240 house false 0 Rectangle -7500403 true true 45 120 255 285 Rectangle -16777216 true false 120 210 180 285 Polygon -7500403 true true 15 120 150 15 285 120 Line -16777216 false 30 120 270 120 leaf false 0 Polygon -7500403 true true 150 210 135 195 120 210 60 210 30 195 60 180 60 165 15 135 30 120 15 105 40 104 45 90 60 90 90 105 105 120 120 120 105 60 120 60 135 30 150 15 165 30 180 60 195 60 180 120 195 120 210 105 240 90 255 90 263 104 285 105 270 120 285 135 240 165 240 180 270 195 240 210 180 210 165 195 Polygon -7500403 true true 135 195 135 240 120 255 105 255 105 285 135 285 165 240 165 195 line true 0 Line -7500403 true 150 0 150 300 line half true 0 Line -7500403 true 150 0 150 150 pentagon false 0 Polygon -7500403 true true 150 15 15 120 60 285 240 285 285 120 person false 0 Circle -7500403 true true 110 5 80 Polygon -7500403 true true 105 90 120 195 90 285 105 300 135 300 150 225 165 300 195 300 210 285 180 195 195 90 Rectangle -7500403 true true 127 79 172 94 Polygon -7500403 true true 195 90 240 150 225 180 165 105 Polygon -7500403 true true 105 90 60 150 75 180 135 105 plant false 0 Rectangle -7500403 true true 135 90 165 300 Polygon -7500403 true true 135 255 90 210 45 195 75 255 135 285 Polygon -7500403 true true 165 255 210 210 255 195 225 255 165 285 Polygon -7500403 true true 135 180 90 135 45 120 75 180 135 210 Polygon -7500403 true true 165 180 165 210 225 180 255 120 210 135 Polygon -7500403 true true 135 105 90 60 45 45 75 105 135 135 Polygon -7500403 true true 165 105 165 135 225 105 255 45 210 60 Polygon -7500403 true true 135 90 120 45 150 15 180 45 165 90 sheep false 0 Rectangle -7500403 true true 151 225 180 285 Rectangle -7500403 true true 47 225 75 285 Rectangle -7500403 true true 15 75 210 225 Circle -7500403 true true 135 75 150 Circle -16777216 true false 165 76 116 square false 0 Rectangle -7500403 true true 30 30 270 270 square 2 false 0 Rectangle -7500403 true true 30 30 270 270 Rectangle -16777216 true false 60 60 240 240 star false 0 Polygon -7500403 true true 151 1 185 108 298 108 207 175 242 282 151 216 59 282 94 175 3 108 116 108 symptom1 true 1 symptom2 true 1 symptom3 true 1 target false 0 Circle -7500403 true true 0 0 300 Circle -16777216 true false 30 30 240 Circle -7500403 true true 60 60 180 Circle -16777216 true false 90 90 120 Circle -7500403 true true 120 120 60 tree false 0 Circle -7500403 true true 118 3 94 Rectangle -6459832 true false 120 195 180 300 Circle -7500403 true true 65 21 108 Circle -7500403 true true 116 41 127 Circle -7500403 true true 45 90 120 Circle -7500403 true true 104 74 152 triangle false 0 Polygon -7500403 true true 150 30 15 255 285 255 triangle 2 false 0 Polygon -7500403 true true 150 30 15 255 285 255 Polygon -16777216 true false 151 99 225 223 75 224 truck false 0 Rectangle -7500403 true true 4 45 195 187 Polygon -7500403 true true 296 193 296 150 259 134 244 104 208 104 207 194 Rectangle -1 true false 195 60 195 105 Polygon -16777216 true false 238 112 252 141 219 141 218 112 Circle -16777216 true false 234 174 42 Rectangle -7500403 true true 181 185 214 194 Circle -16777216 true false 144 174 42 Circle -16777216 true false 24 174 42 Circle -7500403 false true 24 174 42 Circle -7500403 false true 144 174 42 Circle -7500403 false true 234 174 42 turtle true 0 Polygon -10899396 true false 215 204 240 233 246 254 228 266 215 252 193 210 Polygon -10899396 true false 195 90 225 75 245 75 260 89 269 108 261 124 240 105 225 105 210 105 Polygon -10899396 true false 105 90 75 75 55 75 40 89 31 108 39 124 60 105 75 105 90 105 Polygon -10899396 true false 132 85 134 64 107 51 108 17 150 2 192 18 192 52 169 65 172 87 Polygon -10899396 true false 85 204 60 233 54 254 72 266 85 252 107 210 Polygon -7500403 true true 119 75 179 75 209 101 224 135 220 225 175 261 128 261 81 224 74 135 88 99 wheel false 0 Circle -7500403 true true 3 3 294 Circle -16777216 true false 30 30 240 Line -7500403 true 150 285 150 15 Line -7500403 true 15 150 285 150 Circle -7500403 true true 120 120 60 Line -7500403 true 216 40 79 269 Line -7500403 true 40 84 269 221 Line -7500403 true 40 216 269 79 Line -7500403 true 84 40 221 269 x false 0 Polygon -7500403 true true 270 75 225 30 30 225 75 270 Polygon -7500403 true true 30 75 75 30 270 225 225 270 @#$#@#$#@ NetLogo 5.0.4 @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ default 0.0 -0.2 0 1.0 0.0 0.0 1 1.0 0.0 0.2 0 1.0 0.0 link direction true 0 Line -7500403 true 150 150 90 180 Line -7500403 true 150 150 210 180 link 0.0 -0.2 0 0.0 1.0 0.0 1 1.0 0.0 0.2 0 0.0 1.0 link direction true 0 Line -7500403 true 150 150 90 180 Line -7500403 true 150 150 210 180 @#$#@#$#@ 0 @#$#@#$#@