Hi Amy,
Thanks for reporting this. I've looked into it. The values for the
Pareto curve seem to be correct - it's just a problem with the adversary
generation (this is quite tricky to get right when there is a mixture of
min/max objectives, as here).
For info, regarding adv3 and adv7 being the same: PRISM generates the
Pareto curve by doing a search over different weighted sums of the
objectives, which finds corner points on the curve. Different weights
can end up generating the same corner point (indeed, otherwise, it might
not converge), so that is why you see the same points more than once.
Any, I pushed a fix to the main repo:
https://github.com/prismmodelchecker/prism
For me, that changed adv2 to one that I think is now correct, but it
would be good to know if this fixes things for you.
Best wishes,
Dave
On 13/07/2020 02:58,
amyx...@gmail.com wrote:
> Hello,
>
> I'm having trouble with multi-objective adversary generation.
>
> My model is an MDP and a reward module (MDPmodel.txt). The property I am
> verifying is "multi(Pmax=? [G (m0=1 & m15=1 & m2387=1 & m2403=1)],
> R{"numAgents"}min=? [ C ])", so PRISM outputs a series of points
> (probability, expected reward) along the Pareto front. I'm also
> exporting the adversaries. For each adversary file, I determine the path
> and multiply all the probabilities along that path together. That way, I
> can match the adversary to the correct point on the Pareto front.
>
> The adversary probabilities and Pareto front probabilities match most of
> the time. However, sometimes the probabilities do not match.
>
> I've attached the PRISM model and adversaries that were generated.
> Verifying the previously mentioned property, PRISM outputs:
>
> [(0.30428716339152756, 4.121694167440077),**(0.0, -0.0),
> (0.34596138249839214, 4.885753279050772), (*0.6339338540543447*,
> 11.745370721857357)*,* (0.6249499133125954,
> 10.6356054030579),**(0.4822001886503896, 7.4159540890835105),
> (0.5099010505515822, 7.973779480650391), (0.5345909961572378,
> 8.531604872217269)]
>
> =============
> Given each of the nine adversary files, I've calculated the path and
> total probability (simply multiplying the probability at each timestep
> together):
>
> adv1.tra
> Path: [0, 1, 32, 11]
> Probability: 0.34596179391436654
>
> adv2.tra
> Path: [0, 3, 26, 11]
> Probability: *0.4241146927428122*
> --
> You received this message because you are subscribed to the Google
> Groups "PRISM model checker" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
prismmodelchec...@googlegroups.com
> <mailto:
prismmodelchec...@googlegroups.com>.
> To view this discussion on the web, visit
>
https://groups.google.com/d/msgid/prismmodelchecker/fb293745-a8ca-482c-a363-93a71a032c92o%40googlegroups.com
> <
https://groups.google.com/d/msgid/prismmodelchecker/fb293745-a8ca-482c-a363-93a71a032c92o%40googlegroups.com?utm_medium=email&utm_source=footer>.