Home

Awesome

Auction Learning as a Two-Player Game in JAX

DISCLAIMER: This code is a work in progress and has passed preliminary checks, but might still contain bugs. Thorough testing is yet to come, feedback and questions are very welcome.

This repository is a JAX/Haiku implementation of the paper "Auction Learning as a Two-Player Game" (extended arXiv version). It uses an architecture inspired by GANs to learn (near-)optimal multi-bidder, multi-item auctions.

The GAN example from dm-haiku was used as a starting point.

Getting started

Prerequisites

Usage

To run the auction experiment with specific parameters:

  python algnet.py with num_steps=100 misr_updates=50 misr_reinit_iv=500 misr_reinit_lim=1000 batch_size=100 bidders=5 items=10 net_width=200 net_depth=7 num_test_samples=20

Logging and Artifacts

The project uses the Sacred framework for experiment tracking.

Implementation notes

This module is kept simple to make it suitable for use with computational experiment frameworks, or as a component in larger systems. Black is used as a code formatter.

Funding

This project is funded through the NGI Assure Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more on the NLnet project page.