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

[ENHANCEMENT] 'Clean Proof' feature #550

Open
Bram28 opened this issue Jun 7, 2023 · 0 comments
Open

[ENHANCEMENT] 'Clean Proof' feature #550

Bram28 opened this issue Jun 7, 2023 · 0 comments
Labels
enhancement Improvement to existing feature

Comments

@Bram28
Copy link
Member

Bram28 commented Jun 7, 2023

Describe the current behavior of what you're trying to improve. If your enhancement request related to a problem, please also describe the problem.

Related to discussion in previous issue (Issue #549 ) , we could have a 'Clean Proof' (maybe 'Truncate Proof'? Other name?) feature.

Describe the improvement you'd like

The 'clean proof' feature would see if in a proof, certain changes as made to the board in later transitions could have been made as part of an earlier transition ... presumably this earlier transition uses the same rule as the later transition... but maybe changes from later transitions could be 'captured' by earlier transitions as well, even if a different rule was used (so maybe we should have a flag setting for this feature).

Note that this kind of 'cleaning' could result in 'null' transitions, where all of the changes of a later transition are captured by earlier transitions, and so part of the 'cleaning' could be the removal of any such 'null' transitions. As such, proofs can get 'shortened' or more 'efficient'/'productive' (I find that I am still looking for a good word here! :P)

In fact, note that by moving changes to earlier transitions, applications of other transitions can possibly capture more changes from later transitions as well: you get a kind of cascading effect. Actually, to think about it: you would of course have the algorithm just start with the first transitions, see if it can capture any of the changes from later transitions, and then move on to the next transition, etc. That way you only need one pass through the transitions to make them maximally productive.

This actually starts to sound like an AI algorithm that simply tries to apply a rule an find all possible applications of that rule .. o at least it is similar to the 'Allow Default Rule Applications' feature that (I believe) tries to find all possible applications of an already selected rule, but there are some important differences: First of all, the user has already indicated what rule to use ... whereas the AI algorithm has to figure out a rule to apply in the first place). Second, the 'clean proof' feature would only look at changes that the user has already indicated. That is, the user can hit the 'clean proof' feature at any time when solving a puzzle, so it can be used when a proof is incomplete, and that means that even though some board change is possible given some rule, this change won;t be added to the transition if the user hasn't already made that change at some later point in the proof. Third, even if a user has completed a proof, we could have the 'clean proof' only look for changes that are part of a later transitions where the exact same rule is applied, rather than some different rule.

Describe alternatives you've considered

No response

Additional Context

No response

@Bram28 Bram28 added the enhancement Improvement to existing feature label Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement to existing feature
Projects
None yet
Development

No branches or pull requests

1 participant