Author: Antonio Dieguez
Date: 20:01:16 02/18/02
Go up one level in this thread
hello. thanks for posting this, I didn't read it before. It is very passional. about the best move, there is always a best move, for the program, otherwise why it plays a worse move? (i know a best move generally doesn't exist, but the program always pick one that it chose the best.) what do you call a plan here? how you think ccs play a best move for a plan without preprocessing, that it is different from the way others good programs play a best move? if the program thinks there are better chances over this or this variation then they have a higher score. the game you post is pretty, but can be acomplished in a normal way, "only" :) scoring well king attack for example. Your comments are so romantic. a. >so why penetrating this BEST MOVE definition. make the programs fuzzy. > >let them play the best move for the plan. > >the observer decides which reality is real. > >let the program decide which point of view of chess it believes. > >in logic and materialism, or in planning and idealism. > >> If that is the definition, it seems that a few changes in eval weights can do >>the trick... but then defining a paradigm switch due to a few eval weights >>changes sounds nonsense. > >its more than that. but starting with evaluation is ONE. > >the idea behind is that there is no BEST move. >And therefore it makes no sense to search for a best move. but for an idea. >for a plan. > >search does not know if a move is good or not. >and evalutation function does not know either. > > >its unimportant who is right and who is wrong. > >the move is a kind of superposition. and the observer decides. >how this move will be evaluated. > > > >> I'd like to know 'the definition'. > >chess system tal was IMO the beginning. > >others follow. > >i see that junior 7 is weaker than junior 6a because amir ban were more >interested in the new ideas than bringing a stronger junior into the >competition. > >i see that century4 jumps on the train now. > > >and i see that shredder6 has also increased its evaluation influence. > >if you want i can produce more games. from other positions. > >against any program. > >crafty against rebel century 4 Machëide ?? > >no problem. > >which version of crafty do you like to see ?? >which opening position ?? > > >best wishes, >thorsten > > > >> José C. > >The original Chris Whittington article about the new paradigm, >alice and the mirror world of the looking glass, von manstein >and tal (as you can see from the hardware and software used in >this article, its a long time ago...): > >Complete Chess System 2 - TAL >============================= > >Classical paradigm >================== >When should we expect a major breakthrough in science ? >When will a lone developer 'step through the looking-glass' ? >Who will this developer be ? > >The answer to the above two questions is of course whenever the old, >classical programmers say 'we've reached perfection, there is no way to >improve'; when the old paradigm says 'there is only one way'; when all >the developers produce roughly equal results. > >This is the situation we have today with chess programs. The classical >paradigm is represented by Fritz3: fast and simple evaluation, >pre-processing of the position before the search; and all strength, all >hopes, in the search - nodes per second and search efficiency are the >buzzwords. > >For a classical program, to keep the search fast, the evaluation at each >node must, of necessity, be brief. This evaluation is usually no more >than a weighting given for each piece on each square (for example a >knight might be worth 3.3 pawns on centre squares and 2.9 pawns on edge >squares) and evaluation of the pawn structure for doubled pawns, passed >pawns etc.. The classical pre-processing function looks for themes in >the position and adjusts the square weightings accordingly - for >example, if a knight is attacking a square next to the king, then >increase the weighting for all the squares that the queen could >cooperate with the knight in making a king attack, increase the knight >weighting to keep it on the original square, increase other cooperating >piece weightings and so on. There is no doubt that this approach works >but it cannot be the way forward. Pre-process ing knowledge becomes more >stupid with increasing search depth, as positions deep in the search >tree becomes more removed from the assumptions of the original position, >the square weighting adjustments become more irrelevant (why weight the >squares for the queen after the cooperating knight has been removed from >the board ?- but the classical paradigm doesn't understand that !). I >call this type of search Artificial Stupidity (AS). Since all the >current programs operate in this way, ELO grading lists and inter-program >tournaments are no more than a reflection of the partially-sighted >playing the blind, whose AS algorithm is most efficient, but it is not >chess. > >They don't even know that they don't know >========================================= >Classic programs have static knowledge only, dynamic knowledge is beyond >the fast and simple evaluation function. > >Statics: > - Material > - Structure > - Chronic weaknesses > - and more > >Dynamics: > - Lead in development > - More active piece placement > - A specific and cooperative concentration of pieces > in a certain sector of the board. > - and more > >Static features tend to be stable, they remain with time. Dynamic >features can be dissipated with time. Static features are easy to >calculate, classical programs include them. Dynamic features are >difficult to calculate, they rely on interaction between the pieces, >'looking-glass' programs will begin to include them. And it is the lack >of the difficult dynamic feature calculation that marks the classical >programs with so many bad games and bad moves - the types of games that >allow GM's to laugh at chess pro grams. > >As GM John Nunn says 'the top programs occasionally win games against >grandmasters, but they habitually lose games against ordinary club >players, often making the most appalling anti-positional moves in the >process.' What else does can he expect ? The old classical program >finds a 24 move deep check thread, gets to the end of the thread, finds >it is not yet mate, and all it can do is add up the material, evaluate >the pawn structure and return a score that shows absolutely no concept >of the position ! To play chess without knowledge of chess is not to >play chess, strong players will always beat such programs with superior >knowledge. The classical program play chess as if it were the First >World War in the trenches, no concept of mobility, no concept of >cooperation of forces, no concept of knocking the enemy off balance with >well timed blows; just material and pawn structure - if it plays boring >chess, that's why - if it blunders against club players, that's why. It >understands nothing of consequence. > >The philosophers of classical search claim that search finds everything >and knows everything - they give as an example the knight fork: Without >search the program knows that it is good to capture the queen with the >knight. With three ply the search knows that it is good to knight fork >the king and the queen. With five ply the search knows it is good to >play the knight to a position where it can threaten a fork and so on. >But the point must surely be that the search only has this knowledge >within the tree. At the leaf nodes it has no such knowledge. An >intelligent program can calculate as part of its evaluation function >whether a knight fork is available; thus the intelligent program has >this knowledge distributed evenly over the entire search tree. In this >way intelligence can replace search. >It is important here to distinguish between combinational knowledge and >dynamic knowledge. In our example of the knight fork above, the classical >program only has this 'knowledge' if the situation arises in tactics - the >classical program only generates this knowledge as part of a combination >to win the queen. If this win of the queen does not emerge from the >search, then the knowledge does not exist ! >The situation is perhaps clearer (and more serious) in the case of a king >attack. If the classical program can find mate or win of material by some >line attacking the king, in such case it has knowledge of the king >attack; but if, at the search horizon, it has a strong attack, but not >yet any material won, or king mated, it does not know this is a good line ! >The 'looking-glass' program can calculate the attack strength FROM ITS >EVALUATION FUNCTION. So, without actually finding mate or material win, the >looking-glass program has the dynamic knowledge of the attack. >The classical program has combinational knowledge only by resolution >of material within the search horizon. The looking-glass program has dynamic >knowledge from its evaluation function. The looking-glass program is a >planner, the classical program is a finder. The looking-glass program is >pro-active, it makes plans to exploit the position; the classical program >is re-active, it waits for a mistake by its opponent and then exploits it. > >Dynamic knowledge v. Combinational knowledge >============================================ > >Oxford Softworks CCS2-v9.0 >White: CCS2 486/33 >Black: Genius2 486/33 >Venue: 1 minute per move >Comment: 1-0 > >1. e4 e6 >2. d4 d5 1 >3. Nc3 Nf6 3 >4. Bg5 Be7 5 >5. e5 Nfd7 8 >6. h4 Bxg5 >7. hxg5 { CCS2's opening book ends } > .... Qxg5 >8. Nf3 Qd8 { Genius2's opening book ends } >9. Bd3 h6 >10. Qd2 { CCS2's dynamic knowledge - preventing O-O because > of the threat of Rxh6 } > .... c5 >11. Nb5 O-O { Catastrophic - any reasonable club player can > see this move is a disaster, but Genius2 has no > dynamic knowledge, there is no immediate mate so Genius2 > thinks all is ok ! } >12. Rxh6 { CCS2 needs only a few seconds thought to find this move } > > bR bN bB bQ -- bR bK -- > bP bP -- bN -- bP bP -- > -- -- -- -- bP -- -- wR > -- wN bP bP wP -- -- -- > -- -- -- wP -- -- -- -- > -- -- -- wB -- wN -- -- > wP wP wP wQ -- wP wP -- > wR -- -- -- wK -- -- -- > > .... a6 { Incredibly, Genius2 thinks the position is even ! } >13. Bh7+ Kh8 >14. Rh5 axb5 { Genius2 still thinks this game is drawn ! } >15. Ke2 { CCS2 finds the killer move .... } > .... Nf6 { Genius2 begins to see the trouble now ... } >16. exf6 Qxf6 >17. Rah1 g6 >18. Bxg6+ Kg8 >19. Rh8+ Qxh8 >20. Rxh8+ Kg7 >21. Rh7+ Kxg6 >22. Qh6+ Kf5 { and mate in 2 more moves. Genius2, the classical > program, soundly defeated by dynamic knowledge. > CCS2 didn't know its attack would win material or > deliver mate, it just knew, dynamically, the the > attack was strong and worth the sacrifice of material. } > >This game clearly shows the development and strength of the 'looking-glass' >paradigm. Genius2, a classical program, seemed to have no idea of what >was going on. CCS2 had dynamic knowledge of the strength of its attack from >move 12 on, CCS2 knew from its evaluation function; Genius2 only began to >see the trouble on move 15, seven half-moves later, Genius2's knowledge >was combinational, only 'known' when the search found it. > >Who will be the developer ? >=========================== >To answer our third question - 'who will be the developer ?', it is > necessary to look at the personality of the classical programmers and > their hangers-on. These programmers are characterised by a failure to > show their emotions (do they ever smile), fear (just watch them > operating at tournaments), refusal to discuss how their programs work > (just try talking to them) , aversion to taking risks. It has always > surprised me that the 'top' programmers are not good chess players. The > hangers-on only make a little money, they jealously support their > chosen proteges, and viciously attack their opponents. The hangers-on > know little, pretend to know much and are governed by fear and greed. > Overall the impression is of a static, non-risk taking, hostile, World > War I environment. The new paradigm will come from an unexpected > quarter. From a developer with extrovert personality, accustomed to > taking risks, a developer with chess knowledge, probably someone > unpopular with the classical paradigm supporters, certainly unpopular > with the hangers-on and computer chess entourage. This developer will > have been and certainly will be furiously attacked by the classicists. > > >Search - the lazy programmer's way to avoid evaluating a position. >================================================================== >The new paradigm differs from the classical by one simple conceptual switch. >The classical paradigm makes fast and simple evaluation at each node and >generates intelligence from the search tree. The classical programmer >looks for ways to make his search more efficient and his evaluation >function simpler and faster. The 'looking-glass' paradigm makes slow and >complex evaluations at each node and prefers to prune the search tree by >use of this evaluation function. In this model search is to be avoided >unless absolutely necessary. Thus the search tree is not central to the >new paradigm, rather the search tree is used to find details overlooked, >or mistakes made, by the evaluation function. The 'looking-glass' >paradigm has the components of human thought - detailed, intuitive >evaluation, with search carried out to ensure that the program is not >falling into any traps. I estimate that the difference in nodes per >second between and extreme classical program and a 'looking-glass' >program will be of the order of 20-30 times, sufficient to give the >classical program an extra two plies of search (albeit with reduced >knowledge at the nodes). Thus the increased knowledge of the >'looking-glass' program has to compensate for this apparently reduced >search depth. The looking-glass strategy necessitates much programming >effort, and requires the programmer to have an exceptionally good >knowledge of chess strategy and tactics. When such a program is first >being developed it will constantly be outplayed by classical programs, >for classical programs see everything within their horizon and the newly >developing 'looking-glass' program cannot yet hope to know sufficient >tactical and positional themes to compete, but our experience shows that >once breakthrough (a knowledge o f sufficient chess themes to compensate >for reduced search depth) occurs the looking-glass program begins to >consistently outplay the classical programs. Further advantages emerge >from the high level of chess knowledge in the evaluation function - >better move selection and move sorting, resulting in more efficient >search - more possibilities of accurate forward pruning, resulting in >smaller search trees. With increases in tree size (from faster >hardware), these advantages are geometric. > >B-Search or A-B-Search? - NO! Evaluation based or search based! >=============================================================== >The classicists maintain the computer chess dichotomy of >B-search (which I understand means pruning occurs at all levels >of the tree) or A-B Search (which apparently means that part of the >search is full width). >The looking-glass programmer condemns this dichotomy as meaningless. >The new paradigm makes the issue clear: chess programs either have simple >evaluation and generate intelligence through search, or have complex >evaluations and use limited search as a backup to cover oversights >and mistakes. All chess programs prune in one way or another, but >looking-glass programs, with complex evaluation, are able to prune more. > >Of course, the issue is not so black and white. There is a grey scale >between the extreme looking-glass (human play style) and extreme >classical style. At the classical end of the scale the B or A-B dichotomy >tries to position the program on the scale, but basically classicists >believe in search. At the looking-glass end of the scale the issue is >how much does the evaluation function allow us to prune or extend - how >many risks can we take based on our evaluation function ? Basically >looking-glass programmers believe in evaluation. > >Von Manstein >============ >If, as is said, chess is war, then there must be lessons to >be learnt from military history. I have already alluded to the static, >boring First World War style of the classical programs (and their >programmers !). The opposite style can be found in several histories, >Rommel in North Africa, Alexander the Great against Darius, Von Manstein >in Russia. Alexander, despite being outnumbered many times, concentrated >the powerful mobile part of his army, attacked the stronger Persians, >cut through and went straight for Darius himself. The bulk of Darius's >army was not engaged, but the battle was decisively won - a classic king >attack. Von Manstein (and Rommel) both understood that the power of the >outnumbered German army lay in superior staff work, concentration of >forces, striking blows to knock the enemy off balance. The looking-glass >chess program must contain knowledge of these dynamic elements; and it >is only the looking-glass program that has the knowledge and evaluation >time available to calculate such ephemerals. > >Tal function >============ >To find a chess player who understood the king attack, the >concentration of forces, the striking of blows to unbalance the >opponent, one need look no further than Michael Tal, Russian >grandmaster, and player of such romantic and swashbuckling style that >his games continue to thrill all lovers of chess. For the developers of >the Complete Chess System 2 it was an emotional, and unexpected, >experience to find their program playing, sacrificing, in the style of >Tal. Opposing programs, well respected, began to fall like dominoes, >they appeared to have absolutely no understanding of CCS2's style. We >were almost able to guarantee exciting games against all our opponents. > >We believe that the progress we have made with our program, the >looking-glass algorithm which we have developed gives us the >justification to call our program the Complete Chess System 2 - TAL.
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.