ModelInference / synoptic

Inferring models of systems from observations of their behavior
Other
83 stars 25 forks source link

Correct constrained refinement timings #339

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Constrained refinement looks for legal and illegal paths between partitions in 
the violation subpath, specifically on line 4 here:

1   for (partition j from end of violation subpath to beginning)
2     for (partition i from j to beginning)
3       if (stitch at i)
4         if (>0 legal paths and >0 illegal paths between i and j)
5           add to potential splits

(from the wiki page: https://code.google.com/p/synoptic/wiki/Pynoptic )

Currently in the code, however, time is only considered from the beginning of 
the violation subpath to i and then from i to j.  This incorrectly ignores the 
time from j to the end of the violation subpath.

This should be fixed in Bisimulation.getSplitsConstrained(...) by adding the 
(j->end) time to the current code, and the constrained refinement tests should 
be extended to test this.

Original issue reported on code.google.com by tonyohm...@gmail.com on 6 Sep 2013 at 9:46

GoogleCodeExporter commented 9 years ago

Original comment by tonyohm...@gmail.com on 10 Sep 2013 at 7:27

GoogleCodeExporter commented 9 years ago
This issue is no longer relevant given the new, simplified constrained 
refinement algorithm in Issue 341.

Original comment by tonyohm...@gmail.com on 12 Sep 2013 at 9:53