How to use null move in Arena?

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Edmund
Posts: 670
Joined: Mon Dec 03, 2007 3:01 pm
Location: Barcelona, Spain

Re: How to use null move in Arena?

Post by Edmund »

Now I am getting you. This feature seems to be bugged in the latest versions of Arena.

I played 1. e4 1... Nullmove on the board and then checked the data sent to the engine. It only transmits the move e4, but not the Nullmove. In fact the correct syntax for a Nullmove in UCI would be 0000.
So the engines still analyze for the wrong side.

On the otherhand it is not breaking, if the engine sends a nullmove in one of its analysis lines. For example Glass reports nullmoves as part of its analysis when asked to show current thinking lines.
Michel
Posts: 2272
Joined: Mon Sep 29, 2008 1:50 am

Re: How to use null move in Arena?

Post by Michel »

What would you expect to see now? Something like "1... e7e5 2. e2e4 Nf6 3. Nc3"?
Yes. But in this case that would probably not be very informative.

As Slobodan was saying: suppose there is a move in a game you do not understand. Perhaps it is a reaction to a threat you do not see? In analysis mode you can find out by replacing the move by a null move.
tomgdrums
Posts: 736
Joined: Wed Dec 02, 2009 9:48 am

Re: How to use null move in Arena?

Post by tomgdrums »

hgm wrote:Is this a desirable feature? In WinBoard I implemented turn passing (by clicking on the clock of the side not to move) only in the Alien edition, for certain non-Chesslike variants (e.g. Go and Reversi needed this).

Perhaps I should transfer that patch to the normal edition, and switch it on in analysis mode...
I do like the null move feature in Chessbase when analyzing my own games. It helps me to focus on the threat that might have been.
User avatar
hgm
Posts: 27792
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: How to use null move in Arena?

Post by hgm »

Let me see if I understand this. You cannot send null moves to an engine; they would refuse them as illegal. So what is needed is to send a new setboard to the engine with the other side to move. The GUI should remain aware that a null move has been done, and still allow you to step through the game. At the moment you pass the null-move in backward direction, you would have to reload the game from beforethe nullmove backinto the engine, because the setboard erased it from the engine's memory, so you no longer can do an 'undo'.
JVMerlino
Posts: 1357
Joined: Wed Mar 08, 2006 10:15 pm
Location: San Francisco, California

Re: How to use null move in Arena?

Post by JVMerlino »

hgm wrote:Let me see if I understand this. You cannot send null moves to an engine; they would refuse them as illegal. So what is needed is to send a new setboard to the engine with the other side to move. The GUI should remain aware that a null move has been done, and still allow you to step through the game. At the moment you pass the null-move in backward direction, you would have to reload the game from beforethe nullmove backinto the engine, because the setboard erased it from the engine's memory, so you no longer can do an 'undo'.
Wouldn't using a setboard after this forced nullmove cause some analysis inconsistencies between how an engine handles a nullmove internally, specifically with draw detection? Probably very minor, but it is something to be aware of.

jm[/b]
User avatar
slobo
Posts: 2331
Joined: Mon Apr 09, 2007 5:36 pm

Re: How to use null move in Arena?

Post by slobo »

hgm wrote:Let me see if I understand this. You cannot send null moves to an engine; they would refuse them as illegal. So what is needed is to send a new setboard to the engine with the other side to move. The GUI should remain aware that a null move has been done, and still allow you to step through the game. At the moment you pass the null-move in backward direction, you would have to reload the game from beforethe nullmove backinto the engine, because the setboard erased it from the engine's memory, so you no longer can do an 'undo'.
Let´s imagine two situations:
1. White just did its move and it is Black turn to move now.
In this case Null Move means: you send the same position to White side and force it to play again.
2. Black just did its move and it is White´s turn to move now.
In this case Null Move means: you send the same position to Black side and force it to play again.
"Well, I´m just a soul whose intentions are good,
Oh Lord, please don´t let me be misunderstood."
UncombedCoconut
Posts: 319
Joined: Fri Dec 18, 2009 11:40 am
Location: Naperville, IL

Re: How to use null move in Arena?

Post by UncombedCoconut »

Edmund wrote:I personally use it quite often when analyzing a certain position. It gives me a nice picture of what threats to look out for.

It might even make for a more complex gui feature. You press a button and it will use the engine to do a multivariation search and then indicate threats (eval_root <= eval_leaf - margin) with arrows on the board.
PyChess also has a primitive version of this (it will sic an engine on the position+null and paint a red arrow showing its best move). I'd always thought of it as a beginners' feature, but the thread convinced me otherwise... In the trunk version (or at least my branch) we use a setboard or position-fen for that situation, rather than trying to transmit nullmoves. It does screw up draw detection, but that is only a minor issue.
User avatar
hgm
Posts: 27792
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: How to use null move in Arena?

Post by hgm »

UncombedCoconut wrote:It does screw up draw detection, but that is only a minor issue.
That is actually good. You don't want the search corrupted by draw scores from positions that in reality will not be draws at all (because you will have to play something in stead of the null move).
supersteve3d
Posts: 30
Joined: Mon Apr 28, 2008 5:10 pm

Re: How to use null move in Arena?

Post by supersteve3d »

I too am unable to get it to work in Arena like it does in the Chessbase UI.
While on the topic. Even Nextbest Move (y) does not work for me.

Is anyone able to get it to work correctly?