# Searching Algorithms in AI

Searching Algorithms in AI

Depth-first search (DFS) is an algorithm for traversing or searching tree or graph data structures. The algorithm starts at the root node ...

What you'll learn

• Basic Search Algorithms used in AI.
• Breadth-first search. Uniform cost search. Depth-first search. Iterative deepening depth-first search. Bidirectional Search.

Requirements

• Basic of Data Structure.

Description

Searching is the universal technique of problem solving in AI. There are some single-player games such as tile games, Sudoku, crossword, etc. The search algorithms help you to search for a particular position in such games.

Single Agent Pathfinding Problems

The games such as 3X3 eight-tile, 4X4 fifteen-tile, and 5X5 twenty four tile puzzles are single-agent-path-finding challenges. They consist of a matrix of tiles with a blank tile. The player is required to arrange the tiles by sliding a tile either vertically or horizontally into a blank space with the aim of accomplishing some objective.

The other examples of single agent pathfinding problems are Travelling Salesman Problem, Rubik’s Cube, and Theorem Proving.

Search Terminology

1. · Problem Space − It is the environment in which the search takes place. (A set of states and set of operators to change those states)
2. · Problem Instance − It is Initial state + Goal state.
3. · Problem Space Graph − It represents problem state. States are shown by nodes and operators are shown by edges.
4. · Depth of a problem − Length of a shortest path or shortest sequence of operators from Initial State to goal state.
5. · Space Complexity − The maximum number of nodes that are stored in memory.
6. · Time Complexity − The maximum number of nodes that are created.
7. · Admissibility − A property of an algorithm to always find an optimal solution.
8. · Branching Factor − The average number of child nodes in the problem space graph.
9. · Depth − Length of the shortest path from initial state to goal state.

Brute-Force Search Strategies

They are most simple, as they do not need any domain-specific knowledge. They work fine with small number of possible states.

Requirements −

• State description
• A set of valid operators
• Initial state
• Goal state description

Who this course is for:

• Engineering Student, Professional etc