This repository is a fork of the P# programming framework that implements a learning-based exploration strategy using Q-learning.
You can find benchmarks for evaluating our Q-Learning strategy in this directory, as well as scripts for easily running these benchmarks.
Install Visual Studio 2019 and if necessary a version of .NET Core that matches the version specified in the global.json file. See version matching rules. Also install all the SDK versions of the .NET Framework that P# currently supports (4.5 and 4.6) from here.
First build the P# runtime and testing tool. From this root directory, run in powershell
:
.\Scripts\build.ps1
Next, build the benchmarks and evaluation driver, by running in powershell
:
.\Benchmarks\build-benchmarks.ps1
To execute an experiment, simply run the EvaluationDriver
using the corresponding test configuration file, as in the following example:
.\bin\net46\EvaluationDriver.exe .\Benchmarks\Protocols\FailureDetector.test.json