Olivier Ramaré : Peg Solitaire ++
More precise scripts!
This page offers several routines that will help the reader to study some
precise problems. In time, the number of such routines will increase.
The main problem just now is that my private scripts were written in C with a
graphical GTK part and that I have to convert them to Java.
The basic part is in Javascript and is what is presented below!
This version is restricted to solving problems in not more than 10 moves. I'll
provide a certicate to remove this restriction later :)
You should first select or build a board; then ask for the precomputations to
be run. This script will compute a basis of characteristics (in general, there
will be four of them), as well as some particularly simple potentials (sixteen
of Fibonacci type, and four of counting type), which I call "elementary".
You can then determine a starting position and a final one: this are the
two components of the problem to study.
- "Show the characteristics"
displays the chosen characteristics.
- "Compare the characteristics"
displays, for the chosen characteristicsdonne, the parity of the
difference between the number of pawns of the initial position that lie on
grey squares and the same number but relative to the final position. If one
of this difference is non-zero, then the problem is impossible; this is (an
extension of) the theory of Dr. Reiss.
- "Deltas of elementary potentials"
displays, for each elementary potential, the difference of the
number of pawns of the initail position, weighted accorfing to the chosen potential
and the same number, but relative to the final position.
If one such number is (strictly) negative, then the problem is impossible;
This is a aprt of the Beasley - Berlekamp - Conway theory.
- "Derive"
starts a small and farily primitive automaton that tries to go from the
initial position to the final one. I do not recommend to use it when the
final and initial position differ by more than twelve moves.
Moreover the result is given in a somewhat cryptic way
by clicking on
"Show":
it will be shown as a sequence of strokes : ee+ef->eg
meaning that one should remove the pawn on square ee (line e, column e),
the one on square ef and add one pawn on square eg.
The button "PlayIt!"
proposes a better view!
- "Tuning panel"
is reserved to gurus !!
Build or select your board here!
Problem study ...