[Retros] Retractor 2.0 now available online

Theodore Hwa hwatheod at cs.stanford.edu
Wed Apr 14 22:31:18 EDT 2021

On Wed, 14 Apr 2021, andrew buchanan wrote:

> (1) I have tested it on part a) of three tiny problems which all have the following stipulation:
> a) White to move. Last move?
> b) KBP in 4.0
> P1012898
> https://www.janko.at/Retros/d.php?ff=r1bqkbnr/pppppppp/5Q1B/8/8/8/PPP1PPPP/RN2KBNR
> Solutions:
> Rb8-a8 - correct
> RbxNa8 - incorrect <- what's going on here? A wP is indeed missing, but it could never have reached the 8th rank to promote. Is this easy to fix in Retractor 2.0?

This is on my list of improvements for Retractor. Retractor currently 
doesn't the possible sources of pawn promotions. In general, it seems like 
this could be a difficult problem, but simple cases like this one should 
be doable. Of course, I could put in a rule like "if all black pawns are 
on their original squares, then no white promotions are possible" - and 
indeed many such rules are already hard-coded in Retractor - but I'd 
rather come up with a more general method.

> (2) Is there a way that Retractor (or indeed a simpler version which makes no attempt to eliminate logically-impossible retractions) can be integrated with Popeye so that
> simple help retractors in the style of Edith Baird can be solved?

Should be possible to do, but it would take a bit of work because (among 
other things) Popeye is written in C while Retractor 2.0 is written in 
Javascript.  Maybe just the pseudo-legal retraction generator wouldn't be 
that difficult to port over (the "simpler version", as you state). But it 
won't be on my plans for Retractor for a while. I want to focus more on 
detecting illegal positions better.

> (3) In what sense might one be able to mark a problem passed by Retractor 2.0 as C+? If, as in P1012898, the errors are always going to be ones of commission, not
> omission. Then it can be extremely valuable even if not perfect.

You are correct that Retractor errors should always be "ones of 
commission", i.e., finding extra solutions, but never missing any 
solutions. That's the way I have designed it. Therefore, if Retractor 
finds only one solution to a "last N moves" problem, then the solution is 
unique ( assuming there are no bugs in Retractor :) so in that sense, the 
problem can be marked C+. Even if Retractor does not find a unique 
solution, if all but one solution can be eliminated by some additional 
reasoning (like in P1012898), then the problem can be marked C+.

Thank you for testing out Retractor 2.0!


More information about the Retros mailing list