myblog

蚂蚁模拟器

2021-04-07

每天摸鱼刷一刷github。

今天看到一个有意思的程序,AntSimulator,介绍上写的是非常简单的一个蚂蚁模拟器。

github首页只写了安装步骤,蛮复杂的,没有程序运行界面,搜索了一下,可能叫蚁群算法,编译过程需要安装一个叫SFML的图形库,和CMake编译器。

SFML和CMake是跨平台的,所以程序也是跨平台可以运行的。

C++的程序,运行起来cpu和gpu利用率都很高,程序界面看起来也很简单。

快捷键

按键 动作
P 暂定/继续
M 切换标记记录
A 切换蚂蚁标记
S 切换最高速度
W 切换路径模式
E 切换路径擦除模式
鼠标右键 添加食物
鼠标左键 移动视角
鼠标滚轮 放大缩小

配置文件有三行,屏幕分辨率1920*1080和初始蚂蚁数量512,电脑性能一般,修改蚂蚁数量为2048,动画反应很慢

程序下载页面:https://github.com/johnBuffer/AntSimulator/releases

可以从这直接下载:https://github.com/johnBuffer/AntSimulator/releases/download/v2.1/AntsSimulator.zip

运行的程序截图

蚁群算法相关介绍

蚁群算法(Ant Colony Optimization, ACO)又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文“Ant system: optimization by a colony of cooperating agents”中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。

SFML(Simple and Fast Multimedia Library) 是一个c++多媒体库,它为PC的各个组件提供简单的界面,用来简化游戏和多媒体应用程序的开发。 主要由五个模块组成,分别是:系统,窗口,图形,音频和网络。 SFML 是跨平台的,通过SFML,你的应用程序可以在最常见的操作系统上进行编译和运行:Windows,Linux,macOS以及Android和iOS

参考资料

来源:github-https://github.com/johnBuffer

friend link

speed test

bing

guge