diff --git a/prism/src/explicit/MDPSimple.java b/prism/src/explicit/MDPSimple.java index 0350c95f..cdf21677 100644 --- a/prism/src/explicit/MDPSimple.java +++ b/prism/src/explicit/MDPSimple.java @@ -721,8 +721,10 @@ public class MDPSimple extends ModelExplicit implements MDP, ModelSimple } // If adversary generation is enabled, store optimal choice if (adv != null & !first) { - // Only remember strictly better choices (required for max) - if (adv[s] == -1 || (min && minmax < vect[s]) || (!min && minmax > vect[s])) { + // For max, only remember strictly better choices + if (min) { + adv[s] = advCh; + } else if (adv[s] == -1 || minmax > vect[s]) { adv[s] = advCh; } } diff --git a/prism/src/explicit/MDPSparse.java b/prism/src/explicit/MDPSparse.java index 46c5d121..cf3feebe 100644 --- a/prism/src/explicit/MDPSparse.java +++ b/prism/src/explicit/MDPSparse.java @@ -785,8 +785,10 @@ public class MDPSparse extends ModelExplicit implements MDP } // If adversary generation is enabled, store optimal choice if (adv != null & !first) { - // Only remember strictly better choices (required for max) - if (adv[s] == -1 || (min && minmax < vect[s]) || (!min && minmax > vect[s])) { + // For max, only remember strictly better choices + if (min) { + adv[s] = advCh; + } else if (adv[s] == -1 || minmax > vect[s]) { adv[s] = advCh; } }