Skip to content
Sahithyan's S3
1
Sahithyan's S3 — Artificial Intelligence

Uninformed Searching

Methods for exploring state spaces without using domain-specific knowledge about the problem. Aka. blind search.

These algorithms only know how to generate successor states and recognize goal states, but don’t have information about how close they are to a solution.

The average number of successors generated from each node in a search tree or graph. Finite graph implies finite branching factor. Opposite is not necessarily true.

Complete iff search space is finite state space. Wanders off into infinite paths for infinite graphs. Not optimal, returns the first solution it finds.

Covered in detail in DFS on Graphs.

Aka. DDFS. Depth-constrained DFS. Avoids wandering off into infinite paths.

Not complete. Causes a false-negative for nodes far apart. Not optimal. Returns the first solution it finds.

Aka. IDS. Repeatedly runs DDFS with increasing depth limits. Stops when a solution is found. Complete iff finite. Wanders off into infinite for infinite graphs. Optimal iff all action costs are equal. Time complexity comparable to BFS. Space complexity is linear.

Works similar to BFS, but uses much less memory.

Expands the shallowest nodes first. Covered in detail in BFS on Graphs.

Expands 2 frontiers: around initial and goal states. BFS is used because it searches level by level. Stops when the frontiers meet.

Aka. Dijkstra’s algorithm. Fails for graphs with negative weights. Expands the node with the lowest path cost. Optimal for general action costs. Named uniform because it expands nodes in increasing order of path cost.

AlgorithmComplete?Optimal?Time ComplexitySpace Complexity
DFSYes*NoO(V+E)O(V+E) or O(bm)O(b^m)O(V)O(V) or O(bm)O(bm)
DDFSNoNoO(bl)O(b^l)O(bl)O(bl)
IDSYes*Yes**O(bd)O(b^d)O(bd)O(bd)
BFSYes*Yes**O(V+E)O(V+E) or O(bd)O(b^d)O(V)O(V) or O(bd)O(b^d)
BidirectionalYes*Yes**O(bd/2)O(b^{d/2})O(bd/2)O(b^{d/2})
UCSYes*YesO(b1+C/ε)O(b^{1+C/ε}) or O((V+E)logV)O((V+E)\log V)O(b1+C/ε)O(b^{1+C/ε}) or O(V)O(V)

* Iff the graph is finite.
** Iff all costs are equal.

Here:

  • bb - branching factor
  • dd - depth of the shallowest solution
  • mm - maximum depth of the state space
  • ll - depth limit
  • CC - cost of the optimal solution
  • εε - minimum action cost