Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Chess Tiger's Playing Style?

Author: Bella Freud

Date: 10:07:35 11/18/99

Go up one level in this thread


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?

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.