dehnert
f684ce7799
Removed obsolete constructors of sparse matrix class as the new matrix builder is supposed to be used anyway. Fixed some minor issues.
Former-commit-id: ee8a7cc440
12 years ago
dehnert
72531bcebb
Added proper TBB multi-threading to all operation relevant to model checking MDPs.
Former-commit-id: dcb4bde1d3
12 years ago
dehnert
cdc369b96a
Temporarily removed the detection of the repository version of TBB from CMakeLists.txt. Corrected TBB sparse matrix-vector multiplication. Added TBB parallel vector addition.
Former-commit-id: f90ae764c8
12 years ago
dehnert
81cf0e2b22
Added SparseMatrixBuilder class that actually builds the matrices. A call to build() will then generate the matrix. This eliminates superfluous checks in the matrix that slowed down performance.
Former-commit-id: af5d946fb8
12 years ago
dehnert
cf2b84b281
Further work on iterators for sparse matrix.
Former-commit-id: 8e78262161
12 years ago
dehnert
ab5b5be1ac
First step towards pair-based column and value storage in sparse matrix.
Former-commit-id: c0ad97be8f
12 years ago
dehnert
e08b61b9f7
Added functional and performance tests for sparse matrix.
Former-commit-id: dd9abe1826
12 years ago
dehnert
97fb2f9750
All tests working with (partially) new sparse matrix implementation/interface.
Former-commit-id: 0272dd3524
12 years ago
dehnert
a26f63be30
Finished reworking the sparse matrix implementation. Adapted all other classes to the (partially) new API of the matrix.
Former-commit-id: 2c3b5a5bc3
12 years ago
dehnert
ef041982b5
Further work on sparse matrix implementation.
Former-commit-id: df4eb9c476
12 years ago
dehnert
4376708a46
Further maintenance work on sparse matrix implementation.
Former-commit-id: 56885d90bf
12 years ago
dehnert
8a47d03cf7
Started to rework the interface of the sparse matrix class.
Former-commit-id: 6ae2699da6
12 years ago
dehnert
84bd5f3b40
Renamed ConstTemplates to constants. Removed all calls to constGetZero, constGetOne and constGetInfinity by the new names. Created performance test for bit vector iteration.
Former-commit-id: 6d90ec961e
12 years ago
dehnert
dce43d78e7
Started implementation of time-bounded reachability of Markov automata.
Former-commit-id: 512bb117a6
12 years ago
dehnert
daea775263
Now rates get correctly transformed to probabilities + exit rates for Markov automata.
Former-commit-id: bf5ccfa813
12 years ago
masawei
170306e46d
Moved SparseMatrix transposition function from AbstractModel (named: getBackwardsTransitions) to SparseMatrix (named: transpose) where it belongs.
- Fixed one problem marked FIXME in the transpose function. The need for a "sentinel" element was created by an off by one in the prior loop.
- Changed all occurences of SparseMatrix<bool> to SparseMatrix<T>. Now the only two types for which SparseMatrix is instantiated are double and int.
- Compiles again.
|-> Compile time seems to be roughly the same for clean; make all. For incremental builds I haven't tested yet.
Former-commit-id: 6d829e0903
12 years ago
masawei
c30d6d307e
Figured out how to explicitly instantiate templates.
But got bitten by std::vector<bool> as it is specialized and uses bitsets (i.e. integers) internally.
Less memory but at the cost of 'oh, sorry std::vector<bool> does not return a bool&'.
That again seems to be a problem for the SparseMatrix<bool> instatiation since for instance getValue returns a T&.
On the one hand I don't quite know why this was never an issue before and on the other hand it prevents successful compilation.
So there are different ways to settle this:
- Specialize SparseMatix for bool -> possibly lots of code, but might be the best solution
- Write a wrapper for std::vector that uses chars instead of booleans
- Dont't use SparseMatrix<bool>
Next up: Figure out the best solution for this and implement it.
Former-commit-id: 83b9cfd06e
12 years ago
masawei
1b2bb9c138
Set up command flow for subsystem generation. Results seem correct on the first look.
Next up: Write the DTMC output for the subsystem generation.
Also:
- fixed one bug in the subsystem generation leading to an infinite loop
- corrected a typo in a comment in SparseMatrix
Former-commit-id: 6014bf2dd2
12 years ago
dehnert
e3234b54f3
Step towards minimal command generator using MaxSAT and model checking.
Former-commit-id: 4237447c44
12 years ago
dehnert
a45e9423b8
Sparse matrix can now also be used without knowing the number of rows/columns/nonzeros upfront. Adapted ExplicitModelAdapter to use that capability to not explore the state space twice. Added support for Z3 to CMakeLists.txt. Added correct submatrix checks for transition rewards in MDPs. Extended a test for the ExplicitModelAdapter a bit.
Former-commit-id: 105efc5342
12 years ago
dehnert
e2b0c4f1aa
Started refactoring ExplicitModelAdapter to finally make it nice.
Former-commit-id: 6df7e5d9fa
12 years ago
PBerger
79c40126f3
Fixed a bug in the SparseMatrix.h where the multi threaded implementation would crash sometimes
Added a new definition to CMakeLists.txt for MSVC as to undefine the MIN/MAX macros
Former-commit-id: 5a3d12e920
12 years ago
PBerger
c242dcbd97
Refactored CMakeLists.txt for better editing and overview
Refactored all Defines for Gurobi, TBB, etc into the storm-config file
Fixed a missing cast int SymbolicModelAdapter.h
Fixed changed iterator structures in SparseMatrix.h
Fixed bugs in CuddUtility.cpp where a 64bit shift was executed on a 32bit literal (1 should be 1ull)
Fixed a Type Error in graph.h
Former-commit-id: 797b4da2eb
12 years ago
PBerger
158430418e
Replaced boost integer mask includes with cstdint
Reimplemented Gmm conversion with in place constructors
Former-commit-id: 003f582f9c
12 years ago
dehnert
d168b1848e
Made GMRES and LSCG solution methods work for linear equation solving. Some further work on scheduler guessing.
Former-commit-id: f6b538394a
12 years ago
dehnert
15542d46da
Changes:
* included small consensus example
* made backward-transition generation more beautiful and versatile
* included Dijkstra search for most probable paths
* included first rough scheduler-guessing (there's room for improvement though)
Former-commit-id: db795fa1bf
12 years ago
dehnert
5776b207c3
Changed to new cleaner iterator for matrix.
Former-commit-id: c35f075fb1
12 years ago
dehnert
36543de851
Started trying to implement a more clean iterator solution for sparse matrix.
Former-commit-id: 2173972b82
12 years ago
PBerger
42b9072cbf
Implemented TBB Parallelization Support into SparseMatrix.h
Re-factored Includes in CMake for TBB
Former-commit-id: b5ebf4153a
12 years ago
dehnert
7aa3139b62
Intermediate commit with submatrix computation for scheduler-induced system from MDP.
Former-commit-id: bcdc58c1a7
12 years ago
PBerger
cb770020bf
Refactored the Jacobi Decomposition
Former-commit-id: 55d5d38475
12 years ago
dehnert
f040264660
Intermediate commit with submatrix computation for scheduler-induced system from MDP.
Former-commit-id: e497f03c00
12 years ago
PBerger
0f7e2835e3
Added an assignment constructor to the SparseMatrix.h
Now fixed this "constructor" to be a real operator and compile.
Former-commit-id: 83fe702ab3
12 years ago
PBerger
0051aec174
Added an assignment constructor to the SparseMatrix.h
Former-commit-id: 8de6a61190
12 years ago
PBerger
22f00bc95e
Reordered elements of SparseMatrix.h
Former-commit-id: 4af800a607
12 years ago
PBerger
78184f9537
Added a Hash Class in the Utility Namespace.
Added a function getHash() which returns a size_t to most of the used Models and Containers.
Former-commit-id: ed52aa3996
12 years ago
PBerger
d596f126b2
Fixed/added missing Copy Constructors for Models and the SparseMatrix
Former-commit-id: 730eaae49f
12 years ago
PBerger
b978a4d311
Added more move constructors.
Former-commit-id: 9770365fbb
12 years ago
dehnert
fabf662edd
Added dot output for both deterministic and nondeterministic models. Fixed iterator bug in sparse matrix.
12 years ago
dehnert
bba72e452b
Fixed off-by-one for our matrix-vector multiplication.
12 years ago
dehnert
f44f0ce410
Cleaned interfaces of models from std::shared_ptr. Improved some code in graph utility.
12 years ago
dehnert
c8081c4d34
Fixed wrong step-bounded backward search.
12 years ago
dehnert
14fae4883a
Added prob 0/1 precomputation for bounded-until model checking for DTMCs. The version for MDPs seems to perform worse: needs to be investigated.
12 years ago
Lanchid
ec91dcbe2e
Merge branch master into LTLParser
12 years ago
dehnert
64a27bb871
Performance improvement for our matrix multiplication.
12 years ago
dehnert
28facf9034
Fixed bug in iterator.
12 years ago
dehnert
fbe1f41213
Removed GraphTransition class, which is now replaced by SparseMatrix in the instances where it was used before. Changed GraphAnalyzer accordingly and adapted tests.
12 years ago
dehnert
ed4c6c8429
Fixed SCC decomposition functions. Added performance tests for GraphAnalyzer.
12 years ago
dehnert
69395face2
Moved creation of SCC-dependency graph into abstract model class. Added functionality to sparse matrix class to not give the number of nonzeros upfront, but to to grow on demand.
12 years ago
dehnert
d266d9effe
Fixed another bug in sparse matrix. Fixed bug in test.
12 years ago