Page 1 of 1

applying null move prunning, at my own style...

PostPosted: 11 Oct 2011, 21:26
by pimidrez
Hi everyone, Im recently applying null move prunning in my own style, I explain here in three steps:

1- At ply 1 I let that the side to move, move twice
2- Make the eval for everyone of the moves at ply 2 and pick the best score to put in the list of moves in ply 1
3- Then the moves with worst score in the list of ply 1 are pruned

my question is how dangerous could it be??
how many moves can I prune in this way Or under what conditions?

thanks,

si pueden responder en español mejor, sino en ingles estará bien

Re: applying null move prunning, at my own style...

PostPosted: 12 Oct 2011, 02:51
by pimidrez
why nobody answer my question? my last two post never answer... :? :(

Re: applying null move prunning, at my own style...

PostPosted: 12 Oct 2011, 08:46
by Andres Valverde
pimidrez wrote:Hi everyone, Im recently applying null move prunning in my own style, I explain here in three steps:

1- At ply 1 I let that the side to move, move twice
2- Make the eval for everyone of the moves at ply 2 and pick the best score to put in the list of moves in ply 1
3- Then the moves with worst score in the list of ply 1 are pruned

my question is how dangerous could it be??
how many moves can I prune in this way Or under what conditions?

thanks,

si pueden responder en español mejor, sino en ingles estará bien


Parece la gente está de vacaciones :)

Te doy mi opinión : en el fondo, lo que haces es el fundamento del movimiento nulo, y en esencia esto es en lo que se basa. El tema es que tu propones hacer sólo una evaluación, lo cual seguro que es insuficiente. Incluso una "qsearch" lo será. De hecho, en nullmove se realiza una búsqueda a profundidad reducida , pero casi nunca mayor que profundidad-3, pues caso contrario se poda demasiado.

En todo caso todo se tratará de como lo implementes, de las condiciones que uses, de cuando lo apliques etc. Eso tendrás que "currartelo" e ir probando y descartando. Eso es lo divertido :-). Cuentanos si consigues algo.

Re: applying null move prunning, at my own style...

PostPosted: 12 Oct 2011, 17:05
by pimidrez
Hola Andres gracias por tu respuesta, un alivio escribir en español..

No me queda claro la parte en que decís: "El tema es que tu propones hacer sólo una evaluación, lo cual seguro que es insuficiente. Incluso una "qsearch" lo será"

Lo que yo hago después de eliminar esos nodos que marcaron un score malo en el paso 3 (de mi explicación del principio) es comenzar la búsqueda completa solo con los nodos que no fueron eliminados, lo cual me hace ganar mucho tiempo ya que podo movimientos malos del principio del árbol.

Hasta ahora creo que funciona correctamente, se eliminan movimientos tontos como comer un peón protegido por otro con el alfil o alguna otra pieza grande.

Re: applying null move prunning, at my own style...

PostPosted: 12 Oct 2011, 17:47
by crystalclear
If the opponent is threatening checkmate, and you can either defend against it or capture pieces, will your program use its pruning to prune away the defence against mate?
That's what I understand would happen from your description.

Re: applying null move prunning, at my own style...

PostPosted: 12 Oct 2011, 18:51
by pimidrez
Crystal, I dont use this prune when the side is in check o endgames, its give me more speed in the middle game, pruning the obvius bad moves.

Re: applying null move prunning, at my own style...

PostPosted: 13 Oct 2011, 12:03
by crystalclear
1. e4 e5 2. Nf3 d6 3. d4 Bg4 4. dxe5 Bxf3 5. Qxf3 dxe5 6. Bc4 *
rn1qkbnr/ppp2ppp/8/4p3/2B1P3/5Q2/PPP2PPP/RNB1K2R b KQkq - 1 6

A position like this is neither check nor an endgame - yet white threatens mate.
Maybe your chess program realises the mate threat somewhere and defends against it,
but here, with black to move and white threatening mate, it seems to me that black
really needs to think about what white is doing.

You could try the position with your engine and verify that it makes a reasonable move.