public override bool Equals(object obj) { if (!(obj is LearningProcess)) { return(false); } var tmp = (LearningProcess)obj; return(obj.GetType() == GetType() && Population.SequenceEqual(tmp.Population) && Generation == tmp.Generation && PopulationCount == tmp.PopulationCount && BestIndex == tmp.BestIndex && HistoricalData.SequenceEqual(tmp.HistoricalData) && LearningAlgorithm.Equals(tmp.LearningAlgorithm)); }