regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t > Class Template Reference

#include <MooreAlgorithm.hpp>

Inheritance diagram for regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >:

regal::MinimizingAlgorithm< StateLabel_t, Sigma, Automaton_t > List of all members.

Public Member Functions

Automaton_t * minimize (Automaton_t *a)
int minimizeComplexity (Automaton_t *a)
unsigned int * minimizeMultipleComplexity (Automaton_t *a)
int minimizeSize (Automaton_t *a)
int ** minimizeSteps (Automaton_t *a, const int &precision=-1)
int * minimizeToPartition (Automaton_t *a, const int &Mit=-1)
 MooreAlgorithm ()
 ~MooreAlgorithm ()

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
class regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >


Constructor & Destructor Documentation

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >::MooreAlgorithm (  )  [inline]

Create a instance of MooreAlgorithm, an optimized class for minimizing automaton

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >::~MooreAlgorithm (  )  [inline]

Destroy a MooreAlgorithm instance


Member Function Documentation

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
Automaton_t* regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >::minimize ( Automaton_t *  a  )  [inline]

Minimize an automaton with Moore algorithm

Parameters:
a is the automaton to minimize
Returns:
the minimized automaton

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
int regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >::minimizeComplexity ( Automaton_t *  a  )  [inline]

Returns the complexity of the minimization on a

Parameters:
a is the automaton to minimize
Returns:
the complexity of the minimization

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
unsigned int* regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >::minimizeMultipleComplexity ( Automaton_t *  a  )  [inline, virtual]

Implements regal::MinimizingAlgorithm< StateLabel_t, Sigma, Automaton_t >.

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
int regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >::minimizeSize ( Automaton_t *  a  )  [inline]

Minimize an automaton with Moore algorithm and only returns the size of the result.

Parameters:
a is the automaton to minimize
Returns:
the size of the result.

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
int** regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >::minimizeSteps ( Automaton_t *  a,
const int &  precision = -1 
) [inline]

Minimize an automaton with Moore algorithm and returns the class number at each iteration.

Parameters:
a is the automaton to minimize
Returns:
a tabular containing the class number at each iteration (first value is the size of the tabular) and the number of states in each classes.

template<typename StateLabel_t, typename Sigma, class Automaton_t = AbstractAutomaton<StateLabel_t,Sigma>>
int* regal::MooreAlgorithm< StateLabel_t, Sigma, Automaton_t >::minimizeToPartition ( Automaton_t *  a,
const int &  Mit = -1 
) [inline, virtual]

Minimize an automaton with Moore algorithm and returns a partition of the states.

Parameters:
a is the automaton to minimize
Mit allows to stop the algorithm at a given iteration
Returns:
partition of the states, in which i is a states of a and p[i] is a state of Moore(a)

Implements regal::MinimizingAlgorithm< StateLabel_t, Sigma, Automaton_t >.


The documentation for this class was generated from the following file:
Generated on Mon Sep 29 16:33:59 2008 for REGAL by  doxygen 1.5.1