Conversation
|
|
|
Maybe open an issue at Polyhedra.jl for a feature request? |
Codecov Report
@@ Coverage Diff @@
## master #64 +/- ##
===========================================
- Coverage 93.33% 82.55% -10.79%
===========================================
Files 6 6
Lines 390 384 -6
===========================================
- Hits 364 317 -47
- Misses 26 67 +41
Continue to review full report at Codecov.
|
|
After discussion in JuliaPolyhedra/Polyhedra.jl#60, I tried to use julia> A = [3 3; 2 5; 0 6];
julia> B = [3 2 3; 2 6 1];
julia> g = NormalFormGame(Player(A), Player(B));
julia> @time vertex_enumeration(g)
0.017728 seconds (52.14 k allocations: 2.496 MiB)
3-element Array{Tuple{Array{Real,1},Array{Real,1}},1}:
(Real[0.0, 0.333333, 0.666667], Real[0.333333, 0.666667])
(Real[0.8, 0.2, 0.0], Real[0.666667, 0.333333])
(Real[1.0, 0.0, 0.0], Real[1.0, 0.0])
julia> @time support_enumeration(g);
0.000196 seconds (331 allocations: 17.609 KiB)
3-element Array{Tuple{Array{Real,1},Array{Real,1}},1}:
(Real[1.0, 0.0, 0.0], Real[1.0, 0.0])
(Real[0.8, 0.2, 0.0], Real[0.666667, 0.333333])
(Real[0.0, 0.333333, 0.666667], Real[0.333333, 0.666667])Because the method now I am using is still trying to find out labelings after However, what I concerned is that even the "time lower bound" for I wrote a function julia> using Polyhedra
julia> using LRSLib
julia> @time construction_BRP(g, getlibraryfor(2, Float64));
0.014271 seconds (43.54 k allocations: 2.088 MiB)
julia> @time construction_BRP(g, LRSLib.LRSLibrary());
0.003624 seconds (6.42 k allocations: 254.492 KiB)The needed time for transformation is higher than the total time |
11d7fd1 to
8ee9e73
Compare
|
Did you try And also try |
|
It turns out that |
|
That operation, commented in that line, is to guarantee that the BR polytope has a nonempty interior. Read the docstring of |
1 similar comment
|
@shizejin The test is not testing |
bf2fb7c to
1e21d16
Compare
|
@oyamad Sorry for pushing the wrong file. Modified. |
1 similar comment
1e21d16 to
db21341
Compare
db21341 to
fd1f096
Compare
Closes #43
Had a rough try to implement vertex enumeration using
Polyhedra.jl.However, the speed is much slower than
support_enumeration, as the implementation is quite inefficient.The very possible reason is that I am finding the labels of vertices in a very inefficient way (by checking the binded inequalities one by one for each vertex pair). So far I haven't found an efficient way to get labels using
Polyhedra.SimpleHRepresentationandPolyhedra.SimpleVRepresentation. Maybe another direction is to useConvexHull.jland follow the style of the Python implementation.It would be great if we can talk about this in the next meeting. @oyamad