/// <summary> /// Main function for testing the search. /// </summary> /// <param name="args"></param> static void Main(string[] args) { //NodeTypeFrequencyProfile p = NodeTypeFrequencyProfile.createProfile(new List<SolutionProgram> { getProgram0(), getProgram1(), getProgram2() }, true); NodeTypeRelativizedFrequencyProfile p = NodeTypeRelativizedFrequencyProfile.createProfile(new List <SolutionProgram> { getProgram0(), getProgram1(), getProgram2() }); //TrainingSamplesGenerator g = new SimpleCopySamplesGenerator(); TrainingSamplesGenerator g = new MaximumOfTwo_SamplesGenerator(); //TrainingSamplesGenerator g = new AlwaysOne_SamplesGenerator(); //RandomMutationSearch s = new RandomMutationSearch(generator: g, mutationsInEachStep: 5, profile: p); SearchAlgorithm s = new FullEnumerationSearch(generator: g); var res = s.search(TimeSpan.FromMinutes(10)); new GraphVisualizer().visualizeDialog(ProgramTreeDrawer.createGraph(res)); }
/// <summary> /// To test the primality testing program and Erratic sequence program /// </summary> /// <param name="args"></param> static void Main4(string[] args) { runEvaluation(new PrimalityTestingSamplesGenerator(), getProgram2(), 10000, quiet: true); new GraphVisualizer().visualizeDialog(ProgramTreeDrawer.createGraph(getProgram2())); //applies a random mutation to the program and evaluates it. Repeates 10-times. NodeTypeRelativizedFrequencyProfile prof = NodeTypeRelativizedFrequencyProfile.createProfile(new List <SolutionProgram> { getProgram0(), getProgram1(), getProgram2() }); PointMutation m = new PointMutation(prof, 1); for (int i = 0; i < 10; i++) { var p = getProgram2(); m.modify(p); new GraphVisualizer().visualizeDialog(ProgramTreeDrawer.createGraph(p)); runEvaluation(new PrimalityTestingSamplesGenerator(), p, 10000, quiet: true); } //runEvaluation(new ErraticSequenceLengthSamplesGenerator(), getProgram1(), 10000); }