Older Version Newer Version

GerdIsenberg GerdIsenberg Oct 26, 2017

**[[Home]] * [[Engines]] * Wing**
|| [[image:320px-Lift-force-en.svg.png link="http://commons.wikimedia.org/wiki/File:Lift-force-en.svg"]] ||~ || **Wing**,
a [[WinBoard]] compliant chess engine by [[Stef Luijten]] written in [[Cpp|C++]], first released in October 2004 <ref>[[http://wbec-ridderkerk.nl/html/details1/Wing.html|Wing]] from [[WBEC|WBEC Ridderkerk]]</ref>. Initially influenced by [[Crafty]] <ref>[[http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:chess_engine_list|Chess Engine List]] from [[Ron Murawski|Ron Murawski's]] [[http://computer-chess.org/doku.php?id=home|Computer-Chess Wiki]]</ref>, Wing was released as [[Open Source Engines|open source]] in December 2010 to demonstrate the basics of chess programming <ref>[[http://kirr.homeunix.org/chess/engines/Jim%20Ablett/WING/|Index of /chess/engines/Jim Ablett/WING]] by [[Jim Ablett]], hosted by [[Kirill Kryukov]]</ref>, shortly before Stef Luijten started his [[Winglet]] tutorial //Writing a Chess Program in 99 Steps// <ref>[[http://web.archive.org/web/20120621100214/http://www.sluijten.com/winglet/|Winglet, Writing a Chess Program in 99 Steps]] by [[Stef Luijten]], hosted by the [[http://en.wikipedia.org/wiki/Wayback_Machine|Wayback Machine]]</ref>. ||
|| Forces acting on a wing <ref>[[https://en.wikipedia.org/wiki/Force|Forces]] acting on a [[https://en.wikipedia.org/wiki/Wing|wing]], [[https://en.wikipedia.org/wiki/Thrust|thrust]], [[https://en.wikipedia.org/wiki/Lift_%28force%29|lift]], [[https://en.wikipedia.org/wiki/Drag_%28physics%29|drag]], and [[http://en.wikipedia.org/wiki/Weight|weight]], Image by Bartosz Kosiorek, [[https://en.wikipedia.org/wiki/Bird_flight|Bird flight from Wikipedia]], [[http://en.wikipedia.org/wiki/Wikimedia_Commons|Wikimedia Commons]]</ref> ||~ ||^ ||
[[toc]]
=Description=
==Board Representation==
Wing is a [[Bitboards|bitboard]] engine and determines [[Sliding Piece Attacks|sliding piece attacks]] using [[Rotated Bitboards|rotated bitboards]]. The [[First Rank Attacks#TheOuterSquares|inner six bits]] optimization yields to four lookup tables of 64x64x8 bytes, that is 32-KiB each or 1/8 MiB in total for [[Ranks|ranks]], [[Files|files]], [[Diagonals|diagonals]] and [[Anti-Diagonals|anti-diagonals]]. Interestingly, this attack table layout was preserved in [[Winglet]], when line-wise occupied states were [[Flipping Mirroring and Rotating#RankFileAndDiagonal|rotated]] on the fly by [[Magic Bitboards|magic multiplication]] and shift right. 

==Search==
Wing performs a [[Negamax|negamax]] [[Alpha-Beta|alpha-beta]] [[Search|search]] with conditional compiled (default on) [[Principal Variation Search|PVS]] inside the [[Iterative Deepening|iterative deepening]] framework without [[Aspiration Windows|aspiration windows]]. The recent version has a [[Transposition Table#ReplacementStrategies|always replace]] [[Transposition Table|transposition table]] using [[Zobrist Hashing|Zobrist keys]], while earlier versions used an additional [[Transposition Table#ReplacementStrategies|depth-preferred replacement table]] <ref>[[http://www.open-aurec.com/wbforum/viewtopic.php?t=3838|Hash table hit rate]] by [[Stef Luijten]], [[Computer Chess Forums|Winboard Forum]], November 16, 2005</ref>. As stated by its author in 2006, Wing has gained over 100 ELO points from adding [[Late Move Reductions|history pruning]] <ref>[[http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=4435&p=23032#p23032|Re: history pruning/ late move pruning]] by [[Stef Luijten]], [[Computer Chess Forums|Winboard Forum]], March 02, 2006</ref>, while the published sources lack LMR.

===[[Selectivity]]===
* [[Check Extensions]]
* [[Null Move Pruning]]
* [[Quiescence Search]]
* [[Recapture Extensions]]
* [[Passed Pawn Extensions]]
* [[Mate Threat Extensions|Threat Extensions]]
* [[Futility Pruning]]
* [[Futility Pruning#Extendedfutilitypruning|Extended Futility Pruning]]
* [[Razoring]]

===[[Move Ordering]]===
* [[Principal Variation|Principal Variation Extraction from TT]]
* [[Killer Heuristic]]
* [[History Heuristic]]
* [[MVV-LVA]]

==[[Evaluation]]==
* [[Material#Balance|Material Balance]]
* [[Piece-Square Tables]]
* [[Development]]
* [[Mobility]]
* [[Pawn Structure]]
> [[Backward Pawn]]
> [[Doubled Pawn]]
> [[Isolated Pawn]]
> [[Passed Pawn]]
> [[Connected Passed Pawns]] 
* [[Pawn Hash Table]]
* [[Bishop Pair]]
* [[Rook on Open File]]
* [[King Safety]] in [[Opening]], [[Middlegame]]
> [[King Safety#PawnShield|Pawn Shield]]
> [[King Safety#KingTropism|King Tropism]]
* [[King Centralization]] in [[Endgame]]

=See also=
* [[Crafty]]
* [[Little Wing]]
* [[Winglet]]

=Forum Posts=
* [[http://www.open-aurec.com/wbforum/viewtopic.php?f=2&t=378|Wing exit from Winboard!]] by Pablo, [[Computer Chess Forums|Winboard Forum]], October 25, 2004
* [[http://www.stmintz.com/ccc/index.php?id=459128|wing engine files]] by Adam Wilks, [[CCC]]], November 01, 2005
* [[http://www.open-aurec.com/wbforum/viewtopic.php?t=3838|Hash table hit rate]] by [[Stef Luijten]], [[Computer Chess Forums|Winboard Forum]], November 16, 2005 ยป [[Transposition Table]]
* [[http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=4435&p=23032#p23032|Re: history pruning/ late move pruning]] by [[Stef Luijten]], [[Computer Chess Forums|Winboard Forum]], March 02, 2006

=External Links=
==Chess Engine==
* [[http://wbec-ridderkerk.nl/html/details1/Wing.html|Wing]] from [[WBEC|WBEC Ridderkerk]]
* [[http://kirr.homeunix.org/chess/engines/Jim%20Ablett/WING/|Index of /chess/engines/Jim Ablett/WING]] by [[Jim Ablett]], hosted by [[Kirill Kryukov]]
==Chess==
* [[https://en.wikipedia.org/wiki/Wing_Gambit|Wing Gambit from Wikipedia]]
==Misc==
* [[https://en.wikipedia.org/wiki/Wing|Wing from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Wing_%28disambiguation%29|Wing (disambiguation) from Wikipedia]]
* [[https://en.wikipedia.org/wiki/Wing_%28building%29|Wing (building) from Wikipedia]]
* [[Videos#Focus|Focus]] -  [[http://www.focustheband.com/focusdisc.htm|Angle Wings]], Live at [[https://en.wikipedia.org/wiki/The_Old_Grey_Whistle_Test|Old Grey Whistle Test]] 1976, [[https://en.wikipedia.org/wiki/YouTube|YouTube]] Video
> Line-up: [[https://en.wikipedia.org/wiki/Thijs_van_Leer|Thijs van Leer]], [[Videos#PhilipCatherine|Philip Catherine]], [[https://en.wikipedia.org/wiki/Bert_Ruiter|Bert Ruiter]], [[https://en.wikipedia.org/wiki/David_Kemper|David Kemper]]
> [[media type="youtube" key="12L57vsovEc" width="560"]]

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