"Martin Brown" wrote in message
ups.com...
Quite so, Ray - in order to go to deeper plies and find a solution the
program must find a way to prune possibilities - and it does this by
scoring
each branching possibility on, say, ply 7 or 8, and if worse than
nominally -2 will prune that line [which may have been eg, a Knight
sac]
that can perhaps offer a return of 3 pawns and the initiaitive by ply
15 -
or even something more compelling.
I doubt that any of the modern programs use anything so crude.
I am not specualting.
They
appear to use recursive alpha-beta with refutation lines tried first
for each possible move together with killer moves for each ply and non-
speculative forward pruning as a base level. After that they use
various forms of selective extensions on the most promising looking
variations followed by a quiessence and swapoff rule. You only have to
watch how fast they rip through the no hoper lines at very deep levels
when compared to something like Crafty or Comet that lack some of the
extra go faster tricks.
Whether in fact these devices do the trick is examined in the MAMS book - at
least it can be said that Fritz suffers from it - and as above, if an amalgm
of advanced factors don't actually work, then these are much ado about
nothing.
I did not realize pruning is employed at -2 pawns. Thanks for this
information. I assumed the cutoff was more like -3.
You may be right on the default value - but the issue for the computer is
that if you optimise ply-depth, then you effect pruning score, no?
Otherwise
in the amount of time available for the move there is no way to achieve
sufficient ply searching.
If this was the case engines would never find queen sacrifices that
lead to a mating net. Hint: they do.
I can tell you the test game - the original. And it was played by GM
Bronstein against a chess computer! In fact it has become a stand test of
look-ahead efficacy, according to Bob Hyatt.
If the mate occurs within the look ahead range then all is okay - but if its
not mate, but reversal of fortune after 15 moves, that is a noted weakness
if the evaluation only shows up significantly positive in 15 moves. For the
interim 14 moves the program might have been showing maximum loss [or risk
factor] of [?] for Fritz -4.33
The question is in chess terms, not programming terms, when does the program
cut its loses when its chances are flat-lined?
Yes - one of the MAMS recommendations is to pick a long line,
preferably
For those of us on the other side of the pond: Who or what is MAMS ?
The acronym means Man Assisted Machine Chess - but MAMC is ugly, so Chess
becomes German/Dutch as 'Schack'
---
A have one draw against Rybka, but older programs could be beat by
positional play, time and time again. With book off no amount of tactical
finesse works. I wrote in about 1998 that Crafty with book off was maybe
1800-1900 level.
What version of Crafty was it then?
I don't know, the highest version I could then download. I have a more
current version which comes with Rybka.
I am currently benchmarking Crafty 19.01 on a postion from the French
Advance Variation that came up in a game of mine. I noticed that
Fritz8 made a bad fist of it and thought it might shed some light on
the thinking of other engines. Crafty is now at ply 18 after 47 hours
and its evaluations are actually getting *worse* with each increasing
ply. The worst case error in Crafty when on this position compared to
other much strong engines at 18ply is about 80cp.
I suspect there is a bug in it that is hampering its ability to play
compex opening positions.
Yes, again in conversations with Bob Hyatt, he once said me that Crafty
would never play the 3rd move in the Ruy, ie, Bb5. Much preferring 3. Bb4 ~
since the Ruy is pretty open, that is a less extenuated example.
Other programs have trouble with openings which seem to require White not
exchanging in semi-open positions. One example is the Armenian French, when
the black bishop retreats to a5 instead of, acter being challenged with a3,
capturing the c3 Kt. The B can then be further challenged and winds up on
c7, when the White knight can capture it! - but that is where the program
seems to go nuts, as if its compass was spinning and it can't make up its
mind if it really likes or dislikes subsequent positions. In this instance
this is not a fault with Crafty alone, but in semi-open positions ~ the
typical gaining of the 2 bishops at the cost of tempii.
Do you have Rybka so you can run it at the French Advanced?
Whatever else we disagree on about computer
chess I think we should both agree that increased search depth should
generally improve the accuracy of move evaluation. And that is not
what I am observing testing Crafty 19.01.
Yes - I think we are in agreement, though a useful term to consider is by
the author of MAMS, Alberts, who talks of 'risk factors'. Which line to
choose if the next 10 moves render an = eval, while another line has
oscillated + then - then + then...
I gotta go - interesting post - shall try answer anything below later.
Cordially, Phil
I will test Crafty 20.xx next. I am also running the same test on my
newly purchased Rybka. Its results are a bit off the mark in absolute
value (ie it slightly dislikes a position good for white) but it
relative rating of the continuation lines is very plausible and
improves with each successive ply - and the evaluation results from 4m/
move to a few hours/move do not deviate abruptly unless it finds some
interesting new line at depth.
However, I will give Camp #1 credit in
one respect--they are essentially arguing how a human can beat a PC in
*CORRESPONDENCE CHESS*. The procedure is as follows: (1) fill a
database of positions where a positional sacrifice not within your
opponent computer's move horizon leads to victory, (2) play a series
of forcing moves that lead to the positions in step (1), and, (3)
execute steps (1) and (2) to win.
I see. This is very similar to beating people, and the central idea of
the
postional player.
And to beat a chess engine you want to avoid positions where there is
a single forced line leading to victory. If just one move is massively
better than all of the others or a check is used it will trigger
singular extensions, but if 2 or 3 moves are similarly good the engine
will not extend the search the extra ply until it is too late and the
forcing line is already entered.
If this is what you seek, good luck to you, as you might find
"steering" the opponent program ala step (2) is a lot harder than you
think, because I posit these positional sacrifice positions will be
very far and few between in the chess tree--because chess is 99%
tactics.
Chess is how you play it!
If chess were 99% tactics chess engines would have been world chess
champions much sooner. It is the positional long range strategic
planning that computers still need human guidance on - that is why
freestyle chess is so interesting.
The situation is exemplified in the game of Go where the basic rules
are simpler but the long range planning and huge multiplicity of moves
on a full size board put the top level human game out of reach of
current computing methods.
What is intellectual, is that programming-as-we-know-it, is now
semiotically
almost a technology rather than anything to do with science. Many
Computing was initially viewed as an impure form of applied
mathematics.
OK, if I understand your point here--you're saying that Fritz in a few
seconds basically is "right onto" the correct analysis that 50 years
of amateur and GM effort have found. Doesn't that support MY point,
of Camp #2? That computers _can_ do an excellent job of analysing
positions, and not just tactical analysing? Sure seems like it.
In this instance, but in other instances computers are really dumb! So I
Actually computers can analyse some positions well and some *very*
badly. And different engines have different strengths and weaknesses.
Fritz8 for instance can be relatively easily blinded to other
possibilities by offering it what looks like a simple equality swap
off sequence with a sting in the tail. It is very surprised when you
don't take the last pawn or whatever is on offer. Shredder is much
harder to mislead in this way.
There is another point here. A computer can do a lot better annotating
a complete GM level game than playing one or even evaluating a given
position without knowing how play continued.
Calculating ab initio it has no guidelines and must figure everything
out for itself which is what caused the original paper that started
this discussion to use a fixed depth 12 ply search in Crafty. This is
well short of what is needed even with much stronger commercial
engines to annotate ELO 2000 club player games reliably. So it stands
no chance at all of giving the right answer on super GM and world
champion games (except for finding medium term tactical blunders).
Calculating backwards from a game with a known outcome it already has
a framework for to hang its analysis onto and can preload the
transposition table cache with relevant future positions. Provided the
GM play is good this massively accerlated cutoffs in the alpha-beta
tree and it can see a lot further into the game tree in a given time.
Now - here it is - Fritz is no better at refuting this maddening line
1 e4 e5
2 Nf3 Nc6
3 Bc4 Nf6
4 Ng5 Bc5
5 Nf7 Bf2
than 50 years of players, BUT - if you want to know the secret of
beating
this Traxler line with its improvident 4. ... Bc5 then a few 'moves by
hand'
or MAMS moves, 8-13, allows Fritz to romp home with a solution to win
for
white in 20 
Are you going to show the line and the position where Fritz baulks at
the right move?
I would hazard a guess it is a pawn grab trap or an apparently equal
swapoff that isn't.
basis which underlines these issues need more than quantification [brute
force in this instance], and you do not seem to understand the role that
qualification plays in programming chess.
Since you apparently have a copy of Rybka have you not noticed that it
is moving in the direction that you claim to support. It looks at
around 40kn/s on a 3GHz machine compared to Fritz 1000kn/s or Shredder
300kn/s. Looking at a factor of 25x fewer nodes with a massively more
complex terminal node evaluation function is a significant change.
Shredder10 is the engine I use which can usually can go deepest, but I
estimate that Rybka2.31 which I am benchmarking at present will
despite its much slower evaluation function overtake Shredder at about
72hours runtime.
Shredder10 reached 36/36 ply 16 at 4 mins and 5/36 ply 24 at 60h
Rybka2.3.1 reached 36/36 ply 14 at 4 mins and 9/36 ply 23 at 48h
Fritz8 reached 36/36 ply 14 at 5 mins and 3/36 ply 20 at 48h
Crafty19.01 reached 9/36 ply 12 at 7 mins and 9/36 ply 18 at 48h (and
results are junk)
Rybka is currently on target to reach 2/36 ply 24 by 60h unless it
slows down. Very impressive so far.
Crafty is very unlikely to finish ply 18 inside 60h but it will get to
run for at least another 10 hours or so because I want to see what
weird answers it will give for the 9 & 10th strongest lines.
You are conversing with an intellectual, but you don't know why that is
necessary - which is like many programmers whose efforts seem like a
complete waste of time, since they have not sufficiently bench-marked
their
activity in the classical way to determine even if what they do is
redundant, and all increased in the programmers performace relate to
bus-speed in the CPU 
You know that isn't true. Why do you repeat this lie?
This 'intellectual' question is not how fast the program can go, but in
which direction it will go? - and is something of a refutation of brute
forcing a result, since the logic of it is that increased ply depth is
acheived only by reduced evaluation pruning - and the engine will not
look
at a -3 score any longer even though in 20 plies that variation wins.
I don't believe any program uses such a crude pruning method. Perhaps
you do know of one. If so name it!
I think that the top ones are using speculative forward pruning and
branch and bound tricks. But they are way more sophisticated than you
are claiming. I am pretty sure that is what Shredder has done when it
returns strange numerical evalutions like #180 or 278.41. It can see
something devastating in the future(either fail high or fail low) but
not well enough to give it a normal score.
Regards,
Martin Brown
PS Apologies if there are multiple copies of this. But it doesn't show
up at all on either of my NNTP servers or on Google despite having now
been posted 3 times. I am hoping for third time lucky!