0 to Complexity Hero
January 21, 2011 6:55 PM   Subscribe

Modeling Complex Adaptive Social Systems filter: Help me define the topical progression of what I need to learn to do the work, and how I can best supplement my learning with community college classes, tutoring, and things I have not thought of yet. (special snowflake details inside)

(tl;dr at bottom)

I finally found a method of examination that will allow me to further my interest in examining the complex social interactions that encompass transitions away from violence. The problem is that I don't have the math background to know the path from algebra to modeling complex adaptive systems, or get into a graduate program that will teach me how to do it. So, I am going to learn how to do it on my own and start to do the research i want to do.

What to know about me:
M.S. in a Social Sciences
Schooling left me with basic math skills at algebraic level (in 650-700 GRE range on average)

What I am doing:
Working through a Calculus textbook and coding simple python programs that solve the review questions for each chapter

What I plan to do:
I am having a difficult time with calculus because of my algebraic background and am thinking about getting a tutor. I would like to get a tutor who I can work with through calc, linear algebra....here is where I need help.... to the math/programming skills I need to start modeling.

I have attended my local hacker-space which has machine learning, python programming, and algorithm groups. The group didn't meet when i went the first time, but I plan on going again soon to try and get involved more in these groups.

I am more than willing to take a course or two at a community college. I would rather guide this process through tutoring or mentoring, and only take the courses I will need to prove proficiency later.

I would like to build my skills to a level where I can take an intensive complex systems modeling course at an institution like The Santa Fe Institute.

My eventual goal is to pursue a PhD in Political Science or Sociology, in my background (conflict resolution processes) and , slowly developing, methodological approach (complex adaptive system modeling) to examine transitions away from structural and interpersonal violence in micro and macro systems.


TL;DR: What are the steps I need to take to get from algebra and basic python to mathematically and computationally examine and model complex adaptive systems; and where would you I suggest I go for resources.
posted by elationfoundation to Education (5 answers total) 6 users marked this as a favorite
 
If you check out your local universities and community colleges, you might find maths courses that will let you sit in for no credit and a nominal (or no!) fee. You don't have to pay much because the lecturer will not grade your work, and you shouldn't go to office hours etc (your colleges may have exact guidelines on what is allowed and what isn't). At our university you can do this formally, under the name "auditing", or informally (just show up and sit in the back row). It is usually easiest to get permission to do this in large early-year classes, because no one will notice you and you aren't going to disrupt the class. In smaller tutorial-based courses it may not be possible. But it sounds like you probably need calc 101 or something anyway, and those classes will be huge.

You can and should still do the homework problems, and just check the answers against whatever the lecturer puts on the class website or goes through in class or whatever.
posted by lollusc at 7:14 PM on January 21, 2011


It looks from your previous questions like you're in California; California community colleges are ridiculously cheap.
posted by madcaptenor at 7:22 PM on January 21, 2011


You may want to have a look at Vensim PLE, a free (but not open source) system dynamics modeling tool.
posted by Calloused_Foot at 7:47 PM on January 21, 2011


A lot of the modeling of complex adaptive systems of the sort done by folks like the Santa Fe Institute or the University of Michigan's Center for the Study of Complex Systems is actually not based on very high-level mathematics. Their fundamental assumptions are that, rather than modeling a system in terms of its large-scale dynamics or behavior, the way that classical physics or economics would, and applying tools such as differential equations, they approach the problem as one of emergent behavior: by modeling the fairly simple behaviors of lots of individual agents, complex behavior emerges in a way that is hard to explain at the aggregate level.

The good news here is that you don't need to know how to solve differential equations or do multivariable integration. A little probability wouldn't hurt, though. Learning to program is very helpful; one of the fundamental approaches in this field is computer modeling.

Here's a few books to get you started:
Micromotives and Macrobehavior, by Thomas Schelling. Very interesting use of agent-based modeling to explain how individual choices can lead to unexpected large-scale behavior, such as neighborhood segregation.
Complex Adaptive Systems: An Introduction to Computational Models of Social Life by John Miller and Scott Page. These guys are great - I attended a summer school with them at Santa Fe. (the reading list is also a good reference) They use CAS to study economics and politics.
The Complexity of Cooperation by Robert Axelrod. Most famous for the discovery of tit-for-tat as a solution to the Iterated Prisoner's Dilemma.

Now, to be fair, it's certainly possible to apply a lot of heavy math to these sorts of problems, and many folks do, especially those coming from a microeconomic background, but it's not a requirement.

I'd start by looking at the courses offered at places like Santa Fe and Michigan - the material is all online. See if you can tackle the programming assignments. In my experience, the hard part of CAS is not understanding the math as much as it is understanding your problem well enough to know how to model it.
posted by chbrooks at 9:35 PM on January 21, 2011 [5 favorites]


The good news here is that you don't need to know how to solve differential equations or do multivariable integration. A little probability wouldn't hurt, though. Learning to program is very helpful; one of the fundamental approaches in this field is computer modeling.

Yeah, I agree. I've taken some CSCS courses at Michigan, and computer programming skills are much more useful than a knowledge of differential equations. If you aren't familiar with it already, I would spend your time learning object-oriented programming in Java, the language many ABM libraries are written in. A familiarity with probability and probability distributions would be useful, but it might be challenging to find an introductory course that isn't fairly mathematically challenging. Differential equations show up less often, they're typically used when making the opposite assumptions of complex systems, namely that you can describe population-level behavior directly with a set of differential equations. I think you'll get much more mileage overall from programming and (maybe) probability than you would calculus.
posted by JumpW at 10:52 PM on January 21, 2011


« Older I don't know how to feed myself anymore. Please...   |   Bed Fellows... Newer »
This thread is closed to new comments.