imp42 Profile Blog Joined November 2010 398 Posts Last Edited: 2016-11-23 15:40:40 #1 Towards a good StarCraft bot - Part 5 - "Human Intelligence (1/2)"



Summary:

+ Show Spoiler + A short overview over the executive functions (cognitive capabilities) I consider most relevant for StarCraft players - human or artificial.



While Neural Nets keep me busy, it is a good time for a change of perspective. If we want good Artificial Intelligence bots, what can we copy from Human Intelligence? How do humans work?



That is obviously a very broad question. It involves many different subfields. Here, I pick some aspects that I personally consider important and related to the ability to play games like StarCraft on a high level.



What is human intelligence?

There are many different definitions. So, I just pick one that suits my purpose: human intelligence is the intellectual capacity characterized by perception, consciousness, self-awareness, and volition. It gives humans the cognitive abilities to learn, form concepts, understand, and reason.



Can intelligence be measured?

As the definition of intelligence suggests, there are several dimensions to intelligence. However, there is a notion of general intelligence called “g” or “g factor”. Supporters of this notion believe “g” to be a good metric because it summarizes performance among different cognitive tasks. Many different tests have been developed around such cognitive tasks, to capture the dimensions of intelligence. One test that is believed to be positioned at the center of all those dimensions is called the Raven Progressive Matrices test. This shown in the following illustration:





Figure taken from: Carpenter, P. A., Just, M. A., & Shell, P. (1990). What one intelligence test measures: a theoretical account of the processing in the Raven Progressive Matrices Test. Psychological Review, 97(3), 404–431.



Executive functions

As we learned, intelligence gives us the cognitive abilities required to e.g. play a game of StarCraft. There are ways to measure intelligence and tests have been developed in an attempt to do so. Many tests attempt to capture dimensions of intelligence by measuring performance of a set of execute functions. Executive functions are a set of cognitive processes highly relevant to how well we play StarCraft*. Because these cognitive processes include attentional control, working memory, reasoning, problem solving, and (very important) planning.



* + Show Spoiler + On a side note, the same processes are also highly relevant in assessments to identify high-potentials and future leaders in corporates. But we don’t really care about that, right?



Let me elaborate a bit and put each of the mentioned processes into the context of playing a game of StarCraft:



Attentional control: the capacity to choose what to pay attention to and what to ignore. Clearly relevant when perceiving all the graphical (and audio) input from the game. Indicators of mineral/gas income, max supply/used supply, health bars, moving dots on the mini-map, etc. etc. This also includes the ability not to pay attention to the nice reflections in the water or the cute animation of the critter.



Working memory: the system responsible for holding, processing, and manipulating information. There are only so many things we can keep in our working memory at once. A rough estimation is 5 +/- 2 (i.e. between 3 and 7). This implies even the best player is prone to make mistakes when he needs to deal with more than 7 issues simultaneously. Cleary StarCraft overburdens human working memory, so we need to be selective (see attentional control).



Reasoning: the capacity to apply logic and establish facts and beliefs. “If we are at the t minute mark in the game and the opponent already has x units of type y out, then he can impossibly have any units of type z” is an example of such reasoning. Or more simply: “My scout arrives at his base and the base is empty -> he must have a proxy somewhere”.



Problem solving: The capacity to use generic or ad hoc methods to find solutions to problems. Let’s say you played ladder some years ago and ran into a player called “Gaulzi”. You would immediately know he _only_ does cannon rushes. And sure enough, you find a pylon warping in behind your mineral line. Since you already knew it was coming you can apply a generic “defend against canon rushes” method, even though you may have never faced the exact same situation (same map, same spots, pylon on the same tile, etc.) before. Let’s now assume you ran into TLO in the early days. You might end up playing against something you have never seen before. Your ability to come up with an answer on the spot is referred to as ad-hoc problem solving.



Planning: the capacity to think about and organize activities required to achieve a required goal. In StarCraft it is very beneficial to have a goal in mind _before_ entering the game (precisely because we’re not good enough at planning while we have to perform all the other cognitive tasks at the same time). Still, we definitely need to be able to adjust our plan once we encounter a deviation in the game state that makes our initial plan infeasible. People good at planning can come up with very efficient build orders or are able to optimally exploit a given map.



Conclusion

I have given you a short overview of some cognitive capabilities I consider very relevant in the context of StarCraft. On one hand, it is a very narrow selection and I haven’t even touched concepts like perception or learning yet. On the other hand, each of the mentioned cognitive capabilities is a research field in its own right and there is no way to give them justice in a blog post. If you are interested, please take this post as a pointer for your own investigations. I am sure you can also benefit as a human player.



If we want to create a successful bot, we need to master the presented cognitive capabilities in one way or another. In a next post, I will attempt to map the cognitive capabilities to attributes of an artificial intelligence, compare strengths and weaknesses and hopefully lay out a road map to cover current deficiencies of bots.



Disclaimer

Although I did deal with this subject in-depth for a good while, I am not a Neuroscientist. Apart from a 3-digit number of published scientific papers that I read I do also rely on Wikipedia as a source.







Summary:While Neural Nets keep me busy, it is a good time for a change of perspective. If we want good Artificial Intelligence bots, what can we copy from Human Intelligence? How do humans work?That is obviously a very broad question. It involves many different subfields. Here, I pick some aspects that I personally consider important and related to the ability to play games like StarCraft on a high level.There are many different definitions. So, I just pick one that suits my purpose: human intelligence is the intellectual capacity characterized by perception, consciousness, self-awareness, and volition. It gives humans the cognitive abilities to learn, form concepts, understand, and reason.As the definition of intelligence suggests, there are several dimensions to intelligence. However, there is a notion of general intelligence called “g” or “g factor”. Supporters of this notion believe “g” to be a good metric because it summarizes performance among different cognitive tasks. Many different tests have been developed around such cognitive tasks, to capture the dimensions of intelligence. One test that is believed to be positioned at the center of all those dimensions is called the Raven Progressive Matrices test. This shown in the following illustration:Figure taken from: Carpenter, P. A., Just, M. A., & Shell, P. (1990).. Psychological Review, 97(3), 404–431.As we learned, intelligence gives us the cognitive abilities required to e.g. play a game of StarCraft. There are ways to measure intelligence and tests have been developed in an attempt to do so. Many tests attempt to capture dimensions of intelligence by measuring performance of a set of execute functions. Executive functions are a set of cognitive processes highly relevant to how well we play StarCraft*. Because these cognitive processes include attentional control, working memory, reasoning, problem solving, and (very important) planning.Let me elaborate a bit and put each of the mentioned processes into the context of playing a game of StarCraft:: the capacity to choose what to pay attention to and what to ignore. Clearly relevant when perceiving all the graphical (and audio) input from the game. Indicators of mineral/gas income, max supply/used supply, health bars, moving dots on the mini-map, etc. etc. This also includes the abilityto pay attention to the nice reflections in the water or the cute animation of the critter.: the system responsible for holding, processing, and manipulating information. There are only so many things we can keep in our working memory at once. A rough estimation is 5 +/- 2 (i.e. between 3 and 7). This implies even the best player is prone to make mistakes when he needs to deal with more than 7 issues simultaneously. Cleary StarCraft overburdens human working memory, so we need to be selective (see attentional control).: the capacity to apply logic and establish facts and beliefs. “If we are at the t minute mark in the game and the opponent already has x units of type y out, then he can impossibly have any units of type z” is an example of such reasoning. Or more simply: “My scout arrives at his base and the base is empty -> he must have a proxy somewhere”.: The capacity to use generic or ad hoc methods to find solutions to problems. Let’s say you played ladder some years ago and ran into a player called “Gaulzi”. You would immediately know he _only_ does cannon rushes. And sure enough, you find a pylon warping in behind your mineral line. Since you already knew it was coming you can apply a generic “defend against canon rushes” method, even though you may have never faced the exact same situation (same map, same spots, pylon on the same tile, etc.) before. Let’s now assume you ran into TLO in the early days. You might end up playing against something you have never seen before. Your ability to come up with an answer on the spot is referred to as ad-hoc problem solving.: the capacity to think about and organize activities required to achieve a required goal. In StarCraft it is very beneficial to have a goal in mind _before_ entering the game (precisely because we’re not good enough at planning while we have to perform all the other cognitive tasks at the same time). Still, we definitely need to be able to adjust our plan once we encounter a deviation in the game state that makes our initial plan infeasible. People good at planning can come up with very efficient build orders or are able to optimally exploit a given map.I have given you a short overview of some cognitive capabilities I consider very relevant in the context of StarCraft. On one hand, it is a very narrow selection and I haven’t even touched concepts like perception or learning yet. On the other hand, each of the mentioned cognitive capabilities is a research field in its own right and there is no way to give them justice in a blog post. If you are interested, please take this post as a pointer for your own investigations. I am sure you can also benefit as a human player.If we want to create a successful bot, we need to master the presented cognitive capabilities in one way or another. In a next post, I will attempt to map the cognitive capabilities to attributes of an artificial intelligence, compare strengths and weaknesses and hopefully lay out a road map to cover current deficiencies of bots.Although I did deal with this subject in-depth for a good while, I am not a Neuroscientist. Apart from a 3-digit number of published scientific papers that I read I do also rely on Wikipedia as a source. 50 pts Copper League