经过查找一些资料,发现目前比较好的理论支撑有元胞自动机,其中的分形理论中的扩散限制凝聚模型与黏菌的网络比较贴切。
经过反复的调整。现在购机了一个黏菌的网络。如图:
第一个图为模拟的过程
第二图为最终图的放大

其中依然有有几个假设
1、黏菌的生命力,随着扩展,生命力降低
2、随着扩展完之后,黏菌在整个扩展范围内,随机生成一些感触点,然后感触点生成网络
感触点的生长原则,则是最大可能从生命力低的地方向生命力高的地方生长,直至生长到了有网络的地方,或者是黏菌的核心。
不足的地方:
在模拟行为中采用的是元胞为小方块,所以会出现图中的一些对角线的直线。
备注:
其中图片采用的是jpg,为200*200像素。加载的是一个全白的图片,后面的黑点为程序模拟出来的
源码如下
package main
import (
"fmt"
"image"
"image/jpeg"
//"io"
"image/color"
"math/rand"
"os"
"path"
"runtime"
"sync"
"time"
)
func main() {
runtime.GOMAXPROCS(1)
for {
select {}
}
}
var max_x int = 200
var max_y int = 200
var lock *sync.RWMutex
var im image.Image
var AllPart []Parts
var wg *sync.WaitGroup
type Parts []*Part
type Part struct {
x int
y int
en int
bl

该博客介绍了通过元胞自动机和分形理论模拟黏菌寻找食物最优路线的行为。作者创建了一个黏菌网络模型,模拟过程中部分假设包括生命力随扩展衰减,感触点自发生长等。尽管存在对角线直线的不足,但展示了黏菌算法的基本原理。附带的源码实现了黏菌网络的动态演化并生成了结果图像。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



