典型的现代优化方法只能解决显示优化问题,本文主要从隐式优化问题入手,利用交互式演化算法让用户参与目标个体评价的特点,计算出满足用户需求的最优个体,最后将此方法用在海报设计上,得出较好的结果。
1交互式演化算法
遗传演化算法是一类借鉴生物界“适者生存,优胜劣汰”遗传机制的进化规律演化而来的随机化搜索方法。算法模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象并产生下一代的解。在每次迭代中,逐步淘汰适应度函数值低的解,保留适应度函数值高的解。重复此过程,直到满足某种收敛指标为止,传统的演化算法适合解决显式优化问题。交互式演化算法是在基本的遗传算法基础上发展起来的一种新型的算法,是通过交互的手段,演化过程中通过用户对个体适应度评估对适应度函数值进行自动计算的过程。交互式演化算法的优点在于用户与机器相结合,共同解决遗传操作中不能解决的问题,满足用户的个人偏好,得到用户个体所满意的最优解,交互式演化算法适合解决隐式优化问题。。
2算法设计
2.1适应度设计适应度函数在传统的优化问题当中能够衡量解的优劣,特别是对于显示优化问题而言,用适应度函数性能指标来衡量适应度,然而,对于隐式优化问题而言,并不能用显示的评价方法,更不能使用精确的数学模型,只能利用用户凭借个人主观意识对种群个体进行评价。适应度值的大小依托于用户个体的个人偏好。这就需要在典型的优化方法中融入“人的偏好”才能得到最优化设计方案。在设计的过程中,每一代生成的新种群的偏好值不变,适应度最高的个体将直接保留到下一代。
2.2编码本文将海报编码设计为两部分:Logo和Body,一个染色体表示一张海报,且用一个八位长度的二进制编码串来表示一个染色体,在这八位编码串中,前四位表示海报的Logo,后四位表示海报Body。在Logo的四位编码中前二位表示海报风格,后二位表示颜色;在Body的四位编码中,前二位表示海报风格,后二位表示颜色。由此,一张海报共有=256种样式。按照此编码方案,如一个染色体00000111,则Logo中的00表示风格,Logo00表示颜色,Body01表示风格,Body11表示颜色。
2.3交叉和变异本文采用了两种交叉操作:单点交叉和两点交叉。例如单点交叉中有2个染色体分别是00000111,01100101。经过单点交叉变异后,生成的两个子代个体染色体分别为00000101,01100111,所代表的风格是:个体1中Logo是“古典”且颜色为红色。Body是“绚烂”且颜色为蓝色;个体2中Log“o现代”且颜色是绿色,Body是“静怡”且颜色是紫色。通过单点交叉操作后,两者海报风格生成了四种新的海报风格。
2.4变异变异的目的就是改善演化算法的局部搜索能力,维持群体的多样性,防止出现早熟现象。具体做法是:若个体是由二进制编码符号串所表示,将某一基因座上的原有基因值为0,则变异操作将该基因值变为1,反之,若原有基因值为1,则变异操作将其变为0。本文采用的的是随机点变异。
2.5算法流程第1步:根据实际问题进行编码,设置演化算法的各参数。第2步:随机生成初始种群。第3步:解码生成个体的表现型。第4步:用户进行个体适应度的评价。第5步:判断是否有用户最满意的个体,若有,算法结束,输出最优个体。第6步:若没有,判断是否满足停止条件,若没有,进行演化操作后转向第3步。
3实验结果
系统先与用户交互,列出6中风格的海报,用户为每款海报打分,分值最高的即为自己喜欢风格的海报,系统按照此方法进行演化,最终得出用户做喜欢的海报风格。海报编码和评分如下列所示:海报序号为1染色体编码为01110011用户评分为78海报序号为2染色体编码为00000101用户评分为89海报序号为3染色体编码为10011111用户评分为80海报序号为4染色体编码为01011100用户评分为90海报序号为5染色体编码为10100001用户评分为67海报序号为6染色体编码为11101001用户评分为70对10名用户进行实验,结果如图2所示,用户对系统推荐海报的平均打分为82,表明用户的满意度较高。随着用户与系统进行交互时选择的海报数量的增多,最后的评分也随之越来越高,说明结果与用户的需求越接近。
4总结
本文主要从隐式优化问题入手,在优化问题中加入了用户的“个人偏好”,利用用户参与目标个体评价的特点,得出满足用户个人偏好需求的最优个体,最后将此方法用在海报设计上,用户根据自己的喜好对海报的风格进行打分,实验结构表明,此方法有较好的效果。