public class

LazyNodeExpander

extends Object
implements NodeExpander<A, S, N extends Node<A, S, N>>
java.lang.Object
   ↳ es.usc.citius.hipster.model.function.impl.LazyNodeExpander<A, S, N extends es.usc.citius.hipster.model.Node<A, S, N>>

Class Overview

Implementation of a NodeExpander which generates an java.lang.Iterable of Node which are instantiated in a lazy way, as required by the algorithms, and not in advance.

Summary

Public Constructors
LazyNodeExpander(TransitionFunction<A, S> tf, NodeFactory<A, S, N> factory)
Initializes this node expander taking a node factory and the transition function of the problem.
Public Methods
Iterable<N> expand(N node)
NodeFactory<A, S, N> getNodeFactory()
TransitionFunction<A, S> getTransitionFunction()
[Expand]
Inherited Methods
From class java.lang.Object
From interface es.usc.citius.hipster.model.function.NodeExpander

Public Constructors

public LazyNodeExpander (TransitionFunction<A, S> tf, NodeFactory<A, S, N> factory)

Initializes this node expander taking a node factory and the transition function of the problem.

Parameters
tf transition function
factory node factory

Public Methods

public Iterable<N> expand (N node)

public NodeFactory<A, S, N> getNodeFactory ()

Returns
  • classic node factory

public TransitionFunction<A, S> getTransitionFunction ()

Returns
  • transition function