More godel details and an alternative to the money vs. happiness dynamic

Music of Life

Music of Life (reference to Denis Noble's book)

I managed to grab a couple more hours in coffee shops to think about the design of the godel.

Firstly, distance has helped come up with a much simpler way of handling the monthly routine: the farmer agent will own a list with indexes that represent each day in the month. The player will use drop-down boxes to decide how many days their farmer agent will dedicate to different activities and the program will put these into the list accordingly e.g.

[ "tilling" [0] "tilling" [1] "adding fertiliser"[2] ... ] 

(To do this I will hard-code an order that farming activities happen i.e. tilling before planting seeds).

I can then use this list to set the player individual/agent activity each morning (based on the day of the month). Importantly, I will also be able to change the list on the fly e.g.:

  1. based on a probability of the player agent getting sick e.g. change a farming activity to “stay home, too ill to work”.
  2. interactivity, by pressing a button in the user interface e.g. help friend with their field

The second point raises a couple of interesting possibilities:

  1. provide  a button to stop the simulation at any point and change the monthly routine (need to think how this would work i.e. there would need to be a calculation to make sure a routine is not set to cover more days than there are left in the month). a dramatic change to the monthly routine would be needed for instance after a storm flattens a maize crop.
  2. the godel could periodically send messages to the player i.e. “a friend has asked for help on their farm, do you accept?” A button would be provided to accept, which would update the monthly calendar list

Point 2 raises another possibility – how can the player ask (the AI agents) for help on their farm, and how would I program the probability of acceptance?

Individualism vs contribution to a cooperative seems to be a key dynamic here, as it is for the fishing communities I met in Kenya. It seems that ABM is the ideal tool because we can in theory give individuals very different behaviours and so model the variability in terms of actual relationships within a community. It is also interesting that most ABMs do not actually make agents have a great deal of heterogeneity.

There is the possibility of introducing radical new technologies/practices e.g. storage, cheaper access to tractors, new seeds, cash crops etc.

The above summarizes cafe-session 1.

Today I thought more about the details and how we could build in an interesting alternative to happiness. I started out thinking more about how to animate the NL View to illustrate the stories that were playing out e.g. set a farmer “activity-today” attribute based on the calendar list mentioned above then write procedures regarding what has to happen for each activity e.g.

if activity-today = "activity" (e.g. tilling)
if hour = 5 [ head over to fields ]
if hour > 5 and < 17 [ 
ask patch-here (field) [ set attributes e.g. fertility fertility + F, weed-count weed-count - W etc
if hour = 17 [ go back home ]

which then got me thinking that another nice way to provide a counter dynamic to wealth/money creation would be to report on the health of the farm land. At first glance it might appear the two are correlated, and they will be, but only if the farming practices are sustainable. I also got thinking that another model that zoomed out further could take into account the health of the ‘natural’ environment e.g. the surrounding forests with wild chimpanzees in them!

NetLogo shapes

NetLogo shapes

So I would need to decide on some patch attributes to model the terrain e.g. fertility, water content, loam, weed-count, acidity (the kinds of information we get on the back of seed packets). As I understand it, tropical farming is very much a battle against weeds which grow very quickly. (As a reminder: the children’s essays highlighted the problem of cattle getting into fields with crops and damaging them – this would be an interesting new agent to model).

Going back to animation again, it also occurred to me that farming is likely a family operation and it will be important to show mothers, fathers and children activities especially when it comes to schooling, selling things at the market etc.

I started to think about what I can actually do in Cameroon: ask children to colour prints-outs of maps of their area which I could then put into the model (using Gimp); ask children to draw icons using NL e.g. cows, people and other agents; go out to help with the farming and get a better understanding of what is involved; ask lots of questions to get a good idea of the numbers e.g. market prices, amounts of different substances like fertilizer  how much time it takes to do different activities; how to bring in the behaviour composer i.e. get people interacting with the model at this level; when to record conversations (and how to set them up); how to gather data from the model and what I might show the villagers (remind myself how to do this with R).

Finally, I started to think how the model could be used to experiment with new approaches to farming e.g. add solar refrigeration, try a new seed etc. This got me thinking that perhaps the drop-down in the user interface to decide which crop to plant could include a few options to say how large an area should be given to a particular crop. This would introduce the possibility of farming with an experimental crop without committing much effort/land i.e. reducing the risks if it goes wrong.

Last-but-not-least – find a picture or two to give some relief to all this text.

PS I am still intrigued by the idea of including some measure of emotional well-being in the model e.g. happiness, energy-level, spirit…but I should wait until I’ve met the people in Cameroon.

Posted in Cameroon | 3 Comments

3 Responses to “More godel details and an alternative to the money vs. happiness dynamic”

  1. Kenneth Kahn says:

    Should think hard about what the appropriate time scale is. In the Bali farming model – http://www.openabm.org/model/2221/version/2/view – each tick is a month and the decisions are which crop (out of 21) and which month to plant. The model is worth looking at since it also models pests, rainfall, and more. Remember that with hours a year is 365*24 ticks – 8760 ticks.

    Regarding the word godel — it is cute but I keep thinking of http://en.wikipedia.org/wiki/G%C3%B6del_(programming_language) and Kurt Gödel (http://en.wikipedia.org/wiki/Kurt_G%C3%B6del). But maybe that’s just me.

  2. Howard says:

    I like the Balinese irrigation model although I don’t understand the point of highlighting “the system just works without ‘top-down’ coordination” – I am not sure what that really means aside from alluding to a particular kind of political ideology. The fact that the farmers are divided up in small groups (subaks) and they don’t try to break out of those groups shows quite a high-level of top-down coordination (by policing and ‘spiritual guidance’).

    I will speak to David about this model and the Betsileo rice challenge – I just don’t know what kind of interaction design will work with the villages in Cameroon. My guess would be that the Bali model is too abstract and the Betsileo model too text based (and the rules behind the model opaque). I think this “godel” – just being playful (the word association is perhaps particular to you :-) ) needs to focus on game-like elements and modelling transparency. On the latter point, I like the fact that the Bali model has an ODD but I think we go a step further by using modelling4all.

  3. Kenneth Kahn says:

    The big outcome of the Bali model is that while there is plenty of top-down coordination in Bali the same coordination can arise bottom-up with the simple rule: if any of your neighbours had a better yield last year than you did then do what they did.

Leave a Reply