Skip to main content

dtControl: Decision Tree Learning Algorithms for Controller Representation

System requirements

To run dtControl, you need Python 3.7.9 or higher with several other libraries which are automatically installed if installing with the python-based pip package manager. We have tested the installation and basic functionality on Ubuntu Linux, MacOS Catalina and Windows 10.

Installing dtControl on your machine

For most users, running the following command should install the latest version of dtControl, as long as you have Python 3.7.9 or newer and pip installed on your system:

$ pip install dtcontrol

Note that in case you have both Python 2 as well as Python 3 installed, you might have to run python3 -m pip install dtcontrol.

Manual Installation

Note: In case of difficulty when following any of the instructions in this section, please check the section ‘Common Installation Issues’ below

  1. Make sure you have Python 3.7.9 (or newer), pip3 and python3-venv for creating virtual environments.

    On Ubuntu 16.10 or newer:

    $ sudo apt-get install python3 python3-pip python3-venv

    On MacOS, you can install with the help of the package manager Homebrew:

    $ brew install python3

    or refer to this tutorial if you don’t have Homebrew installed.

    On Windows, one may follow this or this tutorial.

  2. Use a virtual environment to make sure that the installation is clean and easy, and does not interfere with any other python packages installed in your system. Create a new folder dtcontrol and create a virtual environment inside it and activate the virtual environment:

    $ mkdir dtcontrol
    $ cd dtcontrol
    $ python3 -m venv venv
    $ source venv/bin/activate

    Run python and verify that the displayed version is greater than 3.7.9. Press Ctrl+D to exit the python console again.

  3. With the virtual environment activated, run:

    $ pip install dtcontrol

    This should install dtControl and all its dependencies. Try running dtControl by typing dtControl in the console. It should print the help text.

Uninstallation You can delete the dtcontrol folder created above to delete all traces of dtcontrol as well as its dependencies.

Common Installation Issues

  1. If sudo apt-get install python3.6 does not work, this askubuntu answer might help you.

  2. In case of errors when trying to run virtualenv, check that it is located in a directory that is included in your path; this stackoverflow answer might be relevant.

  3. If you don’t see what went wrong, leave the virtual environment (run “deactivate”), delete the folder rm -rf ~/dtcontrol-venv and go through all the installation steps again. If errors still occur, please raise an issue or contact us.

Running the experiments

This section assumes you have installed dtControl so that upon entering dtControl in your command line, the help text is displayed. Additionally it assumes that you have unzip-ed all examples in ./dtcontrol/examples. You can download dtControl examples and extract them into ./dtcontrol/examples or run the following from the terminal:

$ cd ./dtcontrol
$ git clone https://gitlab.lrz.de/i7/dtcontrol-examples.git examples

Further, you may either manually unzip the specific case study you would like to run or use the following command to unzip all case studies at once:

$ find . -name "*.zip" | while read filename; do unzip -o -d "`dirname "$filename"`" "$filename"; done;

However, be warned that this would use up about 13GB of space.

To execute a single algorithm on a single model, run a command like:

$ dtcontrol --input ./dtcontrol/examples/cartpole.scs --use-preset maxfreq --timeout 30m

If run successfully, this should create a benchmark.html file displaying the results of the current run. It should also create a decision_trees folder containing the output (DOT and C files) decision trees.

We have pre-defined a few preset methods, which can be listed using:

$ dtcontrol preset --list

Run dtcontrol preset --sample or see the manual for details on how to pick and mix your own presets.

Other commands can be found by running:

$ dtcontrol --help

Reading the output

To get an overview of the results, the file benchmark.html is created in the directory from which you call dtControl. You can open it in any browser.

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dtcontrol-2.0.0-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file dtcontrol-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: dtcontrol-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.8.0

File hashes

Hashes for dtcontrol-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3902fca71c31207077c5db2a03ee61a1911c5e416c1f0003f588e65d1fde1bf6
MD5 1ac617b8ec27f51b129fac9eb88836e5
BLAKE2b-256 1bbabb140f10ebdca90a3410e0bfae5ebdf54481712021b32726bf2dc3c3c20c

See more details on using hashes here.

Release history Release notifications | RSS feed

2.1.15

1 file

2.1.4

1 file

2.1.0

1 file

2.0.1

1 file

This release

2.0.0 This release

1 file

1.14.0

1 file

1.13.14

1 file

1.11.20

1 file

1.11.13

1 file

1.11.5

1 file

1.11.4

1 file

1.11.3

1 file

1.10.7

1 file

1.10.6

2 files

1.10.5

1 file

1.10.1

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page