-
Notifications
You must be signed in to change notification settings - Fork 12
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
Converting between representation of high dimensional polytopes #34
Comments
Normally, LRS does not work in floating point arithmetic so it should have given you an error and the result returned in 16 s is most probably incorrect. |
I didn't know that, thanks. I used it for the first time as a point of comparison on this issue, so I was unfamiliar with its limitations.
Fair enough; I expected the method would not scale. So then you think this is an inherent limitation of the algorithm(s) that we start to see around 20 dimensions? |
You can open an issue in LRSLib as a reminder that we should fix that :)
More of the problem than the algorithm. Note than an algorithm time complexity is a least linear in the size of the input + output (as it needs to read the input and write the output), |
This can probably be closed. There doesn't seem to be anything actionable left to do. |
Closing because this seems resolved. Please comment if that's not the case and you'd like to re-open. |
In my use case (related to verification of neural networks) I am working with high dimensional polytopes/polyhedra, and have found that these polytopes fail to convert from h-rep to v-rep.
The particular case I run into this on is 750+ dimensional, corresponding to an image, but it can be seen in much smaller cases also, starting in the mid-20s.
I am using LazySets to represent the polytope, since that is what I am using in my application. I make a random example by randomly assigning constraints until I hit a valid set. Obviously this is silly, but it works:
20-D tends to work every time:
25-D is hit or miss. In this case, I interrupt after a few minutes. In other cases, I have let it run for much longer to ensure that it indeed never finishes.
Note that
tovrep
is aLazySets
function that callsPolyhedra.polyhedron
, which in turn calls the specified library.I was wondering if this is a bug, or some inherent limitation to scaling the algorithms, but having just tested it with LRSLib, it appears that LRS succeeds in this case.
The text was updated successfully, but these errors were encountered: