Introduction to Artificial Intelligence

[SIZE=5][FONT=Arial Black]Current Status:[/FONT][/SIZE]

Update: April 25, 2011
Finished “DFS + BFS introduction”. Will be writing their implementation and usage next.

Update: April 22, 2011
Writing “AI As Search”. I will adding actual implication of the queue soon as it requires heap implication which can be tricky. I am trying to find a faster way to do the array since AS3’s Array object contain many advanced features such as splicing. However, I do not know the bench mark as any AI requires EVERY bit of power you need!

Update: Jan. 11, 2011
Hey guys, sorry for all the delay! I actually got a new computer over the holiday simply because I got an i7 960 for $99!!! Awesome deal :slight_smile: Anyways, I am back! I will definitely continue writing more AI guide and hopefully I won’t confuse whole bunch of you.

[SIZE=5][FONT=Arial Black]History:[/FONT][/SIZE]
[LIST]
[*]Jan. 11, 2011 - Creates history; added section 2.1.5, 2.2
[/LIST]

[SIZE=5][FONT=Arial Black]Introduction to Artificial Intelligence[/FONT][/SIZE]

Hello guys, there seem to be a really old AI guide (LINK) that hasn’t been updated in a long time! Therefore, I have decided to write a guide that will give you guys a board sense of what the field of Artificial Intelligence is.

[SIZE=4][FONT=Arial Black]What to expect[/FONT][/SIZE]
[LIST]
[]AS3 implementation and explanation of Advanced Data Structures (ArrayList, LinearLinkedList, CircularLinkedList, DoubleLinkedList CicularDoubleLinkedList, Stack, Queue)
[
]Fundamental concepts and theory about AI
[]Pseudo codes (might include AS3 version)
[
]Complexity analysis
[*]Basic Applications
[/LIST]

[SIZE=4][FONT=Arial Black]What NOT to expect[/FONT][/SIZE]
[LIST]
[*]Tutorial on how to apply these knowledge to SPECIFIC game
[/LIST]

[SIZE=5][FONT=Arial Black]Topics Covered[/FONT][/SIZE]

[SIZE=4][FONT=Arial Black]Ch. 1 What is AI?[/FONT][/SIZE]
[SIZE=4][FONT=Arial Black]Ch. 2 Search[/FONT][/SIZE]
[SIZE=4][FONT=Arial Black]Ch. 3 Constraints and Features[/FONT][/SIZE]
[SIZE=4][FONT=Arial Black]Ch. 4 Logical Inference[/FONT][/SIZE]
[SIZE=4][FONT=Arial Black]Ch. 5 Uncertainty[/FONT][/SIZE]
[SIZE=4][FONT=Arial Black]Ch. 6 Planning[/FONT][/SIZE]
[SIZE=4][FONT=Arial Black]Ch. 7 Learning[/FONT][/SIZE]

[SIZE=5][FONT=Arial Black]Chapter 1 - What is AI?[/FONT][/SIZE]
[SIZE=4][FONT=Times New Roman]
[SIZE=4][FONT=Arial Black]1.1 Introduction[/FONT][/SIZE]
Obviously AI stands for Artificial Intelligence, and it has been around for a little short of 60 years. While it roots deep in the history of mankind, it is not until the recent 60 years does it start to shine. Many of its research has been widely applied to many and I emphasize many, daily technologies including:
[LIST]
[]Facial Recognition
[
]Voice Recognition
[]Language Recognition (recognizing hand writings and translate into digital forms)
[
]Smart Websites
[]Diagnostic Agents
[
]Path Finding (shortest path, or least-cost path ect.)
[/LIST]
And much more that are not listed here. The reason I do not wish to list more is because they will not make sense until you have learned and understood some of the fundamental concepts in AI.

So what is AI? AI or Artificial Intelligence is the field that studies the synthesis and analysis of computational agents that act intelligently. Naturally we can then ask, what can be defined as intelligent? However, if we go on with this approach, we will end up arguing philosophically; and we all know philosophical arguments take centuries if not forever to end. So, let us just say, an agent acts intelligently when:
[LIST]
[]What it does is appropriate for its circumstances and its goals
[
]It is flexible to changing environment and changing goals
[]It learns from experience
[
]It makes appropriate choices given its computational limit
[LIST]
[]The agent does not have infinite memory
[
]The agent does not have infinite time to react
[/LIST]

[/LIST]
Notice that humans fit under that category as well as artificial agents. However, this does not imply humans are the best representation of intelligence, and therefore AI should not use human intelligence as the end goal. Instead, the scientific goal is to:
[LIST]
[]Understand how intelligent behaviors are possible for both natural and artificial agents
[
]Hypothesize on what it takes to construct intelligent agents
[*]Construct computational systems that can perform tasks that require intelligence
[/LIST]
[SIZE=4][FONT=Arial Black]1.2 Short History[/FONT][/SIZE]
coming soon …

[SIZE=4][FONT=Arial Black]1.3 Reasoning and Acting[/FONT][/SIZE]
There are two board strategies to building an intelligent agent:
[SIZE=4][FONT=Arial Black]1.[/FONT][/SIZE]
[LIST]
[]Simplify environment
[
]Construct complex reasoning systems
[]Able to optimize solutions
[
]Able to prove properties
[]Can “wonder” in the simplified world
[
]Helpless otherwise
[/LIST]
[SIZE=4][FONT=Arial Black]2.[/FONT][/SIZE]
[LIST]
[]Adaptive learning given simple reasoning system
[
]Inspired by insects - able to survive complex environment yet with limited reasoning abilities
[*]Realistic
[/LIST]
These can be decomposed into the following categories:

[SIZE=4][FONT=Arial Black]Modularity[/FONT][/SIZE]
[LIST]
[]Can they system be decomposed to interacting modular piece?
[
]Is the system hierarchical? (modular organization)
[]Is the system flat? (No organizational structural)
[/LIST]
[SIZE=4][FONT=Arial Black]Representation Scheme[/FONT][/SIZE]
[LIST]
[
]How is the world described?
[]Does it use states or features to represent the world?
[
]Does it use propositions (logical) to represent the world?
[/LIST]
[SIZE=4][FONT=Arial Black]Planning horizon[/FONT][/SIZE]
[LIST]
[]How far ahead does the agent look into? (In a Chess game, how many steps does the agent take into consideration?)
[
]Does the agent only look into a finite future? (Say always 5 moves ahead)
[]Does the agent look indefinitely ahead? (Planning until a specific goal)
[
]Does the agent look ahead infinitely? (Looks ahead forever)
[/LIST]
[SIZE=4][FONT=Arial Black]Uncertainty[/FONT][/SIZE]
[LIST]
[]Does the agent observe the world fully or partially?
[
]Are the effects by an agent’s behavior certain or uncertain? (ie If I move here, I will have 50% (uncertain) chance of winning or 100% (certain))
[/LIST]
[SIZE=4][FONT=Arial Black]Preference[/FONT][/SIZE]
[LIST]
[]How does the agent react facing a trade-off problem? Does it prefer one side or the other?
[/LIST]
[SIZE=4][FONT=Arial Black]Number of agents[/FONT][/SIZE]
[LIST]
[
]Does agents reason in a group or alone?
[]Can they share information back and forth?
[/LIST]
[SIZE=4][FONT=Arial Black]Learning[/FONT][/SIZE]
[LIST]
[
]Is knowledge given?
[]Is knowledge learned?
[/LIST]
[SIZE=4][FONT=Arial Black]Computational limits[/FONT][/SIZE]
[LIST]
[
]Does agent consider a simplified solution (may not be 100% correct) given limits of its RAM, and processing speed?
[*]Should the agent ignore its computational limit?
[/LIST]

While the above list is a good guide to how to prepare the construction of an agent, it is not very specific. So let’s break them down. The problems in AI can be divided into 2D graph:

As you can see, Search takes up 50% of the topics! Therefore, we will begin with some representation techniques and use these techniques to learn how to make an artificial agent by Search. I am sure you will be surprised how much Search can do.
[/FONT][/SIZE]