Francesca,
a computer chess program by Tom King written in C, which uses many state of the art chess-programming techniques. Francesca played five World Microcomputer Chess Championships from 1995 until 2000, including the WCCC 1999 with 4 out of 7, and wins against former champion MChess and draws against the massive parallel programs Zugwang and CilkChess. In 2000 Francesca was released as Chess Engine Communication Protocol compatible chess engine [1] and was further improved as Francesca MAD (Manic, Aggressive, Dynamic) [2].
Descriptions given from the ICGA tournament site [4] .
1997
Francesca follows the trend of programs since the late 1970s. It uses iterative deepeningalpha-beta search to determine which move to make. The search is selective rather than brute-force. Null moves, and a home- grown forward pruning mechanism are used to help accelerate the search. In addition, a hash table is used to aid move ordering, and save searching of subtrees that have already been visited in the search.
The evaluation function is simple, but it knows something about pawn structure, king safety, and piece placement. There is always a tradeoff between knowledge and speed, and Francesca falls into the category of a "fast, dumb" searcher, rather than a "slow, smart" searcher.
1999
Francesca is an amateur program. It follows the trends of most chess programs since the 1970's and uses many of the state-of-the-art techniques: aspiration alpha-beta, null moves, other forward pruning mechanisms, a large transposition table, an evaluation hash table, large opening book etc.
Prior to 1998, Francesca relied mainly on piece-square values and a fast search to play good chess. In 1998, the evalution code was completely rewritten, and all evaluation is now done in the leaves of the search tree. This has produced stronger play; although 1999 Francesca is slower in nodes per second than 1997 Francesca, she plays a more interesting and challenging game.
In the Autumn of 1991, I had the chance to try out my creation on a 386SX PC, running at 16Mhz. It seemed so fast compared with the Amiga! Before long I bought myself a 486DX PC, running at 33Mhz, and began developing Francesca in earnest.
Little by little, Francesca's playing standard improved. Null moves added a turbo charger to an otherwise unremarkable chess engine, and evaluation by piece-value squares increased the NPS figure and search depth. There were still problems, and after the WMCCC in 1995 (Paderborn), I bit the bullet, and added hash tables. Improving move order and history tables, along with the new hash tables meant that Francesca 1996 was over 10 times quicker at searching through the plies than Francesca 1995. And it showed, Francesca gaining a very respectable 9th place at the WMCCC 1996 in Jakarta.
Between Jakarta and the WMCCC 1997 in Paris, there were few changes - some evaluation changes, some bug fixes, and some optimizations. And some bugs, too. Francesca struggled against some opponents she really should have beaten.
The problems at Paris made me realize that a change in direction was required. I rewrote the entire evaluation function, changing Francesca from a simple piece-value squares searcher to a full leaf evaluator. The benefits were immediate, obvious, and immense. Suddenly, Francesca was playing more interesting, challenging chess. I had the opportunity to enter her into the 1998 Spanish computer chess championship, and she came within an ace of winning the whole competition!
a computer chess program by Tom King written in C, which uses many state of the art chess-programming techniques. Francesca played five World Microcomputer Chess Championships from 1995 until 2000, including the WCCC 1999 with 4 out of 7, and wins against former champion MChess and draws against the massive parallel programs Zugwang and CilkChess. In 2000 Francesca was released as Chess Engine Communication Protocol compatible chess engine [1] and was further improved as Francesca MAD (Manic, Aggressive, Dynamic) [2].
Table of Contents
Descriptions
Descriptions given from the ICGA tournament site [4] .1997
The evaluation function is simple, but it knows something about pawn structure, king safety, and piece placement. There is always a tradeoff between knowledge and speed, and Francesca falls into the category of a "fast, dumb" searcher, rather than a "slow, smart" searcher.
1999
Prior to 1998, Francesca relied mainly on piece-square values and a fast search to play good chess. In 1998, the evalution code was completely rewritten, and all evaluation is now done in the leaves of the search tree. This has produced stronger play; although 1999 Francesca is slower in nodes per second than 1997 Francesca, she plays a more interesting and challenging game.
History of Francesca
From Tom King's personal website [5] :Little by little, Francesca's playing standard improved. Null moves added a turbo charger to an otherwise unremarkable chess engine, and evaluation by piece-value squares increased the NPS figure and search depth. There were still problems, and after the WMCCC in 1995 (Paderborn), I bit the bullet, and added hash tables. Improving move order and history tables, along with the new hash tables meant that Francesca 1996 was over 10 times quicker at searching through the plies than Francesca 1995. And it showed, Francesca gaining a very respectable 9th place at the WMCCC 1996 in Jakarta.
Between Jakarta and the WMCCC 1997 in Paris, there were few changes - some evaluation changes, some bug fixes, and some optimizations. And some bugs, too. Francesca struggled against some opponents she really should have beaten.
The problems at Paris made me realize that a change in direction was required. I rewrote the entire evaluation function, changing Francesca from a simple piece-value squares searcher to a full leaf evaluator. The benefits were immediate, obvious, and immense. Suddenly, Francesca was playing more interesting, challenging chess. I had the opportunity to enter her into the 1998 Spanish computer chess championship, and she came within an ace of winning the whole competition!
Selected Games
WCCC 1999, round 3, Francesca - MChess [6]See also
Forum Posts
External Links
Chess Engine
Misc
References
What links here?
Up one Level