de.saar.chorus.domgraph.equivalence
Class RedundancyElimination

Object
  extended by RedundancyElimination
Direct Known Subclasses:
IndividualRedundancyElimination, PermutabilityRedundancyElimination

public abstract class RedundancyElimination
extends Object

An abstract base class for the implementation of redundancy elimination algorithms. A redundancy elimination algorithm removes splits from a chart representation while maintaining the set of equivalence classes of the configurations.

A redundancy elimination algorithm needs an EquationSystem object to specify the equation system with respect to which equivalence is defined. An object of this class (or a subclass) can be used in one of two ways:

Author:
Alexander Koller

Constructor Summary
RedundancyElimination(DomGraph graph, NodeLabels labels, EquationSystem eqs)
           
 
Method Summary
 void eliminate(Chart c)
          Removes redundant splits from an existing chart.
abstract  List<Split> getIrredundantSplits(Set<String> subgraph, List<Split> allSplits)
          Computes the irredundant splits for a given subgraph.
 
Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RedundancyElimination

public RedundancyElimination(DomGraph graph,
                             NodeLabels labels,
                             EquationSystem eqs)
Method Detail

eliminate

public void eliminate(Chart c)
Removes redundant splits from an existing chart.

Parameters:
c - a chart

getIrredundantSplits

public abstract List<Split> getIrredundantSplits(Set<String> subgraph,
                                                 List<Split> allSplits)
Computes the irredundant splits for a given subgraph.

Parameters:
subgraph - a subgraph
allSplits - the complete list of all splits for this subgraph
Returns:
a list of irredundant splits