Skip to content
Sahithyan's S3
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.

Algorithms

Expands the node with the lowest path cost. Optimal for general action costs.

Not complete, but complete for finite state space. Not optimal, returns the first solution it finds.

Calls DFS with increasing depth limits, until a solution is found. Complete if finite and acyclic. Optimal for unit action costs. Time complexity comparable to BFS. Space complexity is linear.

Depth-limited DFS

A version of DFS with a depth limit ll. Keeps DFS from wandering off into infinite paths.

Not complete. For lower ll, it may not find a solution. Not cost optimal, returns the first solution it finds.

Expands the shallowest nodes first.

Expands 2 frontiers, both around the initial state and the goal, stopping when the two frontiers meet.

Comparison

AlgorithmComplete?Optimal?Time ComplexitySpace Complexity
BFSYes (if b is finite)Yes (iff costs are uniform)O(bd)O(b^d)O(bd)O(b^d)
Uniform CostYes (if b is finite)YesO(b1+C/ε)O(b^{1+C/ε})O(b1+C/ε)O(b^{1+C/ε})
DFSNo*NoO(bm)O(b^m)O(bm)O(bm)
Depth-limitedNoNoO(bl)O(b^l)O(bl)O(bl)
Iterative DeepeningYesYes (if costs are uniform)O(bd)O(b^d)O(bd)O(bd)
BidirectionalYesYes (if costs are uniform)O(bd/2)O(b^{d/2})O(bd/2)O(b^{d/2})

*Yes for finite state spaces.

Here:

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