ns图算法的主要功能是:1. 独立于适应度压力并利用进化的创造力;2. 跟踪每个新个体的行为的少数性;3. 使进化过程找到优异解决方案。其中,使用n-s这种方法,没有定义特定的适应度函数或将其用于解决方案搜索。
一、ns图算法的主要功能
1. 独立于适应度压力并利用进化的创造力
使用n-s这种方法,没有定义特定的适应度函数或将其用于解决方案搜索;相反,每个发现的解决方案的新颖性都会在神经进化过程中得到直接奖励。因此,所发现的解决方案的新颖性将神经进化引导至最终目标。这种方法可以独立于适应度压力来利用进化的创造力,以使解适合特定的问题场景。
2. 跟踪每个新个体的行为的少数性
新颖性搜索方法采用新颖性度量标准来跟踪每个新个体的行为的少数性。也就是说,新颖性度量标准是对新生物与行为空间中其他种群之间的距离的度量。有效的新颖性度量实现应允许我们在行为空间的任何点计算稀疏度。任何具有更密集访问点群集的区域都不太新颖,并且产生的进化奖励也更少。在一个点上最简单的稀疏度量是在行为空间中到该点的k个最近邻居的平均距离。当此距离高时,兴趣点在稀疏区域。同时,较密集的区域以较低的距离值标记。
3. 使进化过程找到优异解决方案
n-s允许进化过程在任何具有欺骗性局部优异解的空间中搜索解决方案并找到优异解决方案。使用这种方法,当物种被迫不会收敛于特定的小生境解(局部优异),同时不得不探索整个解空间时,将有可能实现发散进化。尽管它采用违反直觉的方法,但是它似乎完全忽略了搜索过程中的显式目标,是一种非常有效的搜索优化方法。
延伸阅读:
二、NS图的特点
1. 功能域(即一个特定控制结构的作用域)明确,可以从盒图上一眼就看出来;
2. 不可能任意转移控制;
3. 很容易明确局部和全局数据的作用域;
4. 很容易表现嵌套关系,也可以表示模块的层次结构。
由于NS图没有箭头,因此不允许随意转移控制。坚持使用NS图作为详细设计的工具,可以使程序员逐步养成用结构化的方式思考问题和解决问题的习惯。
N-S图包括顺序、选择(CASE型是多分钟选择)和循环(一种是while一种是until)三种基本结构。
以C语言描述的程序为例:
A、Ai(i∈[1,n])、B和S分别是C语句段(由1-N条C语言语句组成);
P是逻辑表达式,T表示true,F表示false,即当逻辑表达式P的结果为true时,后继程序执行A,否则B;
表示没有语句;
WHILE重复型表示先对逻辑表达式P求值,为true时,执行S,否则跳出;
UNTIL重复型表示先执行S,然后在对逻辑表达式P求值,为true时,继续运行S,否则跳出;
CASE型对应C语言中的Switch-Case情况,先计算逻辑表达式P,结果为1时执行A1,为2时执行A2,依次类推。
现需要一个能够利用NS图进行建模的工具,将某算法(如采用C语言描述)表示为NS图。
以上就是n-s图算法的内容希望对大家有帮助。