What am I doing

  • Less than fully rational agents are hard

  • Start from the opposite direction

  • Use simple trial and error

Who cares?

  • Modeling Contribution

  • "Suppose first that the market price is above the equilibrium price […] There is a surplus of the good: suppliers are unable to sell all they want at the going price. […] They respond to the surplus by cutting their prices. Prices continue to fall until the market reaches the equilibrium."

  • Robustness Check

The Thermostat


The Agent problem

The agent diagram

Enters the PID Controller



  • A seller wants to sell \(y^*\) kilos of cheese each day. Today he charged price \(p_t\) and sold \(y_t\) kilos. How should he sets tomorrow's price \(p_{t+1}\)

  • \(e_t = y^* -y_t\)

  • \(p_{t+1} = a e_t + b \sum_0^t e_{\tau} d\tau + c \frac{de_t}{d_t} + p_0\)

Why PI(D) Controllers

  • Absence of model knowledge

  • Assume unsophisticated users

  • Simple to code

  • Simple to fit



  • Reactive/Subsumption Architecture

  • Zero-Intelligence (Plus)

  • Probe and Adjust

  • Gintis

Zero Knowledge Microeconomics

Zero-Knowledge Seller Demo

Adapting over Learning - Change in Demand

Adapting over Learning - Change in Endowment

Adding production

  • Making 50 kilos of cheese a day require action over multiple markets: milk, workers, sales. How do we generalize PID pricing over multiple markets?

  • How do we decide how many kilos of cheese to produce in order to maximize profits?

Multiple Controls and Fixed Target

Marginal Maximizer

  • Profits are maximized when marginal benefits equal marginal costs

  • \(\text{Marginal Benefit: } p_t = w_t \text{ :Marginal Costs}\)

Simple Marginal Example

We know how to deal with sliders

  • Use a PID controller to find how for which production target \(p_t = w_t\)

  • Lower Frequency

Decisions are fed in

Information feeds back

Independent Control and Flexible Target

Competitive (5 firms), known price impacts