← Back to Home

CITS3011 - Lecture 1
Uninformed Search - Slides

State Space Graph

  • State space graph is a formal representation of a search problem

    • Nodes are states
    • Edges are successor functions

Search Tree

  • Search tree is a tree of plans, searching on a state space graph
    • Represents paths in the state space graph
    • In the tree, each state can appear multiple times

  • Nodes represent states

    • Starting state is the root
    • Children are from the successor function
  • Path cost is the accumulative cost along the path

See more: Trees

Uniformed Search Strategies

  • Breadth-First Search (BFS) is a traversal technique that explores rooted trees and graphs layer by layer
    • Vertices are separated in different levels
    • Begins at a starting vertex

As BFS explores, edges get classified:

  • Discovery edge leads to an unexplored vertex
  • Cross edge connects two already-visited vertices at the same or adjacent level

Link to original

Uniform cost search (UCS) is an uninformed search function that always expands the lowest-cost node next in a weighted graph. It uses a priority queue.

If it encounters a node it has already discovered and the new path to it is cheaper, it updates it with the lower cost in the queue.

centre
The goal node is only checked when it is popped from the queue, which ensures that the cheapest path to the goal is found. Thus, UCS is complete and optimal (as long as all step-costs ).

UCS has the trade-off of being expensive:

Time ComplexitySpace Complexity
is the maximum amount of steps and is the branching factor. Alternatively, the time/space complexity can be described as , where is the number of tree nodes with cost less than optimum.


  • Depth-first search (DFS) is a traversal technique used commonly for rooted trees and graphs
    • It explores as deeply as possible before backtracking
    • For rooted trees, it starts at the root and traverses to a leaf

As DFS explores, edges get classified:

  • Discovery edge leads to an unexplored vertex
    • Forms the DFS spanning tree
  • Back edge leads to an already-visited vertex
    • Indicates a cycle in the graph

DFS of a graph , must start at a vertex, known as

  • If we encounters every vertex in the graph, then is a connected graph
  • Otherwise, DFS must be called for every connected component of

Link to original

  • Variant of depth-first search, but with a cut-off depth
  • Works well when you have limited resources
  • Repeated depth-limited search, with increasing cut-offs
  • Generally, a good default search algorithm

centre

Time ComplexitySpace Complexity
  • Search from both ends (initial state and goal state)
  • Usually expands many fewer modes than unidirectional
  • Raises many other difficulties (e.g. goal state may be unknown)
Time ComplexitySpace Complexity

CITS3011 - Lecture 3