Class Overview
Copyright 2015 Centro de Investigación en Tecnoloxías da Información (CITIUS),
University of Santiago de Compostela (USC).
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
In computer science maximumDepth-limited search is an algorithm to explore the vertices of a graph.
It is a modification of maximumDepth-first search and is used for example in the iterative deepening
maximumDepth-first search algorithm.
For more information see
this article of the Wikipedia about DLS.
Summary
[Expand]
Inherited Methods |
From class
es.usc.citius.hipster.algorithm.Algorithm
static
<A, N extends Node<A, ?, N>>
List<A>
|
recoverActionPath(N node)
Returns a path of the actions applied from the initial state
to the state of the provided node ( state() ).
|
static
<S, N extends Node<?, S, N>>
List<S>
|
recoverStatePath(N node)
Returns a path with all the states of the path.
|
SearchResult
|
search(S goalState)
Run the algorithm until the goal is found or no more states are
available.
|
SearchResult
|
search(Predicate<N> condition)
Executes the search algorithm until the predicate condition is
satisfied or there are no more nodes to explore.
|
void
|
search(SearchListener<N> listener)
Executes the search algorithm and invokes the method
handle(Object) passing the current
explored node to the listener.
|
|
From class
java.lang.Object
Object
|
clone()
|
boolean
|
equals(Object arg0)
|
void
|
finalize()
|
final
Class<?>
|
getClass()
|
int
|
hashCode()
|
final
void
|
notify()
|
final
void
|
notifyAll()
|
String
|
toString()
|
final
void
|
wait()
|
final
void
|
wait(long arg0, int arg1)
|
final
void
|
wait(long arg0)
|
|
From interface
java.lang.Iterable
abstract
Iterator<T>
|
iterator()
|
|
Fields
protected
int
currentDepth
protected
N extends Node<A, S, N>
finalNode
protected
N extends Node<A, S, N>
initialNode
protected
int
maximumDepth
protected
ArrayList<S>
path
Public Constructors
public
DepthLimitedSearch
(N initialNode, N finalNode, NodeExpander nodeExpander, int maximumDepth)
Public Methods
public
boolean
execute
()
public
int
getCurrentDepth
()
public
int
getMaximumDepth
()
public
ArrayList<S>
getPath
()
public
void
incrementCurrentDepth
()
public
Iterator<N>
iterator
()