Still in the Lake District at the Complexity Summer School - day three now. Gosh, quite a long way to go. There's a small but significant chance that my brain won't make it to the other side. Here's hoping.
(I've been keeping a school diary on the laptop, but I'll edit this into a 'conclusions' post after its all done.)
So: quick general report, before going on to the model my project group is working on - a model I proposed, so it's quite exciting. For me.
For my part, the school's been getting better and better. Some learning through osmosis - marvelous, it actually seems to work. Lots of very good conversations / ideas / people.
My room-mate - also at Leeds, a mathematician drafted into biology - has been teaching me some basics. So, for the first time since, er, 1993 I think, I'm doing differential equations and polynomials.
A bit embarrassing, actually: one of the tutors (a Cambridge mathematician / climate modeller) caught me in the computer room doing BBC AS Level online maths tests. (Which are excellent, by the way!) He asked:
Just checking whether any of that stuff about dumbing down is true, eh?
Er... no, I'm, er... doing the test. Um.
I then asked him a question about one problem, which I later realised was something I'd done at school when I was fourteen.
So plenty of scope for blushes, but pressing on. Stiff upper lip and all that.
The lecture this morning was telling, and its something that's come up round the lunch table too: the clash of cultures between the analytical and computational modellers. The guy was proposing to use computation in a small neural... er, not even net, actually, since all the effects were summed and averaged into a field that affected each unit, so I'm still not clear what the point of that was...
But anyway, at the end, two questions (from the analytic lecturers) were:
So could you explain again what's so great or new about this?
and
I'm wondering whether people use this method because they can't do calculus?
I think its going to be absolutely necessary - and really, really useful - to learn analytical techniques, both formulaic and stochastic, as much as humanly possible. Two reasons: combined with computation, you have all the necessary tools. Second, so one can raspberry at people who accuse you of being a computational modeller coz you're too stupid to do anything else. The question should be how to get the best from computation.
Anyway! The project:
This world has two things: firms and people. Firms make products. That's three things. Hmm.
People also have two roles: they're workers, and consumers.
Firms want to buy labour as cheaply as possible; workers want to sell high. Firms produce one type of product - all firms make the same thing, and compete only over price. They want to sell their product high; consumers (who are also workers) want to buy as cheaply as possible.
What are the different group's interests?
Well, clearly firms' and workers' interests are opposed. Firms' and consumers' interests are also opposed.
But there are interest alignments. Less interesting is where consumers and workers are part of the same community, their interests are connected, but not in a way that's directly clear to me. While they want products to be cheap, if they get their wages from the money network fed by what they buy...? Is there a stable state or equilibrium solution?
Here's the hypothesis I'm interested in, though: it's possible for consumers' and workers' interests to become opposed, where groups can segregate: one set of consumers may 'want' another group of workers to remain on low wages, if the money that group earns does not affect the amount of money in their network.
A few obvious initial observations and problems:
One can imagine two poles: a homogeneous network, where each worker-consumer agent is evenly affected by the flow of capital, and no segregation occurs / or a network consisting of two or more groups, where one set of poorly paid workers produces cheap products for another set of well-paid workers.
Those are the two poles - but any actual result in a network is going to be much messier than this. So is there a way of measuring it? (It'll be some measure of connectivity, but quite what, not sure yet...) Another project group are asking the question 'is it possible to identify communities in networks?', which could be relevant.
But even if the model could produce this (possibly tendentious) result, what would happen to the low-paid workers? What would they buy? We're coming up with some ideas - people are trying different things - but the best so far seems to be that they save up and buy when they can. Not very happy with that. Perhaps they might create dependencies with their own group of local firms, but we're starting the model with only two firms.
Anyway, after three or four hours, we haven't come up with any one schema or set of parameters. There seem to be a number of complexities. I've been trying as much as possible to avoid arbitrary agent rules - along the lines of 'buy only pink things. Why? Coz I'm God and I've written it into your code.' I'd say a rule that sets a firm's profit level at x comes into this category - but I guess we have to try various things.
Another problem - the key one, in fact - is how market price is decided. Where an economist can get away with creating a demand curve, you can't do that in an agent-based model so easily. Currently, I think, it also needs directionality. Which is to say, the firm has to offer a wage price, and raise it incrementally, to find the market price - waiting for a worker to say 'yes', or the workers have to start at some high price, and do the reverse - waiting for the firm to decide to take them on.
Interestingly, everyone else in the group instantly said they thought that workers should choose to accept or reject offers - which seems realistically plausible, given that a worker in the real world answers job applications. I'm not sure I agree. But then, how to take this further? We can't keep it simple AND integrate the subtleties of looking for work in a recession situation, where certain firms have the upper hand. Maybe both are equivalent, and choice of decider is arbitrary.
The other alternative is to treat the work as a product in itself (after all, that's the theory - the worker sells labour), which decides based on two offers from firm and person. But that's just as arbitrary...
One economic method is the Walrasian Auction - a beautiful, elegant and entirely bobbins economic method for balancing supply and demand. Its the most cited example (that I've come across) that agent-based computational economists (ACE) use say to justify their pursuits. How can economics be sensible when it uses such abstractions?
But! What other approaches can we use? What rules can be given to the agents that will produce anything looking like supply and demand? Do we need some sort of epidemiological network for information to flow through?
Gosh, its fun being so out of my depth / trying to re-invent the wheel.
So my first job is going to be a cry for help on the SIMSOC list, where lots of ACEs will hopefully be lurking.
Anyway! Too much thinking via keyboard. This is a blog, after all.
My group has two C++ programmers, a matlab bod and an agent-based modeller who's modelled factory assembly lines. For reasons I think I probably find horrifying but fascinating, he actually placed monitoring devices at key points on the line, getting millions of data. To what end, I'm not yet sure, but of course the word 'productivity' has come up. So it'll be interesting to see how we get on.
Report ends.
Recent comments
1 year 4 weeks ago
1 year 5 weeks ago
1 year 6 weeks ago
1 year 6 weeks ago
1 year 6 weeks ago
1 year 7 weeks ago
1 year 7 weeks ago
1 year 9 weeks ago
1 year 10 weeks ago
1 year 13 weeks ago