Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#668 - Replace inout_map by low-dimensional flowpipes #676

Merged
merged 6 commits into from
Oct 3, 2019
Merged

Conversation

schillic
Copy link
Member

@schillic schillic commented Sep 8, 2019

Closes #668.

Summary:

  • Add a type SparseReachSet which behaves like a ReachSet but additionally stores the dimensions in which it was computed (from now on, a ReachSet must always be high dimensional).
  • Add an interface AbstractReachSet for ReachSet and AbstractReachSet with the methods set, time_start, time_end, and project. The project method just receives a projection matrix.
  • Extend low-dimensional CPost operators such that they return SparseReachSet flowpipes, which consists of two steps:
    • Add a helper function compute_dimensions to compute the dimensions for SparseReachSets (currently this function resides in BFFPSV18).
    • Store SparseReachSets.
  • Modify project/project_reach:
    • Projections are now computed for each AbstractReachSet individually.
    • Time as output is handled in a slightly different way: First we create the projection by ignoring the time dimension and only in the end do we create a CartesianProduct with the time interval.
  • Remove inout_map from reachability algorithms (it still exists for properties, which can maybe be refactored another time).

Some of the benchmarks in https://github.com/JuliaReach/ReachabilityBenchmarks need to be updated (because we access some ReachSet fields explicitly 👎).

@schillic schillic force-pushed the schillic/668 branch 4 times, most recently from 9b6aad1 to 618e05d Compare September 11, 2019 10:36
@schillic schillic changed the title WIP #668 - Replace inout_map by low-dimensional flowpipes #668 - Replace inout_map by low-dimensional flowpipes Sep 11, 2019
@mforets
Copy link
Member

mforets commented Sep 13, 2019

a ReachSet must always be high dimensional).

i guess you mean full dimensional

@mforets
Copy link
Member

mforets commented Sep 13, 2019

There's also the related issue #541 but we can do on a follow-up PR.

@schillic
Copy link
Member Author

This changeset does not work with the way we implemented the hybrid algorithm. We need to discuss this.

@schillic
Copy link
Member Author

The last commit solved it again. It is certainly a workaround but I think overall the state has improved 😃

Copy link
Member

@mforets mforets left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 🎉

@schillic schillic merged commit fbbdc72 into master Oct 3, 2019
@schillic schillic deleted the schillic/668 branch October 3, 2019 19:21
@schillic schillic mentioned this pull request Mar 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace inout_map by low-dimensional flowpipes
2 participants