ereinion.search
Class SNExpander

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

public class SNExpander
extends java.lang.Object

Funzione di espansione dei nodi. Questa classe genera la lista dei nodi figli di un nodo. La strategia di espansione di default prevede che vengano espansi tutti i nodi, ma vengono anche fornite delle funzioni alternative che ne filtrano una parte.

Since:
EPR 1.0
Version:
1.0, 7/10/2002
Author:
Ereinion
See Also:
SearchNode, SearchProblem, Solver

Constructor Summary
SNExpander()
          Alloca un nuovo espansore di nodi.
 
Method Summary
 SearchNode[] expandNode(SearchProblem problem, SearchNode node)
          Funzione di espansione dei nodi. espande i nodi secondo la strategia specificata (le impostazioni di default prevedono l'espansione di tutti i nodi figli).
static SNExpander noCycleExpander()
          Crea un nuovo espansore di nodi la cui strategia di espansione prevede di non espandere mai nodi che contengono stati precedentemente generati (pertanto tiene in memoria tutti gli stati gi� generati).
static SNExpander noParentExpander()
          Crea un nuovo espansore di nodi la cui strategia di espansione prevede di non espandere mai nodi che contengono lo stato del nodo genitore.
static SNExpander noPredecessorsExpander()
          Crea un nuovo espansore di nodi la cui strategia di espansione prevede di non espandere mai nodi che contengono uno stato contenuto in uno qualsiasi dei nodi antenati del nodo.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SNExpander

public SNExpander()
Alloca un nuovo espansore di nodi.

Method Detail

expandNode

public SearchNode[] expandNode(SearchProblem problem,
                               SearchNode node)
Funzione di espansione dei nodi. espande i nodi secondo la strategia specificata (le impostazioni di default prevedono l'espansione di tutti i nodi figli).

Parameters:
problem - il problema corrente.
node - il nodo da espandere.
Returns:
il risultato dell'espansione.

noParentExpander

public static SNExpander noParentExpander()
Crea un nuovo espansore di nodi la cui strategia di espansione prevede di non espandere mai nodi che contengono lo stato del nodo genitore.

Returns:
il SNExpander con la strategia di espansione specificata.

noPredecessorsExpander

public static SNExpander noPredecessorsExpander()
Crea un nuovo espansore di nodi la cui strategia di espansione prevede di non espandere mai nodi che contengono uno stato contenuto in uno qualsiasi dei nodi antenati del nodo.

Returns:
il SNExpander con la strategia di espansione specificata.

noCycleExpander

public static SNExpander noCycleExpander()
Crea un nuovo espansore di nodi la cui strategia di espansione prevede di non espandere mai nodi che contengono stati precedentemente generati (pertanto tiene in memoria tutti gli stati gi� generati).

Returns:
il SNExpander con la strategia di espansione specificata.