Posted 11-Sep-01 11:13 by Thomas Kay
| I have looked at bargaining.
If there is a difference between the minimum sell-price and maximum buy-price both parties can benefit by trading. The greedy trader problem occurs when one party tries to get the maximum benefit - the seller tries for the maximum price or the buyer tries for the minimum price. Suppose you want to buy something. You start off requesting it in exchange for nothing. Then you increase the price by the minimum amount (eg 1 gold piece) until the seller accepts (or the price gets too high). That way you get the minimum price. Suppose you want to sell something. You start off requesting everything in exchange for it. Then you decrease the request by the minimum amount (eg 1 gold piece) until the buyer accepts (or the price gets too low). That way you get the maximum price. The problem is that these procedures take too long (eg the buy process could take 100 offers, the sell process 1000). BTW combined requests would take longer to bargain because there are more possible prices (combinations of items) and the player requesting doesn't know the value to the other player because they don't know their preferences. If each player can define their request (how much you want something) and price (how much you would give something for) preferences, an automatic negotiator can take these and can calculate a fair bargain in a reasonable time. (Fair in the sense that price is between the maximum and minimum - both buyer and seller benefit.) The players can't reveal their preferences to each other because they wouldn't be able to agree a fair price (and it would reveal information about their strategies). (This doesn't apply if there is a high level of trust but that could only be if the game had permanent alliances and the score for a player depends on their last alliance [including dead players] and not comparison to other players.) You could allow N free communications with each other player but charge a small cost eg 1 gold piece for each next N communications with each other player. N could depend on Wonders and city improvements. A problem with the one-to-one model is that with more than two players the best price can be found by offering to each player (one-to-many) to see who will pay the most. (Which is inconvenient in one-to-one system.) It would be time consuming for a human player to specify their preferences but this could be done with the aid of an optional preference manager. There is a problem specifying the preference for different amounts of money. This might not be linear (ie 100 gp might not be twice as good as 50 gp). Apparently humans use a logarithmic function to measure the utility of money - $100 more is good if you only have $10 but not worth much if you already have $10,000. The players could specify coefficients for a logarithmic function (for humans this could be implemented by dragging the shape of a curve) or (AIs) could specify a preference for each amount (or provide a function). |