For our first test we used 0-level UIAs and QPAs. They all began with no knowledge about what prices to bid or accept. UIAs quickly learned that they can expect to get higher value if they pick lower prices, while QPAs learned what price they can charge that will maximize their expected profit. As predicted by economic theory, this price was their marginal cost, i.e. the lowest price they can charge without losing money. This equilibrium was reached even while all the agents acted purely selfishly.
However, this equilibrium is not completely stable. Network and machine delays, along with the agents' occasional explorative actions, add noise to the system preventing the price from staying fixed at the marginal cost.
Even with only 0-level agents (i.e. no 1-level agents) we can see how the system behaves in a robust manner. Figure 5 shows the clearing price for an auction which starts with only one seller QPA. This QPA quickly ``realizes'' that he has a monopoly and starts to raise its prices. Other QPAs are then added (as marked by the small arrows on the x-axis), and we can see how their addition makes the price drop. The equilibrium price gets fairly close to the QPAs' marginal cost of 0. Towards the end the QPAs start to quit, since we set them to quit after a fixed amount of time, and the price starts to rise. This type of experiment gives us confidence that the agents will behave in a reasonable way even under boundary conditions, e.g. when a lot of the agents die, or when new services are added. If the agents where to determine their bid price based on a fixed utility function we might expect to find periodic or chaotic behavior [3], which we wish to avoid.
Figure 5: Clearing price for successive auctions. Initially there
is only one seller QPA, other ones are added at regular
intervals as noted by the arrows on the x-axis. QPAs' marginal
cost is zero.