Codes in this repository implement a cutting-plane method to synthesize Lyapunov functions for uncertain neural network dynamical systems. The details of the method and the problem setup can be found in our paper:
Learning Region of Attraction for Nonlinear Systems
Shaoru Chen, Mahyar Fazlyab, Manfred Morari, George J. Pappas, Victor M. Preciado.
IEEE Conference on Decision and Control (CDC), 2021.
We consider finding an inner estimation of the region of attraction (ROA) of a discrete-time nonlinear system
which over-approximates the dynamics
In this way, we can benchmark the ROA analysis of general nonlinear dynamics on uncertain NN dynamical systems. Next, we only need to focus on developing efficient numerical tools for (uncertain) NN dynamical systems.
We parameterize the robust Lyapunov function for the uncertain NN dynamics as a quadratic function
Consider the rational system
By simulating several trajectories, we can roughly guess the area of the ROA and fix the region of interest
You can run the examples in the examples folder to recover the simulation in the paper.
Required packages:
- pympc by Tobia Marcucci (codes included in this repo.)
- Keras
- gurobipy (license required to run the gurobi solver)