deep blue - search algorithms - indian institute of technology bombay

66
Deep Blue - search algorithms Prof. Pushpak Bhattacharya Group 2: Neel Shah, Pallav Vasa and Roshan Prizak CS 621: Artificial Intelligence November 14, 2011 Deep Blue Neel, Pallav, Roshan CS 621: AI

Upload: others

Post on 03-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Deep Blue - search algorithms

Prof. Pushpak BhattacharyaGroup 2: Neel Shah, Pallav Vasa and Roshan Prizak

CS 621: Artificial Intelligence

November 14, 2011

Deep Blue Neel, Pallav, Roshan CS 621: AI

Page 2: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Outline

• Motivation and History

• Deep Blue

• Game trees and the Minimax algorithm

• Alpha Beta pruning and Iterative deepening

• Chess Complexities

Deep Blue Neel, Pallav, Roshan CS 621: AI 1

Page 3: Deep Blue - search algorithms - Indian Institute of Technology Bombay

The roots

• Carl Sagan once said, ”Exploration is in our nature. We began as wanderers,and we are wanderers still.” The Enlightenment revived an interest in automaton

Borrowed from [Wikipedia]

Deep Blue Neel, Pallav, Roshan CS 621: AI 2

Page 4: Deep Blue - search algorithms - Indian Institute of Technology Bombay

The foundation

• Claude Shannon wrote ”Programming a computer for playing chess” in 1950

• Ideas from that paper still used today

Borrowed from [Computer History Museum], Shannon 1950

Deep Blue Neel, Pallav, Roshan CS 621: AI 3

Page 5: Deep Blue - search algorithms - Indian Institute of Technology Bombay

The prediction

• Herbert Simon, in 1957, predicted that in 10 years, a computer would defeat ahuman champion in chess

Borrowed from [Computer History Museum]

Deep Blue Neel, Pallav, Roshan CS 621: AI 4

Page 6: Deep Blue - search algorithms - Indian Institute of Technology Bombay

The controversial win

• The prophecy turned true but delayed only by 30 more years

• After the world saw many chess machines and programs, finally Deep Bluedefeated Gary Kasparov in 1997

• Primary reasons: highly specialized hardware, massive parallel processing abilitiesand some good chess-intuition in the search algorithms

• Controversial, but an inspiration for excellent computer chess

• The Big Question: Is Deep Blue intelligent? Or at least, chess-intelligent?

Deep Blue Neel, Pallav, Roshan CS 621: AI 5

Page 7: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Deep Blue

• Descendant of Deep Thought, which was named after the computer in theHitchhikers Guide to the Galaxy which comes up with the answer to Life, theUniverse and Everything

• A parallel, RS/6000 SP-Based computer designed to play chess at grandmasterlevel

• 30 such processors meant for software search and 480 custom VLSI chessprocessors that performed move generation (including move ordering) hardwaresearch

• Searches 126 million nodes per second at an average, with peak of 330 millionnodes per second

information retrieved from [IBM Research]

Deep Blue Neel, Pallav, Roshan CS 621: AI 6

Page 8: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Deep Blue

• A opening book of about 4000 positions was used, as well as a database of700,000 grandmaster games from which consensus recommendations could beextracted

• Iterative deepening alpha-beta minimax algorithm with transpositiontables, singular extensions and other chess-specific heuristics and ahistorical database of opening and end games was used

• Generates 30 billion positions per move with average depth of 14 routinely

Deep Blue Neel, Pallav, Roshan CS 621: AI 7

Page 9: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Adversarial search and chess

• Generic problem: plan ahead in an environment consisting of other agents(rational and selfish: adversarial) actively planning against us

• Success of my move depends on the opponent’s move and so on

• Need to look ahead and consider various alternatives at deeper ’plies’

• Zero-sum: minimize opponent’s payoff iff maximize my payoff

• Underlying philosophy - prepare for the worst

Deep Blue Neel, Pallav, Roshan CS 621: AI 8

Page 10: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Game (2 player) - formal definition

• A : finite set of states of the game - chess: a particular setting on the board

• S : nonempty set of start states (⊂ A) - starting position of chess

• E : nonempty set of end states (⊂ A) - any checkmate or stalemate or otherposition which is a win/draw

• f : A → 2A - transition function, f(x) is the set of possible states from state x

• v : E → [−∞,∞]2, payoff/utility function of both players at the end state - if Iwin, I get +∞ and the opponent gets −∞

Deep Blue Neel, Pallav, Roshan CS 621: AI 9

Page 11: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Chess game tree

start

e4

MIN nodes

e6

MAX nodes

d4 Be3

e5

Nf3

Deep Blue Neel, Pallav, Roshan CS 621: AI 10

Page 12: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax

• Maximizing the worst-case outcome (MIN chooses this if it plays optimally) forMAX is the best thing MAX can do. If MIN doesn’t play optimally, this strategydoes even better

• Minimax value (with respect to MAX player) of a state s ∈ A=

– v(s) if s ∈ E is an end state– maximum of successors minimax values if s is a MAX node– minimum of successors minimax values if a is a MIN node

• At a node, MAX would pick the move which gives the highest minimax valueand MIN would pick the node which gives the lowest minimax value (therebygiving MIN the highest utility)

Deep Blue Neel, Pallav, Roshan CS 621: AI 11

Page 13: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

MIN nodes

m

MAX nodes

5

The minimax value of m is taken to be 5 because that is the only child we haveexplored whose minimax value we know.

Deep Blue Neel, Pallav, Roshan CS 621: AI 12

Page 14: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

MIN nodes

5

MAX nodes

5 7

A new end state is explored which has a minimax value of 7. Compare this with theparent’s minimax value and change if needed. Here, the circular node is a MAXnode and hence, its minimax value is the maximum of its children’s values = 7.

Deep Blue Neel, Pallav, Roshan CS 621: AI 13

Page 15: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

m

MIN nodes

7

MAX nodes

5 7

The yellow node has a known minimax value of 7 and from this, the minimax valueof node m is taken to be 7, from whatever information is known .

Deep Blue Neel, Pallav, Roshan CS 621: AI 14

Page 16: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

7

MIN nodes

7

MAX nodes

5 7

Now we move on to the other children of the yellow node and see if its minimaxvalue needs to be updated.

Deep Blue Neel, Pallav, Roshan CS 621: AI 15

Page 17: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

7

MIN nodes

7

MAX nodes

5 7

m

3

The yellow node is an end state and has a minimax value of 3. Now, m needs tobe updated to 3.

Deep Blue Neel, Pallav, Roshan CS 621: AI 16

Page 18: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

7

MIN nodes

7

MAX nodes

5 7

3

3

The diamond node with minimax 7 is updated to 3, as it is a minimum node.

Deep Blue Neel, Pallav, Roshan CS 621: AI 17

Page 19: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

3

MIN nodes

7

MAX nodes

5 7

3

3

The red portion is ruled out as the yellow diamond node has a circular node whoseminimax value is 3, less than that of the red portion’s. We move on to explore theother children now.

Deep Blue Neel, Pallav, Roshan CS 621: AI 18

Page 20: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

3

MIN nodes

7

MAX nodes

5 7

3

3

m

10

Deep Blue Neel, Pallav, Roshan CS 621: AI 19

Page 21: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

Deep Blue Neel, Pallav, Roshan CS 621: AI 20

Page 22: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

MAX

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

Deep Blue Neel, Pallav, Roshan CS 621: AI 21

Page 23: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

3

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

Deep Blue Neel, Pallav, Roshan CS 621: AI 22

Page 24: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

3

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

m

4

Deep Blue Neel, Pallav, Roshan CS 621: AI 23

Page 25: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

3

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

4

4

4

Deep Blue Neel, Pallav, Roshan CS 621: AI 24

Page 26: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

3

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

4

4

4

5

Deep Blue Neel, Pallav, Roshan CS 621: AI 25

Page 27: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

3

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

4

4

4

5

Deep Blue Neel, Pallav, Roshan CS 621: AI 26

Page 28: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

4

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

4

4

4

5 m

9

Deep Blue Neel, Pallav, Roshan CS 621: AI 27

Page 29: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

4

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

4

4

4

5 9

9 6

Deep Blue Neel, Pallav, Roshan CS 621: AI 28

Page 30: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

4

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

4

4

4

5 9

9 6 3

Deep Blue Neel, Pallav, Roshan CS 621: AI 29

Page 31: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

4

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

4

4

4

5

9

9

9 6 3

Deep Blue Neel, Pallav, Roshan CS 621: AI 30

Page 32: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Minimax example

9

3

MIN nodes

7

MAX nodes

5 7

3

3

10

10 9

4

4

4

5

9

9

9 6 3

This is the best path that MAX evaluates now. Best move is the third one.

Deep Blue Neel, Pallav, Roshan CS 621: AI 31

Page 33: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Complexity for Chess

• b: branching factor, average number of children to a node, ≈ 35 in chess

• n: number of moves by both players, ≈ 100 in chess

• Game tree time complexity: O(bn) ≈ 10154 in chess

• Searching entire tree is impractical, making optimal decisions in finite time andspace constraints is important

• Heuristics for assigning utilities to midgame positions (to consider them as endstates of a particular search routine)

Deep Blue Neel, Pallav, Roshan CS 621: AI 32

Page 34: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Heuristic evaluation function

• Cut the depth of search to a certain level - consider some midgame states aspotential end states for the sake of algorithm

• Attach utilities to different configurations - how advantageous a position iscompared to opponent

• Easily computable, compatible with end state utilities, should reflect the actualstate of the game

Deep Blue Neel, Pallav, Roshan CS 621: AI 33

Page 35: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Heuristic evaluation function

• Each piece has an intrinsic material value which is static, which is a naive wayof doing things

• Advanced players analyze groups of pieces (patterns); these are also given values

• e.g. knight/queen/pawn traps (positive utility), wasted pawns (negative utility)

• Dynamic values are also allotted, based on how central and mobile a piece is

• Final heuristic value evaluated as a linear combination of the intrinsic materialvalues, pattern values (features) and dynamic values

• Constrain the search space by cutting off the tree and treating the lowest levelnodes as leaves whose utilities are given by this function

Deep Blue Neel, Pallav, Roshan CS 621: AI 34

Page 36: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Pruning

• Even after cutting off the tree and using heuristics, time complexity is large

• If we play s2, opponent is going to mate us for sure. Without examining s3, wecan conclude that s1 is better than s2. This is the idea behind pruning.

Our

s1

Opponent’s move

s2

Mate s3

Deep Blue Neel, Pallav, Roshan CS 621: AI 35

Page 37: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning

[−∞,∞]

[−∞,∞]

range of possible values

[−∞,∞] [−∞,∞]

[−∞,∞]

[−∞,∞] [−∞,∞]

[−∞,∞]

[−∞,∞] [−∞,∞]

Deep Blue Neel, Pallav, Roshan CS 621: AI 36

Page 38: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning

[−∞,∞]

[−∞, 5]

≤ 5 (β value), MIN node

5

[−∞,∞] [−∞,∞]

Deep Blue Neel, Pallav, Roshan CS 621: AI 37

Page 39: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning

[4,∞]

4

MIN node

5 4

[−∞,∞]

α = 4

[−∞,∞]

Deep Blue Neel, Pallav, Roshan CS 621: AI 38

Page 40: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning

[4,∞]

4

5 4

[−∞, 2]

< 4

2

≤ 2

[−∞,∞]

Deep Blue Neel, Pallav, Roshan CS 621: AI 39

Page 41: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning

[4, 10]

4

5 4 2

[−∞, 10]

10

Deep Blue Neel, Pallav, Roshan CS 621: AI 40

Page 42: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning

7

4

5 4 2

7

10 7

Deep Blue Neel, Pallav, Roshan CS 621: AI 41

Page 43: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning

• Comes from the branch and bound family of algorithms

• Keep track of the highest minimax value α for MAX and the lowest minimaxvalue β for MIN found so far, along all the paths search via DFS

• For a node s, if its minimax value is known to be worse than α for a MAX node(or β for MIN), prune all other branches of s

• In complex games such as chess which have a large branching factor, pruningsaves a lot of time

• If there is a strict time constraint, DFS might give bad results. Iterativedeepening - breadth first with increasing depth - would help here.

Deep Blue Neel, Pallav, Roshan CS 621: AI 42

Page 44: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning

Borrowed from [Knuth and Moore 1975]

Deep Blue Neel, Pallav, Roshan CS 621: AI 43

Page 45: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Alpha beta pruning

Borrowed from [Knuth and Moore 1975]

Deep Blue Neel, Pallav, Roshan CS 621: AI 44

Page 46: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning- Observations

• Sorting of successors can make a huge difference, if we encounter a bound first,we can prune more quickly

• In the best case, we can get the same optimal solution as Minimax in O(bd/2)instead of O(bd) [Knuth and Moore 1975]

• Equivalently, we can reduce the effective branching factor to√

b from b

• Static ordering systems for successors - try captures first, followed by threats,forward moves and then, backward moves

• Dynamic ordering systems - Killer Heuristic, History Heuristic - based onassumption that a previously found good move will be a good move again in thepresent position [Schaeffer 1989]

Deep Blue Neel, Pallav, Roshan CS 621: AI 45

Page 47: Deep Blue - search algorithms - Indian Institute of Technology Bombay

αβ pruning- Observations

• Smaller range of [α, β] can lead to faster pruning

• Iterative Deepening can give a rich history of good moves with increasingconfidence in each iteration

• Killer Moves - ones that cause a lot of cut-offs

• Transposition table uses hash tables to remember the information obtained in aparticular search now, and use it later in the search of the next move [Schaeffer1989]

Deep Blue Neel, Pallav, Roshan CS 621: AI 46

Page 48: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Iterative Deepening

• BFS - Guarantees optimal path, time and space complexities - O(bd)

• DFS - Non-optimal, can find longer path to goal first, might loop in graphsearch, space complexity - O(d)

• Depth First Iterative Deepening - best of both worlds

• Do sequential DFS’s for increasing depth starting from 1

• Redundant at first sight, but asymptotically optimal among brute force searchesin terms of time, space and length of path found

Deep Blue Neel, Pallav, Roshan CS 621: AI 47

Page 49: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Iterative Deepening Example

A

B

C D

E

F

G H

I

J K L

Deep Blue Neel, Pallav, Roshan CS 621: AI 48

Page 50: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Iterative Deepening Example

A

B

C D

E

F

G H

I

J K L

Iteration 1 - A

Deep Blue Neel, Pallav, Roshan CS 621: AI 49

Page 51: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Iterative Deepening Example

A

B

C D

E

F

G H

I

J K L

Iteration 2 - ABEI

Deep Blue Neel, Pallav, Roshan CS 621: AI 50

Page 52: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Iterative Deepening Example

A

B

C D

E

F

G H

I

J K L

Iteration 3 - ABCDEFIJKL

Deep Blue Neel, Pallav, Roshan CS 621: AI 51

Page 53: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Iterative Deepening Example

A

B

C D

E

F

G H

I

J K L

Iteration 4 - ABCDEFGHIJKL

Deep Blue Neel, Pallav, Roshan CS 621: AI 52

Page 54: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Horizon effect

• The program might make a move which is actually a bad one, but it is notable to see the true nature of the move as its consequences show up at a depthgreater than what the program can search for

A

B

C

Queen capture

D

E

F

Rook capture

G H

Queen capture

Deep Blue Neel, Pallav, Roshan CS 621: AI 53

Page 55: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Horizon effect and quiescence

• Heuristic estimates may miss out on complex dependencies, not perfect ⇒determining the depth or time at which to truncate search in game trees adelicate matter

• Emulate what humans do: intuitively explore promising moves and forget thedull ones

• Evaluate utilities only at stable positions which reflect the actual situation

Deep Blue Neel, Pallav, Roshan CS 621: AI 54

Page 56: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Quiescence search

• Searching past the terminal search nodes and testing all the interesting moves(piece capture, pawn advance, midboard acquisition, piece trapping, any otherjudgement criterion etc.) until the situation becomes ”calm” [Hsu 1999]

• Enables the system to detect long capture sequences and calculate whether ornot they are worth initiating - a crucial aspect of human chess intelligence

Deep Blue Neel, Pallav, Roshan CS 621: AI 55

Page 57: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Quiescence and computation

• More than half the time spent on exploring the levels opened up by quiescence

• Deep Blue, through its special VLSI chess chips can generate the interestingmoves - forcing and capture moves - really quickly

Deep Blue Neel, Pallav, Roshan CS 621: AI 56

Page 58: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Forcing moves

• White has a definite winning thread from the current position but black can playnumerous delaying moves (checks, mate threats, attacks on important pieces,etc.)

• Eventually Black runs out on any more delaying moves till which precise responsesare needed by White

• An extended search is the only sure shot way out of this

Deep Blue Neel, Pallav, Roshan CS 621: AI 57

Page 59: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Forced moves

A

B

Queen attack

C

Forced move

G

Queen attack

I

Forced move

K

Queen capture

J

H

D

Avoid capture by losing knight

E

Deep Blue Neel, Pallav, Roshan CS 621: AI 58

Page 60: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Singular extensions

• Going deeper in the search tree is by probing deeper into specific subtrees,especially forced moves [Anantharaman et al. 1990]

• If a particular node is significantly better than other alternative moves at thatlevel, that calls for a review as a mistake would cost much

• This might be an indication that our evaluation function did not give us goodvalues or that we haven’t reached to sufficient depth

Deep Blue Neel, Pallav, Roshan CS 621: AI 59

Page 61: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Experience and knowledge

• Opening book, end game book, extended book (from Grand Master games)[Hsu 1999]

• Randomly chosen opening game, appended by moves from the extended book

• A particular position is allotted a high heuristic utility if it is found to besuccessful in the Grand Master games database

• A substitute for human experience and knowledge

Deep Blue Neel, Pallav, Roshan CS 621: AI 60

Page 62: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Conclusions

• Given infinite space and time capability, in principle, a computer chess programwould always defeat a human - but the point of a chess game is lost

• Computer programs have an upper hand at space and time complexitymanagement, while humans have an advantage at using the right heuristicsfor evaluation function

Deep Blue Neel, Pallav, Roshan CS 621: AI 61

Page 63: Deep Blue - search algorithms - Indian Institute of Technology Bombay

Conclusions

• Deep Blue and other chess programs have tried to emulate an experiencedhuman’s heuristic way of thought by using a historical database and nonuniformsearch, but the actual structure of the heuristic evaluation function also matters

• Is intelligence in the algorithm that one exploits in the wake of insensitiveknowledge, or in the procedure that comes up with that (in)sensitive knowledge?

Deep Blue Neel, Pallav, Roshan CS 621: AI 62

Page 64: Deep Blue - search algorithms - Indian Institute of Technology Bombay

References

• Stuart J. Russell, Peter Norvig (2003), ”Artificial intelligence: A modernapproach”, Upper Saddle River, N.J: Prentice Hall/Pearson Education

• Claude E. Shannon (1950), ”Programming a computer for playing chess”,Philosophical Magazine, Ser.7, Vol. 41, No. 314

• Donald E. Knuth, Ronald W. Moore (1975), ”An analysis of alpha-betapruning”, Artificial Intelligence, Vol. 6, No. 4, pp. 293-326

• J. Schaeffer (1989), ”The history heuristic and alpha-beta searchenhancements in practice”, IEEE Trans. Pattern Anal. Machine Intell.,Vol. PAMI-11, No. 11, pp. 1203-1212

Deep Blue Neel, Pallav, Roshan CS 621: AI 63

Page 65: Deep Blue - search algorithms - Indian Institute of Technology Bombay

• Research, IBM, information about Deep Blue retrieved fromhttp://www.research.ibm.com/deepblue/

• Thomas Anantharaman, Murray S. Campbell, Feng H. Hsu (1990), ”Singularextensions: Adding selectivity to brute-force searching”, ArtificialIntelligence, Vol. 43, pp. 99-109

• Feng H. Hsu (1999), ”IBM’s Deep Blue Chess Grandmaster Chips”, IEEEMicro, Vol. 19, No. 2, pp. 70-81

• Feng H. Hsu, Murray S. Campbell, Joseph A. Hoane, ”Deep Blue systemoverview”, in ICS ’95: Proceedings of the 9th international conference onSupercomputing (1995), pp. 240-244

• Wikipedia

– ”Minimax”, in Wikipedia, retrieved November 1, 2011, fromhttp://en.wikipedia.org/wiki/Minimax

Deep Blue Neel, Pallav, Roshan CS 621: AI 64

Page 66: Deep Blue - search algorithms - Indian Institute of Technology Bombay

– ”Alpha-beta pruning”, in Wikipedia, retrieved November 1, 2011, fromhttp://en.wikipedia.org/wiki/Alpha-beta pruning

– Image of The Turk, from Karl Gottlieb von Windisch’s 1784 book InanimateReason, extracted from http://en.wikipedia.org/wiki/The Turk

• The Computer History Museum

– Shannon and Lasker at Shannon’s chess machine, (1950),Gift of Monroe Newborn, retrieved November 10, 2011, fromhttp://www.computerhistory.org

– Herbert Simon, (1958), Courtesy of Carnegie Mellon University, retrievedNovember 10, 2011, from http://www.computerhistory.org

• Chess diagrams generated using the Chess Diagram Generator script fromhttp://www.chessvideos.tv

Deep Blue Neel, Pallav, Roshan CS 621: AI 65