This reminds me of a Netlogo Simulation designed to simulate the effects of forest fires and to simulate how density effects the percentage burned down.
You can actually play with the simulation in the link to see how fires spread to cause the effect in the image.
If you are familiar with the old predator prey model:
http://ccl.northwestern.edu/netlogo/models/HubNetPredatorPreyGameHubNet
Depending on factors, not all of the prey have to be eaten before the predators start to decline in number. Having 25% of the population already infected may create enough distance from the virus to more hosts to keep it in a decline. The virus, as a predator, is not very mobile on its own.
Check out breeds, which you could configure for shooters, fighters, civilians, etc. You could use turtles-own (or breeds-own) variables to track accuracy of turtle.
I am not sure if I understand, but I think you need this
so in case "nodes" is a list of ids:
ask sensors with [member? who nodes] [set color black]
or in case "nodes" is an agentset
ask sensors with [member? self nodes] [set color black]
> we currently teach Java to Freshmen and Sophomores utilizing the Applet class
you are horrible horrible people ;)
For your requirements, maybe Logo would be a good choice. Here's a great implementation.
Also I am slightly confused, are you teaching Freshmen or Kids? In the 1st case I think you could go into something more challenging like python and not necessarily with a gui.
> when a natural predator population sharply rises to meet exploding prey populations the prey populations plummet drastically and the predator populations run rampant for a generation or two until they too plummet drastically.
Can confirm, at least in (simplified) simulations. Check out NetLogo for a cool way to see this in action: http://ccl.northwestern.edu/netlogo/models/WolfSheepPredation
I want to rant about the myopic view so many permies take on the state of our world for a second (warning!).
Permaculture design principles go so far beyond gardening and farming. Where are the permaculture medical facilities and lawfirms? The permaculture commercial development companies and the permaculture industrial manufacturing plants? This stuff needs to be integrated into the many parts our global systems before it will make a difference.
An couple examples from basic systems theory: slime molds. You can download slime mold simulations like here and mess with the parameters. You can see that if there aren't enough cells, self organization doesn't occur. Similarly, if the correct signals aren't sent, or dont last long enough, self organization won't occur.
Similarly, models of contagion through populations illustrate how things tend to spread much more quickly when there are a more vectors for contamination. An isolated patients risk of spreading Ebola vs someone on a crowded bus.
Lastly, we can look at ants. If all the ants just follow each other around, they make death spirals aka self organizing circle jerks. Its only when the ant colonies are doing a diversity of tasks does it succeed.
Anyway, my point is that permaculture needs to integrate into every part of the global socioeconomic system before well see any results. Systems thinking! Design at a system level isn't just a good idea for a garden.
It's pretty well established in network theory that a preferential attachment network will tend towards one or two nodes which have a power law more connections than the other nodes in the network. You can actually run a model simulation of this process here.
http://ccl.northwestern.edu/netlogo/models/PreferentialAttachment
If we accept that businesses are preferential attachment networks then it follows that this topology would tend to appear as the network scales up. Depending on the institutional norms this could easily result in 'company town' type monopolies where a single institution controls most transactions through the network. Interestingly Barabassi has shown that network centrality doesn't necessarily translate into network influence. Which may speak to the institutional environment being a factor in the formation of monopolies.
one thing to keep in mind with swales is that if you have a basement having percolation through the hillside will increase the humidity in the basement possibly leading to seeping, mold and rot issues (depending on a number of factors). so it may be wise to dig some ditches and linked ponds to move water away from the foundation rather than sink it into the foundation. ideally in a temperate cold climate you want to keep your foundation as dry as possible which means moving water away from your house not creating a soil lake around your house. typically in wet climates swale linked pond systems end up being the most viable water management strategy. however building large ponds gets very expensive so if you have a large property this may not be viable. small hand dug gleed or clay lined seasonal ponds are pretty cheap though.
do a soil test and figure out your soil composition and percolation rate http://www.treepeople.org/soil-percolation-rates
from this you can probably approximate the radius of the soil percolation and movement down the slope from your earthworks. more clay soils will have a more horizontal drainage profile and sandier soil will be more vertical. percolation basically looks like a tree root so you can use that pattern to visualize water movement.
I do like this idea, but I think you should be careful about reinventing the wheel. You should really look into previous simulations, I'd look at NetLogo for a good starting point of some population modelling projects people have started on. Actually in a lot of ways NetLogo is very similar to what you are proposing just more broken up into separate models instead of one integrated simulation.
However, looking at http://www.reddit.com/r/improviseit, it looks like you are looking for something slightly different.
There are lots of freely available technical tutorials on how to use NetLogo (for example), but it sounds like you're more interested in something on the process of developing and using ABM (scientifically)? If so, i'm not aware of any free books on that side of things (the Grimm and Railsback book is the most widely used and accessible for that, using NetLogo). I'd be interested if others know any free books of this type.
I found this: http://www.shodor.org/interactivate/activities/RabbitsAndWolves/
And I think this is the version you're thinking of: http://ccl.northwestern.edu/netlogo/models/RabbitsGrassWeeds
Here is a how-to to download it, though I don't know if it works: http://www.sustainicum.at/files/projects/239/en/Simulation_Grass&Rabbits_Step%20by%20Step.pdf
Yes:
http://ccl.northwestern.edu/netlogo/5.0/docs/dictionary.html#file-write
There is a really brief code example there. The CSV extension will make it easier to import the data, but if you need to do this without any extensions, then it's possible with file-write and related functions.
http://ccl.northwestern.edu/netlogo/5.0/docs/dictionary.html#fileiogroup
Slightly different than cellular automata, but:
There is a very famous paper about finite state automata (and a literature that grew out of it.) Start with the famous one:
Rubinstein, Ariel. "Finite Automata Play the Repeated Prisoner's Dilemma." Journal of Economic Theory 39, 83-96 (1986).
Cellular automata remind me a lot of the sugarscape agent based models (which is not exactly economics, but general social science). http://ccl.northwestern.edu/netlogo/models/Sugarscape3WealthDistribution http://en.wikipedia.org/wiki/Sugarscape
>The one way you may consider this chance is the birth lottery which speaks to genetics rather then familial wealth, smart people tend to do better and also have smart children who also do better.
this has been studied and is found to be completely irrelevant. the genetic basis for inequality through an IQ would be 0.01. This is not enough to be a significant mechanism for the levels of assortment that we see in the data.
more to the point a simple ant model of random walks can produce power law assortment of differences in initial conditions. what matters according to Bowles and others is the institutional structures that allow for the passage of wealth from one generation to another, primarily through intergenerational inheritance of wealth.
Just chiming in to say that I am always dealing with this issue, and as far as I can tell this sort of self-doubt is just another of the more twisted symptoms of depression. Not trusting your judgement about something being wrong sucks, but suicidal ideation is a pretty clear indicator of depression.
If you like science/math you might like checking out this model from one of my favorite depression research teams: http://ccl.northwestern.edu/netlogo/models/community/Symptom_Spread_Model
If you load the java model in your browser, you can see the effects of adjusting different parameters on system behavior. I don't remember the exact settings but it is possible to get bistable scenarios as well as systems that oscillate between depressed and normal pretty rapidly. While the model is mainly illustrative, I think the take away is that the moments when you feel normal enough to think depression might be fake can be very transient moments in the middle of an emotionally unstable period. Your feelings at any given instant don't invalidate the feelings that preceded them.
Idk if the model stuff helps for you or not, but just know you're not alone in feeling this way.
Do you mean scientific in the sense of empirical reductionism or scientific in the sense of experimentation based on direct observation? the latter is possible in nonlinear, complex systems with more than 6 dimensions; the first is not because you cannot find direct causality in multidimensional systems. at a certain point the effect becomes the cause and you really can't isolate single causality. in a networked system this tends to happen when the network shifts to it's giant component, or in Tobin Hemenway's term the garden 'pops'. So is the higher yield (or lower) in your food forest caused by bird shit, mycellium (which species?), initial conditions, weather changes, interaction with comfrey, nitrogen from the italian alder, or some other interaction from the 60+ species that are in the giant component of the food forest network? There is no classical science that can determine that. And there probably never will be because in complex systems science you basically have to abandon causality and only look at structure.
I'm not saying that we should abandon scientific methods (especially experimentation) but 18th to 20th century science is very limited when it comes to applied complex sciences like ecology. Why do you think almost all ecology is just data collection? Because you can actually do that within the existing scientific paradigm. Anything applied is usually simulation models based on the data. I mean it would be great if we had access to those kinds of resources as a community but we don't. So most permaculture research takes place through direct observation experiments and whatever theory trickles out of the institutions.
Here is a java simulation of why traffic slowdowns happen even on an open road.
To prevent them the only parameter you need to change is decrease acceleration; it is more effective than reducing the number of cards or deceleration. The cars are able to keep a more even speed and have more time to coast when a car in front of them slows down. It prevents having to break hard.
There is a pretty simple computer program online called Netlogo and it contains already in the download package some simple bio/chem/phys stuff. The programming is basic level but you really don't ever have to do any.
Hi! We're a nonprofit research institute that uses simulation methods, including ABM, to study the dynamics of social systems, predict human behavior, and craft policy interventions. We published a book in 2019 called Human Simulation that describes applications of modeling & simulation for humanities scholars.
Here's a sample model from NetLogo that might be useful in learning how ABM works, especially its impact on social sciences.
Well, it does like you are describing an application a lot like what netlogo was designed for, but I think people also make simulations in lots of more run-of-the-mill languages, too.
You can run this yourself with NetLogo (no supercomputer required!). Download is at: http://ccl.northwestern.edu/netlogo/6.1.1/
/MJA Scenarios/COVID SIMULS VIC.nlogo is the file you're after to open. You'll need to comment out
import-drawing "Background1.png" ;; imports MSD image
like so
;;import-drawing "Background1.png" ;; imports MSD image
as the image isn't included.
Hit the Setup button toward the top left of the drawn interface, wait for it to seed, then click Go.
You can find how to got to the file here: http://ccl.northwestern.edu/netlogo/docs/faq.html#how-big-can-my-model-be-how-many-turtles-patches-procedures-buttons-and-so-on-can-my-model-contain. I believe on Macs it's actually in the .app.
This is not programmed in Python, but it's a nice agent-based model written in NetLogo that does something similar to what you're trying: http://ccl.northwestern.edu/netlogo/models/Fire
Although NetLogo's language is a bit quirky, it's usually fairly readable. You might find their approach inspirational (this is in the model library that comes with Netlogo).
The slight difference in approach they take is that instead of individual trees in your matrix (of patches), they have a random set of "tree densities" at each grid square.
globals [ initial-trees ;; how many trees (green patches) we started with burned-trees ;; how many have burned so far ]
breed [fires fire] ;; bright red turtles -- the leading edge of the fire breed [embers ember] ;; turtles gradually fading from red to near black
to setup clear-all set-default-shape turtles "square" ;; make some green trees ask patches with [(random-float 100) < density] [ set pcolor green ] ;; make a column of burning trees ask patches with [pxcor = min-pxcor] [ ignite ] ;; set tree counts set initial-trees count patches with [pcolor = green] set burned-trees 0 reset-ticks end
to go if not any? turtles ;; either fires or embers [ stop ] ask fires [ ask neighbors4 with [pcolor = green] [ ignite ] set breed embers ] fade-embers tick end
;; creates the fire turtles to ignite ;; patch procedure sprout-fires 1 [ set color red ] set pcolor black set burned-trees burned-trees + 1 end
;; achieve fading color effect for the fire as it burns to fade-embers ask embers [ set color color - 0.3 ;; make red darker if color < red - 3.5 ;; are we almost at black? [ set pcolor color die ] ] end
; Copyright 1997 Uri Wilensky. ; See Info tab for full copyright and license.
Depending on the project you're trying to do, you could also use an agent-based modeling approach to generate synthetic data- something like the NetLogo traffic grid
I hope so. ABM explores swarm intelligence and ant colony models are quite often used for research. For instance
http://ccl.northwestern.edu/netlogo/models/AntsSimple
If you do a Google search you'll find many more examples. Have a look at a couple of YouTube videos, they are quite fun.
NetLogo comes with a Logging Application. It's exactly like NetLogo, except it logs user actions. Read more about NetLogo Logging here
We also have a custom logging extension if you want to log things that are not automatically logged by NetLogo logging.
It outputs everything to xml, so you need to feel okay about that. If you don't, or if you strongly dislike xml, just use the file-open
, file-write
, and file-close
commands to write your own logs.
For an introductory look into these sort of simulations, NetLogo is really awesome. Here is a model in Java: (http://ccl.northwestern.edu/netlogo/models/run.cgi?TrafficBasic.730.430)
If you download NetLogo you can look at the code for the model and make your own tweaks, like dumping data so you can make good looking output graphs.
1: sprout-breed # [] will create differing variables because it knows the starfish (or whatever) need to have a color/etc but because it's a patch creating them through the sprout command and not another starfish that it can copy its variable from, the program just kinda makes some up. You can fix this by adding -
set color blue set age 0 set favorite-activity long-walks-on-the-beach
to the [] after sprout
2: Yes! It's a great tool called Behavior Space. Check out the link here: http://ccl.northwestern.edu/netlogo/docs/behaviorspace.html to read the how-to on using it
You should really take a look at NetLogo ! It's an amazing tool to explore this kind of algorithms: very powerful and super easy to learn!
Uploading files takes a long time, but I will share a simple model of evolutionary robots with you as soon as it's up.
There is a scientific reason for why this happens. During a traffic jam, instead of thinking of it as 'cars moving', it's better to think of it as 'empty holes moving through cars'. You can explore this phenomenon with this java link. Notice that in heavy traffic, when cars move, it's due to these holes moving through cars. So when you see cars moving from another lane, and you go into that lane, you are filling the hole. This slows down traffic in the entire lane. So this is why it's better to sit in your lane and wait for your hole to come.
Interesante tu reflexión. No estoy en contra de tus convicciones pero quería comentar en una que creo no es del todo acertada:
>It is also interesting to note that “Faith”, “Hope” and “Charity”,(or “love”, in the “love thy neighbor” sense) do not make sense from the point of view of science. In fact, they are their antithesis: Faith is opposed to the logic, as there is no possible way to prove God exists. Hope is opposed to statistics (mathematics), as it is opposed to assuming that random chance will govern your outcomes. And Charity is opposed to economics and our own biology, as it is opposed to acting “rationally”, or selfishly.
Muchas de tus preceptos se basan en las ideas de la economía clásica. Esta que habla de las "rational expectations" y "utility theory" de una manera muy particular (diciendo que el "selfishness" es una de las mejores estrategias, etc).
However, these theories are being challenged in current research. First by showing that in reality (nautre), people are not completely rational, and secondly showing that cooperation and altruism can also be a winning strategy from a systems perspective. There are several studies related to altruism behaviour in systems.
For example, in this and this models it can be shown that there are circumstances in which an altruistic or cooperative behaviour is beneficial for individuals.
Perdón por cambiar a Inglés pero se me dificulta escribir ese tipo de cosas en Español.