blog photos radio ihih projects me

What I learned from the netlogo-user’s mailing list digest tonight: the Colorado School of Mines has a Division of Liberal Arts & International Studies.

All Your Tomorrows Today is a Ken Hollings/BBC documentary about the early days of RAND Corporation. Assembled by Curtis LeMay’s post-war Airf Force and highly influential to US cold war political strategy, the RAND people were early systems thinkers, and their systems were comprised largely of nations and nuclear weapons. They desired rationality on topics that don’t lend themselves to rationality. And perhaps shouldn’t, but don’t suggest that to the main characters in this story.

I particularly like one critic’s suggestion that RAND generated a “rumor of war”, which is his term for a set of disjointed facts which give the illusion of representing the whole truth. These people are what Dean Bavington would decry as ‘epistimological’ complexity thinkers. They are willing to see the world as complex, but only as an intermediary step to understanding it deterministically. And just think, they had the ear of the people who had their finger on the button.

And yes, there is coverage of the invention of the internet. I knew the standard story about it being a communication system meant to withstand a nuclear strike, but I didn’t realize just how literally and directly that was true. Although set in the Santa Monica sun, the whole story is frankly spooky.

Eric Russell’s GIS extension for NetLogo has been released as a 1.0 version. Eric has licensed it as fully open source, in the hopes that it will be developed further by the community, which is great. It will come bundled with the 4.0.3 version of NetLogo, which is due out shortly (and will not be open source at all. When CCL? When?).

It’s too bad the upcoming Language as a Complex Adaptive System conference won’t have a poster session, or I’d use the GIS extension to roll some realistically spatial population-distribution data into my accent formation model and see if it generated any interesting results to poster up.

Woke up to find this elegant little conceptualization in my inbox. It’s from Jim Lyons, who is one of the alpha boffins on the ridiculously helpful netlogo-users discussion group. While I was preparing my hangover, apparently Jim was preparing something for me to peer at through it.

(I stuck an online version here if you want to see it go. I recommend slowing it down a little.)

Simple Chaos
Posted by: “Jim Lyons”
This simple model exhibits chaotic behavior with very little code.

Each turtle moves towards the centroid of the others, accelerating at a
rate inversely proportional to its distance from that point — except
when the distance is below a certain small threshhold, it just coasts.

As you watch the turtles wander erratically, remember that the code
they are executing is entirely deterministic — randomness is used only
to set their starting positions. Even so, very slight differences at
the beginning produce very different outcomes, the defining
characteristic of chaotic systems.

It is really quite entertaining, and is fun with more than 3 turtles,
too. (It even works with only two turtles.)

Paste this code into the Procedures of a new NetLogo 4 model. In the
Interface, make setup and go buttons and set View Updates to On Ticks.
Enjoy!

Jim Lyons

————-
turtles-own [ vx vy ] ; x and y components of velocity

to setup ;by observer
clear-all
ask patches [ set pcolor sky + 3 ]
create-ordered-turtles 3
[ set shape "circle" jump 1 + random-float .1 ]
end

to go ;by observer, forever
foreach sort turtles [ ask ? ; this keeps order same
[ setxy (xcor + vx) (ycor + vy) ; update position
; find centroid of others
let $x mean [xcor] of other turtles
let $y mean [ycor] of other turtles
let $d distancexy $x $y
if $d > .02 ; apply acceleration if not too close
[ facexy $x $y ; so dx and dy yield components
set vx .9 * vx + .01 * dx / $d
set vy .9 * vy + .01 * dy / $d
]
]]
display
end

Eric Russell has released an early-development version of an extension for using GIS data in the NetLogo agent-based modeling environment. This is fairly large good news to a fairly small group of people. I’m one of them.

In addition to bringing raster-based data into NetLogo models (such as using USGS elevation data in this Grand Canyon model that Eric previously contributed to) the extension allows for import of vector data in the form of shapefiles. The shapefile format is openly-documented, but that still can’t have been easy to build. Assuming it works, doing so should substantially lower the barrier to integrating truly interesting real-world data into agent-based models, especially for people who don’t want to dedicate the bulk of their effort to that task.

I haven’t tried it yet, so I can’t speak to stability. Installation looks to be pretty easy though. It’s very possible this will come in very handy with my pending research.

(insert routine when-will-NetLogo-go-open-source gripe here.)

Back during the winter break, I read Stephen Levy’s 1984 book Hackers - Heroes of the Computer Revolution. It expounds ad nauseam on the “hacker ethic“, which among other things means free sharing of tools for making tools.

Also over the break I was starting my agent-based model of Bornean fruiting synchrony. I’m making it with the NetLogo agent-based modeling environment. While programming the model I found I really wanted to be able to visualize NetLogo’s random number generators, and their parameterizations.

So I made a random number distribution visualization tool. And in the spirit of the Hacker Ethic, I prettied it up and put it on the website in case anyone else wanted one. I posted to the NetLogo user’s group, but I forgot to mention it here.

So if you’ve been looking for a visually-oriented way of understanding the randomization tools in NetLogo, hey, there it is!

random distributions

Steve Steinberg argues that human terrain mapping, and in particular emergent group simulation, may be a damaging technology we are developing without due thought to it’s consequences.

With regard to Paul Torrens‘ work:

“The next example was more disturbing. The scenario this time is a public demonstration, similar to the WTO protests that occurred in Seattle a few years ago. The model includes such details as tear gas which causes civilians to stampede, extremists who are trying to instigate violence, and mounted police. Torrens shows that changing a few small initial conditions controls whether the protest spins out of control or not, and suggests this simulation is a valuable tool for policing. Indeed. Demonstrating either startling ignorance or touching naïveté, Torrens argues that this scenario is really a public health issue, due to the possibility of injury. Well, yes – but, more importantly, it’s a democratic, human rights issue, and improving the state’s ability to squash demonstrations doesn’t strike me as a desirable development.”

You’ve read all the front-page headlines so you know by now that it’s the 50th anniversary of Lego (give or take a few days). Oh man, hurray! Over at Boing Boing Gadgets, Joel has a list of the 9 lego sets he lusted over most. I remember pining over 7 to 9 too, but I totally had numbers 1 and 2! For a while my folks had a Christmas tradition of tagging the biggest gift as being “from Santa” and parking it in plain sight in front of the tree. I remember coming down to find the #375 castle awaiting me. I also remember my parents reflecting on being up all christmas-eve-night putting the 779 pieces together. I don’t think either they or I really took the santa concept very seriously.

I’m also pretty stoked that this year (give or take a year) is the 40th anniversary of Logo. Logo is a programming language–in fact a legitmate derivative of Lisp, the most revered of computer languages–but they didn’t tell us elementary school students that when we used it. They cleverly told us it was an art tool. I used it extensively for my art-ucation on our family’s Franklin Ace 1000, the Icons at school, and one heady summer when my dad brought an Icon back from his shcool and let me keep it in my bedroom. A computer in my bedroom! It sat next to my lego bins. I don’t use lego very much in my daily life, but I’m still using a version of logo for my graduate research today. I like that.

This video from the Logothings website is great:

Hey look, them kids are hacking in lisp!

It’s crazy go nuts week here in graduate student land, as final projects and final exams go off like mortar rounds all around us. Duck and cover! “Graduate student”. Oxymoron.

Yesterday I submitted my term project for my data analysis class: an implementation of Moran’s I statistic for measuring clustering in spatial data, built in the NetLogo agent-based modeling environment.

Moran’s I is a bit dated now I suppose, especially if you ask an up-to-date geostatistician, but everybody still uses it because it’s what everybody knows. And who has up to date geostatisticians hanging around to ask these questions of? If you’ve got a NetLogo model and you want a basic measure of spatial autocorrelation of the results, feel free to use and abuse the code. I managed to port it into my NetLogo accent formation model.

Be warned: it’s not 100% statistically valid or validated. I would be careful about reporting strong claims of “statistically significant clustering” until you’ve either improved on it or carefully characterized the results in your own model. But I think it’s reasonable as an ad hoc measure of clustering to parachute into whatever needs one.

Before I had this thing running, the measure of autocorrelation I was using in my accent model was to crank out a semivariogram for all the point pairs, add up the average value-distance for all the pairs on the “near” half of the variogram, add up the average for the “far” half, and compare the ratio of the “near” and “far” averages. Ouch. I called it the “near-far index”. In fact, let’s call it “Stimson’s near-far index”. Don’t use it for God’s sake. When presenting my Moran’s I improvement, I kind of had to describe the Stimson’s statistic it was replacing. Pierre Goovaerts was in the room. I felt his friendly Belgian eyes burning into my back with incredulity. Ouch.

As Utah Phillips might say, the University of Michigan isn’t the middle of nowhere, but you can see it from here. So it’s nice that lots of interesting people keep coming here to keep us entertained.

At lunch I went to at talk on the historical development of the nuetral theory of evolution, from STIS staff scientist Egbert Leigh. It doesn’t sound like such a hot topic, but I’m fascinated by just how un-obvious tropical biological richness is when you really start to look at it, and I’ve been told I should consequently know about neutral theory, and thought the talk might be just the thing. So did lots of other people apparently, the large-ish room at the museum of natural history was at capacity. It turned out to be just this side of incomprehensible for my genetics-theory underequipped brain (and frankly some people should just not be allowed around powerpoint). But there was something soothing and pleasant about sitting on a radiator in a room packed up with young and old smart folks, listening to this bearded old dude droning on about really smart stuff he clearly really knew a lot about, and idly contemplating the firing of neural networks throughout the crowd. There were necessarily no academic high points for me, but the non-academic high point was when he suggested in his even, dispassionate way that Steve Hubbell built out the powerful and influential neutral theory, which every sensible person knows is fundamentally bonked, “because it was a sweet job, the same way building the atomic bomb was a sweet job for Oppenheimer”, and the crowd accepted that in their even, dispassionate way. I’m sure the lecturer didn’t mean it that way, but still, c’mon, Hiroshima?

After lunch I went and hung out in the Center for the Study of Complex System, where I feel legitimately entitled to check my email in a complex systems way since I probably passed my Evolutionary Dynamics test yesterday and thus still have a shot at getting my minor in complex systems. Then I went back to my home department, where my advisor had arranged an informal afternoon seminar with Michael Batty and some other Brits who were in town for a social sciences conference. Last year I spent a long weekend in Chicago, exploring the neighbourhoods there. I took a copy of one of Batty’s many books about city simulation with me. I didn’t end up doing a lot of reading, but to the extent that I did it was fun to contrast the rich and surprising reality of the very visceral and assertive city of Chicago with the abstractions and essences of the book. So it was particularly pleasant to spend a non-directed afternoon around a table with Prof. Batty and other smart people batting around big ideas in agent-based modeling.

Being a grad student has it’s ups and downs, and there are plenty of times when I’ve wished for the mindless tedium of manual labour as a preferable substitute for the adult-student lifestyle, but when it comes through, the life of an academic can really come through.

José M. Vidal is writing a textbook called “Fundamentals of MultiAgent Systems”, and he’s posted an alpha version on his site, with a call for comments. It’s here:

Fundamentals of Multiagent Systems Textbook

The link to the .pdf seems a bit flakey, but if you try a couple of times it should come through.

Apparently the book is based on his experiences running a grad course in agent based systems. Cool.

He also runs this user-blog on multi-agent systems:

www.multiagent.com

which works on the mechanism that if you assign a weblink in del.icio.us with a certain tag (for:jmvidal), that link and your accompanying text will show up on the blog. Neat.

And in that spirit

I heard an interview on NPR with William Labov. He was talking about how regional dialects in the US are entrenching and differentiating themselves. Which seems counter to what you might think would be the case in a highly connected and media-centralized society. He talked a lot specifically about the ‘Northern Cities Shift’, which if you happen to know some native Michiganders you may be anecdotally aware of. I thought it was fascinating that dialect doesn’t settle down into some kind of homogenous equilibrium, or a least isn’t doing so now. It struck me that that kind of perpetual novelty and lava-lamp partial pattern persistence is the sort of thing you see in systems complexity — places where there are many agents interacting with local rules which crank out the big-system behaviour.

I have to make a model for my agent-based modeling course, so I figured: this is the one. No, it’s got nuthin to do with ecology or landscapes or remote sensing or whatever, but the more I think about the more I think it’s kind of cool anyway.

With our ant-trail presentations out of the way, these days we’re having the presentations on our proposed models. I presented last week, and all the proposals were really cool: a model of pollution-coalition formation and stability among nations from Johannes Urpelainen; a completely off-the-hook model of interest and agenda formation and influence in distributed human communities from Andrew Bell, and Kensuke Mori suggested a meta-population model of predation and birth patterns in african mammals, which is the sort of thing I wish I had thought of because it’s such a clear ecological application. That’s the first set of presentations. Damn.

The slides from my own presentation are here. They get weak at the end, I was still wacking away at them at home 8 minutes before the start of class. Like any good presentation they probably won’t mean much with the audio component anyway — highlights from my draft proposal follow below, and the whole thing is here.

Read the rest of this entry »

I have a group project writing an agent-based program to simulate the foraging behaviour of ants. The NetLogo implementation of this idea makes it look easy. Turns it out it’s not. Which has lead to lots of interesting questions about ants.

Incidentally, the project is being written using the RePast agent based modeling libraries for java. Now, I haven’t looked at the code of the NetLogo sample implementation since I started writing this thing, because we’re not supposed to. But I did look at it last semester, and I seem to remember you could fit the code on a tshirt, using a fairly hefty font, if you were so inclined. You could not fit the equivalent java code on a tshirt. You could not fit it on a muumuu. If nothing else, this project is convincing me that as soon as we’re let loose, I’ll be switching to NetLogo. RePast may not be as clumsy or random as a blaster, but NetLogo is just like way faster. Bring on the clumsy and random.

In an effort to answer some of my questions about how real ants have solved their RePast programming issues, I got a copy of Ants at Work by Deborah Gordon out of the library. I was shocked and mildy irritated to see that no one has checked out this copy — the only one in the UMich system — before me. WTF? I first read AaW when I was contemplating a project for my final year field course in undergrad, and it sticks in my memory as one of the most interesting books I have read. Dr. Gordon studies how it is that individual ants, obeying no rules outside of their own tiny heads, somehow come together to form the persistent yet adaptable superorganism that is an ant colony. She uses methods ranging from painting individual ants to digging up colonies with backhoes. It was my first introduction to the idea of emergence, before I (or apparently Dr. Gordon) had ever heard the word.

I can’t believe nobody else has read it around here. What’s wrong with these people? It’s so much more portable than The Ants, and costs 1/20th as much, even if you don’t include the cost of the hand cart.

Also, there is a raccoon sleeping in the garbage bin to the east of the Shapiro library doors.

wtf.gif

It’s a shimmering new term, and here I am, still living the dream. Complexity and ecology studies at the University of Michigan, the possibility that dogged my dreams as I twisted in my smelly sleeping bag all those years ago, Mitchell Waldrop’s Complexity creasing beneath my thermarest.

Some brief observations.

At the first meeting for the Agent-Based Modeling course, Rick surveyed the represented disciplines, as he seems to like to do. The score: of the 15 students who showed up, 10 of us were from SNRE. Professor Riolo pointed out that even if all the students who weren’t there yet aren’t snerds, that’s a big jump from the usual 2-3. What does this mean? Am I part of a movement? Oh good. Rick charmingly described us as invasive species. Fine then.

At the first meeting of the Intro to Complexity course, the count was 11 departments among 15 students. That’s more like it. There was a pile of copies of the above mentioned Waldrop’s Complexity on the table. I picked up a fresh one to replace my (Fish’s) old copy, which I left on a coffee table in Yellowknife after that planting season, all those years ago.

Maybe now I’ll get to find out what happens in the end.

Creative Commons License