Nimit Singhania
University of Pennsylvania
This is a tool to learn piecewise affine models from input-output data. It is written in MATLAB. Technical details of the tool can be found in the following paper:
- R. Alur, N. Singhania, Precise Piecewise Affine Models from Input-Output Data, EMSOFT'14
Run start.m in MATLAB inorder to add all required files in your current path.
Run example/runExample.m to generate and plot the model for a simple example used in EMSOFT'14 paper.
Run mosaic-example/testMosaic.m and then mosaic-example/plotMosaic.m for a FUN experiment!
Run qualtiy-tests/runQualityTests.m to generate synthetic data and evaluate performance of tool on this data. Run quality-tests/plotN.m and quality-tests/plotSize.m to generate plots from the collected statistics.
Run real-data-tests/driveFerrari.m to evaluate the tool on real-data.
See code/genPiecewiseAffineModel.m to understand details of the model generated by the tool. See example/runExample.m, quality-tests/learnModel.m and quality-tests/testModel.m to understand how to learn model and test the model using algorithm presented in the paper.
-
benchmarks :- Benchmarks used for evaluating the tool in the paper.
- functions :- 4 piecewise linear functions and 3 smooth non-linear functions used to create synthetic data.
- pick-and-place-data :- Data from an experimental study by Juloski et. al.
-
code :- Implementation of algorithm described in the paper.
- analysis tools :- It consists of some tools to analyze the learnt models.
-
example :- Code to run tool on a simple example used in EMSOFT'14 paper.
-
mosaic-example :- Code to run tool on the mosaic example!
-
quality-tests :- Code to generate synthetic data from 4 piecewise linear functions and 3 smooth non-linear functions and evaluate the performance of the tool.
-
real-data-tests :- Code to evaluate the tool using pick-and-place-data
-
stats :- Stores all the statistics generated for synthetic and real data. Used for plotting.
-
plots :- Stores all the graphs generated using the collected statistics
Please see the file called LICENSE.
Please contact Nimit Singhania (nimits@seas.upenn.edu) for any queries or comments.
Please report any bugs at https://github.com/nimit-singhania/mosaic/issues.