thomas-maeder/popeye

missing a solution

BjornEnemark opened this issue · 4 comments

With the parametres below the twin gives only one solution, but if the twin is entered directly Popeye correctly gives two solutions

Anfang
Forderung H#2
Option Intelligent Varianten MaxLoesungen 8
Steine
Weiss Ka1 Sd5 Se4
Schwarz Kd4 Df8 Lh6 Se5 Bc3 Bc5 Bc6 Be3 Be7 Bf3 Bf7
Zwilling Hinzufuegen Neutral Te6
Ende

When I run Popeye in debug mode on a file containing that problem I see an assertion failure in optimisations/intelligent/mate/goalreachable_guard.c:

py: optimisations/intelligent/mate/goalreachable_guard.c:163: Assertion `MovesRequired[trait[nbply]][nbply]+time_now>=time_before' failed.
Aborted (core dumped)

@BjornEnemark

  1. Intelligent mode doesn't work with neutral pieces. And yes, Popeye should detect this and produce a readable error message.
  2. What solution should be found for twin a)?
  1. the nTe6 should have been at f6 to illustrate the problem
  2. it is well known that Popeye does not work well with fairy problems
  3. the input to Popeye was created by Teddy that will use Option intelligent whereever possible if that setting is set
  4. Teddy did not recognize that the twin turned this into a fairy problem (for the next release)
  5. no solution to twin a), just there to cause the problem
  6. of course a warning would have been nice
    Without intelligent Popeye works well

it is well known that Popeye does not work well with fairy problems

Wow, that is disappointing. I always thought that Popeye works particularly well with fairy problems.