Package de.saar.chorus.domgraph.equivalence

Provides classes for redundancy elimination.

See:
          Description

Class Summary
EquationSystem A representation for a term equation system.
IndividualRedundancyElimination An implementation of the redundancy elimination algorithm which checks for each individual split whether it can be removed.
PermutabilityRedundancyElimination An implementation of the redundancy elimination algorithm which checks whether a subgraph has a single permutable split.
RedundancyElimination An abstract base class for the implementation of redundancy elimination algorithms.
RedundancyEliminationSplitSource An implementation of SplitSource for filling a chart with just the irredundant splits.
 

Package de.saar.chorus.domgraph.equivalence Description

Provides classes for redundancy elimination. A redundancy elimination algorithm is an algorithm that operates on a dominance chart and deletes splits (and therefore solved forms) from it, in such a way that the set of equivalence classes of the configurations is maintained. At this point, we have implemented two different redundancy elimination algorithms: the first one is based on permutable splits and described in Koller & Thater, ICoS workshop 2006; the second, more powerful, one is based on eliminable splits and described in an unpublished paper by Koller and Thater.

The classes in this package can be grouped as follows:

A redundancy elimination object is passed an EquationSystem as an argument. It can then be used in two different ways. You can either apply its RedundancyElimination.eliminate(Chart) method on an existing dominance chart; this will delete the redundant splits from the chart. Or alternatively you can use it to construct a RedundancyEliminationSplitSource, which you can pass to a ChartSolver in order to compute a chart which only contains irredundant splits in the first place.