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

Track backtracking in Explicit Stack Search. #57

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

rpgoldman
Copy link
Contributor

In order to identify opportunities for improving plan repair and developing analogical replay, collect statistics about backtracking.

rpgoldman and others added 6 commits July 19, 2021 15:21
Keep backtrack count in new special variable `*backtracks*`, and add it to `print-stats`.
Fix format string typo.

Remove a debug print that was left in.

Redirect output from ESS to OUT-STREAM.  Previously, output redirection was not propagated from `find-plans-stack` to
`seek-plans-stack`.
Any time `seek-plans-stack` is called, it must be done in a context
where a large number of special variables for counting (for assessing
performance) are bound.  Establish `bind-count-variables` macro for
this purpose.

Note that it is the *caller's* job to handle this -- it's already done
by `find-plans-stack`, but any new call direct to `seek-plans-stack`
will need to be wrapped.
Multiple minor clean-ups and optimizations spurred by SBCL compiler notes.
Theorem-prover cleanup.
Incorrect multi-problem approach.

Fix handling of logistics problems.

Other domains have 1 problem per file, but logistics has multple
problems per file, so this run script was not working properly.
Now applies to symbols (it's just an identity function there).  This
allows the programmer to work with problem names and problems
interchangeably.
rpgoldman and others added 2 commits July 20, 2021 14:58
Instead of tracking each backtrack point, track only the point at which backtracking commenced, and then stop counting backtrack types until after we resume forward motion.
So this means we will have a large number of backtrack counts, but a smaller number of counts of places where backtracking starts.
For whatever reason, pfile3 cannot be solved.  (There's clearly some
bug, probably in the domain design, because it fails instead of going
away forever.)

Also, when fixing that, made this more robust by using
`asdf:system-relative-pathname`, instead of hard-coded pathname.
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