NANA
|
类 | |
struct | CResult |
记录结果和序号 更多... | |
Public 成员函数 | |
Popultation (int groupNumber, int mutate) | |
void | run (int iterNum) |
迭代多少次 更多... | |
Protected 成员函数 | |
void | choose () |
天择(从种群中选择优秀的个体,认为是存活下来的个体) 更多... | |
void | update () |
更新到下一代 更多... | |
Protected 属性 | |
int | m_groupNumber |
种群数量 更多... | |
int | m_mutate |
百分之 更多... | |
std::vector< GeneFloat > | m_members |
成员 更多... | |
std::vector< GeneFloat > | m_oldmembers |
std::vector< CResult > | m_result |
上一代的成员 更多... | |
std::list< int > | m_lives |
活下来的个体 更多... | |
在文件 population.h 第 22 行定义.
NANA::GA::Popultation::Popultation | ( | int | groupNumber, |
int | mutate | ||
) |
初始化过程,生成不同的基因
在文件 population.cpp 第 22 行定义.
|
protected |
天择(从种群中选择优秀的个体,认为是存活下来的个体)
得分最佳者为国王,其生存不受影响
<前百分之10的个体为贵族,贵族拥有百分之90的存活率
摇筛子,摇出点数为[0-89]则认为存活
摇筛子,摇出点数为[0-69]则认为存活
<作为平民的个体有百分之50的存活率
摇筛子,摇出点数为[0-49]则认为存活
在文件 population.cpp 第 66 行定义.
void NANA::GA::Popultation::run | ( | int | iterNum | ) |
迭代多少次
iterNum |
物竞,个体凭借自己的力量获取资源,排名越靠前的个体月去的资源越多
打印当前最优秀的个体
天择
更新到下一代
在文件 population.cpp 第 40 行定义.
|
protected |
更新到下一代
补充群落的数量
允许外部个体进来
为了保证优秀基因,剩余空间给前remainingSpace的个体
在文件 population.cpp 第 103 行定义.
|
protected |
种群数量
在文件 population.h 第 55 行定义.
|
protected |
活下来的个体
在文件 population.h 第 60 行定义.
|
protected |
成员
在文件 population.h 第 57 行定义.
|
protected |
百分之
在文件 population.h 第 56 行定义.
|
protected |
在文件 population.h 第 58 行定义.
|
protected |