nl.uu.cs.treewidth.algorithm
Class PreProcessor<D extends GraphInput.InputData>

java.lang.Object
  extended by nl.uu.cs.treewidth.algorithm.PreProcessor<D>
All Implemented Interfaces:
Algorithm<D>

public class PreProcessor<D extends GraphInput.InputData>
extends java.lang.Object
implements Algorithm<D>

Author:
libtw team Class to perform Preprocessing on the graph. Currently only simplicial and almost simplicial vertices are dealt with.

Constructor Summary
PreProcessor()
           
PreProcessor(boolean doSimplicial, boolean doAlmostSimplicial)
           
 
Method Summary
 int fixTreewidth(int computedTreewidth)
          Fix the calculated treewidth by taking the maximum with the lowerbound calculated during the preprocessing.
 java.lang.String getName()
          Every algorithm has a name.
 void run()
          Does the actual computation of the algorithm.
 void setInput(NGraph<D> g)
          Sets the input the algorithm will run on.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PreProcessor

public PreProcessor(boolean doSimplicial,
                    boolean doAlmostSimplicial)

PreProcessor

public PreProcessor()
Method Detail

getName

public java.lang.String getName()
Description copied from interface: Algorithm
Every algorithm has a name. This is for identification towards the user.

Specified by:
getName in interface Algorithm<D extends GraphInput.InputData>
Returns:
Name of the algorithm.

setInput

public void setInput(NGraph<D> g)
Description copied from interface: Algorithm
Sets the input the algorithm will run on.

Specified by:
setInput in interface Algorithm<D extends GraphInput.InputData>
Parameters:
g - The graph in standard graph format.

run

public void run()
Description copied from interface: Algorithm
Does the actual computation of the algorithm. The result is remembered but not returned. Get it using the appropriate return function (getUpperbound(), getLowerBound(), etc.).
Only works after setInput has been called.

Specified by:
run in interface Algorithm<D extends GraphInput.InputData>

fixTreewidth

public int fixTreewidth(int computedTreewidth)
Fix the calculated treewidth by taking the maximum with the lowerbound calculated during the preprocessing.

Parameters:
computedTreewidth - The computed treewidth.
Returns:
The maximum of the computed treewidth and the lowerbound calculated during the preprocessing. This is the actual treewidth of the graph.