There are two strands of AI activity. One, a more cognitive approach, seeks to understand how intelligent behaviour arises. That means having a computational platform to test their ideas. The goal is to create intelligent decisions/machines. The other strands approach an engineering approach to Problem solving aspects. The common is they manifest through computer programs.
Using AI for problem solving:
Intelligence is the ability to solve problems. Means having autonomous programs sense it environment and acts independently with a goal and as an agent. There a context exists such that agent can take series of actions to solve a problem exists in that environment. These problems can be approached with or without stored knowledge. When we use search or heuristic approch it is the first method means without no stored knowledge.
Intelligence is obviously about making the right choice and doing the right thing. Agent can do right thing only when the agent knows the situation. It is also associated with the ability to perceive the world around us and comprehend the meaning of signs and symbols, including language; the ability to grasp the situations.
State Space Search:
How to do the right thing at the right time? To solve such a problem on a computer there needed first the representation of the domain (world/environment). The domain will be undergoing variation of states when agend to certain actions. An agent can take differenct (choices) actions in different states. There can be a start state and goal state. The basic technique in AI is to go through the state for a search and take actions appropriate based on some rules. Every time after taking an action perform a test to know whether the goal state has reached. If not measure the performance of the last action and take a decision for the next action (choice).
Simple Search Techniques:
Depth First Search (DFS), Breadth First Search (BFS), Depth First Iterative Deepening (DFID) are simple search techniques. The algorithm assuming that the context (as per the current state) is created as a tree. Start with one node in the tree and traverse through it state by state (node by node). You have two choices, use the