Releases: thomas-maeder/popeye
Popeye 4.99
This is Release 4.99 of Popeye.
Release 4.99 is almost identical to 4.97, with the following exceptions:
- Total Invisible pieces: another severe bug was found and fixed
- support for new, yet to be published, fairy condition Immobilio
Please refer to Release 4.95 for other information.
Popeye 4.97
This is Release 4.97 of Popeye.
Release 4.97 is almost identical to 4.95, with the following exceptions:
- Total Invisible pieces: a severe bug was found and fixed
- Condition AllInChess: the apparent fix introduced in release 4.95 did more harm than good and had to be undone
Please refer to Release 4.95 for other information.
Popeye 4.95
This is Release 4.95 of Popeye.
Downloading Popeye
Popeye executable
In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.
Windows: pywin64.exe
MacOS (basically untested):
Intel: pymacos-intel
ARM: pymacos-arm
Linux:
git clone https://github.com/thomas-maeder/popeye.git
cd popeye
git checkout v4.95
ln -s makefile.unx makefile
make
Usage guide
Download the usage guide in your favourite language:
py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)
Example input files
The example input file archives will help you input problems correctly:
popeye-4.95-examples.zip (English as input language)
popeye-4.95-beispiel.zip (German)
Changes since Popeye 4.93
New features
Condition
- AliceChess
Piece type
- Scarabeus
Bug fixes
- General
-- performance gain (sometimes massive) for help play problems that fill the entire memory
-- increased overall stability
-- improvements that will allow the next release of Spinach to get rid of many of the Known limitations documented for Spinach 4.93 - Option intelligent
-- some rare solutions of stalemate problems weren't found - Option MoveNumbers
-- printed move numbers were "interesting" in series movers with introductory play - Condition AllInChess
-- moves returning to the previous position with the exception of changed en passant rights were wrongly rejected - Condition Bolero
-- RexInclusive was supported, but not documented - TotalInvisible pieces
-- many working solutions were not found and many wrong ones found (mainly because of incorrect optimizations)
-- the removal of these "optimizations" unfortunately means considerably longer testing times
Spinach 4.93
This the first, highly experimental release of
Spinach
Spinach is what makes Popeye strong, as we all know. It uses multi-processing to hopefully test many chess problems faster than regular Popeye. It starts a number of Popeye sub-processes which test a part of the problem each, and presents the result in almost the same way as a single Popeye process would.
The trade-off is that the available memory is shared between the Popeye sub-processes. Spinach is therefore not likely to save time for all problems (but, as said above, hopefully for most); in particular, problems where a single Popeye process profits from a huge hash table will probably not benefit from Spinach.
Installation
Your simplest option is to download the Spinach executable into the same directory where you have downloaded the Popeye v4.91 or v4.93 executable (earlier versions will not work); Spinach will then find the Popeye executable automatically.
These executables are:
- Windows: spinach.exe
-- note: if you get an obscure error message containing "wmic" when you start spinach.exe, try installing WMIC as Optional Feature - Linux: spinach
- many platforms (including Windows/Linux): spinach.tcl
requires a working, reasonably current Tcl (Tool command language, pronounced "tickle") runtime environment including the Tcl Standard Library; such an environment is provided by ActiveState Tcl or by Linux packages typically namedtclandtcllib.
Usage
Spinach is designed to be invoked very similarly to regular Popeye. In particular, if you use a graphical frontend such as Olive, you should be able to configure the Spinach executable like you normally configure the regular Popeye executable.
Command line options
If Spinach is invoked on the command line, we have slightly more fine-grained control over its behavior:
$ spinach.exe --help
spinach.exe : spinach [options] [input file]
options:
--executable=value path to Popeye executable <pywin64.exe>
--nrprocs=value number of Popeye processes to spawn <6>
--maxmem=value maximum memory for each process <Popeye default>
--version Version of this program
-- Forcibly stop option processing
--help Print this message
--? Print this message
The values between < and > are the default values; they are computed by Spinach using some not so complicated heuristics. Depending on the operating system and physical characteristics of your system, these default values will differ from the ones given above.
Notes
- Spinach's output doesn't contain introductory information like author, board etc. - the output looks as if
option noboardhad been indicated, even if you haven't - the greeting line at the top of Spinach's output
$ spinach test.inp
Popeye Linux-6.11.0-24-generic-x86_64-64Bit v4.91 (1024 MB)
...
indicates the memory allocated to each Popeye sub-process.
Known limitations
Spinach 4.93 has some limitations; it was decided to release it now, as it should already be useful to many of us, rather than to wait until it is perfect (which it will never be - it's software, after all).
Hopefully, many of the following known limitations will be removed in later releases.
Spinach currently does not support problems with at least one of the following features:
- twins and/or zeropositions*
- help and series stipulations with set play*
- series stipulations with introductory series (e.g. 3->ser-h=5)
- option
Intelligent - options
DuplexorHalfDuplex* - options that cause Popeye to print partial solutions, such as
StopOnShortSolutions
The limitions marked with an asterisk (*) can be easily worked around by testing the parts separately.
Feedback about further, so far unknown limitations is very welcome through the Issues on this site.
Popeye 4.93
This is Release 4.93 of Popeye.
Release 4.93 is almost identical to 4.91, with the following exceptions:
- Bul pieces didn't generate the correct hurdle movements in problems with the condition Bolero
- added some forgotten fairy elements to py-*.txt
Please refer to Release 4.91 for other information.
Popeye 4.91
This is Release 4.91 of Popeye.
Downloading Popeye
Popeye executable
In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.
Windows: pywin64.exe
MacOS X: producing an executable for MacOS is always a hassle at best. I wasn't successful this time; if somebody can, I'll be happy to provide it here.
Linux:
git clone https://github.com/thomas-maeder/popeye.git
cd popeye
git checkout v4.91
ln -s makefile.unx makefile
make
Usage guide
Download the usage guide in your favourite language:
py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)
Example input files
The example input file archives will help you input problems correctly:
popeye-4.91-examples.zip (English as input language)
popeye-4.91-beispiel.zip (German)
Changes since Popeye 4.89
New features
Conditions
- AllInChess, HalfInChess and MainlyInChess
- Anda, Anda Inverse
- AntiGuards
- BiCaptures
- CASTchess, CASTChess Inverse
- FrankfurtChess
- FuddledMen
- Leffie
- MultiCaptures
- Pepo
- PowerTransfer, PowerTransfer RexInclusive
- Take&Make Absolute
- TransmissionMenace
- Memory Circe (as Circe WaitCapture CaptureSquare)
Piece types
- Eagle Equihopper, Eagle Nonstop Equihopper
Piece attributes
- Anda, Anda Inverse
- Bul, Dob
Options
- MatesIn1
- TrivialTriesAvoid
- UpToMoveNumber
Bug fixes
- Condition Series Capture
-- Proof games: some solutions were not found (incorrect optimization)
-- Positions with pawns on their side's 2nd rank: crash - Conditions File Circe and File Anticirce: fairy pieces were reborn at the wrong end of the board
- Condition Volcanic AntiCirce: some solutions were not found (error in hashing)
- Condition Make&Take plus Orphans: very strange output
- Condition AntiMarsCirce
-- Popeye produced solutions with illegal null moves
-- Popeye didn't find solutions with castling after rebirth of both K and R - Conditions MessignyChess plus PointReflection: Popeye selected pieces eligible for Messigny place swaps inconsistently
- TotalInvisible pieces: many working solutions were not found and many wrong ones found (mainly because of incorrect optimizations)
- Paralysing pieces plus double-stalemate (==) stipulations: some solutions were not found
- Series-movers plus option MoveNumbers: various fixes
- Positions with 64 pieces caused memory overflows
- Positions with 4-6 pieces: more economical memory usage leads to faster solving times for long stipulations
- Stipulations with >256 plies: Popeye failed to solve since 4.65
Overal improvement
- removal of various instances of undefined behaviour is expected to improve overall stability
Popeye 4.89
This is Release 4.89 of Popeye.
Downloading Popeye
Popeye executable
In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.
Windows: pywin64.exe
MacOS X: producing an executable for MacOS is always a hassle at best. I wasn't successful this time; if somebody can, I'll be happy to provide it here.
Linux:
git clone https://github.com/thomas-maeder/popeye.git
cd popeye
git checkout 4.89
ln -s makefile.unx makefile
make
Usage guide
Download the usage guide in your favourite language:
py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)
Example input files
The example input file archives will help you input problems correctly:
popeye-4.89-examples.zip (English as input language)
popeye-4.89-beispiel.zip (German)
Changes since Popeye 4.87
New features
Conditions
- Dister family (min/max, black/white) (used in Andernach 2022)
- Series Capture (to be used in Batumi 2023)
- Breton PY
- Dark Side (approximative - no complete definition available)
Piece types
- ContraHamster
Output
- forced reflex moves are now explicitly marked ?!?
Bug fixes
From issues
- intelligent mode
-- en passant capture: some solutions may have been missed
-- pser stipulations: some solutions may have been missed - Rokagogo: avoid diagonal castlings
- Phantom Chess + Geneva Chess: fix in check detection
- Actuated Revolving Board: en passant information has to be revolved with the board
- pser-s stipulations: correctly detect short solutions
Andernach 2022 special version
Tentative implementation of Dister conditions
Popeye 4.87
This is Release 4.87 of Popeye.
Downloading Popeye
Popeye executable
In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.
Windows 64bit: pywin64.exe
Windows 32bit: pywin32.exe
MacOS X: producing an executable for MacOS is always a hassle at best. I wasn't successful this time; if somebody can, I'll be happy to provide it here.
Linux:
git clone https://github.com/thomas-maeder/popeye.git
cd popeye
git checkout v4.87
ln -s makefile.unx makefile
make
Usage guide
Download the usage guide in your favourite language:
py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)
Example input files
The example input file archives will help you input problems correctly:
popeye-4.87-examples.zip (English as input language)
popeye-4.87-beispiel.zip (German)
Changes since Popeye 4.85
New features
Conditions
- RoleExchange
Options
- Intelligent mode for reci-h#
Bug fixes
From issues
- #253: PointReflection: castling must only be allowed by non-reflected king and rook
- #254: AntiCirce Cage: Popeye entered an endless loop when looking for a cage in some cases
- #290: TotalInvisible+Neutral pieces: restored behaviour lost in 4.85
- #291: Make&Take: incorrect behaviour if the Make part of a move was a castling
- #292: Stipulation 1->ser-h#3: full length solutions were not looked for if there were solutions in e.g. 1->ser-h#2
- #299: Intelligent mode: would behave in different irritating ways with condition promonly and/or dummies
- #307,#311: Intelligent mode: some mates with 2 blocking black rooks were not found
- #309: CheekToCheek: had never been implemented correctly: "cheeked" pieces didn't lose their original power
- #310: SnekChess: Popeye missed some solutions
- #312: LeseMajeste: some mates were missed
Other
- Influencer Chess: allow castling with a rook influenced into Rook
- Dummies: were printed as TotalInvisibles by 4.85
- Stipulation ser-reci-h#1 caused Popeye to crash in many versions
- SStipulation with minimum length (e.g. black 10:12hh[#]): minimum and maximum length were printed in wrong order
- Intelligent mode: Duplex with option enpassant would crash
- ActuatedRevolvingCentre: some solutions were not found because of an invalid "optimization"
Popeye 4.85
This is Release 4.85 of Popeye.
Downloading Popeye
Popeye executable
In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.
Windows 64bit: pywin64.exe
Windows 32bit: pywin32.exe
Linux: popeye-4.85-sources.zip
MacOS X: producing an executable for MacOS is always a hassle at best. I wasn't successful this time; if somebody can, I'll be happy to provide it here.
Instead of downloading the source zip archive, you can also clone the git repository or (I assume) use one of the Source Code links.
Usage guide
Download the usage guide in your favourite language:
py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)
Example input files
The example input file archives will help you input problems correctly:
popeye-4.85-examples.zip (English as input language)
popeye-4.85-beispiel.zip (German)
Changes since Popeye 4.83
New features
Conditions
- MasandGeneralised
- NannaChess
- Bolero
- BoleroInverse
- InfluencerChess (new condition to be published soon)
Pieces
- TotalInvisible: support improved ("more correct" and much shorter solving times)
Options
- NullMoves
Bug fixes
- Intelligent mode: didn't find solutions ending in an ep capture where the capturing pawn intercepted a check (issues #257, #258)
- Condition MessignyChess and Stipulation goal target square didn't go well together
- Condition AntiCirce Clone: Popeye always applied one or two optimisations too many when testing proof games, resulting in existing solutions not being found
- Conditions FaceToFace/BackToBack/CheekToCheek: proof games weren't correctly tested (issue #256)
- Condition Circe Volcanic: Popeye would crash or produce nonsense for some problems
- Conditions RoyalDynasty+Circe: Popeye up to 4.83 would castle with both kings after the rebirth on e1
- Conditions Make&Take+Disparate: fixed check detection (issue #282)
- Condition Take&Make: option StartMoveNumber hasn't worked since 4.67 (issue #286)
- Condition HauntedChess and the likes: the underworld wasn't correctly reset for the next problem (issue #288)
- Forsyth pieces input method: some input caused a crash (issue #260)