1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
#include "RandomMSCGroup.h"
/*
Word initWord(const Generator* p, int len) {
VectorOf<Generator> v(len);
for( int i = 0; i < len; i ++ ) v[i] = *p++;
return Word(v);
}
*/
int main() {
/*
const Generator gl3[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1};
Word r3 = initWord(gl3, 9);
cout << r3 << endl;
*/
/*
int numOfGens = 10;
SetOf<Word> S;
NormalRandomWord NRM(numOfGens, 10, 5, 1234, 2345);
for ( int i = 0; i < 10; i++ ) {
Word w = NRM.word();
S |= w;
}
FPGroup F(numOfGens, S);
cout << S << endl;
cout << F << endl;
*/
/*
const int numOfGenerators = 20;
const int generatorsSeed = 1234;
const int meanLengthOfRelators = 10;
const int lengthOfRelatorsStddev = 5;
const int lengthOfRelatorsSeed = 2345;
const int meanNumberOfRelators = 5;
const int numberOfRelatorsStddev = 2;
const int numberOfRelatorsSeed = 3456;
const int numOfTests = 10;
*/
int numOfGenerators;
int generatorsSeed;
int meanLengthOfRelators;
int lengthOfRelatorsStddev;
int lengthOfRelatorsSeed;
int meanNumberOfRelators;
int numberOfRelatorsStddev;
int numberOfRelatorsSeed;
int numOfTests;
cout << "Enter parameters of a random MSC group: " << endl;
cout << "numOfGenerators = "; cin >> numOfGenerators;
cout << "generatorsSeed = "; cin >> generatorsSeed;
cout << "meanLengthOfRelators = " ; cin >> meanLengthOfRelators;
cout << "lengthOfRelatorsStddev = "; cin >> lengthOfRelatorsStddev;
cout << "lengthOfRelatorsSeed = "; cin >> lengthOfRelatorsSeed;
cout << "meanNumberOfRelators = "; cin >> meanNumberOfRelators;
cout << "numberOfRelatorsStddev = "; cin >> numberOfRelatorsStddev;
cout << "numberOfRelatorsSeed = "; cin >> numberOfRelatorsSeed;
cout << "number of tests = "; cin >> numOfTests;
cout << endl;
RandomMSCGroup RG( numOfGenerators, generatorsSeed,
meanLengthOfRelators, lengthOfRelatorsStddev, lengthOfRelatorsSeed,
meanNumberOfRelators, numberOfRelatorsStddev, numberOfRelatorsSeed );
for ( int i = 0; i < numOfTests; i++ ) {
FPGroup G = RG.getRandomMSCGroup();
int lambda = G.cancellationLambda();
cout << "Random MSC group:" << endl << G << endl
<< "Lambda = " << lambda << endl;
}
/*FPGroup F(G.numOfGens(), G.getRelators());
int lambda = G.getMSCLambda();
cout << "Random MSC group:" << endl << F << endl
<< "Lambda = " << lambda << endl;
*/
}
|