Difference between revisions of "Betsy"

From Chessprogramming wiki
Jump to: navigation, search
(Created page with "'''Home * Engines * Betsy''' FILE:Hurricane Betsy.jpg|border|right|thumb| Hurricane Betsy <ref>[https://en.wikipedia.org/wiki/Hurricane_Betsy Hurricane Be...")
 
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
'''[[Main Page|Home]] * [[Engines]] * Betsy'''
 
'''[[Main Page|Home]] * [[Engines]] * Betsy'''
  
[[FILE:Hurricane Betsy.jpg|border|right|thumb| Hurricane Betsy <ref>[https://en.wikipedia.org/wiki/Hurricane_Betsy Hurricane Betsy] in the [https://en.wikipedia.org/wiki/Gulf_of_Mexico Gulf of Mexico] in September of 1965 as taken by the [https://en.wikipedia.org/wiki/Television_Infrared_Observation_Satellite TIROS-8] weather satellite. Source: [https://en.wikipedia.org/wiki/National_Oceanic_and_Atmospheric_Administration NOAA] [http://www.photolib.noaa.gov/ Photo Library],  September 4, 1965</ref> ]]  
+
[[FILE:Hurricane Betsy.jpg|border|right|thumb|240px| Hurricane Betsy <ref>[https://en.wikipedia.org/wiki/Hurricane_Betsy Hurricane Betsy] in the [https://en.wikipedia.org/wiki/Gulf_of_Mexico Gulf of Mexico] in September of 1965 as taken by the [https://en.wikipedia.org/wiki/Television_Infrared_Observation_Satellite TIROS-8] weather satellite. Source: [https://en.wikipedia.org/wiki/National_Oceanic_and_Atmospheric_Administration NOAA] [http://www.photolib.noaa.gov/ Photo Library],  September 4, 1965</ref> ]]  
  
'''Betsy''',<br/
+
'''Betsy''',<br/>
a [[WinBoard]] compatible chess engine by [[Landon W. Rabern]], written in [[C]] with a little [[Assembly]], released in September 2000 <ref>[https://web.archive.org/web/20131109133342/http://wbec-ridderkerk.nl/html/details1/Betsy.html Betsy] from [[WBEC|WBEC Ridderkerk]] ([https://en.wikipedia.org/wiki/Internet_Archive Internet Archive])</ref>.  
+
a [[WinBoard]] compatible chess engine by [[Landon Rabern]], written in [[C]] with a little [[Assembly]], released in September 2000 <ref>[https://web.archive.org/web/20131109133342/http://wbec-ridderkerk.nl/html/details1/Betsy.html Betsy] from [[WBEC|WBEC Ridderkerk]] ([https://en.wikipedia.org/wiki/Internet_Archive Internet Archive])</ref>.  
 
Originally written in [[Pascal]] with its own [[CLI|text interface]] it was rewritten in C using [[Rotated Bitboards|rotated bitboards]]. Betsy applies [[Principal Variation Search|PVS]] with [[Null Move Pruning|null move pruning]], and various standard and some aggressive non-standard [[Extensions|extensions]] and [[Reductions|reductions]].  
 
Originally written in [[Pascal]] with its own [[CLI|text interface]] it was rewritten in C using [[Rotated Bitboards|rotated bitboards]]. Betsy applies [[Principal Variation Search|PVS]] with [[Null Move Pruning|null move pruning]], and various standard and some aggressive non-standard [[Extensions|extensions]] and [[Reductions|reductions]].  
According to a former [[Arena]] site, Betsy was the first published chess engine able to play [[Chess960]], and was therefore Arena partner engine.  
+
According to a former [[Arena]] site, Betsy was the first published chess engine able to play [[Chess960]] <ref>[https://chess-tigers.de/index_news.php?id=308&rubrik=4&PHPSESSID=d71dfe17e7e8aae16adce6f8fb284410 Der Chess960-Express ist nicht mehr aufzuhalten], [https://chess-tigers.de/cttc_main.php?rubrik=7 Chess Tigers Training Center], July 20, 2005 (German)</ref>, and was therefore Arena partner engine.
 +
 
 +
=Neural Networks=
 +
Quote by [[Landon Rabern]] <ref>[https://landon.github.io/#about landon rabern - about] (2019)</ref>
 +
As a child, I was obsessed with machine intelligence. I coded a strong chess AI (codenamed Betsy) and experimented with using [[Neural Networks|neural networks]] in Betsy, both for the [[Evaluation|static evaluation]] at [[Leaf Node|leaf nodes]] and within the [[Search Tree|tree]] for [[Pruning|pruning]]. The networks learned from self-play to get about as good as my hand-tuned functions (discounting the slowdown incurred by [[Pawn Advantage, Win Percentage, and Elo|sigmoid evaluation]]). I concluded that to do better, I would need to use raw game state data instead of the set of features I preselected as network inputs; unfortunately, this was 2000 and I did not have nearly enough processing power to do so.
 +
 
 +
=C# Port=
 +
As of 2014, Landon Rabern started to port Betsy to [[C sharp|C#]], available as [[:Category:Open Source|open source engine]] under the [[Massachusetts Institute of Technology#License|MIT License]] at [https://en.wikipedia.org/wiki/GitHub GitHub].
 +
All the major components of a chess engine are there, just not a tuned [[Evaluation|evaluation]] <ref>[https://github.com/landon/Chess GitHub - landon/Chess: Beginnings of a port of Betsy to C#]</ref>.
 +
The board class embeds an [[8x8 Board|8x8 board]] and the [[Bitboard Board-Definition|Bitboard board-definition]], and implements [[Rotated Bitboards|rotated bitboards]].
 +
The [[Search|search]] is implemented using a derivation chain of classes, the abstract base ''Brain'', ''TranspositionTableBrain'' ([[Transposition Table]], [[Iterative Deepening]]), and the concrete ''BasicAlphaBetaBrain'' ([[Alpha-Beta]]), ''NullMoveBrain'' ([[Null Move Pruning]]) and ''MTDfBrain'' ([[MTD(f)]]) classes.
  
 
=Forum Posts=
 
=Forum Posts=
* [https://www.stmintz.com/ccc/index.php?id=128512 Betsy 5.0 is now winboard compatable] by [[Landon W. Rabern]], [[CCC]], September 06, 2000
+
* [https://www.stmintz.com/ccc/index.php?id=125117 Re: C or C++ for Chess Programming?] by [[Landon Rabern]], [[CCC]], August 18, 2000
* [https://www.stmintz.com/ccc/index.php?id=178491 Betsy 5.26] by [[Landon W. Rabern]], [[CCC]],  
+
* [https://www.stmintz.com/ccc/index.php?id=128512 Betsy 5.0 is now winboard compatable] by [[Landon Rabern]], [[CCC]], September 06, 2000
 +
* [https://www.stmintz.com/ccc/index.php?id=178491 Betsy 5.26] by [[Landon Rabern]], [[CCC]], July 06, 2001
 +
* [https://www.stmintz.com/ccc/index.php?id=302797 Re: FRC_TheBaron_101 Vs Fritz8 (Castling vs Not Castling rules)] by [[Landon Rabern]], [[CCC]], June 24, 2003
 
* [https://www.stmintz.com/ccc/index.php?id=315727 Betsy in Arena] by Mark Loftus, [[CCC]], September 13, 2003
 
* [https://www.stmintz.com/ccc/index.php?id=315727 Betsy in Arena] by Mark Loftus, [[CCC]], September 13, 2003
 
* [http://www.talkchess.com/forum/viewtopic.php?t=23156 Betsy 6.5.1 by Landon Rabern] by [[Norbert Raimund Leisner]], [[CCC]], August 21, 2008
 
* [http://www.talkchess.com/forum/viewtopic.php?t=23156 Betsy 6.5.1 by Landon Rabern] by [[Norbert Raimund Leisner]], [[CCC]], August 21, 2008
Line 17: Line 29:
 
==Chess Engine==
 
==Chess Engine==
 
* [http://kirr.homeunix.org/chess/engines/Norbert%27s%20Collection/Betsy%20%5B-xboard%2032%5D%20%28Compilation%29/ Index of /chess/engines/Norbert's Collection/Betsy] by [[Norbert Raimund Leisner]], hosted by [[Kirill Kryukov]]
 
* [http://kirr.homeunix.org/chess/engines/Norbert%27s%20Collection/Betsy%20%5B-xboard%2032%5D%20%28Compilation%29/ Index of /chess/engines/Norbert's Collection/Betsy] by [[Norbert Raimund Leisner]], hosted by [[Kirill Kryukov]]
* [https://web.archive.org/web/20131109133342/http://wbec-ridderkerk.nl/html/details1/Betsy.html Betsy] from [[WBEC|WBEC Ridderkerk]] ([https://en.wikipedia.org/wiki/Internet_Archive Internet Archive])
+
* [https://web.archive.org/web/20131109133342/http://wbec-ridderkerk.nl/html/details1/Betsy.html Betsy] from [[WBEC|WBEC Ridderkerk]] ([https://en.wikipedia.org/wiki/Internet_Archive Internet Archive])
 
* [http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&eng=Betsy%206.51%20Nobook Betsy 6.51 Nobook] in [[CCRL|CCRL 40/2]]
 
* [http://www.computerchess.org.uk/ccrl/404/cgi/engine_details.cgi?print=Details&eng=Betsy%206.51%20Nobook Betsy 6.51 Nobook] in [[CCRL|CCRL 40/2]]
 +
* [https://landon.github.io/#about landon rabern - about]
 
* [http://www.computerchess.org.uk/ccrl/404FRC/cgi/engine_details.cgi?print=Details&eng=Betsy%20Fischer#Betsy_Fischer Betsy Fischer] in [[CCRL|CCRL 40/4 FRC]]
 
* [http://www.computerchess.org.uk/ccrl/404FRC/cgi/engine_details.cgi?print=Details&eng=Betsy%20Fischer#Betsy_Fischer Betsy Fischer] in [[CCRL|CCRL 40/4 FRC]]
 +
* [https://github.com/landon/Chess GitHub - landon/Chess: Beginnings of a port of Betsy to C#]
 
==Misc==
 
==Misc==
 
* [https://en.wikipedia.org/wiki/Betsy Betsy from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Betsy Betsy from Wikipedia]
Line 26: Line 40:
 
* [https://en.wikipedia.org/wiki/Hurricane_Betsy Hurricane Betsy from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Hurricane_Betsy Hurricane Betsy from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Tropical_Storm_Betsy_%28disambiguation%29 Tropical Storm Betsy (disambiguation) from Wikipedia]
 
* [https://en.wikipedia.org/wiki/Tropical_Storm_Betsy_%28disambiguation%29 Tropical Storm Betsy (disambiguation) from Wikipedia]
 +
* [https://en.wikipedia.org/wiki/Bitch_(band) Bitch] - [https://en.wikipedia.org/wiki/Betsy_(Bitch_album) You Want It You Got It (Betsy Album)] (1988), [http://en.wikipedia.org/wiki/YouTube YouTube] Video
 +
: {{#evu:https://www.youtube.com/watch?v=levMRSqLFrM|alignment=left|valignment=top}}
  
 
=References=  
 
=References=  
 
<references />
 
<references />
 
'''[[Engines|Up one Level]]'''
 
'''[[Engines|Up one Level]]'''
 +
[[Category:Open Source]]
 +
[[Category:MIT]]
 +
[[Category:C sharp]]
 
[[Category:WinBoard]]
 
[[Category:WinBoard]]
 
[[Category:Chess960]]
 
[[Category:Chess960]]
Line 40: Line 59:
 
[[Category:Mammal]]
 
[[Category:Mammal]]
 
[[Category:Meteorology]]
 
[[Category:Meteorology]]
 +
[[Category:Music]]

Latest revision as of 21:38, 25 August 2020

Home * Engines * Betsy

Hurricane Betsy [1]

Betsy,
a WinBoard compatible chess engine by Landon Rabern, written in C with a little Assembly, released in September 2000 [2]. Originally written in Pascal with its own text interface it was rewritten in C using rotated bitboards. Betsy applies PVS with null move pruning, and various standard and some aggressive non-standard extensions and reductions. According to a former Arena site, Betsy was the first published chess engine able to play Chess960 [3], and was therefore Arena partner engine.

Neural Networks

Quote by Landon Rabern [4]

As a child, I was obsessed with machine intelligence. I coded a strong chess AI (codenamed Betsy) and experimented with using neural networks in Betsy, both for the static evaluation at leaf nodes and within the tree for pruning. The networks learned from self-play to get about as good as my hand-tuned functions (discounting the slowdown incurred by sigmoid evaluation). I concluded that to do better, I would need to use raw game state data instead of the set of features I preselected as network inputs; unfortunately, this was 2000 and I did not have nearly enough processing power to do so.

C# Port

As of 2014, Landon Rabern started to port Betsy to C#, available as open source engine under the MIT License at GitHub. All the major components of a chess engine are there, just not a tuned evaluation [5]. The board class embeds an 8x8 board and the Bitboard board-definition, and implements rotated bitboards. The search is implemented using a derivation chain of classes, the abstract base Brain, TranspositionTableBrain (Transposition Table, Iterative Deepening), and the concrete BasicAlphaBetaBrain (Alpha-Beta), NullMoveBrain (Null Move Pruning) and MTDfBrain (MTD(f)) classes.

Forum Posts

External Links

Chess Engine

Misc

References

Up one Level