예제 #1
0
 protected override void Run()
 {
     Console.WriteLine("Fall 2019 One Drive New Mac Matt....");
     for (var r = 0; r < NUM_RUNS; r++)
     {
         Dictionary <string, int> MolSet = new Dictionary <string, int>();
         for (var s = 0; s < GEN_SET_SIZE; s++)
         {
             var cand    = GenerateCand();
             var atomNum = Evaluation.CountAtoms(cand);
             var smi     = OBFunctions.moltoSMILES(OBFunctions.designgraphtomol(cand.graph));
             if (!MolSet.ContainsKey(smi))
             {
                 MolSet.Add(smi, atomNum);
             }
             Console.WriteLine("Candidate Found {0}", smi);
             Console.WriteLine("Candidate moment {0}", string.Join(", ", Evaluation.CalcMoment(cand)));
         }
         for (var e = 0; e < NUM_EPOCH; e++)
         {
             Console.WriteLine("Epoch: {0}", e);
             var cand    = GenerateCand();
             var atomNum = Evaluation.CountAtoms(cand);
             var smi     = OBFunctions.moltoSMILES(OBFunctions.designgraphtomol(cand.graph));
             Console.WriteLine(smi);
             if (!MolSet.ContainsKey(smi))
             {
                 MolSet.Add(smi, atomNum);
             }
             writer.Write("{0} ", MolSet.Values.ToList().Max());
         }
         writer.WriteLine();
     }
     writer.Close();
 }