The strategy of a myopically-optimal (MY) pricebot changes depending on whether it has access to the prices and profits for the current round of other pricebots [2]. Each MY pricebot uses the prices of all the other pricebots, including other MY pricebots, to determine its next price [2]. The MY pricebot calculates the profit it would earn for each possible price it could choose, based on what the other pricebots just played as their prices [2]. The MY pricebot then chooses from this set of possible prices the price that gives the most profit. This means that there will be a difference in the prices chosen if the MY update simultaneously versus updating sequentially because a MY agent chooses a price based on what the other agents have as prices. If the MY update simultaneously then in each round, all the MY will choose the same low price that undercuts the lowest price in the last round, or all the MY will choose the highest price of 1. This means that there will be no MY pricebot getting for itself all of the profits of the min buyers. While this will not be significant when the MY only play other MY, it will be significant when the MY play against non-MY pricebots. In the case of the sequential either the highest price or the lowest price is always most profitable, during each round MY pricebots get into price wars, undercutting each other (and the other non-MY pricebots) until the price gives too low of a profit [2]. Some MY pricebot will then choose the highest possible price if no more undercutting can be done, and another price war will begin [2].
Using sequential updating, the average price for the MY is about 0.86. This is because of the following: given 100 MY pricebots, there will be a certain cycle of prices that they go through. Specifically, each MY pricebot is going to undercut the price chosen by the previous MY pricebot until it is no longer practical to undercut and it instead makes more sense to choose the highest price, see Figure 1. There are 101 possible prices to loop through undercutting (101 prices from 0.5 to 1 by increments of 0.005). It will continue to make more sense to choose the highest price, of 1, until all the MY pricebots are choosing 1 as their prices [2]. Then the undercutting will begin again [2]. If we take the average of the prices from undercutting (101 prices from 0.5 to 1 by increments of 0.005) we will get 0.75. If we then average the 0.75 with the average of the ones taken as the highest price (there will be 100) we get 0.865. (And there are also the random prices at the start of each generation which should average 0.75 as well.) So the average prices for each generation should be around 0.865 which is what we see.
Figure 1. Undercutting behavior of MY as seen with 5 MY pricebots. Since with 5 MY, 5 prices are calculated per round, showing the actual prices rather than the average for each round creates ``subrounds''.
When simultaneous update was used for the MY pricebots, we saw that for each round all of the MY pricebots would choose the same low price due to undercutting the lowest price of the previous round, thereby making less profit from the min buyers, because now all instead of a few MY pricebots are sharing the min buyer profits.