00001 // Copyright (C) 2007 Alexander Ushakov 00002 // Contents: Definition of "Random FSA Generation" methods. 00003 // 00004 // Principal Authors: Alexander Ushakov 00005 // 00006 // Revision History: 00007 // 00008 00009 #ifndef _RandomFSA_h_ 00010 #define _RandomFSA_h_ 00011 00012 #include "FSA.h" 00013 00014 00015 //---------------------------------------------------------------------------// 00016 //------------------------------ RandomFSA ----------------------------------// 00017 //---------------------------------------------------------------------------// 00018 00019 00021 /* 00022 The procedure generates a random FSA. Moreover, the corresponding distribution 00023 tends to uniform as the size tends to infinity. \f$N\f$ is the number of vertices 00024 in the FSA and \f$L\f$ is the size of the alphabet. 00025 00026 Implementation is based on Bassino, Nicaud, Weil, "Random generation of finitely 00027 generated subgroups of a free group". 00028 */ 00029 FSA randomFSA( int N , int L ); 00030 00031 00032 #endif