It was not too long ago that our eyes were not all that interested in the idea of robots and artificial intelligence (AI), but the news that Google’s AlphaGo AI achieved the best human player result at the Go world championship caused a global sensation and even prompted Go champion Lee Sedol to call out the technology. But, given the scale, complexity and intricacy of the game, what does it take to have a machine playing at this level in such a short period of time? The answer is that there are many factors which must be taken into account in order to maximize machine performance.
The key to achieving human-level play is to be able to perform the tasks necessary to do so with the best overall possible information and the minimum amount of error. The tasks involved in making a decision in these situations can be broken into:
Deciding: deciding what to do based on what we currently know, based on our current analysis and prior reasoning, while retaining flexibility if necessary, and then executing the correct decision. We then call this decision analysis.
Decision making: deciding which strategy to use based on the current situation, when executing our planned strategy, and then executing that strategy. We call this decision making.
Strategy implementation: deciding how best to execute the final outcome with the information available. We call this implementing the solution.
While making a decision, or any kind of decision, involves decisions and analysis, decision making can be divided into the tasks of deciding and implementing, which can have different levels of abstraction. Strategy implementation can be divided into the tasks of determining, choosing, and implementing optimal policies (a.k.a. maximizing an outcome given the available information).
In short, in order to achieve human-level play or at least to play at an acceptable level, humans and machines will need to be able to perform those tasks very well. For this reason, the following set of guidelines can be used to determine which levels of abstraction are required and to help guide implementation of algorithms.
Level 1: Constraints, or Rules of Reasoning
First, all goals will be based on our existing knowledge. What this means is that decisions based on our existing understanding of the game (or the current game state) will require understanding of the rules of the game and the way the game was constructed. We call this decision making within the constraints.
In the game of Go, the game structure and game rules are very simple and so it is very easy to analyze a game and determine the correct next move given the game states. This requires little to no explanation of what goes on in the game. It is, however, necessary to understand the rules in the game. Thus, any decision making that involves interpretation must be included in this category.
Level 2: Explanation: Making Decisions (or Constraints)
Second, in order to understand how the various decisions in a game are made, or in other words, in order to explain what decision is being made, we again require information about the game. We call this reasoning based on explanation.
A key consideration is that this kind of behavior is based on reasoning about the rules of the game. In fact, making a decision is actually based on taking into account the actions of other players in the game. To make decisions on this level, players and AI are constantly communicating with each other as they attempt to understand each other’s moves and strategies and also try to anticipate any possible attack. It is the communication between players and that between AI that makes it possible to use such communication algorithms for decision making.
In any case, given the amount of communication between players (typically over the internet), understanding must be possible in order to make decisions.
Level 2a: Communication, or Interpretation
After we have some basic grasp of how an AI can make decisions, we need some way to communicate those decisions back to our player. First, the player may not be able to directly communicate with an AI in most situations. However, a simple communication channel, such as a voice or an internet connection, is fine for this purpose. We call this communication interpretation.
Secondly, a system for making predictions may also need to be implemented. We call this prediction interpretation. Again, once we have an understanding of AI’s decisions, we can use these to predict those decisions based on our own game state. Finally, in order to communicate with an AI, we need to have some means of communication itself. As we saw above, communication within our game or between our game actions and an AI is possible with communication that is not based on analysis but on interpretation.
Level 2b: Computation: Conjoining, Combining or Interpreting
Once we have communication and analysis going on within our game, we must have computing or simulating our AI’s actions in order for it to make an intelligent choice.
With all this in mind. Ai has finally beaten the best of the best in a game that was always described as unbeatable by computers. Remember it wasn’t just a computer program that won. It was a piece of software that learnt the game over and over again until it knew how to win. Like a human would learn by his or her mistakes. So, this opens up the world of Ai to anything. In theory computers could possibly take over most human tasks. Furthermore, could it be possible that computers truly can beat us and do it better?