Joachim Klein
484cef6c43
explicit.MDPSparse: fix mvMultRewJacMinMaxSingle to properly handle zero-reward selfloops
Now aligns with the default implementation in explicit.MDP: If there is a choice consisting of a self-loop,
produces value 0 for zero-reward state/choice and infinite value for positive-reward state/choice
(should be catched before in precomputations).
The previous behaviour (self-loops have infinite value) messes with maximal total reward computations with
Gauss-Seidel, e.g.
prism functionality/verify/mdps/rewards/total-reward-2.nm functionality/verify/mdps/rewards/total-reward-2.nm.props -explicit -gs -test -prop 3
for the PRISM test suite fails.
Also, align comments in MDP.mvMultRewJacMinMaxSingle.
8 years ago
Joachim Klein
f128015f5d
Refactor explicit.MDP, split generic part (independent of data type for transition probabilities) into MDPGeneric
This allows reuse of some methods in the exact / parametric engine.
8 years ago
Joachim Klein
d9bad734bd
(interval iteration, explicit) provide IterationMethod computations for interval iteration
Add some default computations for interval iteration to DTMC / MDP
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12141 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
dc8e331a36
explicit.MDP: provide OfInt-based variants for mvMultMinMax, mvMultGSMinMax, mvMultRewMinMax, mvMultRewGSMinMax
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12103 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
803f856ca9
explicit.MDP: default implementations for several mvMult methods
mvMultMinMaxSingle
mvMultMinMaxSingleChoices
mvMultSingle
mvMultJacMinMaxSingle
mvMultJacSingle
mvMultRewMinMaxSingle
mvMultRewSingle
mvMultRewJacMinMaxSingle
mvMultRewJacSingle
mvMultRewMinMaxSingleChoices
mvMultRight
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12102 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
a216904acb
explicit.MDP: use OfInt based iterator in default implementations of mv... methods
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12101 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
aec833edfd
explicit.MDP: move mvMultMinMax, mvMultGSMinMax, mvMultRewMinMax, mvMultRewGSMinMax from MDPExplicit to default methods in MDP
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12099 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
f669ac11d9
explicit.DTMC/MDP: provide forEachTransition and sumOverTransitions methods
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12092 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Joachim Klein
cd9b1f4285
explicit.MDP, refactor: provide default prob0 / prob1 related methods
prob0step, prob1Astep, prob1Estep, prob1step, prob1stepSingle
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@12089 bbc10eb1-c90d-0410-af57-cb519fbb1720
9 years ago
Dave Parker
afd1c35480
Remove getTransitionsIterator from NondetModel.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8861 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
21748bcaa4
Tidy up of export-to-Dot functionality, plus new "dot" option for exporting strategy (explicit engine only, currently).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@8110 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
4d3d52edaf
Policy iteration for reachability reward problems (explicit engine).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@7667 bbc10eb1-c90d-0410-af57-cb519fbb1720
12 years ago
Dave Parker
1c42335bcf
Some refactoring of explicit model classes, to introduce NondetModel interface.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6998 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
9b7b499597
Javadoc typos
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6991 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
5a1186c177
Strategy synthesis for reach rewards in the explicit engine: choices for inf states and do export.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6933 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
65a6464b32
Strategy synthesis for reach rewards in the explicit engine (no precomputation yet).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6932 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
ec7a5b9511
Javadoc.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6920 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
8b6d5d17a8
Improvements to strategy generation for MDP reachability in explicit engine, notably algorithms for precomputation. Also split Prob1 into Prob1A and Prob1E for efficiency reasons.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6907 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
51bf20f1f6
Add strategy generation to MDP Gauss-Seidel (explicit).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6902 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
064356d11f
Rename adversary to strategy in explicit MDP model checking + align with prism-games.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6899 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
3f56c6668f
Miscellaneous code changes/tidies - trying to align with prism-games a bit.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@6881 bbc10eb1-c90d-0410-af57-cb519fbb1720
13 years ago
Dave Parker
bd4b2f3f3a
New exportToDotFileWithAdv method for MDPs in explicit engine.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4935 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
a869bbeec0
Gauss-Seidel val iter for cumulative rewards in explicit engine.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4337 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
9ba97fe1fc
Add MDPExplicit class to capture shared from MDPSimple/MDPSparse (also a few fixes to same thing done previously for DTMCs).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3709 bbc10eb1-c90d-0410-af57-cb519fbb1720
14 years ago
Dave Parker
6be5202551
Slight tweak in MDP interface (to match STPG).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3399 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
ea9463344b
Update to (explicit) MDP interface.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3394 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
25b8626a51
Code tidy.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3331 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
b8a78c4031
Updates to explicit engine from prism-qar (Vojta):
* new rewards code for STPGs
* additional utility methods
* strip out some old reward stuff
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3323 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
85147f1a71
Explicit engine improvements, mainly MDP rewards:
* Explicit engine gets MDP rewards (transition rewards only) from the model
* Rewards detached from MDPs (but attached ones still available, e.g. for A-R)
* Various bug fixes in MDPSparse, especially wrt rewards
* Few code tidies
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3215 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
52d2d21447
Update to newest version of explicit code (from prism-qar) plus -explicit switch for command-line and MDP solution settings.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@3047 bbc10eb1-c90d-0410-af57-cb519fbb1720
15 years ago
Dave Parker
d40ffd38e9
Preliminary code to attach explicit stuff to PRISM + some more Model class re-arrangements.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1836 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
9343644985
Updated MDPs to new model class design, added some CTMDP stuff.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1821 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
8f2748a711
Redesign/tidy of model interfaces + more CTMC model checking.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1794 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
127be3a3f3
Comments/tidy.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1779 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
1383ed7a99
Constructors for explicit models.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1759 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
533d7d9425
Bugfixes: loops (esp. bounded until) in explicit mc.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1756 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
b75bf6792a
Info output for explicit models.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1752 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
8472802b6b
Slight tweak to (explict) output of MDP dot files (consistency with STPGs).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1672 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
85bcef53d2
Improvements to import from tra files (explicit lib).
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1591 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
28d6b9c92b
Addition of actions to (explicit) MDPs + better dot export.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1542 bbc10eb1-c90d-0410-af57-cb519fbb1720
16 years ago
Dave Parker
3e8248f703
MDP toString bugfix.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1426 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
67c7429531
Changes to DTMC/MDP/STPG interface.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1424 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago
Dave Parker
d199d035ed
Integration of prism-explicit branch into trunk, i.e. merge of trunk@1015-prism-explicit@1405 into trunk.
git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@1406 bbc10eb1-c90d-0410-af57-cb519fbb1720
17 years ago