Two kind of engines. Exploring the unexplorer side of CC

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

Two kind of engines. Exploring the unexplorer side of CC

Post by Kempelen »

For the brain, is has been said there are two sides: one a logical side, based on reason, mathematical ability and spacial intelligence; the other, based on art, feelings, language and creativity.

Seing this metric:

0--1--2--3--4--5--6--7--8--9--10
(0=art side, 10=logical side)

I see today computer chess as nearly 9 or even 10. CC is mainly materialist, brute force calculation, tactical monster, decent eval and cpu eater.

Why people insist in doing this kind of engines? Why dont make an artistical engine based on sacrifices, kings attacks and dynamic play, near 0 above. The only try I remember is Chess System Tal II. I suppose people dont do this engines because rating will not say nothing about the real beauty of its play (I have even thought about it, maybe rating based on number of games in ICC agains human would be a symptom about its attraction).

So far I have thought about making one of this engines, but would like to know opinions about what you thing is needed: what techniques could be used, forgetting elo in favour of beauty, but no so far to lose all games and win from time to time to strong humans. My IM teacher has always said to me that modern engines are very good, they always win but there are no humans that would play a game like they do, i.e. I saw yestarday linares game between Geldfand and Vallejo, sacrifing black his queen for rook, two pawns and dynamic compensation. That is was is very difficult to see in engines. Valuating imbalances taking also into cosideration dynamic chances is what master IMO do better than machines.

would be there a time when machines play this way? is there any challenge in doing tactical engines when is all invented? why fight to gain 5 or 10 elo points at futility or LMR? what dont we explore the unexplorer ground?
Fermin Serrano
Author of 'Rodin' engine
http://sites.google.com/site/clonfsp/
metax
Posts: 344
Joined: Wed Sep 23, 2009 5:56 pm
Location: Germany

Re: Two kind of engines. Exploring the unexplorer side of CC

Post by metax »

Kempelen wrote:So far I have thought about making one of this engines, but would like to know opinions about what you thing is needed: what techniques could be used, forgetting elo in favour of beauty, but no so far to lose all games and win from time to time to strong humans.
-- extremely selective search, searching interesting/dangerous lines very deep
-- evaluation of dynamic features
-- good cooperation of evaluation and search, e.g. trigger extensions based on dynamic features of the position, etc.
alpha123
Posts: 660
Joined: Sat Dec 05, 2009 5:13 am
Location: Colorado, USA

Re: Two kind of engines. Exploring the unexplorer side of CC

Post by alpha123 »

Thinker is kinda like that, and so is Junior. Good luck making yours, I definitely look forward to playing against it :D.

REALLY aggressive LMR and a large mobility (OliThink style :lol: ) and king safety evaluation. Very little material eval.

Have fun,
Peter
zamar
Posts: 613
Joined: Sun Jan 18, 2009 7:03 am

Re: Two kind of engines. Exploring the unexplorer side of CC

Post by zamar »

- Evaluate every node, try to build more human like move ordering rules, based on the evaluation data. Reduce and prune very aggressively late in the move list.
- Add more weight to mobility, king's safety, passed pawns, open file control etc. dynamic things.
Joona Kiiski
Rendruk

Re: Two kind of engines. Exploring the unexplorer side of CC

Post by Rendruk »

If it isn't good at chess then why bother?


You want something that's both artistic and good.

Not something that sucks and is artistic.
User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

Re: Two kind of engines. Exploring the unexplorer side of CC

Post by Kempelen »

zamar wrote:- Evaluate every node, try to build more human like move ordering rules, based on the evaluation data. Reduce and prune very aggressively late in the move list.
interesting.... could you say an example about this? I suppose is more important the eval than move order, because that way would lead to not predicting the first moves are good.
Fermin Serrano
Author of 'Rodin' engine
http://sites.google.com/site/clonfsp/
zamar
Posts: 613
Joined: Sun Jan 18, 2009 7:03 am

Re: Two kind of engines. Exploring the unexplorer side of CC

Post by zamar »

Kempelen wrote:
zamar wrote:- Evaluate every node, try to build more human like move ordering rules, based on the evaluation data. Reduce and prune very aggressively late in the move list.
interesting.... could you say an example about this?
Well, for example evaluation can show that our rook is under attack, so put rook evasions on the top of move list.
Joona Kiiski
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Two kind of engines. Exploring the unexplorer side of CC

Post by hgm »

About move ordering: most programmers seem to worry only about the first-move cut rate, and can acheive values of over 95% for this. But measuring this as an overall quantity for you entire tree makes it dominated by what happens in QS nodes, which can easily make up 80-85% of the tree (counting all d=0 nodes as QS).

And in QS you don't care about Rook evasions if your Rook is under attack. You just stand pat like there is no threat at all. Improving your move ordering by taking the evasions into account will hardly improve your first-move cut statistic, as it is not something that affects move ordering in QS.

But for the total tree size, any ply level is important in itself. The number of leaves contains the average number of moves looaked at at each cut-node level of the tree as a factor. So a level close to the root might have so few nodes that you would not notice reducing the average number of moves that is considered there from 2 to 1.5 in the total first-move cut rate. But it would still reduce the size of the tree by 25%.

Another issue is this: A sub-optimal cut move is still a cut move. Because it will be stored in the hash, the program will tend to stick with it iteration after iteration, and will never get the idea that there might be a much better cut move as alternative. While the effort needed to keep establishing the move as a cut move will be much larger for a marginal cut move than for one that would put you in a comfortble lead. E.g. evading a Rook to a place where it makes you lose the exchange because it was attacked by a Bishop, in stead of losing a full Rook, might be a cut move if you were already 2 Pawns ahead in that branch compared to the root score. But if it happens to try it first, the program might stick with it, while it could easily have saved the Rook completely, and avoid an extra null move later, when it is attacked for the exchange.