include/MinimizingAlgorithm.hpp

Go to the documentation of this file.
00001 // MinimizingAlgorithm.hpp: this file is part of the REGAL project.
00002 //
00003 // REGAL : Random and Exhaustive Generators for Automata - Library
00004 //
00005 // Copyright (C) 2007 Julien DAVID.
00006 //
00007 // This program is free software; you can redistribute it and/or
00008 // modify it under the terms of the GNU General Public License
00009 // as published by the Free Software Foundation; either version 2
00010 // of the License, or (at your option) any later version.
00011 //
00012 // The complete GNU General Public Licence Notice can be found as the
00013 // `COPYING' file in the root directory.
00014 //
00015 //
00016 #ifndef MINIMIZINGALGORITHM
00017 #define MINIMIZINGALGORITHM
00018 
00019 #include "AbstractAutomaton.hpp"
00020 #include <iostream>
00021 
00022 #include <list>
00023 #include <vector>
00024 #include <deque>
00025 
00026 namespace regal{
00027 
00028   template<typename StateLabel_t,typename Sigma,class Automaton_t=AbstractAutomaton<StateLabel_t,Sigma> >
00029   class MinimizingAlgorithm{
00030   protected:
00031     int size;
00032     int maxClass;
00033     int * partitionRes;
00034     
00035 
00036   public:
00042     virtual int * minimizeToPartition(Automaton_t * a,const int & it=-1)=0;
00043      
00044     
00045     
00046 
00047     virtual unsigned int * minimizeMultipleComplexity(Automaton_t * a)=0;
00048     MinimizingAlgorithm(){}
00049     virtual ~MinimizingAlgorithm(){}
00050     
00051   };
00052 }
00053 
00054 
00055 
00056 #endif

Generated on Mon Sep 29 16:33:58 2008 for REGAL by  doxygen 1.5.1