Author: Lanny DiBartolomeo
Date: 12:39:05 11/18/99
Go up one level in this thread
On November 18, 1999 at 13:07:35, Bella Freud wrote: >On November 18, 1999 at 00:56:59, Christophe Theron wrote: > >>On November 17, 1999 at 19:44:10, Bella Freud wrote: >> >>>On November 17, 1999 at 19:01:57, Christophe Theron wrote: >>> >>>>On November 17, 1999 at 18:00:33, Bella Freud wrote: >>>> >>>>>On November 17, 1999 at 15:53:40, odell hall wrote: >>>>> >>>>>>Hi >>>>>> >>>>>> >>>>>> Does anyone know any details about Chess Tiger? >>>>> >>>>>I have heard that it goes deeper. Deeper wins on the whole as you know. >>>>> >>>>>It is a fast program, so I would imagine the programmer has found a way to focus >>>>>the search better with relation to the others. >>>> >>>> >>>>It is not a fast program. It's more than twice as slow as Fritz. >>>> >>> >>>That is still fast. You do work evaluation work and maybe more move sorting >>>work, but it is still fast. >> > >Hi Christophe, > >> >>Thanks for admitting that I do some evaluation work. > > >Oh deary-deary me. > >I am sure we could make an interesting thread to talk about your programming >ideas. > >But "Thanks for admitting that I do some evaluation work" does have an >unjustified assumption to it. Do you not think? Hi, Bella, I am pretty sure it was more said to be humorous "ice breaker" type of remark is all but i am sure he can say for sure :)) >That I denied your program did some evaluation work. > >I never said that. So I see the comment as needlessly agressive. > >But I am sure we could work out a way to communicate without these a priori >assumptions. I know some folk tend to pre-process all their ideas on life and >then act, not changing their fixed ideas until they come back to their 'root'. >But you are not one of there. Are you? > >However, more serious problems seems to exists elsewhere. I am being jumped on >all over the news group. For not much more than existing as far as I can tell. >There are posts saying I am "Chris" and posts saying I am "Rolf". Many posts >saying I should be banned immediately, and others disagreeing. Posts purporting >to be web site pictures of me. Posts making proposals of marriage and posts of >generally questionable content. > >It is completely crazy. Do you not think? > >I appreciate your technical posts and would like to respond to them. But not >under the present circumstances. No offence meant to you personally. > > > >Bella > > > >> >>I have also a rather complete move sorting algorithm. I have worked on this for >>quite a while and I don't see the point in having a slow move ordering when I >>can make it fast. >> >>It sounds like you have some sympathy with slow programs. >> >> >> >>>>>They are fighting for a narrow, specific part of the tree. Null move pruning by >>>>>mostly material factors makes that. >>>> >>>> >>>>No Chris, you don't get it. >>> >>> >>>Two points. You don't get it if you make incorrect naming assertions. And I do >>>get it. You don't more like it. >> >> >>I get it rather well I think. I'm into this since long enough. I used to think >>the way you seem to think. I have spent years working in the direction you like. >>I have also worked in other directions, so now I can compare. >> >>I'm no genius and I had to try different ways to find out what works and what >>does not. >> >>I was an idealist, but I had to bury some of my initial convictions. >> >>It is not so bad after all. I had to open my eyes. >> >> >> >>> If you prune too much on material criterias you >>>>completely destroy the positional skills of the program. >>> >>>But this is what you don't get. Null move prunes, you know that. A blind piece >>>square table program will play terrible. You know that. But imagine the blind >>>program's tree. Narrow, with null move prune decisions made entirely on material >>>evaluations at effectively low search depth. >> >> >>I don't argue about the value of such PST program, which will be in some sense >>blind, but I insist that null move decisions are not based on material >>evaluations. >> >>The point is not in null move or not BTW. Without using null move my program >>bases all pruning decisions on the global evaluation of the positions, not the >>material value only. >> >>I have already tried to take out the positional part, in the hope that this part >>was not important in the pruning decision process, and got terrible results. >> >> >> >>> One type of tree. It will win if >>>this is the 'important' or main tree. >>> >>>Now make a program with some postional sense. This will amke another tree, >>>partially overlapping with the main material tree, and probably a little >>>smaller. >>>So now winning depends on who makes the 'truer' tree at that depth, more often, >>>and for most moves. >>> >>>Most chess programs are in the second category. Yours too, I suspect. Just what >>>positional sense and how long it takes to evaluate will determine the tree >>>structure, degree of overlap etc. >>> >>>So I have to see programs on SSDF and tuning with autoplayers as forcing all >>>programs into this battle. Very hard to make wild parameters. Whenever you make >>>that passed pawn on the sixth rank worth 3 pawns, you'll win a spectacular game >>>where the 6th rank pawn was vital, but lose 5 games where you blow a knight to >>>get it. >>>So all tuned parameters tend to the normal, to a very boring normal. >>>Because that is what wins percentage points. In chess. In computer chess. >> >> >>I see. It's rather that you have a problem with strong programs. >> >> >> >>> Also >>>very likely on ICC, where just brute depth and counting on errors is what guides >>>'progress'. >>> >>>Positional parameters tuned to the norm. Material counting. So null move gets >>>evaluations to tell it to prune anything a bit wild. Hence narrow material tree >>>via null move pruning. And you said you null move prune. QED. >> >> >>Can you please point out a post where I said so? >> >> >> >>>>If I wanted to go deeper tactically, I could do it easily. I think I could go 2 >>>>plies deeper. But in this case my program would be completely crushed because of >>>>incredible positional holes. >>>> >>>>Before the game goes on a tactical field, my program would have a totally lost >>>>position. >>>> >>>>Each time I have tried to sacrifice the positional understanding to get deeper, >>>>it was a disaster. I have found that it works in the opposite direction: with >>>>better positional understanding the program goes deeper. Because it sees the >>>>right moves earlier, and spends less time analyzing sonense moves. >>>> >>> >>>Agreed. But my real question is how far can you take this? How far can you use >>>your chess knowledge to override what results and SSDF and win/loss driven >>>insane users are telling you? >> >> >>How far? >> >>First I have no problem with SSDF results and win/loss driven users. If you >>trust your chess program you don't have to be afraid of the results. >> >>Before trying to answer this question I think the very first thing to have is a >>search that is faithful to your evaluation function. >> >>In the past I have tried many times to fix my program by adding some kind of >>knowledge aimed at a specific situation, just to discover that enough knowledge >>was already there, but the search was losing this information! >> >>This can tell you why I find funny that people think it is easy to improve a >>program by using some pruning based only on material. >> >>Take null move for example. Suppose you are at two plies from the horizon and >>it's your turn to move. Here you notice that you fail high (your score is above >>beta = really good), so you execute a null move (make nothing but change the >>side to move), reduce the depth, and as it is already low enough you just do a >>capture search for your opponent. If you still fail low (= your opponent cannot >>execute a capture that gains material) you stop searching here. >> >>Well, null move in this case loses information (is not faithful to the >>evaluation function). Because the fact that your opponent has no capture threat >>against you does not mean that he has no good positional move against you. With >>null move you decide to prune the variation because you think it is good enough >>(>=beta) for you, but in fact you commit a mistake. Maybe your opponent can >>stuff a rook in your second rank. This is not a capture move, it's just moving a >>piece, but it can cost you the game. >> >>So actually your evaluation knows "rook on second rank", the remaining depth is >>enough to let your program see the problem, but you simply overlook it. >> >>How far can you put chess knowledge to increase your results? I don't know. >> >>But I have another question: how easy is it for your search to spoil the best >>evaluation function in the world? >> >>I have the answer. It is VERY easy. >> >>Pretending that you can win just by outsearching your computer opponent with a >>material only search is completely wrong. >> >> >> >> >>>>You make it sound as if I had found a very specific way to shoot on a very >>>>specific weakness of a very specific subset of chess programs. >>>> >>>>You make it sound as if I was not programming chess. >>>> >>> >>>Computer chess. Different. >> >> >>Here we are. >> >>Can you please explain to me the differences? >> >>I was innocently thinking I was programming chess, but I think I have to face >>the hard reality: I was in fact programming computer chess. >> >>I need your lights here, because I think I'm a little bit lost. What are the >>differences? >> >>* What are the differences in the rule of the game? >> >>* What is allowed in chess and is not allowed in computer chess? >> >>* What is allowed in computer chess and is not allowed in chess? >> >>* Who (what) is allowed to play chess? >> >>* Who (what) is allowed to play computer chess? >> >>* Is a chess player forbidden to play computer chess? >> >>* Is a computer chess player forbidden to play chess? >> >>* Is it possible that a chess player and a computer chess player play on the >>same board? >> >>* In this case, are they playing the same game or not? >> >>* Is it possible that both players play a different game on the same board? >> >>* In this case is it allowed that both players win at the same time? Or loose at >>the same time? >> >>* What kind of game is Chess System Tal playing? >> >> >> >>>>You completely overlook the fact that several testers including our friend >>>>Thorsten have noticed that Chess Tiger has a large amplitude in its evaluation >>>>function. It's usual to see Tiger at +1.90 when the opponent is still close to >>>>0.00. >>>> >>> >>>Good. You're being courageous. I think any competent chess player can program in >>>a good deal of positional knowledge which dares to take risks with evaluations. >>>This would be sufficient to deal with the Craftys and Fritzs and other fast >>>ones. And it expands the tree area over which this type of program will roam. >> >> >>It is not sufficient. You can dream about a wonderful position and miss a fork >>next move. >> >>There is a thresold in the quality of what you must add to your knowledge. >> >>If you add a complex knowledge that can be simulated by a simpler knowledge and >>a deeper search, you waste your time. Your program ends with the same amount of >>knowledge than before, it is just slower. And it's now unbalanced, because the >>same piece of knowledge is weighted twice. >> >>So it's not enough to be a competent chess player. You cannot just add any piece >>of knowledge you think about. You have to make sure that it really brings >>something new, something efficient. >> >>With a deep enough search and relatively simple basic knowledge, a program is >>able to understand incredibly well a large number of positional issues. It's >>amazing. >> >>To improve on this is really difficult. You have to add the kind of long range >>structural knowledge that a deep search would be unable to find. >> >>Taking risks with the evaluation is just amusing, but it's not the real issue. >> >>The evaluation function has to take into account long range structural patterns >>and to give them very balanced weights. >> >>At the top level, no human player would choose a flashy king attack when he sees >>that by just forcing an exchange he goes into a long range won endgame. >> >>Only an average club player will go for the king attack, and eventually will >>lose against a serious player. >> >> >> >>>But I think these are still not chess trees. In the sense that they still don't >>>naturally expand over the checking attack regions of the tree. Null move stops >>>that. >> >> >>This is a lack of imagination. >> >>You are not bound to follow null move or any other pruning scheme blindly. >> >>Hint: >> >>* disable your pruning for moves that are expanding over the checking attack >>regions you like so much. >> >>* Increase your pruning for moves that are expanding over regions that are not >>to your liking. >> >> >> >> >>>>>Getting an edge on this particular tree makes for good percentage increases in >>>>>winning chances against other programs. >>>> >>>> >>>>Maybe, and I would like to know how to do it. But as I don't tune my program >>>>against other programs I unfortunately don't know how to do it. >>>> >>>>Can you please explain how to do it? I would like to get a better rating on the >>>>SSDF. If you know anti-computer tricks, please share them with me. >>>> >>> >>>I think the best anto-computer trick is to try to get and stay in the tree >>>regions that programs do not understand. >> >> >>Good luck. Your territory is going to be smaller and smaller. Not enough room to >>breathe. >> >>And you are probably going to be left with regions that your program does not >>understand anyway. >> >> >> >> Christophe
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.