Accompanying any new Bond
film is a cornucopia of branding; from watch sponsorships to cars and mobile
phones. Bond is seen modelling sharp suits and designer shades. But there is
another kind of agent modelling that has become increasingly popular in recent
times due to available computing resources and the preference for our friend
brute force.
Agent-based modelling is not something to do with 007. It’s an approach that enables what is
called parallelisation, another drinking buddy to brute force.
The idea is to split-up the
work-load into neat packets of autonomous tasks. Then divvy-up the task between
the available resources and let them each just get on with it. Each worker or
“agent” is assigned certain behaviours like always go left say, and, like a worker
bee or ant, they knuckle down to the task in hand without worrying what
everyone else is up to.
Because agents aren’t very
social-types they can do their particular job at the same time as other agents,
hence in parallel. At certain times they may report back to base with an update
of how they’re doing or what they found-out. This could be when something
happens or at a set time agreed with HQ.
Agents get their head down.
If you give then a job to do they’ll carry-on doing it happily for however long
you like, just don’t make it too complicated.
For example, if you wanted
to find something you’d lost, car keys say, then you could set a team of agents
on to the task of finding it. They’ll beaver away looking for it, maybe
searching a small area each or randomly zig-zagging about the place. The
trade-off may be between quantity and quality. Imagine you only had a set
amount of cash to pay the search team with. If you were to have one, expensive
guy hunting then he may move quicker than any cheap labour individual agent and
be more skilled but there’s still only one of him. A separate agent could be a
computer or one of the processors on a computer.
Splitting-up the work is not
always such a simple thing to do though. Not everything can be parallelised and
sometimes the effort of getting things into a fit shape so that it can be is
just not worth it. In the lost car keys example it’s obvious how to share the
task around, in space. But for other problems it’s not so straightforward.
Imagine a task that each step was reliant on the previous, like on a production
line, say making a car. Things could be made in parallel but when it comes to
putting the car together certain things have to go in first and others later,
like say, the steering column before the steering wheel. These things must
therefore be done in serial, i.e. one after the other. Even in the searching
problem it may be that the agents don’t find anything at first then they all
meet-up and have a chat and decide to change how they’re going to search as a
group, like focus more on one area over another. Each of these get-togethers
would be serial events.
Agent-based systems can be
relatively little hassle because once they’ve been set on their merry little
way they can be left unsupervised to get on with it. The downside to this is
that they’ll only act in the way that you’ve told to them to, which often means
in a simple and loner way- A bit like a Goth high school drop-out.
