Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alternative two-way reachability method #124

Merged
merged 1 commit into from
Sep 4, 2024
Merged

Conversation

daemontus
Copy link
Collaborator

This updates the symbolic reachability procedure such that if a set of avoid states is provided, it will run both forward reachability from the attractor pivot and backward reachability from the avoid states interleaved with each other. Consequently, the avoid states often expand very quickly and we can find an intersection much faster.

This solves a few extra benchmarks among the large random models (at the very least, NK2 n1280_3 and n2560_85). It shouldn't really impact models where we don't end up using the symbolic reachability.

Copy link

github-actions bot commented Sep 4, 2024

Coverage

Coverage Report
FileStmtsMissCoverMissing
biobalm
   _pint_reachability.py615018%24, 40–54, 69–93, 101–146
   control.py1141488%107, 119, 125, 129, 134, 143–159, 477, 480, 493
   interaction_graph_utils.py52688%11–13, 151–152, 222–223
   petri_net_translation.py1491292%22–26, 79, 136, 234, 308–309, 333–334, 343, 452
   space_utils.py1322085%26–28, 104–110, 133–139, 347–350, 414, 462
   succession_diagram.py3917481%6, 123, 213–218, 231, 278–285, 389–396, 413–414, 424, 430, 546, 633–639, 755, 758, 853–867, 898–916, 948, 958, 961, 1001, 1008, 1059, 1077, 1199, 1385, 1396, 1404, 1447, 1459, 1464, 1470
   symbolic_utils.py32584%10, 39–44, 100, 128
   trappist_core.py1842388%14–18, 55, 57, 92, 215, 217, 219, 254–256, 276–282, 340, 342, 372, 420, 422
biobalm/_sd_algorithms
   expand_attractor_seeds.py60788%6, 28, 42, 109–114, 119
   expand_bfs.py28196%6
   expand_dfs.py30197%6
   expand_minimal_spaces.py42393%6, 28, 42
   expand_source_SCCs.py1111686%11–13, 50, 69, 77, 82, 103, 112, 120, 131, 140, 143, 167, 179, 242–243
   expand_source_blocks.py1212083%10, 30, 42–45, 57, 67, 74, 79, 82, 141, 167, 176, 210–211, 215, 225, 231, 240
   expand_to_target.py31390%6, 38, 43
biobalm/_sd_attractors
   attractor_candidates.py2659066%13–15, 26–27, 93, 101, 107–108, 130, 152, 187, 193–204, 223, 239–320, 325, 329, 335, 341, 356, 383, 388, 392, 398, 400–438, 511, 582–583, 684
   attractor_symbolic.py2123882%6–7, 38–39, 57, 66–82, 85, 90, 171, 184–188, 199, 208, 240, 276, 306–308, 327, 337–339, 349, 358, 400, 420, 427
TOTAL210438382% 

Tests Skipped Failures Errors Time
359 0 💤 0 ❌ 0 🔥 58.341s ⏱️

@daemontus
Copy link
Collaborator Author

Merging, since tests are passing and this shouldn't mess with anything too important.

@daemontus daemontus merged commit 1928794 into main Sep 4, 2024
8 checks passed
@daemontus daemontus deleted the two-way-reachability branch September 4, 2024 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant