遗传算法求解推箱子

首先看结果

这里还没有做出求解最短步数的,只是能够完成一次推箱子。

有些想要求解的问题的解是越短越好,或者不同解的长度不同,主要解决这个问题。

在设定种群的时候还是一样的用固定长度,就是以最长的长度作为整体种群的长度。

在适应度函数中做判断——如果个体前段部分就已经满足,来个break跳出并返回适应度就可以。

后续如果想要求得最短个体、需要再配合惩罚因子,比如用前段部分的长度作为系数

适应度=之前计算适应度+前段部分长度*惩罚因子

这样就可以在每次迭代的时候个体当中那些前段就满足的就会被挑出来或者说越短满足就越会被挑出来。

matlab的优化工具箱还是很好用的,不用编写优化算法,只要完成适应度函数就可以求解。

添加绘图参数配置还可以在迭代时观察

调用语句就像这样

fitnessfcn = @Sokaban_fun; % 适应度函数句柄

nvars=numel(map); % 个体变量数目

LB = 0.5*ones(nvars,1)'; % 下限

UB = 4.4*ones(nvars,1)'; % 上限

options=gaoptimset('PopulationSize',40,'PopInitRange',[LB;UB],...

'EliteCount',10,'CrossoverFraction',0.6,'Generations',40,...

'StallGenLimit',20,'TolFun',1e-10,'PlotFcns',...

{@gaplotbestf,@gaplotbestindiv}); % 算法参数设置

[x_best,fval]=ga(fitnessfcn,nvars, [],[],[],[],LB,UB,[],options);

% 运行遗传算法

非常适合确实需要求解最优目标的,其他各种需求还是各显神通的比较好(比如作业、毕业设计什么的,目标不是重点、过程才是)

最开始想要用Android模拟器运行推箱子游戏,主要是搞了很久才把模拟器给装上,特别是虚拟化得问题

想的是获取图像分析出游戏环境就是这个地图,结果没能实现,要在两百多条to-do list上再加一条了。

原文发布于微信公众号 - 帮你学MatLab(MatLab_helper)

原文发表时间:2018-05-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

一文读懂遗传算法工作原理(附Python实现)

3495
来自专栏机器之心

教程 | 遗传算法的基本概念和实现(附Java实现案例)

选自Medium 作者:MallawaarachchiFollow 机器之心编译 参与:俞云开、蒋思源 基因遗传算法是一种灵感源于达尔文自然进化理论的启发式搜索...

3388
来自专栏数据魔术师

运筹学教学 | 十分钟快速掌握最大流算法(附C++代码及算例)

—“运筹教科书到底能给你啥?” —“算法和实现离教科书有多远?” —“问题解决能力到底从哪来?” 今天刚起床就接到了BOSS的 提·问·三·连 小编表示 收到直...

5635
来自专栏算法channel

Spark|有向无环图(DAG)检测

01 — Spark背景介绍 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark 是一种与 Hadoop 相似的开源集群计算环...

5488
来自专栏斑斓

Spark 1.4为DataFrame新增的统计与数学函数

Spark一直都在快速地更新中,性能越来越快,功能越来越强大。我们既可以参与其中,也可以乐享其成。 目前,Spark 1.4版本在社区已经进入投票阶段,在Gi...

3597
来自专栏大数据

有向无环图检测

01 — Spark背景介绍 Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark 是一种与 Hadoop 相似的开源集群计算环...

4437
来自专栏专知

【AlphaGo Zero 核心技术-深度强化学习教程代码实战06】给Agent添加记忆功能

【导读】Google DeepMind在Nature上发表最新论文,介绍了迄今最强最新的版本AlphaGo Zero,不使用人类先验知识,使用纯强化学习,将价值...

5216
来自专栏数说工作室

海量文本用 Simhash, 2小时变4秒! | 文本分析:大规模文本处理(2)

这是一个相似匹配的问题(文本相似匹配基础→ 词频与余弦相似度)。但是,亿级数据库,用传统的相似度计算方法太慢了,我们需要一个文本查询方法,可以快速的把一段文本的...

3803
来自专栏人工智能头条

百度Deep Image论文被质疑过度使用ImageNet评价服务器【英】

1655
来自专栏PPV课数据科学社区

一文读懂遗传算法工作原理(附Python实现)

几天前,我着手解决一个实际问题——大型超市销售问题。在使用了几个简单模型做了一些特征工程之后,我在排行榜上名列第 219 名。

4114

扫码关注云+社区

领取腾讯云代金券