Friday, January 25, 2013

Brute Force: Agent Orang-utan



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. 

No comments:

Post a Comment