Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Computer chess
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Neural network revolution === While [[Artificial neural network|neural networks]] have been used in the [[evaluation function]]s of chess engines since the late 1980s, with programs such as NeuroChess, Morph, Blondie25, Giraffe, [[AlphaZero]], and [[MuZero]],<ref>{{citation|title=Learning to Play the Game of Chess|last=Thurn|first=Sebastian|year=1995|publisher=MIT Press|url=https://proceedings.neurips.cc/paper/1994/file/d7322ed717dedf1eb4e6e52a37ea7bcd-Paper.pdf|access-date=12 December 2021}}</ref><ref>{{citation|title=A Self-Learning, Pattern-Oriented Chess Program|last=Levinson|first=Robert|year=1989|publisher=ICCA Journal|volume=12|issue=4}}</ref><ref name="Giraffe">{{citation|title=Giraffe: Using Deep Reinforcement Learning to Play Chess|last=Lai|first=Matthew|date=4 September 2015|arxiv=1509.01549v1}}</ref><ref>{{Cite arXiv|eprint = 1712.01815|last1 = Silver|first1 = David|last2 = Hubert|first2 = Thomas|last3 = Schrittwieser|first3 = Julian|last4 = Antonoglou|first4 = Ioannis|last5 = Lai|first5 = Matthew|last6 = Guez|first6 = Arthur|last7 = Lanctot|first7 = Marc|last8 = Sifre|first8 = Laurent|last9 = Kumaran|first9 = Dharshan|last10 = Graepel|first10 = Thore|last11 = Lillicrap|first11 = Timothy|last12 = Simonyan|first12 = Karen|last13 = Hassabis|first13 = Demis|title = Mastering Chess and Shogi by Self-Play with a General Reinforcement Learning Algorithm|year = 2017|class = cs.AI}}</ref><ref name="MuZero">{{cite journal|arxiv=1911.08265|first1=Julian|last1=Schrittwieser|first2=Ioannis|last2=Antonoglou|title=Mastering Atari, Go, chess and shogi by planning with a learned model|last3=Hubert|last9=Hassabis|first11=Timothy|last11=Lillicrap|first10=Thore|last10=Graepel|first9=Demis|first8=Edward|first3=Thomas|last8=Lockhart|last7=Guez|first6=Simon|last6=Schmitt|first5=Laurent|last5=Sifre|first4=Karen|last4=Simonyan|first7=Arthur|journal=Nature|year=2020|volume=588|issue=7839|pages=604β609|doi=10.1038/s41586-020-03051-4|pmid=33361790|bibcode=2020Natur.588..604S|s2cid=208158225}}</ref> neural networks did not become widely adopted by chess engines until the arrival of [[efficiently updatable neural network]]s in the summer of 2020. Efficiently updatable neural networks were originally developed in [[computer shogi]] in 2018 by Yu Nasu,<ref name="Nasu">{{cite web|title=Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi|author=Yu Nasu|url=https://www.apply.computer-shogi.org/wcsc28/appeal/the_end_of_genesis_T.N.K.evolution_turbo_type_D/nnue.pdf|date=April 28, 2018|language=Japanese}}</ref><ref name="Nasu2">{{cite web|title=Efficiently Updatable Neural-Network-based Evaluation Function for computer Shogi (Unofficial English Translation)|author=Yu Nasu|website=[[GitHub]]|url=https://github.com/asdfjkl/nnue/blob/main/nnue_en.pdf|date=April 28, 2018|language=English}}</ref> and had to be first ported to a derivative of Stockfish called Stockfish NNUE on 31 May 2020,<ref>{{cite web|url=https://github.com/nodchip/Stockfish/releases/tag/stockfish-nnue-2020-05-30|title=Release stockfish-nnue-2020-05-30|website=Github|last=Noda|first=Hisayori|date=30 May 2020|access-date=12 December 2021}}</ref> and integrated into the official Stockfish engine on 6 August 2020,<ref name="Introducing NNUE Evaluation">{{cite web|title=Introducing NNUE Evaluation|url=https://blog.stockfishchess.org/post/625828091343896577/introducing-nnue-evaluation|date=6 August 2020}}</ref><ref name="Joost VandeVondele">{{cite web|title= official-stockfish / Stockfish, NNUE merge|url=https://github.com/official-stockfish/Stockfish/issues/2823#issue-665540175|author=Joost VandeVondele|website=[[GitHub]]|date=July 25, 2020}}</ref> before other chess programmers began to adopt neural networks into their engines. Some people, such as the [[Royal Society]]'s [[Venki Ramakrishnan]], believe that [[AlphaZero]] led to the widespread adoption of neural networks in chess engines.<ref>{{cite book |title=[[Possible Minds: Twenty-five Ways of Looking at AI]] |date=2019 |publisher=Penguin Press |isbn=978-0525557999 |edition=Kindle| page=174| chapter=[[Venki Ramakrishnan]]: Will Computers Become Our Overlords?}}</ref> However, AlphaZero influenced very few engines to begin using neural networks, and those tended to be new experimental engines such as [[Leela Chess Zero]], which began specifically to replicate the AlphaZero paper. The [[deep neural network]]s used in AlphaZero's evaluation function required expensive [[graphics processing units]], which were not compatible with existing chess engines. The vast majority of chess engines only use [[central processing units]], and computing and processing information on the GPUs require special [[Library (computing)|libraries]] in the backend such as [[Nvidia]]'s [[CUDA]], which none of the engines had access to. Thus the vast majority of chess engines such as [[Komodo (chess)|Komodo]] and [[Stockfish (chess)|Stockfish]] continued to use handcrafted evaluation functions until [[efficiently updatable neural network]]s were ported to computer chess from [[computer shogi]] in 2020, which did not require either the use of GPUs or libraries like CUDA at all. Even then, the neural networks used in computer chess are fairly shallow, and the [[deep reinforcement learning]] methods pioneered by AlphaZero are still extremely rare in computer chess.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)