⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xxx-altruism.nlogo

📁 NETLOGO
💻 NLOGO
📖 第 1 页 / 共 2 页
字号:
PLOT4287326526Populationstimefrequency0.050.00.0100.0truetruePENS"altruists" 1.0 0 -65413 true"selfish" 1.0 0 -11352576 true@#$#@#$#@WHAT IS IT?-----------This model (and Cooperation and Divide the Cake) are part of the EACH curriculum: "Evolution of Altruistic and Cooperative Habits: Learning About Complexity in Evolution".  See http://ccl.northwestern.edu/cm/EACH/ for more information.This is an evolutionary biology model.  It models population genetics with respect to the fitness of traits that are affected by social and environmental conditions.  The model has two types of patch agents: altruistic agents and selfish agents.The basic premise of the model is that the selfish agents and the altruistic agents are competing for each spot in the world by entering into a genetic lottery.  You can imagine these agents as plants who "seed" for a spot, and the dominant seed generally wins.  The details of the lottery are explained below in HOW IT WORKS.Under normal (non-interfering) environmental conditions, the selfish agents win, and the altruistic population is driven to extinction.  However, as outlined in 'HOW TO USE IT', when the environmental conditions are made more harsh, the altruistic population is able to survive, and even dominate the selfish population.HOW IT WORKS------------1. Patches live in five-cell, plus-sign-shaped neighborhoods.  Whenever a patch is calculating something about its fitness, it is the center of the neighborhood.  For another patch, when that patch is calculating, it becomes merely one of the neighbors.2. Each patch is an agent that has a fitness.  Each patch is also the location of a lottery for its space.  The patch and the four surrounding patches put in "seeds" to try to get the patch turned to their type of patch, altruist or selfish. Being successful in the lottery is getting patches to turn to your type.  We're assuming here that the type (altruistic or selfish) is the important genetic trait.3.  Each patch calculates its own fitness using equation:if it is A (altruist): 1 - cost + (Number Altruists in Neighborhood / 5 * benefit from Altruists)if it is S (selfish):  1 + (Number Altruists in Neighborhood / 5 * benefit from Altruists)Thus, the fitness of the S patch will be higher than the fitness of the A's.  If the cost is 0.2 and benefit is 0.5, for an A surrounded by two S's and two A's, then the fitness of this spot is 1 - 0.2 + (3/5 * 0.5) = 1.1.4.  After each patch has calculated its fitness, it looks to its four neighbors.  Each of the five patches, including itself, puts a weighted seed into a genetic lottery for this center spot.  So, for example, if the neighborhood is ASASA, each of the three A's register their fitness value, and each of the two S's put in their fitness.  The A's are added, and the S's are added.  Let us assume that the A's add up to 3.2 (this includes the A in the center spot), and the S's add up to 2.6.  These two numbers are the altruist weight and selfish weight respectively, in the lottery for the center spot.  Now, the larger number, whichever it is, is called the Major seed; it is divided by the sum of all the fitnesses.  Thus, 3.2/(3.2 + 2.6) = .552  This number is the Altruism seed in the lottery.  The minor seed is 2.6/(3.2 + 2.6) = .448. (Notice that the Altruism seed of the parent is 3/5 = .600, while the child's is .552.  Even though altruism is dominating, it is losing ground.)5.  There are a number of ways of doing the lottery itself.  Currently, we choose a random number between 0 and 1.  Now, if the Number is below the Minor seed, the minor weight gets the spot, and if it is above the major seed, the major seed gets the spot.  So, in the example, if the random number is anywhere from .449 to 1, then the Major seed gets it. If it is between 0 and .448, the minor seed gets it.HOW TO USE IT-------------SETUP button -- sets up the model by creating the agents.GO button -- runs the modelALTRUISTIC-PROBABILITY slider -- lets you determine the initial proportion of altruistsSELFISH-PROBABILITY slider -- determines the initial proportion of selfish agents.ALTRUISM-COST slider -- determines the value of cost in the above fitness equations.BENEFIT-FROM-ALTRUISM slider -- determines the value of benefit in the above fitness equations.There are two sliders for controlling environmental variables:HARSHNESS slider -- sets the value for the resistance of empty patch spots to being populated by agents.  The value for this slider determines a corresponding value in the lottery for each empty (black) spot on the grid; the higher this value, the more difficult it is to populate.DISEASE slider -- sets the value for the possibility that the agents in occupied spots will die.  The value for this slider is factored into the genetic lottery, and determines the percentage chance that each agent will die out from their spot.THINGS TO TRY-------------1.  At first, run the model with Harshness and Disease both at 0.  Notice that the selfish population quickly dominates the world, driving the altruistic population to extinction.  How do respective population sizes affect the outcome?2.  Play with the values of cost and benefit.  What are realistic values for actual genetic competition?  How does initial population size effect the significance of these values?3.  Increase the Harshness and Disease values, independently, and with respect to one another.  What are the effects of the Harshness Model?  of Disease?  How are the values dependent on one another?  At what values does the altruistic population begin to have greater success?4.  Consider why the introduction of Harshness and Disease conditions affects the success of the altruistic population.  How does each population, run alone, respond to the Harshness and Disease conditions?  If you imagine the black spots as Voids (a third type of competing agent), what is the fitness relationship between Altruists and Voids?  Selfish agents and Voids?5.  Can you find slider values that maximize the advantage of the altruistic agents?6.  Try running BehaviorSpace on this model to explore the model's behavior under a range of initial conditions.EXTENDING THE MODEL-------------------The model can be extended in a number of interesting directions, including adding new environmental variables, adding different types of agents, and changing the altruistic and selfish weighting under different environmental conditions.This model does not address the behaviors of individuals, only the relative weights of genetic traits.  A next step in considering the evolution of altruism is to model altruistic behaviors.  (See the related model: Cooperation.)NETLOGO FEATURES----------------This model uses patches as its basic agents. Can you design an "equivalent" model using turtles?  How would the model dynamics be affected?RELATED MODELS--------------CooperationCREDITS AND REFERENCES----------------------This model and the Cooperation model are part of the curriculum "Evolution of Altruistic and Cooperative Habits: Learning About Complexity in Evolution".  See http://ccl.northwestern.edu/cm/EACH/ for more information.This model is based on a paper by Mitteldorf and Wilson, in press, "Population Viscosity and the Evolution of Altruism", Journal of Theoretical Biology (2000), v.204, pp.481-496.Thanks also to Damon Centola and Scott Styles.To refer to this model in academic publications, please use: Wilensky, U. (1998).  NetLogo Altruism model. http://ccl.northwestern.edu/netlogo/models/Altruism. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.In other publications, please use: Copyright 1998 by Uri Wilensky.  All rights reserved.  See http://ccl.northwestern.edu/netlogo/models/Altruism for terms of use.@#$#@#$#@defaulttrue0Polygon -7566196 true true 150 5 40 250 150 205 260 250anttrue0Polygon -7566196 true true 136 61 129 46 144 30 119 45 124 60 114 82 97 37 132 10 93 36 111 84 127 105 172 105 189 84 208 35 171 11 202 35 204 37 186 82 177 60 180 44 159 32 170 44 165 60Polygon -7566196 true true 150 95 135 103 139 117 125 149 137 180 135 196 150 204 166 195 161 180 174 150 158 116 164 102Polygon -7566196 true true 149 186 128 197 114 232 134 270 149 282 166 270 185 232 171 195 149 186 149 186Polygon -7566196 true true 225 66 230 107 159 122 161 127 234 111 236 106Polygon -7566196 true true 78 58 99 116 139 123 137 128 95 119Polygon -7566196 true true 48 103 90 147 129 147 130 151 86 151Polygon -7566196 true true 65 224 92 171 134 160 135 164 95 175Polygon -7566196 true true 235 222 210 170 163 162 161 166 208 174Polygon -7566196 true true 249 107 211 147 168 147 168 150 213 150arrowtrue0Polygon -7566196 true true 150 0 0 150 105 150 105 293 195 293 195 150 300 150beetrue0Polygon -256 true false 152 149 77 163 67 195 67 211 74 234 85 252 100 264 116 276 134 286 151 300 167 285 182 278 206 260 220 242 226 218 226 195 222 166Polygon -16777216 true false 150 149 128 151 114 151 98 145 80 122 80 103 81 83 95 67 117 58 141 54 151 53 177 55 195 66 207 82 211 94 211 116 204 139 189 149 171 152Polygon -7566196 true true 151 54 119 59 96 60 81 50 78 39 87 25 103 18 115 23 121 13 150 1 180 14 189 23 197 17 210 19 222 30 222 44 212 57 192 58Polygon -16777216 true false 70 185 74 171 223 172 224 186Polygon -16777216 true false 67 211 71 226 224 226 225 211 67 211Polygon -16777216 true false 91 257 106 269 195 269 211 255Line -1 false 144 100 70 87Line -1 false 70 87 45 87Line -1 false 45 86 26 97Line -1 false 26 96 22 115Line -1 false 22 115 25 130Line -1 false 26 131 37 141Line -1 false 37 141 55 144Line -1 false 55 143 143 101Line -1 false 141 100 227 138Line -1 false 227 138 241 137Line -1 false 241 137 249 129Line -1 false 249 129 254 110Line -1 false 253 108 248 97Line -1 false 249 95 235 82Line -1 false 235 82 144 100bird1false0Polygon -7566196 true true 2 6 2 39 270 298 297 298 299 271 187 160 279 75 276 22 100 67 31 0bird2false0Polygon -7566196 true true 2 4 33 4 298 270 298 298 272 298 155 184 117 289 61 295 61 105 0 43boat1false0Polygon -1 true false 63 162 90 207 223 207 290 162Rectangle -6524078 true false 150 32 157 162Polygon -16776961 true false 150 34 131 49 145 47 147 48 149 49Polygon -7566196 true true 158 33 230 157 182 150 169 151 157 156Polygon -7566196 true true 149 55 88 143 103 139 111 136 117 139 126 145 130 147 139 147 146 146 149 55boat2false0Polygon -1 true false 63 162 90 207 223 207 290 162Rectangle -6524078 true false 150 32 157 162Polygon -16776961 true false 150 34 131 49 145 47 147 48 149 49Polygon -7566196 true true 157 54 175 79 174 96 185 102 178 112 194 124 196 131 190 139 192 146 211 151 216 154 157 154Polygon -7566196 true true 150 74 146 91 139 99 143 114 141 123 137 126 131 129 132 139 142 136 126 142 119 147 148 147boat3false0Polygon -1 true false 63 162 90 207 223 207 290 162Rectangle -6524078 true false 150 32 157 162Polygon -16776961 true false 150 34 131 49 145 47 147 48 149 49Polygon -7566196 true true 158 37 172 45 188 59 202 79 217 109 220 130 218 147 204 156 158 156 161 142 170 123 170 102 169 88 165 62Polygon -7566196 true true 149 66 142 78 139 96 141 111 146 139 148 147 110 147 113 131 118 106 126 71boxtrue0Polygon -7566196 true true 45 255 255 255 255 45 45 45butterfly1true0Polygon -16777216 true false 151 76 138 91 138 284 150 296 162 286 162 91Polygon -7566196 true true 164 106 184 79 205 61 236 48 259 53 279 86 287 119 289 158 278 177 256 182 164 181Polygon -7566196 true true 136 110 119 82 110 71 85 61 59 48 36 56 17 88 6 115 2 147 15 178 134 178Polygon -7566196 true true 46 181 28 227 50 255 77 273 112 283 135 274 135 180Polygon -7566196 true true 165 185 254 184 272 224 255 251 236 267 191 283 164 276Line -7566196 true 167 47 159 82Line -7566196 true 136 47 145 81Circle -7566196 true true 165 45 8Circle -7566196 true true 134 45 6Circle -7566196 true true 133 44 7Circle -7566196 true true 133 43 8circlefalse0Circle -7566196 true true 35 35 230personfalse0Circle -7566196 true true 155 20 63Rectangle -7566196 true true 158 79 217 164Polygon -7566196 true true 158 81 110 129 131 143 158 109 165 110Polygon -7566196 true true 216 83 267 123 248 143 215 107Polygon -7566196 true true 167 163 145 234 183 234 183 163Polygon -7566196 true true 195 163 195 233 227 233 206 159spacecrafttrue0Polygon -7566196 true true 150 0 180 135 255 255 225 240 150 180 75 240 45 255 120 135thin-arrowtrue0Polygon -7566196 true true 150 0 0 150 120 150 120 293 180 293 180 150 300 150truck-downfalse0Polygon -7566196 true true 225 30 225 270 120 270 105 210 60 180 45 30 105 60 105 30Polygon -8716033 true false 195 75 195 120 240 120 240 75Polygon -8716033 true false 195 225 195 180 240 180 240 225truck-leftfalse0Polygon -7566196 true true 120 135 225 135 225 210 75 210 75 165 105 165Polygon -8716033 true false 90 210 105 225 120 210Polygon -8716033 true false 180 210 195 225 210 210truck-rightfalse0Polygon -7566196 true true 180 135 75 135 75 210 225 210 225 165 195 165Polygon -8716033 true false 210 210 195 225 180 210Polygon -8716033 true false 120 210 105 225 90 210turtletrue0Polygon -7566196 true true 138 75 162 75 165 105 225 105 225 142 195 135 195 187 225 195 225 225 195 217 195 202 105 202 105 217 75 225 75 195 105 187 105 135 75 142 75 105 135 105wolf-leftfalse3Polygon -6524078 true true 117 97 91 74 66 74 60 85 36 85 38 92 44 97 62 97 81 117 84 134 92 147 109 152 136 144 174 144 174 103 143 103 134 97Polygon -6524078 true true 87 80 79 55 76 79Polygon -6524078 true true 81 75 70 58 73 82Polygon -6524078 true true 99 131 76 152 76 163 96 182 104 182 109 173 102 167 99 173 87 159 104 140Polygon -6524078 true true 107 138 107 186 98 190 99 196 112 196 115 190Polygon -6524078 true true 116 140 114 189 105 137Rectangle -6524078 true true 109 150 114 192Rectangle -6524078 true true 111 143 116 191Polygon -6524078 true true 168 106 184 98 205 98 218 115 218 137 186 164 196 176 195 194 178 195 178 183 188 183 169 164 173 144Polygon -6524078 true true 207 140 200 163 206 175 207 192 193 189 192 177 198 176 185 150Polygon -6524078 true true 214 134 203 168 192 148Polygon -6524078 true true 204 151 203 176 193 148Polygon -6524078 true true 207 103 221 98 236 101 243 115 243 128 256 142 239 143 233 133 225 115 214 114wolf-rightfalse3Polygon -6524078 true true 170 127 200 93 231 93 237 103 262 103 261 113 253 119 231 119 215 143 213 160 208 173 189 187 169 190 154 190 126 180 106 171 72 171 73 126 122 126 144 123 159 123Polygon -6524078 true true 201 99 214 69 215 99Polygon -6524078 true true 207 98 223 71 220 101Polygon -6524078 true true 184 172 189 234 203 238 203 246 187 247 180 239 171 180Polygon -6524078 true true 197 174 204 220 218 224 219 234 201 232 195 225 179 179Polygon -6524078 true true 78 167 95 187 95 208 79 220 92 234 98 235 100 249 81 246 76 241 61 212 65 195 52 170 45 150 44 128 55 121 69 121 81 135Polygon -6524078 true true 48 143 58 141Polygon -6524078 true true 46 136 68 137Polygon -6524078 true true 45 129 35 142 37 159 53 192 47 210 62 238 80 237Line -16777216 false 74 237 59 213Line -16777216 false 59 213 59 212Line -16777216 false 58 211 67 192Polygon -6524078 true true 38 138 66 149Polygon -6524078 true true 46 128 33 120 21 118 11 123 3 138 5 160 13 178 9 192 0 199 20 196 25 179 24 161 25 148 45 140Polygon -6524078 true true 67 122 96 126 63 144@#$#@#$#@NetLogo 2.0.0@#$#@#$#@@#$#@#$#@@#$#@#$#@

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -