This is an extended side project I took in the free time I had while taking a semester course on AI.
Spoiler : This will just scratch on all concepts (almost) and if you are here for the detailed account of things, well, peace!
AI – Agents and Environments
An agent is anything that can perceive its environment through sensors and acts upon that environment through affectors.
Rules to classify a piece of technology as an agent
1] Ability to perceive environment
2]Ability to use that observation to make decision : In some cases an agent’s responses improve over time as the agent learns.
This could take the form of developing procedural knowledge (learning “how”)
or storing declarative knowledge (learning “what”).
3] That decision will result in positive action : RATIONAL ACTIONS IE, it must be the best possible action to carry out to a goal or task assigned to it. For instance, humans are quiet the opposite, we can carry out options based on emotions, thereby we are NOT rational.
Now come to think of it, what really carries forth the AI ? That provides for the foundation of it’s entire working principle- Feedback ! Good and bad feedback on it’s every action to corresponding changes in the environment. This enables it to “learn” and get better at what it is aimed to do. A more relevant example is that of modern day games. While most characters inside the game are dynamic objects with scripted play on screen-time, there are certain characters, objects that respond to user action and sequences, that makes the game more responsive. Mario the classic ! isn’t really intelligent (no offence) . The agents in it are mere scripts in object representation, not having the ability to respond to user action.Whilst characters in a fight sequence in the Assassins creed series or Witcher III are more advanced ones, with the ability to ‘respond‘. Talking about AI in games, its a surprisingly interesting topic. Here’s a little something to start you of on it. Ever wondered what would happen if multiple AI within a single game, both equipped with the power of understanding the environment carry out actions and stumble upon common ground ? Ever wondered what would happen to a game franchise such as the Assassins creed had AI so vastly learning and improving over chapters that they turn out to do humanly impossible feat against the players, thereby breaking the image around which the game is built. While doing research on the same in the internet I stumbled across this awesome startup piece on AI, here have a look
The Turing test
Can computers think ? If so, what amount of thinking is the right amount of thinking?
In the year 1950, Allan Turing devised this test for defining a system to be a AI. Technically a test for intelligence in a computer, requiring that a human being should be unable to distinguish the machine from another human being by using the replies to questions put to both. But that was a long time ago, and many loopholes such as adding funny gestures and trickery lets the system pass the test. At the same time, immensely more intelligent systems found in our phones and computers as sub-programs or as mentioned above, AI in games have no way of passing the test. So it time to amend it? Maybe !
Perception in AI
An all important field in AI is perception of the AI to its environment. I have come up with a short flow-chart on the same bordering along the more important details.
Now I am guessing its safe to assume everything else pardoning semantic and syntactic analysis is self explanatory, I will go ahead and explain the latter.
Another level of analysis is called semantic analysis. In contrast to the
parsing process, which merely identifies the grammatical role of each word,
semantic analysis is charged with the task of identifying the semantic role of
each word in the statement. Semantic analysis seeks to identify such things as
the action described, the agent of that action (which might or might not be the
subject of the sentence), and the object of the action. It is through semantic
analysis that the sentences “Mary gave John a birthday card” and “John got a
birthday card from Mary” would be recognized as saying the same thing.
In syntactic analysis, the major component is parsing. The ability to understand the subject in context of the sentence.
The development of reasoning abilities within a machine has been a topic of
research for many years. One of the results of this research is the recognition
that there is a large class of reasoning problems with common characteristics.
These common characteristics are isolated in an abstract entity known as a
production system. Now the production system is broadly classified into three more components (with sub-components) .
- A collection of states : Each vital point in the run-time of the program is a state. Like how start and end of a journey are vital points in its description, we similarly define them for a program.
- A collection of productions : A production is an operation
that can be performed in the application environment to move from one
state to another. Along with the complexities of the movement from one state to another, it must additionally also not clash with existing rules and other production units even though it might not be explicitly mentioned as necessary for proceeding to different states.
- A control system : So that is where control systems come in. They consists of the logic that solves the problem of moving from the start state to goal state. At each step in the process control system must decide which of these productions whose preconditions are satisfied to be applied next.
A note-worthy concept in control systems is that of the problem space, it is defined as collection of all the states, productions, and preconditions in a production system.
Now wouldn’t such a concept be best understood visually , it is brought about by state graphs, which do just the same!
A state graph consists of a collection of nodes representing the states in the system connected by arrows representing the productions that shift the system from one state to another.
Well seems this has already extended on to become a large article, so will leave it here for now. In future posts you can expect a continuation on this article and certain insights into AI in games. Until next ciao.