⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ga.h

📁 遗传算法和神经网络结合
💻 H
字号:
/*  YAKS, Optann, a Khepera simulator including a separate GA and ANN   (Genetic Algoritm, Artificial Neural Net).  Copyright (C) 2000  Johan Carlsson (johanc@ida.his.se)    This program is free software; you can redistribute it and/or  modify it under the terms of the GNU General Public License  as published by the Free Software Foundation; either version 2  of the License, or any later version.    This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.    You should have received a copy of the GNU General Public License  along with this program; if not, write to the Free Software  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */#ifndef GA_H#define GA_H#include <stdlib.h>#include <stdio.h>#include <iostream.h>#include "ann.h"#include "geom.h" typedef struct{  int index;  double fitness;}FINDEX_T;class Ga{ public:  Ga(int iNrOfIndivids,int iEpochs);  ~Ga();  void createIndivids(const Ann *orginal);  void createNewGeneration(int parents, 			   int offsprings);  void createNewGenerationWithMutation(int parents, 				       int offsprings,				       int bitMutation);  void createNewGenerationWithWeightMutation(int parents, 					     int offsprings, 					     int bitMutation);  void createNewGenerationWithWeightMutation(int parents, 					     int offsprings, 					     int bitMutation,					     FILE *fp);  void tournamentSelectionWithMutation(int bitMutation);  void saveBestIndividsFitness(int nr, FILE *fp,int show);  void saveAllIndividsWeights(FILE *fp);  void loadAllIndividsWeights(FILE *fp);  void mutateIndivids(int bitMutateProbability);  Ann **individs;  void setFitness(int iIndivid,		  int iEpoch, 		  double newFitness);  double getFitness(int iIndivid,		    int iEpoch);  double getTotalFitness(int n);  int getBestIndivid();  void resetFitness();  int nrOfIndivids; private:  void addIndivid();  int compare(int o1, int o2);  int epochs;  double **fitness;  double *totalFitness;};#endif /* GA_H */  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -