Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Chess Tiger's Playing Style?

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.