Older Version Newer Version

GerdIsenberg GerdIsenberg Dec 22, 2014

**[[Home]] * [[Engines]] * Chess Wizard**
|| [[image:wizzard.jpg link="http://yrnxt.com/2013/05/igor-morski/001-igor-morski/#main"]] ||~ || 
**Chess Wizard**,
a strong [[Private Engines|private chess engine]] by [[Frédéric Louguet]], competing in various [[French Computer Chess Championship|French Computer Chess Championships]] and [[French Programmers Tournament|Massy Programmers Tournaments]], winning the [[FCCC 1998]], [[FCCC 2002]] and [[FCCC 2003]] <ref>[[http://www.stmintz.com/ccc/index.php?id=319657|Subject: FCCC 2003 : Chess Wizard champion !]] by [[Stéphane Nguyen]], [[CCC]], October 05, 2003</ref>, and [[Massy 2004]] <ref>[[http://www.stmintz.com/ccc/index.php?id=371700|Chess Wizard won Massy 2004 ...]] by [[Frank Quisinsky]], [[CCC]], June 21, 2004</ref>. ||
|| [[Arts#IgorMorski|Igor Morski]] - Wizard <ref>[[http://yrnxt.com/2013/05/igor-morski/001-igor-morski/#main|Igor Moski: Wizard]]</ref> <ref>[[http://sunriseartists.com/2013/06/13/igor-morski-interview/|Igor Morski: An Interview with the Gifted Surrealist ArtistSunrise Artists]]</ref> ||~ ||^ ||
[[toc]]
=Photos=
|| [[image:fccc2002-06.jpg link="http://www.ludochess.com/fccc2002/tournoi.php3"]] ||
|| [[Chess Wizard]] vs [[The Crazy Bishop]], [[Frédéric Louguet]], [[Rémi Coulom]], [[FCCC 2002]] <ref>[[http://www.ludochess.com/fccc2002/tournoi.php3|Massy, France - 5 & 6 Oct 2002 - 9ème Championnat Français de Programmes d'Echecs]]</ref> ||

=Description=
==1996==
from a [[Computer Chess Forums|rgcc]] post by [[Frédéric Louguet]] in 1996 <ref> [[https://groups.google.com/d/msg/rec.games.chess.computer/0tVOKQd7iRI/szJtYUEzkeAJ|Match Rebel 8 - Chess Wizard on PP200]] by [[Frédéric Louguet]], [[Computer Chess Forums|rgcc]], December 12, 1996</ref>:
|| {{Chess Wizard is a highly [[Selectivity|selective]] program, with a lot of knowledge in the [[Evaluation|eval function]]. It uses the [[Bitboards|bitmap approach]], like [[Crafty]] and [[Chess Guru]]. However, it is very speculative in its evaluation and has a lot of special algorithms regarding [[Square Control|space control]].}}

{{It is quite slow compared to a lot of other programs (6000-10000 n/s on [[x86|Pentium Pro 200]]), but I think it is not too "stupid" (that is, for a chess program :) Chess Wizard is two years old now, but the [[FCCC 1996|French Championship]] was his first official tournament. }} ||
...
|| {{Wizard uses different [[Extensions|extensions]] at different [[Time Management|time controls]], and his eval parameters change also with the time control (more agressive in sudden death). It uses an [[Alpha-Beta|alpha-beta]], and heavily [[Pruning|prune forward]] by evaluating the position at each [[Node|node]] in the [[Search Tree|tree]]. }} ||
...
||{{Since Wizard plays reasonably well positionnally, I will concentrate on its tactical abilities for a few months. I was wondering what [[Recapture Extensions|recapture extensions]] is considered to be optimal by other programmers. This problem is not simple at all. I am considering for now recapture extensions of equal material on the same square, plus quality sacs, plus exchanges around either king. I do not use [[Extensions#FractionalExtensions|fractional depth extensions]], since I have not seen great benefits from them.}} ||

==2002==
from a [[CCC]] post by [[Frédéric Louguet]] in 2002 <ref>[[http://www.stmintz.com/ccc/index.php?id=257088|Chess Wizard, some history and techniques]]  by [[Frédéric Louguet]], [[CCC]], October 08, 2002</ref>:
|| {{The first time Chess Wizard played a real game of chess was in 1994. I worked a lot in 1994/1995/1996, and in 1996 it won the french championship with [[Chess Guru]]. I read a lot of publications, studied some source code ([[Turbo Chess]] in [[Pascal|Turbo Pascal]], [[GNU Chess|GNU]], later [[Crafty]]), tried a thousand ideas that did not work, found a few that really worked...

I tried the [[Bitboards|bitboard]] approach very early (1995) because of the possibilities regarding [[Evaluation|evaluation]]. I always wanted Wizard to have a good evaluation, and a lot of complex things were easier to implement with bitboards. I learned some bitboard tricks from Crafty (in the 9.x to 10. versions I think) that I had not thought about before. But Chess Wizard is not entirely bitboard-based, it's more a hybrid approach.

I have two problems : my [[Opening Book|opening book]] is not very good, and I don't seem to find a way to make [[Pruning|forward pruning]] really work. I tried 6723 ideas, a few times I thought I had found the solution, but everytime it was a false impression. Maybe I am forward-pruning challenged. I use [[Null Move Pruning|null move]] ([[Depth Reduction R|R]]=4 very far, then R=3, then R=2), I recently removed all [[Check|checks]] from the [[Quiescence Search|quiescence search]]. The strength of Chess Wizard is based on two things : good evaluation, and [[Extensions|search extensions]]. I use many threat extensions with small increments (2/16 of a ply), strange out of [[Check Extensions|checks extensions]], and so on. I tried [[Singular Extensions|singular extensions]] too, but with bad results.

When Wizard detects some patterns in the position, it simply tones down, and sometimes even shuts down completely, entire parts of the evaluation function to concentrate on the parameters that really counts (so other parameters don't get in the way).

But I really would like to find super-efficient forward pruning techniques, like those used in the top commercial programs. For the moment, I compensate with extensions. Maybe it is not possible to do both. Maybe it is the same thing, from a certain point of view.

But I have learned a few important things :

# You must never dismiss some thing that doesn't work now. Maybe in a year from now, It will work.
# You must never assume that something that works in someone else program wil work in your program.
# Like [[Christophe Théron]] rightly says, you must believe in statistics. Your testing methodology must be extremely well thought out.
# If you hear someone say "this algorithm sucks", or "it doesn't work", don't forget to add "for me" to the sentence. You must try it for yourself.
# Sometimes, you should completely leave the world of chess programming (even for one or two weeks). Some ideas have a way of being found only when you don't think about them !}} ||

=Namesakes=
* [[Chess Wizard (GUI)]] by [[Huang Chen]] 

=See also=
* [[Various Classifications#Magic|Magic]]
* [[Raptor]]

=Forum Posts=
* [[https://groups.google.com/d/msg/rec.games.chess.computer/0tVOKQd7iRI/szJtYUEzkeAJ|Match Rebel 8 - Chess Wizard on PP200]] by [[Frédéric Louguet]], [[Computer Chess Forums|rgcc]], December 12, 1996 » [[Rebel]]
* [[http://www.stmintz.com/ccc/index.php?id=52005|Fritz and Chess Wizard vs Deep Blue Junior]] by [[Frédéric Louguet]], [[CCC]], May 17, 1999 
* [[http://www.stmintz.com/ccc/index.php?id=245180|Chess Wizard on ICC]] by [[Frédéric Louguet]], [[CCC]], August 11, 2002 
* [[http://www.stmintz.com/ccc/index.php?id=257088|Chess Wizard, some history and techniques]]  by [[Frédéric Louguet]], [[CCC]], October 08, 2002
* [[http://www.talkchess.com/forum/viewtopic.php?p=391785|Attacking chess from 2002, Dragon - ChessWizard]] by Robert Flesher, [[CCC]], January 31, 2011

=References= 
<references />
=What links here?= 
[[include page="Chess Wizard" component="backlinks" limit="40" ]]
**[[Engines|Up one level]]**