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.