ereinion.search
Class SearchNode

java.lang.Object
  |
  +--ereinion.search.SearchNode

public class SearchNode
extends java.lang.Object

Classe che rappresenta un nodo di un albero di Search.

Si tratta in pratica di una wrapper class per le seguenti informazioni:
- Lo stato associato al nodo
- Il nodo che ha generato questo nodo
- L'operatore usato per arrivare a questo nodo dal genitore
- La profondit� di questo nodo dalla radice
- Il costo del cammino dalla radice al nodo

Since:
EPR 1.0
Version:
1.0, 25/09/2002
Author:
Ereinion

Constructor Summary
SearchNode(SearchState s)
          Alloca un nuovo SearchNode contenente lo stato associato al nodo.
SearchNode(SearchState s, SearchNode p, SearchOp op, int d, int c)
          Alloca un nuovo SearchNode contenente lo stato, il nodo genitore, l'operatore usato per raggiungere tale stato, la profondit� nell'albero di ricerca e il costo dal nodo radice.
 
Method Summary
 int getDepth()
          La profondit� di questo nodo dalla radice.
 SearchOp getOperator()
          Restituisce l'ultimo operatore usato per arrivare allo stato associato a questo nodo.
 SearchNode getParent()
          Restituisce il nodo che ha generato questo nodo.
 int getPathCost()
          Restituisce il costo del cammino dalla radice a questo nodo nell'albero di ricerca.
static SearchOp[] getPathOpList(SearchNode node)
          Riporta la sequenza di operatori attraverso i quali si � arrivati ad un nodo.
static SearchState[] getPathStateList(SearchNode node)
          Riporta la sequenza di stati attraverso i quali si � arrivati ad un nodo.
 SearchState getState()
          Restituisce lo stato associato a questo nodo.
static SearchNode makeRoot(SearchState s)
          Restituisce un nuovo SearchNode contenente lo stato associato al nodo.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SearchNode

public SearchNode(SearchState s,
                  SearchNode p,
                  SearchOp op,
                  int d,
                  int c)
Alloca un nuovo SearchNode contenente lo stato, il nodo genitore, l'operatore usato per raggiungere tale stato, la profondit� nell'albero di ricerca e il costo dal nodo radice.

Parameters:
s - lo stato associato a questo nodo.
p - il nodo genitore.
op - l'ultimo operatore che ha portato allo stato di questo nodo.
d - la profondit� del nodo nell'albero di ricerca.
c - il costo dal nodo radice.

SearchNode

public SearchNode(SearchState s)
Alloca un nuovo SearchNode contenente lo stato associato al nodo. Di solito questo costruttore � usato per la radice di un albero di ricerca. Non vengono settati n� il nodo genitore, n� l'operatore. La profondit� viene settata ad 0 e il costo a 0.

Parameters:
s - lo stato associato al nodo da creare.
Method Detail

getPathCost

public int getPathCost()
Restituisce il costo del cammino dalla radice a questo nodo nell'albero di ricerca.

Returns:
un int rappresentante il costo del cammino dalla radice.

getDepth

public int getDepth()
La profondit� di questo nodo dalla radice.

Returns:
un int rappresentante la profondit� del nodo.

getOperator

public SearchOp getOperator()
Restituisce l'ultimo operatore usato per arrivare allo stato associato a questo nodo.

Returns:
l'ultimo operatore usato su cammino per questo nodo.

getState

public SearchState getState()
Restituisce lo stato associato a questo nodo.

Returns:
lo stato associato a questo nodo.

getParent

public SearchNode getParent()
Restituisce il nodo che ha generato questo nodo.

Returns:
il nodo genitore.

getPathStateList

public static SearchState[] getPathStateList(SearchNode node)
Riporta la sequenza di stati attraverso i quali si � arrivati ad un nodo.

Parameters:
node - rappresentante il cammino.
Returns:
la sequenza di stati.

getPathOpList

public static SearchOp[] getPathOpList(SearchNode node)
Riporta la sequenza di operatori attraverso i quali si � arrivati ad un nodo.

Parameters:
node - rappresentante il cammino.
Returns:
la sequenza di operatori.

makeRoot

public static SearchNode makeRoot(SearchState s)
Restituisce un nuovo SearchNode contenente lo stato associato al nodo. Di solito questo costruttore � usato per la radice di un albero di ricerca. Non vengono settati n� il nodo genitore, n� l'operatore. La profondit� viene settata ad 1 e il costo a 0.

Parameters:
s - lo stato associato al nodo da creare.
Returns:
il nodo creato.