Thursday, September 29, 2016

Post 6. Playing Against a Computer?

Image result for chess game online




What is meant by "playing against the computer"?

Chess, checkers, and poker are a few of the most popular computer games that involve a user playing against a computer in order to win the game. Unlike humans, computers do not need to use intelligence and thought in order to recall pattern-matching, rules, guidelines, and to determine the likely upcoming moves of the opponent. Instead, the computer is programmed with a list of all possible scenarios/outcomes and what to do when presented with a particular scenario.

How does this work with chess?

The computer used to play chess uses an evaluation function to evaluate all of the board positions, vulnerability, and other parameters added by the programmer. Using what is basically a tree diagram, the computer is able to look three moves ahead of its opponent and evaluate the value of each of the final board positions. Each time the opponent or the computer moves, this process happens again to determine the best next move.


What about poker?

Carnegie Mellon University and the University of Alberta in Canada are two of the universities with research teams that have created computer programs made to outplay the best poker players at two-player poker games (Specifically Texas Hold-em in both cases). Because in poker the player can fold and may not know the past moves of the other player, there is not perfect mathematical formula to win poker, unlike chess and checkers. Before the game of Texas Hold-em begins, the computer calls a table of results that have been pre-programmed. It then simulates billions of hands of poker, because of this, throughout the game the computer is able to determine optimal strategy.

How does this relate to computer science and what are the bigger implications?

Computer games played against the computer use a series of algorithms programmed by a computer scientist in order to determine how to win a particular game. The computer having to "learn" and to determine what to do in millions of different possible outcomes has huge implications elsewhere in the field of computer science. For example, in the future computers may be able to help with national security, foreign policy, medical treatment, or any other situations requiring complex decision-making. 





Photos and information from:
https://play.google.com/store/apps/details?id=uk.co.aifactory.chessfree
http://www.pbs.org/newshour/rundown/carnegie-mellon-wagers-computer-can-take-top-poker-players/
http://www.livescience.com/49376-computer-program-solves-poker.html
http://electronics.howstuffworks.com/chess2.htm

2 comments:

  1. This is such an interesting post! I remember when I was younger, I tried to learn how to play chess using the computer. It was really frustrating, because the computer always knew the best moves and would win. It makes me wonder, do computer versions of these games (rather than playing with other people) make it harder and more frustrating for the user to actually learn the strategies behind the game and improve?

    ReplyDelete
  2. I really enjoyed this post! I had never thought about how computer games were programmed, and as I used to play games like you described, gave me a good understanding of how it works. How would computers be programed to win games like yatzee and other games that involve a chance aspect?

    ReplyDelete