Changes

Jump to: navigation, search

Francesca

7,453 bytes added, 15:35, 1 January 2019
Created page with "'''Home * Engines * Francesca''' FILE:Resurrection detail.JPG|border|right|thumb| [https://en.wikipedia.org/wiki/Piero_della_Francesca Piero della Frances..."
'''[[Main Page|Home]] * [[Engines]] * Francesca'''

[[FILE:Resurrection detail.JPG|border|right|thumb| [https://en.wikipedia.org/wiki/Piero_della_Francesca Piero della Francesca] <ref>[https://en.wikipedia.org/wiki/The_Resurrection_(Piero_della_Francesca) Resurrection (Piero della Francesca) from Wikipedia]</ref> ]]

'''Francesca''',<br/>
a chess engine by [[Tom King]], written in [[C]], which uses many state of the art chess-programming techniques. Francesca played five [[World Microcomputer Chess Championship|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 [[Zugzwang (Program)|Zugwang]] and [[CilkChess]]. In 2000 Francesca was released as [[Chess Engine Communication Protocol]] compatible chess engine <ref>[https://www.stmintz.com/ccc/index.php?id=101076 Francesca 0.78 by Tom King is available !] by [[Frank Quisinsky]], [[CCC]], March 09, 2000</ref> and was further improved as Francesca MAD (Manic, Aggressive, Dynamic) <ref>[https://www.stmintz.com/ccc/index.php?id=491623 Francesca MAD v0.11 Released] by [[Tom King]], [[CCC]], March 06, 2006</ref>.

=Descriptions=
Descriptions given from the [[ICGA]] tournament site <ref>[https://www.game-ai-forum.org/icga-tournaments/program.php?id=32 Francesca's ICGA Tournaments]</ref> .

==1997==
Francesca follows the trend of programs since the late 1970s. It uses [[Iterative Deepening|iterative deepening]] [[Alpha-Beta|alpha-beta search]] to determine which move to make. The search is [[Selectivity|selective]] rather than [[Brute-Force|brute-force]]. [[Null Move Reductions|Null moves]], and a home- grown [[Pruning|forward pruning]] mechanism are used to help accelerate the search. In addition, a [[Transposition Table|hash table]] is used to aid [[Move Ordering|move ordering]], and save searching of subtrees that have already been visited in the search.

The [[Evaluation|evaluation function]] is simple, but it knows something about [[Pawn Structure|pawn structure]], [[King Safety|king safety]], and [[Piece-Square Tables|piece placement]]. There is always a tradeoff between [[Knowledge|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 Windows|aspiration]] alpha-beta, null moves, other forward pruning mechanisms, a large [[Transposition Table|transposition table]], an evaluation hash table, large [[Opening Book|opening book]] etc.

Prior to 1998, Francesca relied mainly on [[Piece-Square Tables|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 [[Leaf Node|leaves]] of the [[Search Tree|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|Tom King's]] personal website <ref>[http://www.silentshark.co.uk/ Silentshark - Tom King's personal website - Computer Chess]</ref> :
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 Move Reductions|Null moves]] added a turbo charger to an otherwise unremarkable chess engine, and evaluation by [[Piece-Square Tables|piece-value squares]] increased the NPS figure and search depth. There were still problems, and after the [[WMCCC 1995|WMCCC in 1995]] (Paderborn), I bit the bullet, and added [[Transposition Table|hash tables]]. Improving move order and [[History Heuristic|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 [[SCCC 1998|1998 Spanish computer chess championship]], and she came within an ace of winning the whole competition!

=Selected Games=
[[WCCC 1999]], round 3, [[Francesca]] - [[MChess]] <ref>[https://www.game-ai-forum.org/icga-tournaments/round.php?tournament=8&round=3&id=5 Paderborn 1999 - Chess - Round 3 - Game 5 (ICGA Tournaments)]</ref>
<pre>
[Event "WCCC 1999"]
[Site "Paderborn, Germany"]
[Date "1999.06.15"]
[Round "3"]
[White "Francesca"]
[Black "MChess"]
[Result "1-0"]

1.e4 e6 2.d4 d5 3.Nc3 Bb4 4.e5 c5 5.a3 Bxc3+ 6.bxc3 Ne7 7.Qg4 Qc7 8.Qxg7 Rg8
9.Qxh7 cxd4 10.Ne2 Nbc6 11.f4 Bd7 12.Qd3 dxc3 13.Be3 d4 14.Nxd4 Nxd4 15.Bxd4
Bc6 16.Qxc3 Nd5 17.Qd2 Rg4 18.Be2 Rxg2 19.Rg1 Rxg1+ 20.Bxg1 O-O-O 21.Rd1 Rg8
22.Bf2 Ba4 23.Rb1 Rd8 24.c4 Ne7 25.Qc3 Nd5 26.Qf3 Ne7 27.Rb4 Bc6 28.Qe3 b6
29.Qb3 Qd7 30.Qc2 Nf5 31.c5 b5 32.Qd1 Qe8 33.Qc2 Qd7 34.Qa2 Bb7 35.Qc2 Qc6
36.Bf1 Qf3 37.c6 Ne3 38.cxb7+ Kb8 39.Bxe3 Qxe3+ 40.Qe2 Qc1+ 41.Kf2 Rd2 42.h3
Rxe2+ 43.Bxe2 a6 44.Bf3 Qxa3 45.Re4 Qc5+ 46.Kg3 b4 47.Re1 a5 48.Rd1 Qc7 49.h4
Ka7 50.h5 a4 51.h6 f6 52.Rd4 Qe7 53.Rc4 fxe5 54.Rc8 Qxb7 55.Bxb7 1-0
</pre>

=Forum Posts=
==2000 ...==
* [https://www.stmintz.com/ccc/index.php?id=101076 Francesca 0.78 by Tom King is available !] by [[Frank Quisinsky]], [[CCC]], March 09, 2000
* [https://www.stmintz.com/ccc/index.php?id=491623 Francesca MAD v0.11 Released] by [[Tom King]], [[CCC]], March 06, 2006
==2010 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=36836 Francesca M.A.D v0.15 released] by [[Tom King]], [[CCC]], November 28, 2010
* [http://www.talkchess.com/forum/viewtopic.php?t=40868 Francesca M.A.D 0.19 released] by [[Tom King]], [[CCC]], October 23, 2011
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=62324 Francesca Chess Engine: Why no love?] by [[Brendan J. Norman]], [[CCC]], November 30, 2016
* [http://www.talkchess.com/forum3/viewtopic.php?f=2&t=69426 After an 8 year break..] by [[Tom King]], [[CCC]], December 30, 2018

=External Links=
==Chess Engine==
* [http://www.zen55564.zen.co.uk/francesca.htm Computer chess - my program, Francesca]
* [https://www.game-ai-forum.org/icga-tournaments/program.php?id=32 Francesca's ICGA Tournaments]
==Misc==
* [https://en.wikipedia.org/wiki/Francesca Francesca from Wikipedia] ([https://en.wikipedia.org/wiki/Given_name Given name])
* [https://en.wikipedia.org/wiki/Francisca Francisca from Wikipedia] ([https://en.wikipedia.org/wiki/Throwing_axe Throwing axe])

=References=
<references />
'''[[Engines|Up one Level]]'''
[[Category:WinBoard]]
[[Category:XBoard]]
[[Category:Given Name]]

Navigation menu