Library for synthesizing Entropic Reactive Control Improvisers for stochastic games.
Example of Reactive Control Improvisation (RCI) due to [1].
Note: The example above was generated using the rci project. The goal is to soon port this example to the improvisers library.
If you just need to use improvisers, you can just run:
$ pip install improvisers
For developers, note that this project uses the poetry python package/dependency management tool. Please familarize yourself with it and then run:
$ poetry install
from improvisers import solve
from improvisers import ExplicitGameGraph # Any class adhearing to the GameGraph protocol below works.
game_graph = ExplicitGameGraph(
root=5,
graph={
0: (False, {}),
1: (True, {}),
2: ('env', {0: 2/3, 1: 1/3}),
3: ('p1', {0, 2}),
4: ('p2', {2, 3}),
5: ('p1', {4, 3}),
}
)
actor = solve(game_graph, psat=1/3)
policy = actor.improvise() # Co-routine for the improvisation protocol.