资源简介
美赛期间写了一天半的模拟生态元胞自动机,逻辑主体已完成,细节有bug,尚未修改.等待一个有缘人来将它完善.草每天自动寻找周围空地繁衍,羊找周围的草.没草就闲逛.狼找羊,会踩死草.生命算法历程代用了户口本,投胎转世的概念
附送svm,灰色关联,熵权法,等等小代码,
代码片段和文件信息
import numpy as np
import matplotlib.pyplot as plt
import random
#全局变量
#空地标识符&散步 0
#草数量 标识符
cao=np.zeros(200000)#草的位置信息
cao_eat=np.zeros(200000)#草的能量
cao_sum=0#总数
cao_die=0
#一级消费者数量 标识符10
yi=np.zeros(200000)#位置信息
yi_eat=np.zeros(200000)#能量
yi_sum=0#总数
yi_die=0
#二级消费者 标识符100
er=np.zeros(200000)#位置信息
er_eat=np.zeros(200000)#能量
er_sum=0#总数
er_die=0
#建立世界99*99
cells=np.zeros(shape=(1010))
# 时间
time=0
def rushi(BZSL):#入世 随机落地位置 存储户口地址
global cells
global cao_sumcaocao_eatcao_die
global yi_sum yi yi_eatyi_die
global er_sum er er_eater_die
x=0
y=0
z=0
(pq)=(00)
i=0
while i x = np.random.randint(9size=10)
y = np.random.randint(9size=10)
z = cells[x[i]][y[i]]
if z!=0: #该位置有其他物体
print(‘重叠啦‘i)
i=i-1
continue
else:
cells[x[i]][y[i]]= BZ #将该位置改做标注物种
if BZ==1:#草
cao[i]=x[i]+10*y[i] #某只草的位置信息
cao_eat[i]=45#草的初始能量
# print(cao[i]‘草‘i)
cao_sum+=1#草的总数加1
# print(cao[i]‘草的位置信息‘)
elif BZ==10:#羊的信息
yi[i]=x[i]+10*y[i]
yi_eat[i]=170
yi_sum+=1
elif BZ==100:
er[i]=x[i]+y[i]*10
er_eat[i]=100
er_sum+=1
i = i + 1 # 循环次数减1
return 0
def XXOO(BZxy):#生娃
global cells
global cao_sumcaocao_eatcao_die
global yi_sum yi yi_eatyi_die
global er_sum er er_eater_die
# 草出生了
if BZ==1:
cells[x][y]=1
cao[cao_sum+1]=x+10*y
cao_sum=cao_sum+1
cao_eat[cao_sum]=50
# 羊出生了
elif BZ==10:
cells[x][y] = 10
yi[yi_sum] =x+10*y
yi_eat[yi_sum]=100
yi_sum = yi_sum + 1
elif BZ==100:
cells[x][y] = 100
er[er_sum + 1] = x + 10 * y
er_sum = er_sum + 1
er_eat[er_sum]=80
return 0
def tansuo(BZOLD):#探测附近休息或移动#标志位置
global cells
global cao_sumcaocao_eatcao_die
global yi_sum yi yi_eatyi_die
global er_sum er er_eater_die
x=0
y=0
# z=0
# (pq)=(00)
x = OLD % 10
y = (OLD - x) / 10
x = int(x)
y = int(y)
# 草的繁衍寻找空地
if BZ==1:
if x==0 or x==9:
return (00)
else:
if y==0 or y==9:#边缘检测
return (00)
else:
for r in range(x - 1 x + 2):
for c in range(y - 1 y + 2):
if cells[r][c] == 0:
return (r c)
else:
continue
# 散步繁衍
elif BZ == 0:
if x == 0 or x == 9:
return (0 0)
else:
if y == 0 or y == 9: # 边缘检测
return (0 0)
el
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9439 2019-01-27 23:28 元胞自动机3.py
目录 0 2019-01-23 22:22 jianmo\
目录 0 2019-01-20 21:42 jianmo\.idea\
文件 187 2019-01-20 14:01 jianmo\.idea\encodings.xm
文件 511 2019-01-18 16:02 jianmo\.idea\jianmo.iml
文件 188 2019-01-18 16:02 jianmo\.idea\misc.xm
文件 271 2019-01-17 23:22 jianmo\.idea\modules.xm
文件 29534 2019-01-20 21:42 jianmo\.idea\workspace.xm
文件 4756 2019-01-20 10:12 jianmo\Advertising.csv
文件 2017 2019-01-20 13:25 jianmo\ahp.py
文件 9096 2019-01-18 15:08 jianmo\ahp.xlsx
文件 7352 2019-01-19 15:29 jianmo\echarts.py
文件 3079 2019-01-19 16:39 jianmo\final.csv
文件 354229 2019-01-19 16:24 jianmo\glass.csv
文件 4698 2019-01-22 12:29 jianmo\iris.data
文件 108 2019-01-20 17:18 jianmo\mapdemo.csv
文件 85 2019-01-20 16:57 jianmo\mapdemo.csv___jb_old___
文件 85 2019-01-20 17:18 jianmo\mapdemo.csv___jb_tmp___
文件 252 2019-01-20 14:01 jianmo\movie.csv
文件 251 2019-01-20 13:58 jianmo\movie.csv___jb_old___
文件 252 2019-01-20 14:00 jianmo\movie.csv___jb_tmp___
文件 13843 2019-01-20 13:45 jianmo\outfile.png
文件 184397 2019-01-20 11:42 jianmo\pairplot.jpg
文件 2548 2019-01-20 13:44 jianmo\pca.txt
文件 2476 2019-01-20 13:45 jianmo\pca主成分分析.py
文件 47554 2019-01-20 11:49 jianmo\predict.jpg
文件 721994 2019-01-20 16:39 jianmo\render.html
文件 4191 2019-01-21 22:59 jianmo\svm.py
目录 0 2019-01-17 23:22 jianmo\venv\
目录 0 2019-01-17 23:22 jianmo\venv\Include\
目录 0 2019-01-17 23:22 jianmo\venv\Lib\
............此处省略407个文件信息
评论
共有 条评论