Skip to content

sisl/InterpretableValidation.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interpretable Safety Validation

Build Status Coverage Status codecov

A collection of tools for the interpretable safety validation of autonomous system. See the following paper for a description of the methods: https://arxiv.org/abs/2004.06805

Usage

See examples/sample_optimization.jl for an example of how to use the package.

The steps include

  1. Defining a Multivariate time series distribution
  2. Define a cost function
  3. Call the optimize function with the following options
  • eval_fn::Function - Function that evaluates the cost of a sample from the MvTimeseriesDistribution.
  • d::MvTimeseriesDistribution - The baseline sampling distribution.
  • rng::AbstractRNG - The random number generator. Default: Random.GLOBAL_RNG.
  • loss - The loss function that takes a RuleNode as input and returns a loss. Best practice is to set the eval_fn and use the default here. Default: loss_fn(eval_fn, d, rng = rng).
  • Npop - Size of the population. Default: 1000.
  • Niter - Number of optimization iterations. Default: 30.
  • max_depth - The max tree depth for expressions. Default: 10.
  • opt - The optimization program. This option overides the population, iterations and max_depth if set independently. Default: GeneticProgram(Npop, Niter, max_depth, 0.3, 0.3, 0.4)
  • comparison_distribution - The distribution for sampling comparisons like x < 0.5. Default: default_comparison_distribution(d).
  • grammar - The grammar used to sample expressions. Default: create_grammar().
  • verbose - Whether or not to print progress. Default: true

Maintained by Anthony Corso (acorso@stanford.edu)

About

Sampling Functionality for LTL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages