Category Anthropology

TransmissionLab Update

Yesterday I posted TransmissionLab version 1.4, a fairly major reworking of the model class core. I was dissatisfied with the way that RepastJ models, by default, seemed to tightly couple the main model class to all of the other classes I’d written for data collection, transmission rules, and population construction. My goal with TransmissionLab is really a framework for building models to study cultural communication and transmission, not just writing one giant model and bolting new stuff on.

A paper by Railsbeck et al., in the September 2006 issue of Simulation, is right on the money in saying that the original Objective-C version of the Swarm toolkit is a strong “framework,” as opposed to the “library” style of successor toolkits like RepastJ and MASON. Swarm definitely forced a style of organization onto your simulation models, via the concept of nested “swarms” of agents, observers, etc. I suspect this is much like Ascape, but the latter doesn’t seem to be an active development project any longer (at least given the website – leave a comment if this incorrect). Whereas Repast provides a ton of infrastructure but simulation models themselves seem to be fairly unstructured, as I read various examples and models folks have posted online.

Robert C. Dunnell’s graduate theory courses online!

While I was down in Long Beach recently, Carl Lipo and I talked about digitizing a series of video tapes made in the mid-1990′s of the last time that Robert C. Dunnell taught his graduate archaeological theory courses. Carl has found the time and some resources to start doing that, and the first couple of files (representing the first 5 or so class sessions) are now available in Windows Media format on his website. The classes are an amazing resource and learning experience. We have to apologize in advance for sound issues in lecture #2 — the colleague (who shall remain nameless) who was auditing the class and taping the lectures for us had some….technical issues.

Carl is digitizing all of Archy 497, the first of two quarters of archaeological theory. In 497, Dunnell focused on “formal theory” — concepts, key conceptual relationships, and the classification tools necessary for all explanation in archaeology. In 498, which likely will be the next digitizing project, Dunnell focuses on “explanatory” theory and the history of archaeological theory.

For those readers unfamiliar with R.C. Dunnell, he was my former academic advisor, longtime Chairman of the Department of Anthropology at the University of Washington, key initiator and driver of Darwinian approaches to explanation in archaeology, and scourge of generations of first-year graduate students. Dr. Dunnell retired in the mid-1990′s and now resides in the Southeastern United States, surrounded by Mississippian mounds, archaeological sites, and decent BBQ joints.

TransmissionLab Version 1.3 available

A small update to TransmissionLab is available, which enables proper batch-mode operation and simplifies the command line acrobatics required for batch mode operation. This version is numbered 1.3, and is available either in source code format (from the Google Code Subversion repository) or as a binary JAR file release. The latter are found under “Downloads“, and include a matched JAR file, a ZIP file with library dependencies, and an example batch-mode parameter file.

Both the batch-mode parameter file and library dependencies have slight differences from Version 1.2, so be sure to grab both otherwise you’ll encounter errors starting up a simulation. In particular, this release adds a dependency upon the Jakarta Commons CLI library for command-line parsing, since this isn’t a strong suit of the Repast libraries.

This version also adds one statistic to the OverallStatisticsRecorder data collection module. For each simulation run, we calculate the average number of agents who have traits (measured at each model tick) which are listed in the “top N” list of traits. In other words, if you’re working with a “top 40″ list of song-analogues, this statistic measures the number of agents whose chosen trait is a song in the top 40, as opposed to a trait that wasn’t frequent enough to make the top 40 list. This statistic is thus paired analytically with the parameter for the size of the “top N” lists, and the combination of the two should be interesting to examine across a range of mutation rate and population size parameters.

On a related note, LiveScience has an article on the upcoming article by Alex Bentley, Carl Lipo, Harold Herzog, and Matthew Hahn. I recommend it for a somewhat popularized account of the main conclusions of their 2007 paper. Since much of what we’re doing with TransmissionLab at the moment is going further along the lines suggested by Bentley et al., and earlier Fraser Neiman, Carl Lipo, and myself, it’s a good clue to the kinds of phenomena we can explore purely assuming that choice among alternatives is statistically random or neutral.

Updates to RandomCopyModel simulation code and new TransmissionLab model

Bandwidth has returned here at the house, so I’m catching up on a backlog of things that needed reasonably comfortable internet connectivity. The Canopy wireless service off Mt. Constitution has been having problems with a power supply and some other stuff for a couple of days, so I’ve been relying on my low-speed backup DSL link, which I have to say lets me get email but otherwise feels more like “super dialup” than “broadband.” Oh well.

I’ve been busy on the simulation modeling front this week, coming out with a “final” version of the RandomCopyModel from an upcoming paper by Alex Bentley, Carl Lipo, Harold Herzog, and Matthew Hahn. I didn’t work on the original model or paper, but Alex graciously allowed me to use the original code as the basis for some future experimental models we’re working on, as well as simulation setups I’ll need for my dissertation research. In return I refactored and made the original simulation a bit clearer to follow in terms of the code, so we’re providing version 1.3 of the RandomCopyModel under the terms of a Creative Commons-GPL license for non-commercial use.

In the meantime, I’ve also been planning the next “version” of the model, which is now a separate codebase managed by Google Code under the name TransmissionLab.

The goal of TransmissionLab is to accurately represent theoretical models of CT (e.g., random copying, prestige-biased transmission, frequency-biased transmission) within a variety of population structures (e.g., complete graphs/well-mixed, sparse random graphs and social networks of varying topologies, spatial lattices), and using a variety of update algorithms (e.g., Moran processes, Wright-Fisher processes, various other birth-death processes). TransmissionLab seeks to also make data collection and “observation” of simulated populations simple, with modules which are completely separate from the simulated population itself thus preventing observational “side-effects” on the model. Analysis flows from data collection, and can be done in a variety of ways.

Naturally we’re not the first people by any means to do agent-based simulation models of cultural transmission, imitation behavior within populations, or the diffusion of innovations. Heck, this isn’t even the first simulation of these sorts of phenomena I’ve been involved with. Where I hope that TransmissionLab differs is that nearly all of my previous simulation models have proven fairly special-purpose, expedient models for working on one particular question or problem, and I’m trying to make TransmissionLab a common platform that can span projects both for myself and my research group.

This is important for a number of reasons:

  1. Stable, well-used models tend to be well-structured, well-tested models. The issues of whether the simulation is showing us artifacts of writing software or the theoretical behavior we’re trying to describe can only be solved by deep investment in design, coding, and testing.
  2. Relating the results of one study to another when each uses different simulation code is a difficult one, for obvious reasons. To the extent that we use the same code framework and models to perform multiple studies, we can make arguments (and even measurements) which relate the results of several research studies to each other.
  3. The relationship issue mentioned in the previous item could span multiple research teams if the model is well-structured and tested enough that others adopt it for research.

Thus, I’m putting some reasonable effort into developing TransmissionLab, and if you have an interest in agent-based modeling and cultural phenomena, I hope you give it a look in a version or two. Right now I’m moving from the older RandomCopyModel to a new set of development tasks, which will be outlined shortly at the googlecode wiki for the project. Once these are checked in, there will be some interesting elements beyond the earlier model to explore. I’ll post when that happens.

Research website

I’ve made my University of Washington website live this morning, as a location for discussing my research, distributing software and publications, and so on. The site isn’t finished yet: publications and research areas still need to be filled in. The immediate impetus of putting up the site was to create a distribution point for the agent-based simulation software I’m working on with Dr. Alex Bentley. I’m getting ready to make another release of it, which generalizes it for use beyond Bentley’s original experiments, so when it’s ready I’ll post a notice and description here.

Darwin Day 2007: Darwin’s Impact on the Social Sciences

In addition to being Lincoln’s birthday today, it’s also the 198th birthday of Charles Darwin, celebrated around the world as “Darwin Day.” In recognition of the day, I thought I’d share some thinking on Darwin’s contribution to the social sciences, because these are potentially as powerful as his direct effect on biology, if much less well developed. What follows is necessarily a sketch, since (a) much of it is reprising other sources, and (b) fully justifying and documenting this would turn it into an article or book, rather than a blog posting.

Ernst Mayr, the great biologist and architect of the Modern Synthesis, wrote in a 1959 essay that Darwin’s great contribution to biology was anti-essentialism, or what Mayr called “population thinking.” By this, Mayr meant that Darwin was one of the first biological thinkers to offer a theory of the evolution of species which did not rely upon changes to, differences in, or transformation of the “essence” of a species. In the older view, which goes back to Aristotle (at in terms of codifying this view; the origins of this view are much more ancient and are likely bound up in the cognitive science of “natural kinds”), each species is characterized by an “essence” or definition, which tells us what characteristics an animal, plant, and so on must have in order to belong to that species. The fact that each individual in a species is unique, and that often many individuals lack one or more essential characteristics, but are still considered part of the species, is explained away in Aristotelian essentialism as simply noise or reproductive error that causes the real world to be an imperfect reflection of the species’s underlying “reality.” Variation is thus explanatorily unimportant when species are viewed as characterized by pre-Darwinian biology. And the evolution of one species into another, over time, seems to run up against a massive gulf between two “essences.” One sees echoes of this “problem,” for example, in the objections of many contemporary anti-evolutionists when presented with what biologists believe is the abundant empirical evidence of evolution: the key words “intermediate forms” pop up as tell-tale signs, even though such a notion really arises only if one thinks a species has an “essence” between which a form could be “intermediate.”

Darwin’s great contribution, at least according to Mayr and others, was in founding modern evolutionary biology on a firm basis of anti-essentialism. In this case, what Mayr originally meant by “population thinking” (philosophers will recognize it as a variety of anti-essentialism) is that variation among individuals is not “noise,” nor is it meaningless error — variation among individuals is both the cause of evolution, and the great engine that powers the development of successive adaptations through the continuous (if occasionally roundabout) process of selection. Variation isn’t just important for selection, variation is critical for selection. No variation, no selection, as pointed out by the great mathematical biologist and statistician Ronald Fisher. In fact, selection might simply be the statistical consequence of having variation, some of which makes a difference of our life chances, in an environment where there aren’t enough resources, or enough room, or enough time, for every individual to succeed equally. Selection almost comes naturally when you think about the world through the lens of Darwin’s population thinking.

What has this got to do with social science and Darwin’s contribution to the human sciences? Potentially everything.