Author: Jeremiah Penery
Date: 11:17:23 10/17/99
Go up one level in this thread
On October 17, 1999 at 14:07:55, leonid wrote: >On October 17, 1999 at 11:52:28, Jeremiah Penery wrote: > >>On October 17, 1999 at 08:07:01, leonid wrote: >> >>>On October 16, 1999 at 19:26:57, Jeremiah Penery wrote: >>> >>>>On October 16, 1999 at 17:51:46, leonid wrote: >>>> >>>>>To put in the chain of moves first the moves that give the check is simple - >>>>>those moves can lead to the mate. Mate stop all the thinking, once the highest >>>>>possible value is achieved. >>>> >>>> >>>>It is true that these moves can lead to mate, but not very often. In fact, most >>>>of these moves will be useless. Take this example: 1. e4 e5 2. Bc4 Nf6, then >>>>the move Bxf7 is a check, but it is completely useless. I suspect this will be >>>>the case for most checking moves. >>>>My guess is that sorting moves first because they give check probably won't give >>>>good results compared to other orderings. >>>> >>>>> Looking through the "tool" I found that the number >>>>>of moves that lead to check is very small. This is the next reason for leaving >>>>>those moves at the head of the chain. >>>> >>>> >>>>This is true, but if the first move is very bad, you still have to search it >>>>fully. Like in my Bxf7 example above, that is a bad checking move, but you >>>>would still have to search it fully before searching other moves. This will be >>>>bad for the branching factor in your program. >>>> >>>>>I looked into your description of the move ordering and I hope that I understood >>>>>correctly everything that you have said. It is probable that our move ordering >>>>>is very close but we explain it in a different fashion. >>>>> >>>>>Languages that we use are not the same. Mine is Assembler. Until now wrote >>>>>everything for DOS but prepare to rewrite everything for Windows. And for what >>>>>system you write? Or probably Java is already perfect for every system? >>>> >>>> >>>>It's quite difficult to write a program in assembler, as it makes it difficult >>>>to easily modify. I wish you luck. :) >>>> >>>>Jeremiah >>> >>> >>>When I responded to your question at 1 o'clock in the morning (after working 5 >>>hours by phone) I probably was too tired to see one reason. I speek about the >>>usefulness to have the moves that make check, to the ennemy king, on the head of >>>the list. Statistucally it is good for sure, I did the counting, but from logic >>>point of view it is mainly because checking moves limites greatly number of >>>moves that opposit side can execute. This probably is the reason for speeding of >>>the logic. >>> >>>When during the generation of the moves for given ply, the indication of the >>>moves that will check is found, this can be done in pretty quick way. More you >>>have the nodes in the plys, more efficent legality and the checking aspect is >>>accomplished. And for the same funny reason (just saying this because I reached >>>this place) worst is you logic (more nodes you are forced to see in each ply) >>>more your game will shine with its positions per second ratio. >>> >>>Leonid. >> >> >>The idea with move ordering is that you want to be searching the "best" move >>first. A checking move can be very good, but _most of the time_
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.