pre-announcement: 10x8 tourney

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: pre-announcement: 10x8 tourney

Post by hgm »

I think you just hit on one of the most fundamental aspects of Chess: Pawns have to be stopped at all cost because they promote to all-powerful pieces, and when you can't do it with other Pawns, this will tie up a piece, so you are effectively behind in the rest of the battle. This is why Pawns are the 'soul of the game'.

The problem with Hoplites is that they have so many paths to 8th rank that it is not enough to calculate if you can just block one of them in time. Furthermore, it could make capture threats along one path, switching to yet another. E.g. a Hoplite on e5 would be really helped by the presence of an unprotected Pawn on d3, because after 1.Hd4 it would have choice out of 3 paths. Of course Pawns can have a similar advantage, playing it to d4 would give it the choice between dxe5 or d5. (But the Hoplite at least can play Hf4 to escape the threat.) With equal Pawn types you would not have this, as attacks would be reciprocal. But the asymmetry really brings a tactical aspect to the passer evaluation; if the Pawn will make it depends on who has the move. In conventional passer evaluation this only occurs in non-quiet positions, where both sides have a PxP capture, and in such non-quiet positions the static evaluation is unlikely to be meaningful anyway.

Of course tactical aspects is something you would like to avoid in an evaluation. A Pawn could be a passer if you moveit now, but if you letthe opponent move first, it will be blocked or even eaten. But whether you can push it safely depends on the location of other pieces, so it would be a grave mistake to count it as a passer just because you have the move. So I used the criterion that I would count something a passer only if even when I wouldlet it sit forever, while the opponentwas allowed to position as many of his Hoplites he wanted to form a line of defense, he still could not do it. Because he might currently be using piece-force to delay advance of the Pawn, to releave them for Hoplites a few moves later, and the imagined passer advantage would have evaporated. And if I still need a move to make it a true passer, even if I have the move, it isn't worth much when I cannot actually push it. So the search must prove it.

Another aspect that worries me is this:

[d]8/3p4/8/8/4P3/8/8/8 w - - 0 1

Suppose there is Pe4 and Hd7, and nothing else. The Pawn is no passer, because He6 would block it,and even if it moves first (to e5) Hd7-e6 would still block it, and perhapseven gain it. The Hoplite is a passer, though, because it can play Hd7-b5 (-c4-d3-e2-d1=W). But by doing so, it ceases to block the opponent Pawn, which will actually Queen first! So the passer advantage islargely illusory.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: pre-announcement: 10x8 tourney

Post by Evert »

Evert wrote: In perft on a large board, Sjaak takes a 100% speed penalty from running in 32 bits rather than 64 bits (in other words, it takes twice as long to reach the same depth). There should be room for optimisation there, so hopefully I can bring this down a bit.
Ok, after optimising things a bit, I got the penalty for going to 32 bits down to 40%. I think that's a little bit longer than you normally expect for a bitboard program going from 64->32 bit, but for large boards Sjaak is not actually 64 bit, it's 128 bit. So it doesn't look so unreasonable.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: pre-announcement: 10x8 tourney

Post by Evert »

hgm wrote:I think you just hit on one of the most fundamental aspects of Chess: Pawns have to be stopped at all cost because they promote to all-powerful pieces, and when you can't do it with other Pawns, this will tie up a piece, so you are effectively behind in the rest of the battle. This is why Pawns are the 'soul of the game'.
Of course!
The "aha-erlebnis" I had was actually that in a sense, a passed pawn that is blocked should not get a bonus (decreased because it is blocked), the blocking piece should be penalised - more so for a more powerful piece.
In practice you probably do want to award a bonus to the passer because of its potential, and maybe the blocking piece should just be penalised by not scoring it for mobility. It's a slightly different way of looking at it.
The problem with Hoplites is that they have so many paths to 8th rank that it is not enough to calculate if you can just block one of them in time. Furthermore, it could make capture threats along one path, switching to yet another. E.g. a Hoplite on e5 would be really helped by the presence of an unprotected Pawn on d3, because after 1.Hd4 it would have choice out of 3 paths. Of course Pawns can have a similar advantage, playing it to d4 would give it the choice between dxe5 or d5. (But the Hoplite at least can play Hf4 to escape the threat.) With equal Pawn types you would not have this, as attacks would be reciprocal. But the asymmetry really brings a tactical aspect to the passer evaluation; if the Pawn will make it depends on who has the move. In conventional passer evaluation this only occurs in non-quiet positions, where both sides have a PxP capture, and in such non-quiet positions the static evaluation is unlikely to be meaningful anyway.
Yes. That's part of why I want to leave it at a smaller bonus to encourage "pawns" that are/might be free to advance and leave it up to the search to decide. Perhaps a selective search near the leaves would be useful here.
By the time a hoplite reaches the 5th or 6th ranks, it should be ok to look at seriously scoring it as a passer. I think that's normally the point where you'd ramp up the value of a passer anyway, so this should work fairly ok.
Another aspect that worries me is this:

[d]8/3p4/8/8/4P3/8/8/8 w - - 0 1

Suppose there is Pe4 and Hd7, and nothing else. The Pawn is no passer, because He6 would block it,and even if it moves first (to e5) Hd7-e6 would still block it, and perhapseven gain it. The Hoplite is a passer, though, because it can play Hd7-b5 (-c4-d3-e2-d1=W). But by doing so, it ceases to block the opponent Pawn, which will actually Queen first! So the passer advantage islargely illusory.
Yes, that is tricky to detect by static evaluation. It's easy to detect that the pawn is not passed, but for the hoplite it's not so simple. Move the whole position down two ranks, and suddenly the hoplite should abandon the pawn because now it will promote first. So it's no good to give a bonus to the pawn once it becomes free, but not give a similar bonus to the hoplite, since it will then (incorrectly) tend to keep blocking the pawn until the search finds a promotion (and since these moves are likely to be reduced before the promotion is finally seen that may take a while).
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: pre-announcement: 10x8 tourney

Post by hgm »

Never reduce passer moves! And if you don't know what passers are (like micro-Max), never reduce any Pawn moves! I even considered if Pawn moves would not be worthy of being searched in QS, because they can cause score changes not so far from real captures. I never tried it, though. But searching selected Pawn moves in QS must almost certainly be good. (E.g. pushing backward Pawns to undo their backwardness, pushing candidate passers to turn them into real passers.) It might also be an idea to forbid stand-pat in positions that have PxP captures, and replace it by null move to check if you can afford not to capture.

In the old days, when you could only search 4 ply and had no hash tables, Pawn endings where a big problem. I searched every Pawn push in QS in Pawn endings then to see if it could make it to promotion, but that did not help if the opponent could stand pat. So stand-pat was forbidden after a Pawn push, but the opponent had to play the King move that brought it closest to the promotion square in stead. :D
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: pre-announcement: 10x8 tourney

Post by Ferdy »

Evert wrote:
Ferdy wrote:Off topic but I'd like to know how many computer programs are able to play spartan chess? I will probably create one, I guess the play is interesting. Any reference for the rules? Thanks.
See here: http://spartanchessonline.com/index.html
As for programs that can play, there should be at least six or so. Certainly Fairy-Max, Nebiyu, Spartacus, Sjaak and ChessV can do it, but I'm not sure which of those are easily available for download.
Rule interpretation, from the link,
4.7 Castling
Spartan Kings may not “castle”.
* Why there is a word may? would this mean that spartan kings can castle if there is still a right and has the option not to castle?


Hoplite Movement
3.51 Hoplite Movement – The hoplite may move one square forward diagonally and captures one square directly ahead. Hoplites may not move backwards.
* There is again the word may? can Hoplites then moves backward?



3.52 Hoplite First Move - A hoplite may move one or two squares diagonally on its first move and on this first move may jump over the first square to the second. Hoplites may not capture by jumping.
* Would this mean that by jumping, Hoplites can capture if there is opp piece to be captured and can move also if there is no piece in the to square?


5.2 Symbols Used in Illustrations
The following characters are used in the accompanying diagrams:

X - A square to which a piece may move or capture if the movement path is not blocked.
J - A square to which a piece may move or capture ignoring the presence of intervening pawns or pieces.
c - A square to which a piece may capture but may not move.
m - A square to which a piece may move but not capture.
On c, so this is only for capture and should not be a non-capture move.

I am confused by the use of the word may in this document. :(
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: pre-announcement: 10x8 tourney

Post by hgm »

Indeed, in all cases it should be read as 'can'. At least that is how all engines implement it: no Spartan castling, no backward Hoplite moves, no capture on Hoplite double-pushes, and c indicates capture-only.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: pre-announcement: 10x8 tourney

Post by Ferdy »

hgm wrote:Indeed, in all cases it should be read as 'can'. At least that is how all engines implement it: no Spartan castling, no backward Hoplite moves, no capture on Hoplite double-pushes, and c indicates capture-only.
Thanks, I was about to give up on the project given this documentation :)
User avatar
George Tsavdaris
Posts: 1627
Joined: Thu Mar 09, 2006 12:35 pm

Re: pre-announcement: 10x8 tourney

Post by George Tsavdaris »

hgm wrote:Image

I intend to do another 'Battle-of-the-Goths' tournament for 10x8 Chess (Capablanca, Gothic, Carrera, Bird, Embassy) with live broadcasting of the games. Since the previous event there are two new engines capable of playing this, (Nebiyu and Spartacus) both ranking between or even above the previous best (Joker80 and SMIRF). This in itself would make it worthwhile to do a new tournament.

That means we can already be sure of the following partcipants:

Nebiyu
Spartacus
Joker80
SMIRF
TJchess10x8
TSCP Gothic
Fairy-Max
ChessV
BigLion
ArchBishop

The tournament will probably be held in December 2011 or January 2012.
Great! :D
I was away from the "Chess games and variants" field for some time so i'm not up to date for all the new or upgraded engines and i have certainly lost my shape in playing 10x8 CRC variants. I used to beat easily all the programs so i wonder if i can still do it.
Is there a chance of getting the programs that are going to participate on your server live to play against them or it's out of the question? :D
It would be a fun experience to play against all them to see their style and their strength and if i'm still able to outplay them easily or not.

Either way that would be a very very interesting tournament since 10x8 CRC variants and especially Gothic Chess are my beloved variants. Please run it on December and not January.... :lol:
After his son's birth they've asked him:
"Is it a boy or girl?"
YES! He replied.....
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: pre-announcement: 10x8 tourney

Post by hgm »

Well, Nebiyu is already public (on Daniel Shawul's website, or packaged with WinBoard Alien Edition from mine). The new engine Bihasa is already public, as you can see in this thread. Sjaak will probably be soon. Spartcus is currently in a sorry state; I cannot even properly test it, because it crashes frequently, and on my Windows Vista the process then keeps hanging without releasing the memory, until you answer a stupid popup "Spartacus.exe stopped working properly...". When this happens a number of times, the swap file gets completely occupied, and all subsequet engine startups crash immediately when they try to allocate hash memory...

And I currently have no time to fix it, as I am fully occupied by getting HaQiKi D ready for the tournament Nov 11-12 in Taiwan, and the ICGA Computer Olympiad one week later.

Anyway, as things stand the updated list of participants is:

1. Bihasa
2. Nebiyu
3. Spartacus
4. Joker80
5. SMIRF
6. Sjaak
7. TJchess10x8
8. TSCP Gothic
9. Fairy-Max
10.ChessV
11.BigLion
12.ArchBishop
13.Heretic
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: pre-announcement: 10x8 tourney

Post by Evert »

George Tsavdaris wrote: I was away from the "Chess games and variants" field for some time so i'm not up to date for all the new or upgraded engines and i have certainly lost my shape in playing 10x8 CRC variants. I used to beat easily all the programs so i wonder if i can still do it.
Is there a chance of getting the programs that are going to participate on your server live to play against them or it's out of the question? :D
It would be a fun experience to play against all them to see their style and their strength and if i'm still able to outplay them easily or not.
Well, Sjaak is open-source and I'd like to release it sooner rather than later. It's currently lacking proper pawn-structure evaluation, which I was hoping to include before doing a release, but it's taking longer than I hoped it would, and the current version has enough new features to make it interesting.
I really should do some more testing first though, since it hung during a test match of Courier Chess and if it hangs there, it may hang in Capablanca too (doesn't seem to happen on 8x8 boards though).
Hopefully this weekend. I'm debating whether to annoucne it on the "technical discussion" or the "general topics" forum...