edu.columbia.cs.coms4701.search
Interface GraphSearch<K extends AgentAction,S extends AgentState>

All Superinterfaces:
SearchAlgorithm<K,S>, TreeSearch<K,S>

public interface GraphSearch<K extends AgentAction,S extends AgentState>
extends TreeSearch<K,S>

Search Algorithm (variation on the TreeSearch) which maintains a closed list of every expanded node.

The GraphSearch can be much more efficient than TreeSearch on problems with many repeated states, since its complexity is proportional to the size of the state space (rather than of the search tree).

Version:
0.1

User: aaron Date: Sep 11, 2006 Time: 9:48:53 PM

Author:
aaron@cs

Method Summary
 java.util.List<K> graphSearch(SearchProblem<K,S> theSearchProblem, SearchStrategy<K,S> theStrategy)
          An alias for #treeSearch
 
Methods inherited from interface edu.columbia.cs.coms4701.search.TreeSearch
expand, solution, treeSearch
 
Methods inherited from interface edu.columbia.cs.coms4701.search.SearchAlgorithm
search
 

Method Detail

graphSearch

java.util.List<K> graphSearch(SearchProblem<K,S> theSearchProblem,
                              SearchStrategy<K,S> theStrategy)
An alias for #treeSearch

graphSearch should just call the #treeSearch implementation; but is provided as a better mnemonic.

Parameters:
theSearchProblem -
theStrategy -
Returns:
a list of actions that will solve the problem