PageRenderTime 34ms CodeModel.GetById 1ms RepoModel.GetById 0ms app.codeStats 0ms

/aima-all/release/javadoc/aima-core/aima/core/search/framework/GraphSearch.html

http://aima-java.googlecode.com/
HTML | 446 lines | 378 code | 45 blank | 23 comment | 0 complexity | 092f4d894825d410a3c4920de61330b2 MD5 | raw file
Possible License(s): GPL-3.0, Apache-2.0
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <!--NewPage-->
  3. <HTML>
  4. <HEAD>
  5. <!-- Generated by javadoc (build 1.6.0_20) on Sun Jan 08 15:29:13 PST 2012 -->
  6. <TITLE>
  7. GraphSearch
  8. </TITLE>
  9. <META NAME="date" CONTENT="2012-01-08">
  10. <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
  11. <SCRIPT type="text/javascript">
  12. function windowTitle()
  13. {
  14. if (location.href.indexOf('is-external=true') == -1) {
  15. parent.document.title="GraphSearch";
  16. }
  17. }
  18. </SCRIPT>
  19. <NOSCRIPT>
  20. </NOSCRIPT>
  21. </HEAD>
  22. <BODY BGCOLOR="white" onload="windowTitle();">
  23. <HR>
  24. <!-- ========= START OF TOP NAVBAR ======= -->
  25. <A NAME="navbar_top"><!-- --></A>
  26. <A HREF="#skip-navbar_top" title="Skip navigation links"></A>
  27. <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
  28. <TR>
  29. <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
  30. <A NAME="navbar_top_firstrow"><!-- --></A>
  31. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  32. <TR ALIGN="center" VALIGN="top">
  33. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  34. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  35. <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  36. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  37. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  38. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  39. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  40. </TR>
  41. </TABLE>
  42. </TD>
  43. <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
  44. </EM>
  45. </TD>
  46. </TR>
  47. <TR>
  48. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  49. &nbsp;<A HREF="../../../../aima/core/search/framework/GoalTest.html" title="interface in aima.core.search.framework"><B>PREV CLASS</B></A>&nbsp;
  50. &nbsp;<A HREF="../../../../aima/core/search/framework/HeuristicFunction.html" title="interface in aima.core.search.framework"><B>NEXT CLASS</B></A></FONT></TD>
  51. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  52. <A HREF="../../../../index.html?aima/core/search/framework/GraphSearch.html" target="_top"><B>FRAMES</B></A> &nbsp;
  53. &nbsp;<A HREF="GraphSearch.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
  54. &nbsp;<SCRIPT type="text/javascript">
  55. <!--
  56. if(window==top) {
  57. document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  58. }
  59. //-->
  60. </SCRIPT>
  61. <NOSCRIPT>
  62. <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
  63. </NOSCRIPT>
  64. </FONT></TD>
  65. </TR>
  66. <TR>
  67. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  68. SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_aima.core.search.framework.QueueSearch">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
  69. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  70. DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
  71. </TR>
  72. </TABLE>
  73. <A NAME="skip-navbar_top"></A>
  74. <!-- ========= END OF TOP NAVBAR ========= -->
  75. <HR>
  76. <!-- ======== START OF CLASS DATA ======== -->
  77. <H2>
  78. <FONT SIZE="-1">
  79. aima.core.search.framework</FONT>
  80. <BR>
  81. Class GraphSearch</H2>
  82. <PRE>
  83. java.lang.Object
  84. <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../aima/core/search/framework/NodeExpander.html" title="class in aima.core.search.framework">aima.core.search.framework.NodeExpander</A>
  85. <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../aima/core/search/framework/QueueSearch.html" title="class in aima.core.search.framework">aima.core.search.framework.QueueSearch</A>
  86. <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>aima.core.search.framework.GraphSearch</B>
  87. </PRE>
  88. <HR>
  89. <DL>
  90. <DT><PRE>public class <B>GraphSearch</B><DT>extends <A HREF="../../../../aima/core/search/framework/QueueSearch.html" title="class in aima.core.search.framework">QueueSearch</A></DL>
  91. </PRE>
  92. <P>
  93. Artificial Intelligence A Modern Approach (3rd Edition): Figure 3.7, page 77. <br>
  94. <br>
  95. <pre>
  96. function GRAPH-SEARCH(problem) returns a solution, or failure
  97. initialize the frontier using the initial state of problem
  98. initialize the explored set to be empty
  99. loop do
  100. if the frontier is empty then return failure
  101. choose a leaf node and remove it from the frontier
  102. if the node contains a goal state then return the corresponding solution
  103. add the node to the explored set
  104. expand the chosen node, adding the resulting nodes to the frontier
  105. only if not in the frontier or explored set
  106. </pre>
  107. Figure 3.7 An informal description of the general graph-search algorithm.
  108. <P>
  109. <P>
  110. <DL>
  111. <DT><B>Author:</B></DT>
  112. <DD>Ravi Mohan, Ciaran O'Reilly</DD>
  113. </DL>
  114. <HR>
  115. <P>
  116. <!-- =========== FIELD SUMMARY =========== -->
  117. <A NAME="field_summary"><!-- --></A>
  118. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  119. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  120. <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
  121. <B>Field Summary</B></FONT></TH>
  122. </TR>
  123. </TABLE>
  124. &nbsp;<A NAME="fields_inherited_from_class_aima.core.search.framework.QueueSearch"><!-- --></A>
  125. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  126. <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
  127. <TH ALIGN="left"><B>Fields inherited from class aima.core.search.framework.<A HREF="../../../../aima/core/search/framework/QueueSearch.html" title="class in aima.core.search.framework">QueueSearch</A></B></TH>
  128. </TR>
  129. <TR BGCOLOR="white" CLASS="TableRowColor">
  130. <TD><CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html#METRIC_MAX_QUEUE_SIZE">METRIC_MAX_QUEUE_SIZE</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#METRIC_PATH_COST">METRIC_PATH_COST</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#METRIC_QUEUE_SIZE">METRIC_QUEUE_SIZE</A></CODE></TD>
  131. </TR>
  132. </TABLE>
  133. &nbsp;<A NAME="fields_inherited_from_class_aima.core.search.framework.NodeExpander"><!-- --></A>
  134. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  135. <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
  136. <TH ALIGN="left"><B>Fields inherited from class aima.core.search.framework.<A HREF="../../../../aima/core/search/framework/NodeExpander.html" title="class in aima.core.search.framework">NodeExpander</A></B></TH>
  137. </TR>
  138. <TR BGCOLOR="white" CLASS="TableRowColor">
  139. <TD><CODE><A HREF="../../../../aima/core/search/framework/NodeExpander.html#METRIC_NODES_EXPANDED">METRIC_NODES_EXPANDED</A>, <A HREF="../../../../aima/core/search/framework/NodeExpander.html#metrics">metrics</A></CODE></TD>
  140. </TR>
  141. </TABLE>
  142. &nbsp;
  143. <!-- ======== CONSTRUCTOR SUMMARY ======== -->
  144. <A NAME="constructor_summary"><!-- --></A>
  145. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  146. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  147. <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
  148. <B>Constructor Summary</B></FONT></TH>
  149. </TR>
  150. <TR BGCOLOR="white" CLASS="TableRowColor">
  151. <TD><CODE><B><A HREF="../../../../aima/core/search/framework/GraphSearch.html#GraphSearch()">GraphSearch</A></B>()</CODE>
  152. <BR>
  153. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  154. </TR>
  155. </TABLE>
  156. &nbsp;
  157. <!-- ========== METHOD SUMMARY =========== -->
  158. <A NAME="method_summary"><!-- --></A>
  159. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  160. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  161. <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
  162. <B>Method Summary</B></FONT></TH>
  163. </TR>
  164. <TR BGCOLOR="white" CLASS="TableRowColor">
  165. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  166. <CODE>&nbsp;java.util.Comparator&lt;<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&gt;</CODE></FONT></TD>
  167. <TD><CODE><B><A HREF="../../../../aima/core/search/framework/GraphSearch.html#getReplaceFrontierNodeAtStateCostFunction()">getReplaceFrontierNodeAtStateCostFunction</A></B>()</CODE>
  168. <BR>
  169. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  170. </TR>
  171. <TR BGCOLOR="white" CLASS="TableRowColor">
  172. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  173. <CODE>&nbsp;java.util.List&lt;<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&gt;</CODE></FONT></TD>
  174. <TD><CODE><B><A HREF="../../../../aima/core/search/framework/GraphSearch.html#getResultingNodesToAddToFrontier(aima.core.search.framework.Node, aima.core.search.framework.Problem)">getResultingNodesToAddToFrontier</A></B>(<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&nbsp;nodeToExpand,
  175. <A HREF="../../../../aima/core/search/framework/Problem.html" title="class in aima.core.search.framework">Problem</A>&nbsp;problem)</CODE>
  176. <BR>
  177. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  178. </TR>
  179. <TR BGCOLOR="white" CLASS="TableRowColor">
  180. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  181. <CODE>&nbsp;<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A></CODE></FONT></TD>
  182. <TD><CODE><B><A HREF="../../../../aima/core/search/framework/GraphSearch.html#popNodeFromFrontier()">popNodeFromFrontier</A></B>()</CODE>
  183. <BR>
  184. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes and returns the node at the head of the frontier.</TD>
  185. </TR>
  186. <TR BGCOLOR="white" CLASS="TableRowColor">
  187. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  188. <CODE>&nbsp;boolean</CODE></FONT></TD>
  189. <TD><CODE><B><A HREF="../../../../aima/core/search/framework/GraphSearch.html#removeNodeFromFrontier(aima.core.search.framework.Node)">removeNodeFromFrontier</A></B>(<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&nbsp;toRemove)</CODE>
  190. <BR>
  191. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  192. </TR>
  193. <TR BGCOLOR="white" CLASS="TableRowColor">
  194. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  195. <CODE>&nbsp;java.util.List&lt;<A HREF="../../../../aima/core/agent/Action.html" title="interface in aima.core.agent">Action</A>&gt;</CODE></FONT></TD>
  196. <TD><CODE><B><A HREF="../../../../aima/core/search/framework/GraphSearch.html#search(aima.core.search.framework.Problem, aima.core.util.datastructure.Queue)">search</A></B>(<A HREF="../../../../aima/core/search/framework/Problem.html" title="class in aima.core.search.framework">Problem</A>&nbsp;problem,
  197. <A HREF="../../../../aima/core/util/datastructure/Queue.html" title="interface in aima.core.util.datastructure">Queue</A>&lt;<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&gt;&nbsp;frontier)</CODE>
  198. <BR>
  199. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a list of actions to the goal if the goal was found, a list
  200. containing a single NoOp Action if already at the goal, or an empty list
  201. if the goal could not be found.</TD>
  202. </TR>
  203. <TR BGCOLOR="white" CLASS="TableRowColor">
  204. <TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
  205. <CODE>&nbsp;void</CODE></FONT></TD>
  206. <TD><CODE><B><A HREF="../../../../aima/core/search/framework/GraphSearch.html#setReplaceFrontierNodeAtStateCostFunction(java.util.Comparator)">setReplaceFrontierNodeAtStateCostFunction</A></B>(java.util.Comparator&lt;<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&gt;&nbsp;replaceFrontierNodeAtStateCostFunction)</CODE>
  207. <BR>
  208. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
  209. </TR>
  210. </TABLE>
  211. &nbsp;<A NAME="methods_inherited_from_class_aima.core.search.framework.QueueSearch"><!-- --></A>
  212. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  213. <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
  214. <TH ALIGN="left"><B>Methods inherited from class aima.core.search.framework.<A HREF="../../../../aima/core/search/framework/QueueSearch.html" title="class in aima.core.search.framework">QueueSearch</A></B></TH>
  215. </TR>
  216. <TR BGCOLOR="white" CLASS="TableRowColor">
  217. <TD><CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html#clearInstrumentation()">clearInstrumentation</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#getMaxQueueSize()">getMaxQueueSize</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#getPathCost()">getPathCost</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#getQueueSize()">getQueueSize</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#isCheckGoalBeforeAddingToFrontier()">isCheckGoalBeforeAddingToFrontier</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#isFailure(java.util.List)">isFailure</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#setCheckGoalBeforeAddingToFrontier(boolean)">setCheckGoalBeforeAddingToFrontier</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#setPathCost(java.lang.Double)">setPathCost</A>, <A HREF="../../../../aima/core/search/framework/QueueSearch.html#setQueueSize(int)">setQueueSize</A></CODE></TD>
  218. </TR>
  219. </TABLE>
  220. &nbsp;<A NAME="methods_inherited_from_class_aima.core.search.framework.NodeExpander"><!-- --></A>
  221. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  222. <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
  223. <TH ALIGN="left"><B>Methods inherited from class aima.core.search.framework.<A HREF="../../../../aima/core/search/framework/NodeExpander.html" title="class in aima.core.search.framework">NodeExpander</A></B></TH>
  224. </TR>
  225. <TR BGCOLOR="white" CLASS="TableRowColor">
  226. <TD><CODE><A HREF="../../../../aima/core/search/framework/NodeExpander.html#expandNode(aima.core.search.framework.Node, aima.core.search.framework.Problem)">expandNode</A>, <A HREF="../../../../aima/core/search/framework/NodeExpander.html#getMetrics()">getMetrics</A>, <A HREF="../../../../aima/core/search/framework/NodeExpander.html#getNodesExpanded()">getNodesExpanded</A></CODE></TD>
  227. </TR>
  228. </TABLE>
  229. &nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
  230. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  231. <TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
  232. <TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
  233. </TR>
  234. <TR BGCOLOR="white" CLASS="TableRowColor">
  235. <TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
  236. </TR>
  237. </TABLE>
  238. &nbsp;
  239. <P>
  240. <!-- ========= CONSTRUCTOR DETAIL ======== -->
  241. <A NAME="constructor_detail"><!-- --></A>
  242. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  243. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  244. <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
  245. <B>Constructor Detail</B></FONT></TH>
  246. </TR>
  247. </TABLE>
  248. <A NAME="GraphSearch()"><!-- --></A><H3>
  249. GraphSearch</H3>
  250. <PRE>
  251. public <B>GraphSearch</B>()</PRE>
  252. <DL>
  253. </DL>
  254. <!-- ============ METHOD DETAIL ========== -->
  255. <A NAME="method_detail"><!-- --></A>
  256. <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
  257. <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
  258. <TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
  259. <B>Method Detail</B></FONT></TH>
  260. </TR>
  261. </TABLE>
  262. <A NAME="getReplaceFrontierNodeAtStateCostFunction()"><!-- --></A><H3>
  263. getReplaceFrontierNodeAtStateCostFunction</H3>
  264. <PRE>
  265. public java.util.Comparator&lt;<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&gt; <B>getReplaceFrontierNodeAtStateCostFunction</B>()</PRE>
  266. <DL>
  267. <DD><DL>
  268. </DL>
  269. </DD>
  270. </DL>
  271. <HR>
  272. <A NAME="setReplaceFrontierNodeAtStateCostFunction(java.util.Comparator)"><!-- --></A><H3>
  273. setReplaceFrontierNodeAtStateCostFunction</H3>
  274. <PRE>
  275. public void <B>setReplaceFrontierNodeAtStateCostFunction</B>(java.util.Comparator&lt;<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&gt;&nbsp;replaceFrontierNodeAtStateCostFunction)</PRE>
  276. <DL>
  277. <DD><DL>
  278. </DL>
  279. </DD>
  280. </DL>
  281. <HR>
  282. <A NAME="search(aima.core.search.framework.Problem, aima.core.util.datastructure.Queue)"><!-- --></A><H3>
  283. search</H3>
  284. <PRE>
  285. public java.util.List&lt;<A HREF="../../../../aima/core/agent/Action.html" title="interface in aima.core.agent">Action</A>&gt; <B>search</B>(<A HREF="../../../../aima/core/search/framework/Problem.html" title="class in aima.core.search.framework">Problem</A>&nbsp;problem,
  286. <A HREF="../../../../aima/core/util/datastructure/Queue.html" title="interface in aima.core.util.datastructure">Queue</A>&lt;<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&gt;&nbsp;frontier)</PRE>
  287. <DL>
  288. <DD><B>Description copied from class: <CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html#search(aima.core.search.framework.Problem, aima.core.util.datastructure.Queue)">QueueSearch</A></CODE></B></DD>
  289. <DD>Returns a list of actions to the goal if the goal was found, a list
  290. containing a single NoOp Action if already at the goal, or an empty list
  291. if the goal could not be found.
  292. <P>
  293. <DD><DL>
  294. <DT><B>Overrides:</B><DD><CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html#search(aima.core.search.framework.Problem, aima.core.util.datastructure.Queue)">search</A></CODE> in class <CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html" title="class in aima.core.search.framework">QueueSearch</A></CODE></DL>
  295. </DD>
  296. <DD><DL>
  297. <DT><B>Parameters:</B><DD><CODE>problem</CODE> - the search problem<DD><CODE>frontier</CODE> - the collection of nodes that are waiting to be expanded
  298. <DT><B>Returns:</B><DD>a list of actions to the goal if the goal was found, a list
  299. containing a single NoOp Action if already at the goal, or an
  300. empty list if the goal could not be found.</DL>
  301. </DD>
  302. </DL>
  303. <HR>
  304. <A NAME="popNodeFromFrontier()"><!-- --></A><H3>
  305. popNodeFromFrontier</H3>
  306. <PRE>
  307. public <A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A> <B>popNodeFromFrontier</B>()</PRE>
  308. <DL>
  309. <DD><B>Description copied from class: <CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html#popNodeFromFrontier()">QueueSearch</A></CODE></B></DD>
  310. <DD>Removes and returns the node at the head of the frontier.
  311. <P>
  312. <DD><DL>
  313. <DT><B>Overrides:</B><DD><CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html#popNodeFromFrontier()">popNodeFromFrontier</A></CODE> in class <CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html" title="class in aima.core.search.framework">QueueSearch</A></CODE></DL>
  314. </DD>
  315. <DD><DL>
  316. <DT><B>Returns:</B><DD>the node at the head of the frontier.</DL>
  317. </DD>
  318. </DL>
  319. <HR>
  320. <A NAME="removeNodeFromFrontier(aima.core.search.framework.Node)"><!-- --></A><H3>
  321. removeNodeFromFrontier</H3>
  322. <PRE>
  323. public boolean <B>removeNodeFromFrontier</B>(<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&nbsp;toRemove)</PRE>
  324. <DL>
  325. <DD><DL>
  326. <DT><B>Overrides:</B><DD><CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html#removeNodeFromFrontier(aima.core.search.framework.Node)">removeNodeFromFrontier</A></CODE> in class <CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html" title="class in aima.core.search.framework">QueueSearch</A></CODE></DL>
  327. </DD>
  328. <DD><DL>
  329. </DL>
  330. </DD>
  331. </DL>
  332. <HR>
  333. <A NAME="getResultingNodesToAddToFrontier(aima.core.search.framework.Node, aima.core.search.framework.Problem)"><!-- --></A><H3>
  334. getResultingNodesToAddToFrontier</H3>
  335. <PRE>
  336. public java.util.List&lt;<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&gt; <B>getResultingNodesToAddToFrontier</B>(<A HREF="../../../../aima/core/search/framework/Node.html" title="class in aima.core.search.framework">Node</A>&nbsp;nodeToExpand,
  337. <A HREF="../../../../aima/core/search/framework/Problem.html" title="class in aima.core.search.framework">Problem</A>&nbsp;problem)</PRE>
  338. <DL>
  339. <DD><DL>
  340. <DT><B>Specified by:</B><DD><CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html#getResultingNodesToAddToFrontier(aima.core.search.framework.Node, aima.core.search.framework.Problem)">getResultingNodesToAddToFrontier</A></CODE> in class <CODE><A HREF="../../../../aima/core/search/framework/QueueSearch.html" title="class in aima.core.search.framework">QueueSearch</A></CODE></DL>
  341. </DD>
  342. <DD><DL>
  343. </DL>
  344. </DD>
  345. </DL>
  346. <!-- ========= END OF CLASS DATA ========= -->
  347. <HR>
  348. <!-- ======= START OF BOTTOM NAVBAR ====== -->
  349. <A NAME="navbar_bottom"><!-- --></A>
  350. <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
  351. <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
  352. <TR>
  353. <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
  354. <A NAME="navbar_bottom_firstrow"><!-- --></A>
  355. <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  356. <TR ALIGN="center" VALIGN="top">
  357. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  358. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  359. <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  360. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  361. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  362. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  363. <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  364. </TR>
  365. </TABLE>
  366. </TD>
  367. <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
  368. </EM>
  369. </TD>
  370. </TR>
  371. <TR>
  372. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  373. &nbsp;<A HREF="../../../../aima/core/search/framework/GoalTest.html" title="interface in aima.core.search.framework"><B>PREV CLASS</B></A>&nbsp;
  374. &nbsp;<A HREF="../../../../aima/core/search/framework/HeuristicFunction.html" title="interface in aima.core.search.framework"><B>NEXT CLASS</B></A></FONT></TD>
  375. <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  376. <A HREF="../../../../index.html?aima/core/search/framework/GraphSearch.html" target="_top"><B>FRAMES</B></A> &nbsp;
  377. &nbsp;<A HREF="GraphSearch.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
  378. &nbsp;<SCRIPT type="text/javascript">
  379. <!--
  380. if(window==top) {
  381. document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  382. }
  383. //-->
  384. </SCRIPT>
  385. <NOSCRIPT>
  386. <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
  387. </NOSCRIPT>
  388. </FONT></TD>
  389. </TR>
  390. <TR>
  391. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  392. SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#fields_inherited_from_class_aima.core.search.framework.QueueSearch">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
  393. <TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  394. DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
  395. </TR>
  396. </TABLE>
  397. <A NAME="skip-navbar_bottom"></A>
  398. <!-- ======== END OF BOTTOM NAVBAR ======= -->
  399. <HR>
  400. </BODY>
  401. </HTML>