Skip to main content

Simulating customer interactions with products and bid auctions at large scale.

Project description

lint-test status codecov

truman: dynamic complex-system simulations for one-shot optimal decision-making agents

What is it?

truman is a package that implements suites of environments (system simulations) exhibiting behaviours of real world large scale systems, e.g. changes in online consumer cohort conversion as a function of changes in product price.

truman is not an environment for training reinforcement learning agents, but aims to be an effective way to develop and validate one-shot optimal decision-making agents that perform well on unique systems that can’t be reliably simulated and that have a high cost of experimentation.

Main Features

  • Environments that are compatible (built on) OpenAI's Gym interface
  • Various suites of environments that exhibit common behaviours of real world dynamic systems
  • truman.agent_registion interface for managing agents and their hyperparameters
  • truman.run interface for running suites of agents on suites of environments and storing performance summaries and full histories

Installation

To get started, you'll need to have Python 3.7+ installed. Then:

pip install truman

Editable install from source

You can also clone the truman Git repository directly. This is useful when you're working on adding new environments or modifying truman itself. Clone and install in editable mode using:

git clone https://github.com/datavaluepeople/truman
cd truman
pip install -e .

Background: Why truman?

The base framework that environments are built upon is OpenAI’s Gym. Gym is a powerful framework for building environments and developing reinforcement learning algorithms - but Gym's environments are mostly directed towards training agents on problems that can be simulated exactly, e.g. playing an Atari game. Our work at datavaluepeople is often developing reinforcement learning algorithms for making a massive number of optimal decisions simultaneously on high noise and changing environments, e.g. pricing 100,000s of travel products daily, or health intervention decisions for 1,000,000s of humans daily. In such environments, agents should be able to learn quickly and adapt to novel behaviours, since the price of testing algorithms is very high.

Thus the suites of environments in truman are directed towards the goal of large scale optimised decision making on complex systems, and only allow agents a single episode to both learn and optimize on simultaneously.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

truman-0.0.1a1-2.tar.gz (33.0 kB view details)

Uploaded Source

Built Distribution

truman-0.0.1a1-2-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file truman-0.0.1a1-2.tar.gz.

File metadata

  • Download URL: truman-0.0.1a1-2.tar.gz
  • Upload date:
  • Size: 33.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.7

File hashes

Hashes for truman-0.0.1a1-2.tar.gz
Algorithm Hash digest
SHA256 69c72f2f6a1a076f53c544e479818e146890f301a08dbf875ac181fd27db5db2
MD5 6a88e281fa6352ab7a21da4eaf2bcf92
BLAKE2b-256 7048f595fe5c27e71c4a80a96f7e93b23e114f229ca339b0b49e963eb00ecce1

See more details on using hashes here.

File details

Details for the file truman-0.0.1a1-2-py3-none-any.whl.

File metadata

  • Download URL: truman-0.0.1a1-2-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.7

File hashes

Hashes for truman-0.0.1a1-2-py3-none-any.whl
Algorithm Hash digest
SHA256 97ccf230f2486953568d764558937d1153d82c04cd7fb24a493f88d1571ba407
MD5 001510543c12bb07db384ebe614a4767
BLAKE2b-256 b72dda40c69e1f073a34552c98c8fb5dfa679af6fceeaf6bcdc5a3e7480afa92

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page