Market-oriented Programming
Developing applications where many individual agents interact with each other has the potential to create very powerful applications, however it can also be extremely difficult to ensure that the agents work together efficiently.
It has been decades since someone realised that multiagent systems could benefit from mimicking the market economy, where each individual tries to attain it's own goals, each performing it's own cost/benefit analysis and taking the best (for itself) alternative.
For my Agents class at the University of Auckland in 2005, I did a survey of the field of market-oriented programming, and then implemented an example. You download the reports below.
A Survey of Market Oriented ProgrammingA survey covering both early and contemporary implementations and theories regarding market oriented programming. Disclaimer: having been written in March 2005 in a very short time, it may be out of date and/or omit relevant studies. Provided "as is" :)
Automatic Division of Labour in Multiagent SystemsThis is a report for a project I did in April 2005. It uses as an example a vritual farm where different products can be produced. The goal of the programmer is to create a multiagent system that maximises the amount produced. In my implementation, agents are "paid" for what they produce, and each agent simply tries to maximise its own profit. When considering that it takes time to change jobs, and that diseconomies of scale can decrease production in popular products, the agents soon specialise. An advantage is that if disaster should strike, such as when suddenly half of the agents stop functioning, the other agents can automatically reallocate themselves to a new, efficient configuration.
|