Onno

Onno,
was a commercial chess engine developed by Onno Garms, written in C++ and released in May 2009.
After announcing the end of Onno's development in March 2011 [2], Onno Garms revealed several ideas that made Onno stronger.
The 32/64-bit Windows or 64-bit Linux executables communicate with a chess GUI via UCI.
Contents
Description
Basics
Onno uses a fixed shift variation of Magic bitboards [3] to determine sliding piece attacks. Its static exchange evaluation considers alpha and beta [4]. Evaluation features were tuned automaticly performing a Genetic algorithm [5].
Search
Onno applies an iterative search along with PVS, null move pruning and verification search. Onno further uses a technique dubbed bad pruning similar to razoring. The idea is to apply a reduced search with a reduced window - if the search at depth d-3 says that one loses more then a pawn, it does not search the move with the current depth d [6].
Parallel Search
The MP version of Onno searches in parallel utilizing YBWC by following Rainer Feldmann's 1993 Ph.D. thesis Game Tree Search on Massively Parallel Systems [7] using virtual messaging.
Node Types
Onno determines expected Node Types to perform IID not only at PV-nodes but also at expected Cut-nodes. Onno Garms gave following rules [8]
- The root node is a PV-node.
- The first child of a PV-node is a PV-node
- The further children are searched by a scout search as CUT-nodes
- PVS re-search is done as PV-node
- The first node of bad pruning is a CUT-node
- The node after a null move is a CUT-node
- The first node of null move verification is a CUT-node
- Internal iterative deepening does not change the node type
- The first child of a CUT-node is an ALL-node
- Further children of a CUT-node are CUT-nodes
- Children of ALL-nodes are CUT-nodes
See also
Forum Posts
2009
- Magic with fixed shift by Onno Garms, Winboard Forum, March 18, 2009
- Onno 0.12 by Ted Summers, CCC, April 04, 2009
- New commercial engine soon: Onno by Jouni Uski, CCC, May 17, 2009
- Onno 1.0 is now available by Graham Banks, CCC, May 30, 2009
- About becoming Commercial. The Onno Case by Fernando Villegas, CCC, June 02, 2009
- Onno 1-1-1 released by Eduard Nemeth, CCC, August 30, 2009
2010
- Onno MP beta has been released to customers by Martin Thoresen, CCC, February 27, 2010
- Re: DTS Structure by Onno Garms, CCC, May 28, 2010 » Iterative Search in Onno
2011 ...
- Development of Onno ends by Onno Garms, CCC, March 13, 2011
- Root node search by Onno Garms, CCC, March 13, 2011 » Root
- Software Engineering by Onno Garms, CCC, March 13, 2011 » History Heuristic, Toga
- Bad Pruning by Onno Garms, CCC, March 13, 2011 » Pruning
- On internal iterative deepening by Onno Garms, CCC, March 13, 2011 » Internal Iterative Deepening, Node Types
- Less null move pruning by trans map by Onno Garms, CCC, March 13, 2011 » Null Move Pruning
- Playing better moves in drawish positions (anti-0.00) by Onno Garms, CCC, March 13, 2011 » Draw, Contempt Factor
- On parallelization by Onno Garms, CCC, March 13, 2011 » Parallel Search
- Parameter tuning by Onno Garms, CCC, March 13, 2011 » Automated Tuning
- Memory-PV-Search by Onno Garms, CCC, March 13, 2011 » Principal Variation Search
- Move ordering by PST by Onno Garms, CCC, April 16, 2011 » Piece-Square Tables, History Heuristic, Move Ordering
- SEE with alpha beta by Onno Garms, CCC, August 14, 2011 » Static Exchange Evaluation, SEE - The Swap Algorithm
External Links
Chess Engine
- Onno Chess Software
- Interview mit Onno Garms by Frank Quisinsky, Schachwelt, December 25, 2009 (German)
Misc
References
- ↑ Onno Chess Software
- ↑ Development of Onno ends by Onno Garms, CCC, March 13, 2011
- ↑ Magic with fixed shift by Onno Garms, Winboard Forum, March 18, 2009
- ↑ SEE with alpha beta by Onno Garms, CCC, August 14, 2011
- ↑ Parameter tuning by Onno Garms, CCC, March 13, 2011
- ↑ Bad Pruning by Onno Garms, CCC, March 13, 2011
- ↑ Rainer Feldmann (1993). Game Tree Search on Massively Parallel Systems. Ph.D. thesis
- ↑ Re: On internal iterative deeping by Onno Garms, CCC, March 17, 2011