Implementation of Optimal Auctions through Deep Learning
Branch: master
Clone or download
Latest commit 135960c Feb 3, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
myersonNet updated myerson net Feb 2, 2019
regretNet updated unit_1x2_uniform_23 plot Feb 3, 2019
rochetNet Updated plots Feb 3, 2019
.gitignore updated .gitignore Jan 31, 2019
LICENSE Create LICENSE Feb 2, 2019
README.md Update README.md Feb 3, 2019

README.md

Optimal Auctions through Deep Learning

Getting Started

Install the following packages:

  • Python 2.7
  • Tensorflow
  • Numpy and Matplotlib packages
  • Easydict - pip install easydict

Running Experiments in the paper

Default hyperparameters specified in regretNet/cfgs/.
For training the network, testing the mechanism learnt and computing the baselines, run:

cd regretNet
python run_train.py [setting_name]
python run_test.py [setting_name]
python run_baseline.py [setting_name]
setting_no setting_name
(I) additive_1x2_uniform
(II) unit_1x2_uniform_23
(III) additive_2x2_uniform
(IV) CA_sym_uniform_12
(V) CA_asym_uniform_12_15
(VI) additive_3x10_uniform
(VII) additive_5x10_uniform

For additional experiments in the appendix, run:

python run_train_additional.py [setting_name]
python run_test_additional.py [setting_name]
python run_baseline_additional.py [setting_name]
setting_no setting_name
(a) additive_1x2_uniform_416_47
(b) additive_1x2_uniform_triangle
(c) unit_1x2_uniform
(d) additive_1x10_uniform
(e) additive_1x2_uniform_04_03
(f) unit_2x2_uniform

Running single bidder auctions using RochetNet

Default hyperparameters specified in rochetNet/cfgs/.
For training the network, testing the mechanism learnt and computing the baselines, run:

cd rochetNet
python run_train.py [setting_name]
python run_test.py [setting_name]
python run_baseline.py [setting_name]
setting_no setting_name
(a) additive_1x2_uniform
(b) additive_1x2_uniform_416_47
(c) additive_1x2_uniform_triangle
(d) additive_1x2_uniform_04_03
(e) additive_1x10_uniform
(f) unit_1x2_uniform
(g) unit_1x2_uniform_23

Running single item auctions using MyersonNet

Default hyperparameters specified in myersonNet/cfgs/.
For training the network, testing the mechanism learnt and computing the baselines, run:

cd myersonNet
python run_train.py [setting_name]
python run_test.py [setting_name]
python run_baseline.py [setting_name]
setting_no setting_name
(a) uniform
(b) asymmetric_uniform
(c) exponential
(d) irregular

Settings

  • additive_1x2_uniform: A single bidder with additive valuations over two items, where the items is drawn from U[0, 1].

  • unit_1x2_uniform_23: A single bidder with unit-demand valuations over two items, where the item values are drawn from U[2, 3].

  • additive_2x2_uniform: Two additive bidders and two items, where bidders draw their value for each item from U[0, 1].

  • CA_sym_uniform_12: 2 bidders and 2 items, with v1,1, v1,2, v2,1, v2,2 ∼ U[1, 2], v1,{1,2} = v1,1 + v1,2 + C1 and v2,{1,2} = v2,1 + v2,2 + C2, where C1, C2 ∼ U[−1, 1].

  • CA_asym_uniform_12_15: 2 bidders and 2 items, with v1,1, v1,2 ∼ U[1, 2], v2,1, v2,2 ∼ U[1, 5], v1,{1,2} = v1,1 + v1,2 + C1 and v2,{1,2} = v2,1 + v2,2 + C2, where C1, C2 ∼ U[−1, 1].

  • additive_3x10_uniform: 3 additive bidders and 10 items, where bidders draw their value for each item from U[0, 1].

  • additive_5x10_uniform: 5 additive bidders and 10 items, where bidders draw their value for each item from U[0, 1].

  • additive_1x2_uniform_416_47: Single additive bidder with preferences over two non-identically distributed items, where v1 ∼ U[4, 16]and v2 ∼ U[4, 7].

  • additive_1x2_uniform_triangle: A single additive bidder with preferences over two items, where (v1, v2) are drawn jointly and uniformly from a unit-triangle with vertices (0, 0), (0, 1) and (1, 0).

  • unit_1x2_uniform: A single unit-demand bidder with preferences over two items, where the item values from U[0, 1]

  • additive_1x10_uniform: A single additive bidder and 10 items, where bidders draw their value for each item from U[0, 1].

  • additive_1x2_uniform_04_03: A Single additive bidder with preferences over two items, where the item values v1 ∼ U[0, 4], v2 ∼ U[0, 3]

  • unit_2x2_uniform: Two unit-demand bidders and two items, where the bidders draw their value for each item from identical U[0, 1].

Visualization

Allocation Probabilty plots for unit_1x2_uniform_23 setting learnt by regretNet:

Allocation Probabilty plots for additive_1x2_uniform_416_47 setting learnt by rochetNet:

For other allocation probability plots, check-out the ipython notebooks in regretNet or rochetNet folder.