This codebase implements the algorithms and examples from our paper on leadership inference.
- the
srcfolder contains source code files that define the core filter - the
examplefolder contains runnable scripts for examples that were implemented - the
testfolder contains unit tests - the
derivationsfolder contains pdfs describing the math behind the filter, SILQGames, and the solution to an LQ Stackelberg game
This repo is structured as a Julia package. To activate this package, type
julia> ]
(@v1.6) pkg> activate .
Activating environment at `<path to repo>/Project.toml`
(StackelbergLeadershipFiltering) pkg>Now exit package mode by hitting the [delete] key. You should see the regular Julia REPL prompt. Type:
julia> using Revise
julia> using StackelbergLeadershipFilteringContains useful utilities. The Cost struct stores matrices which define a quadratic cost function for each player, and the Dynamics struct defines linear game dynamics (both are time-invariant). Functions to evaluate cost functions and unroll trajectories from initial conditions are provided as well.
To run tests locally and avoid polluting your commit history, in the REPL you can type:
julia> ]
(StackelbergLeadershipFiltering) pkg> testAlternatively, you can run:
julia> include("test/runtests.jl")