Demand oracle

In algorithmic game theory, a branch of both computer science and economics, a demand oracle is a function that, given a price-vector, returns the demand of an agent.

It is used by many algorithms related to pricing and optimization in online market.

As an example, consider a market with three objects and one agent, with the following values and prices.

Then, the demand of the agent, given the prices, is the set {Banana, Cherry}, which gives a utility of (4+6)-(3+1) = 6.

With additive valuations, the demand function is easy to compute - there is no need for an "oracle".