/// <summary> /// Save on file a parameters+changes configuration /// </summary> /// <param name="stats">array of parameters</param> /// <param name="pc">array of potencial changes</param> void SaveStats(float[] stats, float[] pc) { string[] attributes = new string[myVals.Length]; for (int i = 0; i < myVals.Length; i++) { attributes[i] = "Attr" + (i + 1).ToString(); } dataSaver ds = new dataSaver(folder + "\\Stat" + indxSaving + ".fit #" + bestFitness + "#", attributes); ds.addLine(stats); ds.addLine(pc); ds.saveOnFile(); indxSaving++; }
/// <summary> /// Save a set of parameters to a file. /// <para>This function is used to save the parameters of the best individuals</para> /// </summary> /// <param name="keys">array of parameters used for an experiment</param> /// <param name="fitness">fitness obtained with that set of keys</param> void SaveStats(float[] keys, float fitness) { if (!autoSave) { return; } float[] stats = new float[keys.Length + 1]; stats[0] = fitness; for (int i = 1; i < stats.Length; i++) { stats[i] = keys[i - 1]; } dataSaver ds = new dataSaver(folder + "\\Stat" + indxSaving + ".gen " + actGeneration + ".fit #" + fitness + "#", attributes); ds.addLine(stats); ds.saveOnFile(); indxSaving++; }
/// <summary> /// Add an array of floats to the first dataSaver /// </summary> /// <param name="data">array of floats containing the lifetime of a drone, its fitness and the constants of a single PID. </param> public void addDataToDs(float[] data) { ds.addLine(data); }