群体智能算法-黏菌寻找食物最优路线行为模拟

昨天看了一个视频(http://www.tudou.com/programs/view/4QmfLMMBZBg) 讲的就是黏菌 寻找食物时候会构造一个强大的网络。

 

如下图

 

 

 

 

通过对黏菌行为的观察。我想通过一个分布式的群体算法来模拟黏菌的行为,来实现最优路径的寻找。

目前实现了简单的行为模拟。 主要有两个方面

1、黏菌的扩张行为。 

首先定义了一个生命力值来模拟。在黏菌的位置,生命力是最强的。随着黏菌的扩张,扩张的边缘的生命力会递减。黏菌会不断的扩张。

2、食物的获取

在这里假设,黏菌的扩张部分只能吸收食物,但不能将食物转换成能量。犹如人体一样,只有胃能够消化食物,将食物转换成能量供人体吸收。

假设黏菌的核心才能将食物转换成能量,其他部分只能是吸收传递能量。

那么表现为能量的传输为从生命力低的地方传送到生命力高的地方,也就只有在黏菌的初始位置。

 

程序模拟

1、黏菌的各个部分只能从其周围的部分获取到信息。也只能与周围的部分进行信息交流,以及食物的传递。

 

目前只简单的用数组来演示。没有做界面演示。

首先说明下 数组中的含义【生命力,食物含量,食物传送数量统计】

其中黏菌的初始位置在【10,0,0】处,食物防在图中的【0,5000,0】

 

 

 

 

 

 

源代码如下

 

 

package main
 
import (
    "fmt"
    "sync"
    "time"
)
 
func main() {
  
    for {
  
        select {}
    }
 
}
 
var m
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值