SlideShare a Scribd company logo
Computer Chess by Arkadiusz Janicki General Game Playing Seminar dr Paweł Rychlikowski Institute of Computer Science the Wrocław University 2009-11-25
References ,[object Object]
T.A. Marsland (1992)   Computer Chess and Search. Encyclopedia of Artificial Intelligence , S.C. Shapiro (ed), pp. 224r-241, Wiley & Sons, 2nd ed. 1992, ISBN 0471-50305-3.
Ernst A. Heinz (1997)  How DarkThought Plays Chess, ICC A Journal 20(3), pp. 166-176, Sept. 1997.
John L. Jerz (2009)  A Proposed Heuristic for a Computer Chess Program
Computer History Museum ,  Mastering the Game – A History of Computer Chess,  http://www.computerhistory.org/chess/
Wikipedia , accessed November 2009
Part 1: History
The Turk In 1769 the Hungarian engineer Baron Wolfgang von Kempelen built a chess playing machine for the amusement of the Austrian Queen Maria Theresia. It was a purely mechanical device, shaped like a Turk.  Naturally its outstanding playing strength was supplied by a chess master cleverly hidden inside the device. The machine was a fake.
 
1914 - El Ajedrecista In 1914 Torres y Quevedo constructed a device which played an end game of king and rook against king (Vigneron, 1914). The machine played the side with king and rook and would force checkmate in few moves however its human opponent played.  Since an explicit set of rules can be given for making satisfactory moves in such an end game, the problem is relatively simple, but the idea was quite advanced for that period.
Gonzales Torres y Quevedo demonstrating the chess automaton to Norbert Wiener in 1951
[object Object],[object Object]
[object Object],“ Although perhaps of no practical importance, the question is of theoretical interest, and it  is hoped that a satisfactory solution of this problem will act as a wedge in attacking other  problems of a similar nature and of greater significance. .”  „ Programming a Computer for Playing Chess”
First Computer Programs Dr. Dietrich Prinz in England wrote the first limited chess program in 1951.  Alex Bernstein, an experienced chess player and a programmer at IBM, wrote a program in 1958 that could play a full chess game (although it could be defeated by novice players).
1968 - Historyczny zakład ,[object Object]
[object Object]
$10,000 for the first program to achieve a USCF 2500 rating (players who attain this rating may reasonably aspire to becoming Grandmasters) was awarded to Deep Thought in August 1989
$100,000 for attaining world-champion status remains unclaimed.
Brutforce hardware In 1977 at Bell Laboratories, Ken Thompson and Joe Condon took the brute force approach one step further by developing a custom chess-playing computer called  Belle . By 1980 it included highly specialized circuitry that contained a “move generator” and “board evaluator,” allowing the computer to examine 160,000 positions per second.  This approach was so effective that in 1982 at the North American Computer Chess Championships (NACCC), this $17000 chess machine beat the Cray Blitz program running on a million supercomputer.
Liga mistrzów ,[object Object]
W 1996  Deep Blue  pokonuje Kasparova (1 z 6 gier) „ The Association for Computing Machinery (ACM), the first society in computing, announces a six game match between World Chess Champion Garry Kasparov and the top-rated chess program DEEP BLUE. A $500,000 prize fund has been established for the match to be held in Philadelphia, Pa., USA, Feb. 10-17, 1996, as part of ACM's year long 50th Anniversary Celebration which begins with the ACM Computing Week '96 conference. The winner will receive $400,000 with the remaining $100,000 going to the loser.”
1997   Game Over
 
Advanced Chess
Part 2: Implementation
Shannon „Type A” Strategy Evaluating Function: ,[object Object]
Rooks should be placed on open files. This is part of a more general principle that the side with the greater mobility, other things equal, has the better game.
Backward, isolated and doubled pawns are weak.
An exposed king is a weakness (until the end game). f(P) = 200(K-K') + 9(Q-Q') + 5(R-R') + 3(B-B'+N-N')  + (P-P') – 0.5(D-D'+S-S'+I-I') + 0.1(M-M') + ... K,Q,R,B,B,P are the number of White kings, queens, rooks, bishops, knights and pawns on the board. D,S,I are doubled, backward and isolated White pawns. Weakness – ie. exchange of queens
Shannon „Type A” Strategy  ” Type A” strategy considered all possible  moves to a fixed depth.  A world champion can construct (at best) combinations say, 15 or 20 moves deep. Some variations given by Alekhine ("My Best Games of Chess 1924-1937") are of this length.  Let M_1, M_2, M_3, ..., M_s be the moves that can be made in position P and let M_1P, M_2P, etc. denote symbolically the resulting positions when M_1, M_2, etc. are applied to P. Then one chooses the M_m which  maximizes  f(M_mP). A deeper strategy would consider the opponent's replies which are  minimized ...
“ Type B” strategy  “ Type B” strategy used chess knowledge to  explore the more promising lines to a greater depth. ,[object Object]
Select the variations to be explored  by some process so that the machine does not waste its time in totally pointless variations. A crude definition might be: ,[object Object]
g(P) = 0   otherwise Using this function, variations could be explored until g(P)=0, always, however, going at least two moves and never more, say, 10.
Shannon's ideas (...) the machine once designed would always make  the same move in the same position.  If the opponent made the same moves this would always lead to the same game. (...) the opening is another place where statistical variation can be introduced. It would seem desirable to have a number of the  standard openings  stored in a slow-sped memory in the machine. Perhaps a few hundred would be satisfactory. (...) program based on "type position"  could not  be constructed.  (...). Although there are various books analysing combination play and the middle game, they are written for human consumption, not for computing machines. (...)To program such a strategy we might suppose that any position in the machine is accompanied by a rather elaborate analysis of the tactical structure of the position suitably encoded. This analytical data will state that, for example,  the Black knight at f6 is pinned by a bishop, that the White rook at e1 cannot leave the back rank because of a threatened mate on c1, that a White knight at a4 has no move, etc. ;  - These data would be supplied by a program and would be continually changed and kept up-to-date as the game progressed.
Chess Program Anatomy ,[object Object]
Tree searching/pruning

More Related Content

What's hot

MIND GAME ZONE - Abhijeet
MIND GAME ZONE - AbhijeetMIND GAME ZONE - Abhijeet
MIND GAME ZONE - Abhijeet
Abhijeet Kalsi
 
Artificial Intelligence in Gaming
Artificial Intelligence in GamingArtificial Intelligence in Gaming
Artificial Intelligence in Gaming
Anmol Sawhney
 
Flappy bird game in c#
Flappy bird game in c#Flappy bird game in c#
Flappy bird game in c#
Comstas
 
Game Design Document - Corpo Seco
Game Design Document - Corpo SecoGame Design Document - Corpo Seco
Game Design Document - Corpo Seco
David Arty
 
Next generation open world gaming (Latest Games)
Next generation open world gaming (Latest Games)Next generation open world gaming (Latest Games)
Next generation open world gaming (Latest Games)
Ronaldo Messi
 
Artificial intelligence and video games
Artificial intelligence and video gamesArtificial intelligence and video games
Artificial intelligence and video games
Simple_Harsh
 
Greedy Algorithm - Huffman coding
Greedy Algorithm - Huffman codingGreedy Algorithm - Huffman coding
Greedy Algorithm - Huffman coding
Md Monirul Alom
 
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycleBacktracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
varun arora
 
Advanced Sockets Programming
Advanced Sockets ProgrammingAdvanced Sockets Programming
Advanced Sockets Programmingelliando dias
 
A* algorithm
A* algorithmA* algorithm
A* algorithm
Komal Samdariya
 
20 Game Ideas You Should Steal
20 Game Ideas You Should Steal20 Game Ideas You Should Steal
20 Game Ideas You Should Steal
Stuart Dredge
 
Game optimization techniques - Most Commons
Game optimization techniques - Most CommonsGame optimization techniques - Most Commons
Game optimization techniques - Most Commons
niraj vishwakarma
 
Lecture 10 Uninformed Search Techniques conti..
Lecture 10 Uninformed Search Techniques conti..Lecture 10 Uninformed Search Techniques conti..
Lecture 10 Uninformed Search Techniques conti..
Hema Kashyap
 
Clustering.pptx
Clustering.pptxClustering.pptx
Clustering.pptx
19526YuvaKumarIrigi
 
Final Year Game Project Presentation
Final Year Game Project Presentation Final Year Game Project Presentation
Final Year Game Project Presentation
Nusrat Jahan Shanta
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
Acad
 
COMPUTER QUIZ
COMPUTER QUIZCOMPUTER QUIZ
Exemplo de GDD
Exemplo de GDDExemplo de GDD
Exemplo de GDD
marcelinhoscf
 

What's hot (20)

MIND GAME ZONE - Abhijeet
MIND GAME ZONE - AbhijeetMIND GAME ZONE - Abhijeet
MIND GAME ZONE - Abhijeet
 
Artificial Intelligence in Gaming
Artificial Intelligence in GamingArtificial Intelligence in Gaming
Artificial Intelligence in Gaming
 
Flappy bird game in c#
Flappy bird game in c#Flappy bird game in c#
Flappy bird game in c#
 
Game Design Document - Corpo Seco
Game Design Document - Corpo SecoGame Design Document - Corpo Seco
Game Design Document - Corpo Seco
 
Next generation open world gaming (Latest Games)
Next generation open world gaming (Latest Games)Next generation open world gaming (Latest Games)
Next generation open world gaming (Latest Games)
 
Artificial intelligence and video games
Artificial intelligence and video gamesArtificial intelligence and video games
Artificial intelligence and video games
 
Greedy Algorithm - Huffman coding
Greedy Algorithm - Huffman codingGreedy Algorithm - Huffman coding
Greedy Algorithm - Huffman coding
 
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycleBacktracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
Backtracking-N Queens Problem-Graph Coloring-Hamiltonian cycle
 
Advanced Sockets Programming
Advanced Sockets ProgrammingAdvanced Sockets Programming
Advanced Sockets Programming
 
Answer quiz minimax
Answer quiz minimaxAnswer quiz minimax
Answer quiz minimax
 
A* algorithm
A* algorithmA* algorithm
A* algorithm
 
20 Game Ideas You Should Steal
20 Game Ideas You Should Steal20 Game Ideas You Should Steal
20 Game Ideas You Should Steal
 
Game optimization techniques - Most Commons
Game optimization techniques - Most CommonsGame optimization techniques - Most Commons
Game optimization techniques - Most Commons
 
Lecture 10 Uninformed Search Techniques conti..
Lecture 10 Uninformed Search Techniques conti..Lecture 10 Uninformed Search Techniques conti..
Lecture 10 Uninformed Search Techniques conti..
 
Clustering.pptx
Clustering.pptxClustering.pptx
Clustering.pptx
 
Final Year Game Project Presentation
Final Year Game Project Presentation Final Year Game Project Presentation
Final Year Game Project Presentation
 
Branch and bound
Branch and boundBranch and bound
Branch and bound
 
COMPUTER QUIZ
COMPUTER QUIZCOMPUTER QUIZ
COMPUTER QUIZ
 
Exemplo de GDD
Exemplo de GDDExemplo de GDD
Exemplo de GDD
 
JAVA JDK INSTALLATION PROCEDURE
JAVA JDK INSTALLATION PROCEDUREJAVA JDK INSTALLATION PROCEDURE
JAVA JDK INSTALLATION PROCEDURE
 

Viewers also liked

Automatic Speech Recognition (seminarium)
Automatic Speech Recognition  (seminarium)Automatic Speech Recognition  (seminarium)
Automatic Speech Recognition (seminarium)Arkadiusz Janicki
 
Projektowanie zorientowane na użytkownika – poprawa użytecznosci systemu Hinc
Projektowanie zorientowane na użytkownika – poprawa użytecznosci systemu HincProjektowanie zorientowane na użytkownika – poprawa użytecznosci systemu Hinc
Projektowanie zorientowane na użytkownika – poprawa użytecznosci systemu Hinc
Arkadiusz Janicki
 
Tworzenie Obrazów Panoramicznych (seminarium)
Tworzenie Obrazów Panoramicznych  (seminarium)Tworzenie Obrazów Panoramicznych  (seminarium)
Tworzenie Obrazów Panoramicznych (seminarium)Arkadiusz Janicki
 
Kraken toolset - Cycorp Inc. (seminarium)
Kraken toolset - Cycorp Inc. (seminarium)Kraken toolset - Cycorp Inc. (seminarium)
Kraken toolset - Cycorp Inc. (seminarium)Arkadiusz Janicki
 
Computational Inteligence in Racing Games
Computational Inteligence in Racing GamesComputational Inteligence in Racing Games
Computational Inteligence in Racing Games
Arkadiusz Janicki
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
Leslie Samuel
 

Viewers also liked (7)

Automatic Speech Recognition (seminarium)
Automatic Speech Recognition  (seminarium)Automatic Speech Recognition  (seminarium)
Automatic Speech Recognition (seminarium)
 
Projektowanie zorientowane na użytkownika – poprawa użytecznosci systemu Hinc
Projektowanie zorientowane na użytkownika – poprawa użytecznosci systemu HincProjektowanie zorientowane na użytkownika – poprawa użytecznosci systemu Hinc
Projektowanie zorientowane na użytkownika – poprawa użytecznosci systemu Hinc
 
Visual Interest And NPR
Visual Interest And NPRVisual Interest And NPR
Visual Interest And NPR
 
Tworzenie Obrazów Panoramicznych (seminarium)
Tworzenie Obrazów Panoramicznych  (seminarium)Tworzenie Obrazów Panoramicznych  (seminarium)
Tworzenie Obrazów Panoramicznych (seminarium)
 
Kraken toolset - Cycorp Inc. (seminarium)
Kraken toolset - Cycorp Inc. (seminarium)Kraken toolset - Cycorp Inc. (seminarium)
Kraken toolset - Cycorp Inc. (seminarium)
 
Computational Inteligence in Racing Games
Computational Inteligence in Racing GamesComputational Inteligence in Racing Games
Computational Inteligence in Racing Games
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Computer chess

Introducing ofcomputerchess
Introducing ofcomputerchessIntroducing ofcomputerchess
Introducing ofcomputerchessyangbo zhou
 
计算机棋盘游戏历史及现代应用
计算机棋盘游戏历史及现代应用计算机棋盘游戏历史及现代应用
计算机棋盘游戏历史及现代应用
yangbo zhou
 
Topic - 6 (Game Playing).ppt
Topic - 6 (Game Playing).pptTopic - 6 (Game Playing).ppt
Topic - 6 (Game Playing).ppt
SabrinaShanta2
 
Chess superb
Chess  superbChess  superb
Chess superb
Arise Roby
 
GamePlaying.ppt
GamePlaying.pptGamePlaying.ppt
GamePlaying.ppt
VihaanN2
 
Chess Engine Programming
Chess Engine ProgrammingChess Engine Programming
Chess Engine Programming
Arno Huetter
 
Artificial Intelligence Introduction Chapter 1, AIMA
Artificial Intelligence Introduction Chapter 1, AIMAArtificial Intelligence Introduction Chapter 1, AIMA
Artificial Intelligence Introduction Chapter 1, AIMAbutest
 
International journal of engineering issues vol 2015 - no 2 - paper1
International journal of engineering issues   vol 2015 - no 2 - paper1International journal of engineering issues   vol 2015 - no 2 - paper1
International journal of engineering issues vol 2015 - no 2 - paper1
sophiabelthome
 
chess-180927202627.pdf
chess-180927202627.pdfchess-180927202627.pdf
chess-180927202627.pdf
AhmedMaherAlmaqtari
 
Artificial intelligence - python
Artificial intelligence - pythonArtificial intelligence - python
Artificial intelligence - python
Sunjid Hasan
 
AI Supremacy in Games: Deep Blue, Watson, Cepheus, AlphaGo, DeepStack and Ten...
AI Supremacy in Games: Deep Blue, Watson, Cepheus, AlphaGo, DeepStack and Ten...AI Supremacy in Games: Deep Blue, Watson, Cepheus, AlphaGo, DeepStack and Ten...
AI Supremacy in Games: Deep Blue, Watson, Cepheus, AlphaGo, DeepStack and Ten...
Karel Ha
 
AUTHOR SIAFA B. NEAL 5 STARS (1)
AUTHOR SIAFA B. NEAL  5 STARS (1)AUTHOR SIAFA B. NEAL  5 STARS (1)
AUTHOR SIAFA B. NEAL 5 STARS (1)
Siafa Neal
 
Undecidability in partially observable deterministic games
Undecidability in partially observable deterministic gamesUndecidability in partially observable deterministic games
Undecidability in partially observable deterministic games
Olivier Teytaud
 
Ibm's deep blue chess grandmaster chips
Ibm's deep blue chess grandmaster chipsIbm's deep blue chess grandmaster chips
Ibm's deep blue chess grandmaster chips
Nadeeshaan Gunasinghe
 
NICHOLAS CARR that scene. What happens to HAL and Dave, an.docx
NICHOLAS CARR that scene. What happens to HAL and Dave, an.docxNICHOLAS CARR that scene. What happens to HAL and Dave, an.docx
NICHOLAS CARR that scene. What happens to HAL and Dave, an.docx
picklesvalery
 
Spacewar
SpacewarSpacewar
Spacewar
Truston Ailende
 
cai
caicai

Similar to Computer chess (20)

Introducing ofcomputerchess
Introducing ofcomputerchessIntroducing ofcomputerchess
Introducing ofcomputerchess
 
计算机棋盘游戏历史及现代应用
计算机棋盘游戏历史及现代应用计算机棋盘游戏历史及现代应用
计算机棋盘游戏历史及现代应用
 
Computer Chess 2004
Computer Chess 2004Computer Chess 2004
Computer Chess 2004
 
Topic - 6 (Game Playing).ppt
Topic - 6 (Game Playing).pptTopic - 6 (Game Playing).ppt
Topic - 6 (Game Playing).ppt
 
Chess superb
Chess  superbChess  superb
Chess superb
 
GamePlaying.ppt
GamePlaying.pptGamePlaying.ppt
GamePlaying.ppt
 
Chess Engine Programming
Chess Engine ProgrammingChess Engine Programming
Chess Engine Programming
 
Artificial Intelligence Introduction Chapter 1, AIMA
Artificial Intelligence Introduction Chapter 1, AIMAArtificial Intelligence Introduction Chapter 1, AIMA
Artificial Intelligence Introduction Chapter 1, AIMA
 
International journal of engineering issues vol 2015 - no 2 - paper1
International journal of engineering issues   vol 2015 - no 2 - paper1International journal of engineering issues   vol 2015 - no 2 - paper1
International journal of engineering issues vol 2015 - no 2 - paper1
 
chess-180927202627.pdf
chess-180927202627.pdfchess-180927202627.pdf
chess-180927202627.pdf
 
Artificial intelligence - python
Artificial intelligence - pythonArtificial intelligence - python
Artificial intelligence - python
 
Games.4
Games.4Games.4
Games.4
 
AI Supremacy in Games: Deep Blue, Watson, Cepheus, AlphaGo, DeepStack and Ten...
AI Supremacy in Games: Deep Blue, Watson, Cepheus, AlphaGo, DeepStack and Ten...AI Supremacy in Games: Deep Blue, Watson, Cepheus, AlphaGo, DeepStack and Ten...
AI Supremacy in Games: Deep Blue, Watson, Cepheus, AlphaGo, DeepStack and Ten...
 
AUTHOR SIAFA B. NEAL 5 STARS (1)
AUTHOR SIAFA B. NEAL  5 STARS (1)AUTHOR SIAFA B. NEAL  5 STARS (1)
AUTHOR SIAFA B. NEAL 5 STARS (1)
 
Undecidability in partially observable deterministic games
Undecidability in partially observable deterministic gamesUndecidability in partially observable deterministic games
Undecidability in partially observable deterministic games
 
Ibm's deep blue chess grandmaster chips
Ibm's deep blue chess grandmaster chipsIbm's deep blue chess grandmaster chips
Ibm's deep blue chess grandmaster chips
 
quarto
quartoquarto
quarto
 
NICHOLAS CARR that scene. What happens to HAL and Dave, an.docx
NICHOLAS CARR that scene. What happens to HAL and Dave, an.docxNICHOLAS CARR that scene. What happens to HAL and Dave, an.docx
NICHOLAS CARR that scene. What happens to HAL and Dave, an.docx
 
Spacewar
SpacewarSpacewar
Spacewar
 
cai
caicai
cai
 

Recently uploaded

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 

Computer chess

  • 1. Computer Chess by Arkadiusz Janicki General Game Playing Seminar dr Paweł Rychlikowski Institute of Computer Science the Wrocław University 2009-11-25
  • 2.
  • 3. T.A. Marsland (1992) Computer Chess and Search. Encyclopedia of Artificial Intelligence , S.C. Shapiro (ed), pp. 224r-241, Wiley & Sons, 2nd ed. 1992, ISBN 0471-50305-3.
  • 4. Ernst A. Heinz (1997) How DarkThought Plays Chess, ICC A Journal 20(3), pp. 166-176, Sept. 1997.
  • 5. John L. Jerz (2009) A Proposed Heuristic for a Computer Chess Program
  • 6. Computer History Museum , Mastering the Game – A History of Computer Chess, http://www.computerhistory.org/chess/
  • 7. Wikipedia , accessed November 2009
  • 9. The Turk In 1769 the Hungarian engineer Baron Wolfgang von Kempelen built a chess playing machine for the amusement of the Austrian Queen Maria Theresia. It was a purely mechanical device, shaped like a Turk. Naturally its outstanding playing strength was supplied by a chess master cleverly hidden inside the device. The machine was a fake.
  • 10.  
  • 11. 1914 - El Ajedrecista In 1914 Torres y Quevedo constructed a device which played an end game of king and rook against king (Vigneron, 1914). The machine played the side with king and rook and would force checkmate in few moves however its human opponent played. Since an explicit set of rules can be given for making satisfactory moves in such an end game, the problem is relatively simple, but the idea was quite advanced for that period.
  • 12. Gonzales Torres y Quevedo demonstrating the chess automaton to Norbert Wiener in 1951
  • 13.
  • 14.
  • 15. First Computer Programs Dr. Dietrich Prinz in England wrote the first limited chess program in 1951. Alex Bernstein, an experienced chess player and a programmer at IBM, wrote a program in 1958 that could play a full chess game (although it could be defeated by novice players).
  • 16.
  • 17.
  • 18. $10,000 for the first program to achieve a USCF 2500 rating (players who attain this rating may reasonably aspire to becoming Grandmasters) was awarded to Deep Thought in August 1989
  • 19. $100,000 for attaining world-champion status remains unclaimed.
  • 20. Brutforce hardware In 1977 at Bell Laboratories, Ken Thompson and Joe Condon took the brute force approach one step further by developing a custom chess-playing computer called Belle . By 1980 it included highly specialized circuitry that contained a “move generator” and “board evaluator,” allowing the computer to examine 160,000 positions per second. This approach was so effective that in 1982 at the North American Computer Chess Championships (NACCC), this $17000 chess machine beat the Cray Blitz program running on a million supercomputer.
  • 21.
  • 22. W 1996 Deep Blue pokonuje Kasparova (1 z 6 gier) „ The Association for Computing Machinery (ACM), the first society in computing, announces a six game match between World Chess Champion Garry Kasparov and the top-rated chess program DEEP BLUE. A $500,000 prize fund has been established for the match to be held in Philadelphia, Pa., USA, Feb. 10-17, 1996, as part of ACM's year long 50th Anniversary Celebration which begins with the ACM Computing Week '96 conference. The winner will receive $400,000 with the remaining $100,000 going to the loser.”
  • 23. 1997 Game Over
  • 24.  
  • 27.
  • 28. Rooks should be placed on open files. This is part of a more general principle that the side with the greater mobility, other things equal, has the better game.
  • 29. Backward, isolated and doubled pawns are weak.
  • 30. An exposed king is a weakness (until the end game). f(P) = 200(K-K') + 9(Q-Q') + 5(R-R') + 3(B-B'+N-N') + (P-P') – 0.5(D-D'+S-S'+I-I') + 0.1(M-M') + ... K,Q,R,B,B,P are the number of White kings, queens, rooks, bishops, knights and pawns on the board. D,S,I are doubled, backward and isolated White pawns. Weakness – ie. exchange of queens
  • 31. Shannon „Type A” Strategy ” Type A” strategy considered all possible moves to a fixed depth. A world champion can construct (at best) combinations say, 15 or 20 moves deep. Some variations given by Alekhine ("My Best Games of Chess 1924-1937") are of this length. Let M_1, M_2, M_3, ..., M_s be the moves that can be made in position P and let M_1P, M_2P, etc. denote symbolically the resulting positions when M_1, M_2, etc. are applied to P. Then one chooses the M_m which maximizes f(M_mP). A deeper strategy would consider the opponent's replies which are minimized ...
  • 32.
  • 33.
  • 34. g(P) = 0 otherwise Using this function, variations could be explored until g(P)=0, always, however, going at least two moves and never more, say, 10.
  • 35. Shannon's ideas (...) the machine once designed would always make the same move in the same position. If the opponent made the same moves this would always lead to the same game. (...) the opening is another place where statistical variation can be introduced. It would seem desirable to have a number of the standard openings stored in a slow-sped memory in the machine. Perhaps a few hundred would be satisfactory. (...) program based on "type position" could not be constructed. (...). Although there are various books analysing combination play and the middle game, they are written for human consumption, not for computing machines. (...)To program such a strategy we might suppose that any position in the machine is accompanied by a rather elaborate analysis of the tactical structure of the position suitably encoded. This analytical data will state that, for example, the Black knight at f6 is pinned by a bishop, that the White rook at e1 cannot leave the back rank because of a threatened mate on c1, that a White knight at a4 has no move, etc. ; - These data would be supplied by a program and would be continually changed and kept up-to-date as the game progressed.
  • 36.
  • 39. Bit Boards: a mapping of the chess board squares to the computer’s internal binary structure, which allows the computer to store and analyze board positions very efficiently DeepThought bit boards
  • 40. Opening Books: a listing of known good move sequences that can be used at the beginning of a chess game. Endgame Databases: a catalog of previously analyzed board configurations near the end of a chess game that allows the program to play the remaining moves of the game flawlessly.
  • 41. Transposition tables (hash tables) A way to quickly check a catalog of positions already examined, which cuts down the number of positions that must be searched. 12 different piece types {K,Q,R,B,N,P,–K ... –P} on a 64-square board. Thus a set of 12*64 unique integers (plus a few more for en passant and castling privileges), { Ri }, may be used to represent all the possible piece/square combinations. Zobrist (1970) Pawn hash table - similar technique can be used to store an evaluation of the pawn structures in a position. Since the number of pawn positions examined is generally much smaller than the total number of positions searched, the pawn hash table has a very high hit rate, allowing a program to spend more time on sophisticated pawn evaluations because they are reused many times.
  • 42.
  • 43. This is followed by a phase of selective searches up to a limiting depth ( the horizon ).
  • 44. An evaluation function is applied at the frontier nodes to assess the material balance and the structural properties of the position (e.g., relative placement of pawns). To aid in this assessment a third phase is used, a variable depth quiescence search of those moves that are not dead (i.e., cannot be accurately assessed).
  • 45.  
  • 46. Horizon Effect (..., Pb2; Bxb2, Pc3; Bxc3, Pd4; Bxd4, Pe5; Bxe5)
  • 47.
  • 49. dynamic move ordering (history+ killer heuristic) [2, 16, 30, 32, 35], *
  • 50. recursive null-move pruning [7, 15, 17], *
  • 52. interior-node recognizers [18, 34], On average, all enhancements taken together reduce the effective branching factor of DARKTHOUGHT to 2-3 and its search-tree size to roughly 55% of that of the according minimal tree [21]. These observations are consistent with reports by other researchers [6, 38],
  • 53. Iterative Deepening Iterative Deepening: a technique that gradually increases the depth of the search tree (the number of moves and counter-moves) that is examined, rather than searching to a fixed depth. This allows the most efficient use of the limited time each player is given to choose a move.
  • 54.  
  • 55. DarkThought implements a standard node-expansion procedure whose structure probably does not differ much from that of other chess programs: • e xtension decisions related to incoming move (U), • internal iterative deepening (U), * • transposition-table lookup (L/U), * • interior-node recognizer decision (L/U), • endgame database lookup (L/U), * • null-move search with deep extension decision (U), * • single-reply extension decision (U), • futility pruning decision (F/L), • static evaluation (F/L), • search of all outgoing moves (L/U). 1. hashed move from transposition table (L/U), * 2. capture moves in MVV/LVA order (L/U), ( most valuable victim / least valuable aggressor) 3. killer moves (U), * 4. history moves (U), * 5. statically presorted remaining moves (U). F means &quot;frontier&quot; (depth = 1), L &quot;lower part&quot; (depth < 0), and U &quot;upper part&quot; (depth > 1)
  • 56. Killer heuristic, History heuristic .. produce a cutoff by assuming that a move that produced a cutoff in another branch at the same depth is likely to produce a cutoff in the present position, that is to say that a move that was a very good move from a different (but possibly similar) position might also be a good move in the present position. By trying the killer move before other moves, a game playing program can often produce an early cutoff, saving itself the effort of considering or even generating all legal moves from a position. A generalization of the killer heuristic is the history heuristic. The history heuristic can be implemented as a table that is indexed by some characteristic of the move, for example &quot;from&quot; and &quot;to&quot; squares or piece moving and the &quot;to&quot; square. When there is a cutoff, the appropriate entry in the table is incremented, such as by adding d² or 2d where d is the current search depth. This information is used when ordering moves.
  • 57. Null-move heuristic current position is so good for the side to move that best play by the other side would have avoided it. The faster the program produces cutoffs, the faster the search runs. The null-move heuristic is designed to guess cutoffs with less effort than would otherwise be required, whilst retaining a reasonable level of accuracy. The null-move heuristic is based on the fact that most reasonable chess moves improve the position for the side that played them. So, if the player whose turn it is to move can forfeit the right to move (or make a &quot;null move&quot; - an illegal action in chess) and still have a position strong enough to produce a cutoff, then the current position would almost certainly produce a cutoff if the current player actually moved.
  • 58. Deep Thought - Programmable Evaluation Function • Material-balance scoring, • evaluation flitihty-pruning decision, • Pawn-structure scoring (H), • Pawn-related King scoring (H), • race scoring of passed Pawns, • PST piece-placement scoring, • positional futility-pruning decision, • flirt her positional scoring (H). For all steps marked with an H, the evaluation infrastructure automatically hashes the computed scores.