# Artificial Intelligence: A Modern Approach

Atomic Representation

States of world consider whole with no internal structure visible to the problem solving algorithm.

Problem Solving Agent

An agent that uses atomic representation to solve problems.

Planning agent

An goal-based agent that uses factored or structures representations.

Uninformed Search

Algorithms that are given no information about the problem other than its definition.

Informed Search

Algorithms that are given some guidance on where to look for solutions or knows if a state is more promising than another. uses problem-specific knowledge beyond the definition of the problem

Goal formulation

Based on the current situation and the agent’s performance measure. The first step of problem solving.

Goal

A desired outcome that is used to limit what an agent can and will do.

Problem Formulation

The process of deciding what actions and states to consider, given a goal.

Search

The process of looking for a sequence of actions that reaches the goal.

Solution

The output in the form of a action sequence of a search algorithm that takes a problem as input. A path from the initial state to the goal state by actions through the state space.

Execution

Performing the action sequence recommended by a solution.

Open-loop

Ignoring the percepts received from an environment because the agent already knows what will happen based on the solution.

Problem

Consists of Five Components:

1. Initial State

2. Actions

3. Transition Model

4. Path Cost

1. Initial State

2. Actions

3. Transition Model

4. Path Cost

Initial State

The state the agent starts in.

Actions

Possible moves that an agent can make in its current state. They are applicable given the state

Transition Model

A description of what each action does.

Successor

The result states reachable from a given state by performing an action.

State Space

Initial state, Actions, Transition Model. Represented by a graph. A path though this is a sequence of states connected by a sequence of actions.

Goal Test

Determines if a given state is a goal state.

Path cost

A function that assigns a numeric cost to each path. Step cost is the cost of moving from a state by an action to its successor.

Optimal Solution

The path with the lowest path cost among all solutions.

Abstraction

Removing details from a representation.

Search Tree

A graph with the initial state as the root, actions as branches, and successor states as nodes.

Expanding

Applying Legal actions to the current state.

Generating

Creating a new set of states by performing an action on a given node.

Parent Node

The predecessor(s) of a given node

Child Node

The successor(s) of a given node

Leaf Node

A node with no children

Frontier

The set of all leaf node available for expansion at a given point. As known as open list.

Search Strategy

The the search algorithm’s decision of which node to next.

Repeated State

A state that is exactly the same as a state previously expanded. Lead to by a loopy path.

Redundant Paths

More than one way to get from one state to another.

Explored Set

The set of all states that have been expanded. AKA closed list.

Completeness

Is the algorithm guaranteed to find a solution when there is one.

Optimality

Does the strategy find the optimal solution?

Time Complexity

How long does it take to find a solution?

Space Complexity

How much memory is needed to perform the search?

Branching Factor

The maximum number of successors of any node.

Depth

The number of steps along the path from any node.

Total Cost

The path cost plus the search cost which is the time complexity but can including the space somplexity.

Breadth-First Search

A strategy in which the root node is expanded first, then all the successors of the root node are expanded next, then their successors etc. Complete if goal is at finite depth. Optimal if path cost is non decreasing. Not practical considering time and space.

Uniform-cost search

Expands the node with the lowest path cost. Done by storing the frontier as a priority queue. Goal test applied during expansion not generation. Expands nodes in order of optimality. Complete as long as every step cost is greater than some small positive constant.

Depth-first search

Expands the deepest node. Implemented using a LIFO queue. Not optimal. Low space complexity.

Backtracking Search

A depth-first search that only generates one successor at a time.

Depth-limited search

A depth first search with a predetermined depth limit. Incomplete if limit is less than depth. Not optimal if limit is greater than depth.

Diameter

The number of steps to reach any other state from the current state.

Iterative Deepening Search

A depth limited search that gradually increases the limit. Generates states multiple times.

Bidirectional Search

Two searches: one forward form the root and one backward form the goal. Goal test replaced with frontier intersect test. Requires a method of computing predecessors.

Best-first search

Expands nodes base on evaluation function. Use priority queue with estimated cost.

Heuristic Function

Estimated cost of the cheapest path form the state as node to a goal state.

Greedy Best First Search

Expands the node that is closest to the goal. Incomplete even if finite

A* Search

Evaluates nodes by combining cost to get to node and the estimated cost to get from node to goal. Estimated cost of getting to goal through node. Complete and optimal. Tree is optimal if admissible. Graph is optimal if consistent

Admissible Heuristic

A heuristic that never overestimates the cost to reach the goal.

Consistency

AKA monotonicity. The cost of every successor of a node by an action is not great than the step cost from the successor plus the cost of reaching the goal from the successor.

Pruned

Eliminating possibilities from consideration without having to examine them

Iterative Deepening A*

Uses f-cost as limit. Each iteration uses smallest f-cost that exceeds last iteration

Recursive best-first search

uses f-limit variable to keep track of best alternative path from any ancestor of the current node. Replaces f-value with best f-value of nodes children.

SMA*

Drops the node with the highest f-value when memory is full. Backs up forgotten node f-value to its parent.

relaxed Problem

A problem with fewer restrictions on the actions.

Pattern Database

Storing the exact solution cost all possible solutions to subproblem instance.

disjoint pattern database

The combination of two or more subproblem pattern databases which includes all of one and all the solutions that involve moves of the others.

Subproblem

Problem definitions with a more general goal than the original problem definitions