Artificial Intelligence in Chess
Total Page:16
File Type:pdf, Size:1020Kb
Artificial Intelligence in Chess Dan Pomerantz Outline • Brief history of Artificial Intelligence in chess • Why are computers good at chess? • Basic techniques for writing a chess AI AI in Chess 2 The first AI – 1770 ! “The Turk” AI in Chess 3 The first AI – 1770 ! “The Turk” AI in Chess 4 The Turk • Able to play chess “automatically” • Appeared to work like a clock • Turned out to be illusion using magnets and a real human underneath • No one figured out the secret for 50 years! AI in Chess 5 • In the 1940s and 1950s, mathematicians and computer scientists came up with algorithms or descriptions of HOW to program a computer to play chess. • Problem : Computers weren't powerful enough to follow these descriptions! AI in Chess 6 Finally..... • Around the late 1950s, we finally were able to create programs that played FULL games of chess. • Turing test : Can we train a computer to make us think there is a human? AI in Chess 7 Deep Blue (mid 1990s) AI in Chess 8 AI in Chess 9 AI in Chess 10 “It was an impressive achievement, of course, and a human achievement by the members of the IBM team, but Deep Blue was only intelligent the way your programmable alarm clock is intelligent. Not that losing to a $10 million alarm clock made me feel any better.” - Garry Kasparov AI in Chess 11 AI in Chess 12 AI in Chess 13 AI in Chess 14 AI in Chess 15 State of various games • Chess – computers can beat world champions • Checkers – solved by Jonathan Schaeffer • Bridge – computers can compete with top players but don't normally win • Go – computers not even close to top players AI in Chess 16 Why is AI Chess “easier” • Small “branching” factor • Perfect information • Positions can be evaluated with reasonably simple heuristics • “Chess mastery essentially consists of analyzing chess positions accurately.” - Mikhail Botvinnik AI in Chess 17 What makes AI better than human? • Key factor : Emotions lead to inconsistency AI in Chess 18 What makes computers stronger than humans? • Key factor : Emotions lead to inconsistency • Computers don't experience fatigue • “Chess is thirty to forty percent psychology. You don't have this when you play a computer. I can't confuse it.” - Judit Polgar • “Few things are as psychologically brutal as chess.” - Garry Kasparov AI in Chess 19 Emotion and fatigue : Kotov • “I was Black and had a completely won position. I was annoyed that my opponent – a certain Golubev – did not resign although he was a whole rook down. It was my turn to move and I realized that the joy of victory could not be long delayed. My opponent had already folded his score sheet in two, written “Resigns” on it and put it in his pocket. With an air of hopelessness he was looking round and seemed to express with his whole demeanor that as soon as I made my move he would resign.” AI in Chess 20 Emotion and fatigue AI in Chess 21 Emotion and fatigue AI in Chess 22 Emotion and fatigue AI in Chess 23 Emotion and fatigue AI in Chess 24 Emotion and fatigue • So I made my move – the most obvious one there was – taking his bishop with my rook. Immediately the other bishop whizzed through the air and landed with a bang on d8. Again with a bang my opponent started my clock and looked round in triumph at the people who were watching the game. Then he took out his score sheet, wrote down his move and mine and crossed out the word “Resigns”. I was the one who had to resign! AI in Chess 25 How to Create an AI : Search (minimax algorithm) AI in Chess 26 ●Key idea: Choose the move that maximizes your position in the WORST case Qb6 here is a terrible move for white! AI in Chess 27 Chess is way too complex ●Tree is just too large ●Heuristic search ●Choosing the best moves without searching! ●Transpositions AI in Chess 28 Heuristic Search ●Search up until a certain point using this approach ●At some point, stop and evaluate the position. ●How to evaluate a position? AI in Chess 29 Horizon Effect ●5 move combination that wins a piece! ●Unfortunately it's also a 6 move combination to lose a piece! ●Try to determine “interesting” position AI in Chess 30 Trimming Search Tree: “Alpha-beta” pruning ●Idea: ●1)Suppose I am debating between choice a,b,c for move. ●2)Now suppose I searched choice a) and determined it won a pawn. ●3)I am looking at choice b and I notice that ONE of my opponent's moves in response leave the position even. I can now conclude there is no point of looking at all of my opponent's responses AI in Chess 31 Trimming Search Tree: “Alpha-beta” pruning ●Order of searching is now important. ●This matches the way humans try to search. AI in Chess 32 Trimming Search Tree: Transposition tables ●Many positions occur via transpositions. If the computer has an evaluation for: 1.e4 e5 2.f4 it should be able to use that for 1.f4 e5 2.e4 Trade off of search time vsAI instorage Chess time 33 Current State • Computer AIs now teach us! • Big part of challenge is making the AI levels varying so that people can use them to get better • Is chess solvable? Difficult to say if we'll ever have enough power to solve chess? AI in Chess 34 Kramnik “I don’t know whether computers are improving the style of play, I know they are changing it. Chess has become a different game, one could say that computers have changed the world of chess. That is pretty clear.” - Vladimir Kramnik AI in Chess 35 What can we learn from computers? “Let us suppose that at one point in your game you have a choice between two moves, Rd1 or Ng5. Which should you play? You settle down comfortably in your chair and start your analysis by silently saying to yourself the possible moves. 'All right, I could play Rd1 and he would probably play ...Bb7, or he could take my a-pawn, which is now undefended. What then? Do I like the look of the position then?' You go one move further in your analysis and then you pull a long face— the rook move no longer appeals to you. Then you look at the knight move. 'What if I go NG5? AI in Chess 36 What can we learn from computers? “He can drive it away by ...h6, I go Ne4, he captures it with his bishop. I recapture and he attacks my queen with his rook. That doesn't look very nice...so the knight move is no good. Let's look at the rook move again. If he plays ...Bb7 I can reply f3, but what if he captures my a-pawn. What can I play then? No, the rook move is no good. I must check the knight move again. So, Ng5, h6; Ne4, Bxe4; Qxe4, Rd4. No good! So I mustn't move the knight. Try the rook move again. Rd1, Qxa2.' At this point you glance at the clock. 'My goodness! Already 30 minutes gone on thinking whether to move the rook or knight.' AI in Chess 37 What can we learn from computers? “If it goes on like this you'll really be in time trouble. And then suddenly you are struck by the happy idea—why move the rook or knight? 'What about Bb1?' And without any more ado, without any analysis at all you move the bishop, just like that, with hardly any consideration at all” -Think Like a Grandmaster, Alexander Kotov AI in Chess 38 What can computers learn from us? AI in Chess 39 Kickboxing “A computer once beat me at chess, but it was no match for me at kick boxing.” -Emo Phillips AI in Chess 40 Thank you AI in Chess 41.