Author: JW de Kort
Date: 05:02:45 12/17/02
Go up one level in this thread
On December 17, 2002 at 07:28:54, Uri Blass wrote: >On December 17, 2002 at 06:52:43, JW de Kort wrote: > >>On December 17, 2002 at 06:44:52, Uri Blass wrote: >> >>>On December 17, 2002 at 06:28:31, JW de Kort wrote: >>> >>>>On December 17, 2002 at 05:57:55, Uri Blass wrote: >>>> >>>>>On December 17, 2002 at 05:46:29, JW de Kort wrote: >>>>> >>>>>>On December 17, 2002 at 04:46:16, Uri Blass wrote: >>>>>> >>>>>>>On December 17, 2002 at 04:27:48, JW de Kort wrote: >>>>>>> >>>>>>>>On December 17, 2002 at 03:40:11, Uri Blass wrote: >>>>>>>> >>>>>>>>>I think to add to my program bitboard that will be used only for pawn structure. >>>>>>>>> >>>>>>>>>2 numbers of 64 bits that are used for white pawns and for black pawns. >>>>>>>>> >>>>>>>>>I want to detect based on these bitboards a lot of information about every pawn >>>>>>>>>and I may want to use the information together with attack tables for >>>>>>>>>evaluation. >>>>>>>>> >>>>>>>>>My question is if using bitboard is a good idea to get the information and >>>>>>>>>if the answer is positive how can I detect the information by bitboards >>>>>>>>> >>>>>>>>>For every pawn I want to detect the following: >>>>>>>>> >>>>>>>>>1)Is it a weak pawn(a pawn that can never be defended by a pawn and cannot go >>>>>>>>>forward to promote without captures and without the risk of being captured by a >>>>>>>>>pawn) >>>>>>>>>2)Is it probably weak pawn(it means that the only way to defend it by a pawn is >>>>>>>>>by capturing the opponent pawn or by letting the opponent to capture the >>>>>>>>>potential defender by a pawn). >>>>>>>>> >>>>>>>>>3)Is it a pawn that is defended by a pawn and if not how many normal pawn moves >>>>>>>>>that are not captures and do not let the opponent to capture by a pawn are >>>>>>>>>needed to defend it by a pawn. >>>>>>>>> >>>>>>>>>4)Is it a passed pawn and if it is a passed pawn how many normal pawn moves are >>>>>>>>>needed to defend it by a pawn. >>>>>>>>> >>>>>>>>>5)Is it a potential passed pawn(is the only way of the opponent to stop it is by >>>>>>>>>letting the player to have another passed pawn) >>>>>>>>>In case that it is a potential passed pawn the question is if it can be done by >>>>>>>>>normal means or the only way to make it a passed pawn is by sacrifices >>>>>>>>> >>>>>>>>>Uri >>>>>>>> >>>>>>>>Dear Uri, >>>>>>>> >>>>>>>>I do this in my 0x88 based program: i use bitboards to do the pawn evaluation. >>>>>>>>This evaluation is only on a very basic level but the topics you mention is >>>>>>>>covered. I found out that by bitboard it is far easier and quicker to check >>>>>>>>whether a pawn is passed or not but i think this is commom knowledge. I found >>>>>>>>the source of Crafty very informative. >>>>>>>> >>>>>>>>regards >>>>>>>> >>>>>>>>Jan Willem >>>>>>> >>>>>>>1)This seems to be not very basic level. >>>>>>> >>>>>>>In the match steve ham against computers Nimzo7.32 could not evaluate correctly >>>>>>>a black passed pawn at c3 that could not be protected by a pawn and gave it a >>>>>>>big bonus. >>>>>>> >>>>>>>If even Nimzo7.32(that is at the level of the top amateurs) could not evaluate >>>>>>>it then it means that it is not a basic evaluation because I expect nimzo7.32 to >>>>>>>know at least everything that is very basic level. >>>>>>> >>>>>>>I guess that big majority of the chess programs do not have this information >>>>>>>because most amateurs have less knowledge than nimzo7.32(movei of today even >>>>>>>does not evaluate passed pawns). >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>>I'am afraid my response was not completely clea at this point or maybe i got >>>>>>your question not right. M<y progrma can tell if a pawn if passed atc. by using >>>>>>bitboards but iám not to say that it is evaluated correctly. My engine is very >>>>>>weak at the moment and one of the problems is the wrong evaluation of these >>>>>>features. I understood your question as; how to detect these things. Iám sorry >>>>>>if i under estimated you. (I wonderde why you asked this question to be honest). >>>>>>By 'basic' i mean that an evaluationfunction coveres all the aspectes that are >>>>>>already in the function of CHESS 4.5. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>>2)Where did you look at crafty source code to find the relevant information that >>>>>>>helped you? >>>>>> >>>>>>I took a close look in the evaluationfunction where the pawns are evalutaed. But >>>>>>i think it is not to hard to understand this. e.g if you want to know if a pawn >>>>>>is passed you can do a logical AND with the bitboard of all opposite pawns and >>>>>>an bitboard giving all the squares that must be empty for the pawn to be passed. >>>>>>(Again i appologize if this information is not what you are looking for). >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> >>>>>>>Note that I plan to use the information for the evaluation but it does not mean >>>>>>>that this information will give me the evaluation because I want to evaluate >>>>>>>weak pawn that is attacked by the opponent as less than weak pawn that is not >>>>>>>attacked by the opponent so I may use my attack tables. >>>>>>> >>>>>>>3)What is the level of your program? >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>>Not very good i'am afraid. The evaluationfunction does know almost all the >>>>>>features of CHESS 4.5 like passed pawns, backwardspawns, very backwardspawns, >>>>>>doubled rooks, rooks and quens on seventh rank, kin safety, caslte bonus for >>>>>>being casteld and a malus for not being so, king tropism, center tropism, >>>>>>placement of pieces like near the centre and on safe squares etc. but these >>>>>>features are at the moment so badly tuned that my program is willing to open up >>>>>>his king defence to advance his pawns. But again this is only for starters, >>>>>>since it can play under winboard iám planning to make it stronger. My main >>>>>>concern however is the speed, or better the lack of it. I saw it beat BEOWULF >>>>>>once but i saw it beaten by BEOWULF about twenty times. It largely depends on >>>>>>the opening my progrma plays if it can give some resistance. >>>>> >>>>>My programs knows almost nothing about it but it is clearly better than programs >>>>>like Gerbil. >>>>> >>>>>My question is what is the level of your program relative to other chess >>>>>programs. >>>>> >>>>>Uri >>>> >>>>Dear Uri, >>>> >>>> >>>>I have never let it play agains Gerbil, but i will do that soon. I had it play >>>>against Fritz 6 with the obvious result. It plays about 50-50 agains TCSP (or is >>>>it TSCP i'am not sure) but i do not like this program to test is againt (but is >>>>very usefull to get information from) because it always plays the same moves. My >>>>progrma uses a large openingbook wich contains gambits and if my program plays a >>>>gambit it is a sure loss because the lost pawn will never be retrieved and my >>>>progrma does not know how to exploid the possitional advantages. Agains BEOWULF >>>>it plays better then i expected but it also most of the time loses but i have >>>>seen it a few times. The problem with my progrma is that the evalutaion function >>>>is not tuned and i hope to find time to work on it. >>>> >>>>So i would say my engine is relatively weak but i think -or hope- it has >>>>potential to grow. >>>> >>>>Greetings JWK >>> >>>I think that the problem with your program is that you worked on the wrong >>>direction. >>> >>>search is clearly more important than evaluation. >> >>That might by true but i have implemented already some search things like >>iteratieve deepening, captures first, killer moves, hash table, hisotry >>heuristic and i am planning for null move and extansions but after that i found >>out that my progrma lacked knowledge. >> >> >> >> >> >> >> >> >> >> >> >>> >>>If it is often losing against tscp after playing gambit lines then it means that >>>something is wrong with it's search. >> >>I don't think i agree. If i see it correctly the purpose of a gambit is to give >>up material to gain positional advantage. THis is ok if you kno how to use this >>positional advantage and this involves knowledge. If you don't know how to >>exploit the advantage you just give away material like my program does. > >I believe that if you let it search deeper at the same opening it is going to >beat tscp. > >I suggest that you try the same openings that your program lost but only let it >to search 2 plies deeper than it searched in the games. > >I expect it to win most of the games that it lost. > >Uri I will certainly try that. There is onother thing that springs into my mind: my program always searches 6 ply no matter what and using the time control i use, TSCp always goes to 6 ply and often to 6 or more. An anoing thin however still is that TSCP always makes the same move, still a great program.
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.