Website founded by Milan Velimirović in 2006
14:50 UTC
| |
MatPlus.Net Forum Internet and Computing Popeye's maximum depth of calculation |
|
|
|
You can only view this page!
| | (1) Posted by Cornel Pacurar [Friday, Mar 5, 2010 08:40]; edited by Cornel Pacurar [10-03-05] | Popeye's maximum depth of calculation For a long time. py-[language].txt has been mentioning the following values for Popeye's maximum depth of calculation:
UNIX etc: 999 half-moves.
Windows: 699 half-moves.
(A few years ago, many used VMware and Fedora just to be able to get above 699 half-moves: http://web.telecom.cz/vaclav.kotesovec/linux/linux.htm)
Regardless what py-[language].txt says, this no longer seems to be the case, at least for the newer versions of Popeye (I checked Windows-32Bit 4.47 - 4.55). The two 2016-moves (or 2017 half-moves!) solutions of the problem below are found in a matter of seconds and the problem is actually C+!
http://forums.chessproblems.ca/viewtopic.php?f=14&t=102 (sorry, link instead of diagram, as irregular grids cannot be drawn here)
The limit now seems to be 2698 half-moves - for instance for help or self series-movers Popeye can go up to 2697 moves, and for direct series-movers up to 2698 moves, before ignoring the problem with the "stipulation with too many moves" message. | | (2) Posted by Steven Dowd [Friday, Mar 5, 2010 19:21] | That is great to know.
I know you don't use a hammer when you need a screwdriver, but Popeye's slowness in other areas amazes me. For example, on a h#4,5, a miniature, Popeye took nearly an hour to find the solution, while Gustav took exactly four seconds! APWin was a close second in 5+ seconds all on the same computer.
Of course I am hardly a power user of Popeye, so it may be me, of course.
But how each exactly, if my usage was correct, each one outdoes the other (near as I can tell, the only area in which Popeye does poorly in seriesmovers is in the self- category, but there isn't a good program for this yet either, APWin is not much use for long problems here, However some of Geoff's a-b ideas probably help in testing cooks, at least once I figure them out) would be interesting to know, if the developers could explain it simply, no giving away of trade secrets required..... | | (3) Posted by Geoff Foster [Friday, Mar 5, 2010 23:08] | I'm surprised that Popeye would take almost an hour to solve a h#4.5. Were you using "option intelligent"? | | (4) Posted by Steven Dowd [Saturday, Mar 6, 2010 03:48] | I wondered if not using intelligent was my mistake.
You are correct, Geoff. It solves in a flash with that option.
Is "intelligent" "fool-proof" in Popeye? With another solving program, using "intelligent" means that things might be missed, but I think how "intelligent" works in Popeye is quite different. | | (5) Posted by Dan Meinking [Saturday, Mar 6, 2010 05:07] | @Steve,
Popeye's "intelligent" mode uses a different algorithm than standard mode:
- non-intelligent: Every possible sequence from the diagram is checked. This is also known as a 'brute force' search.
- intelligent: As I understand things, Popeye looks for "possible mates" (which are printed as 'potential positions') using a square-by-square technique. Variations are then 'intelligently' eliminated when it becomes impossible to reach a 'potential position' from a particular starting sequence given the number of plies remaining.
Your reference to 'other' software alludes to, I presume, Alybadix. Aly has a SPEED=n mode which does SKIP certain sequences. It is not intended as a full test, but is useful as a quick scan.
--Dan | | (6) Posted by Olaf Jenkner [Monday, Mar 8, 2010 00:52] | Brute force doesn't mean to check every possible sequence from the diagram. It means each theoretical possible line will be examined. Using heuristics a lot of computation time can be saved. Intelligent mode is a heuristic method to avoid senseless computations. So I don't understand why Popeye makes a difference between "brute force" and "intelligent mode". If the intelligent mode is implemented correctly it should give exactly the same result like brute force.
Gustav doesn't have an intelligent mode but some technics cut the branches of the search tree and I call it brute force.
Olaf | | (7) Posted by Juraj Lörinc [Monday, Mar 8, 2010 11:47] | Olaf: "If the intelligent mode is implemented correctly it should give exactly the same result like brute force."
Given correct implementations, result in terms of solutions surely yes. However computation time is very different. Moreover, as Popeye is coded with a view of solving problems with very weird fairy elements, general cutting of branches in "non-intelligent" mode is hard to imagine. | | (8) Posted by Dan Meinking [Monday, Mar 8, 2010 16:28] | @Juraj: Exactly. Same results, but different solving times.
@Steve: As a general rule, 'intelligent' mode should be used for lighter/longer problems. The less mating/stalemating force, the better. | | (9) Posted by Geoff Foster [Monday, Mar 8, 2010 22:04] | In Popeye, Intelligent Mode is only available with h#/=, ser-#/= and ser-h#/=, with a limited set of fairy conditions and without fairy pieces. | | (10) Posted by Bojan Basic [Monday, Mar 8, 2010 22:59] | The point is that Popeye in intelligent mode uses an entirely different searching algorithm—therefore, not only "cutting branches". There is no way to know in advance which algorithm will finish faster, and that is why both of them are kept (and left to the user to choose between them).
It turns out that the intelligent mode usually works faster, but this is not guaranteed. For example, look at this position:
(= 6+4 )
’Regular’ mode finds h#5.5 in a blink, while the intelligent one needs much, much more time.
(The position above is by V. Röpke, Skakbladet, 1942, but the stipulation given by him was not h#5.5—and I think it is clear enough what really is the point of this problem. However, it turns out that this also serves as a good example for the purpose I needed.) | | No more posts |
MatPlus.Net Forum Internet and Computing Popeye's maximum depth of calculation |
|
|
|