[高手莫笑]Mathematica实现简单的遗传算法
mathematica吧
全部回复
仅看楼主
level 10
mm_酱
楼主
昨天
@cckinger
同学跟我提到了遗传算法,我觉得很有意思,便尝试用MMTC实现了一下.第一次玩,题目简单,高手莫笑.
2012年08月17日 10点08分
1
level 10
cckinger
o
给赞~
居然f[x_]:=的定义方式可以用汉字....好强大...还有 楼主每次做这个是用M文件做的吧~
2012年08月17日 10点08分
2
mm_酱
直接在nb里写,然后导出为图片就就以了
2012年08月17日 10点08分
level 10
cckinger
我把遗传算法的MATLAB完全修改成了mmtc的代码,有长长的一大串...
主要是懒得思考了,,,直接把代码稍做修改就搬进mmtc里了~
然后 运行不出来了....
突然觉得是mmtc做数值计算是太强大还是太无力...因为追求高精度...
所以我把里面的一些变量加上N[],一段时间后终于出结果了~
机房的电脑没Flash插件...我图片都不能上传...
2012年08月17日 10点08分
3
level 10
cckinger
test=Table[0,{100}];l=Round[100 pm];
For[i=1,i<=l,i++,test[[i]]=1];
n=Round[RandomReal[] 99+1];
pmm=test[[n]];
If[pmm==1,
chb=Round[RandomReal[]*(bn-1)]+1;
snnew[[chb]]=Abs[scnew[[ss+1,chb]]-1]
比如这一段 我就是照搬MATLAB里面设置概率为0.75的办法
设置一个100个数的矩阵,其中75个数是1,选中1的概率是0.75咯~
2012年08月17日 10点08分
4
mm_酱
这样效率太低了吧……
2012年08月17日 10点08分
cckinger
回复 mm_酱 :嗯...那个求最值的例题里面自己定义了函数一个又一个..这个概率就是,,我照搬了... RandomReal[]直接与0.75比较就好了...
2012年08月17日 10点08分
level 10
cckinger
又有问题求教....
mmtc里面怎么定义多元向量值函数?
f[x_]:=
f[x_,y_,z_]:=
都是数量值函数的内型。。。能不能让mmtc输出{y1,y2,y3..}一个向量呢?
还是只能分别定义y1:= y2:= y3:=
2012年08月17日 11点08分
5
mm_酱
f[x_,y_,z_]:={f1[x],f2[x],f3[x]}
2012年08月17日 12点08分
level 8
wudai04
lz,你的交叉算子是不是有问题啊,每次交叉完成后一直都是八个染色体哦,我用你的方法试了一下,结果并不收敛。
2012年10月17日 06点10分
6
mm_酱
确实有一点问题.
2012年10月17日 08点10分
wudai04
回复 mm_酱 :我修改了一下,问题主要在于你的群体里面染色体数量太小了,不应该采用RandomChoice,而应该直接排序取适应度最大的几个,并且交叉过程应该加上保留下来的优秀的染色体才行,明天我把我修改过后的传上来吧。
2012年10月17日 11点10分
wudai04
回复 mm_酱 :变异也有问题,不应该同时作用于整个种群,最多选一半来变异,这样才能够收敛到定值
2012年10月17日 13点10分
mm_酱
回复 wudai04 :[高手莫笑]
写这个的时候刚知道遗传算法
2012年10月17日 14点10分
level 8
wudai04
我试着改了一下
@mm_酱
其中还有一些问题,一个是交叉的基因长度是固定的,不该好,二是变异的长度以及选择保留的优秀染色体的个数都是固定的,是否全局优化还是应该采用随机的个数比较好?
2012年10月18日 02点10分
7
0577216
回复 0577216 :适应度除以Total好像不必要?你的choice有点奇怪?
2014年01月14日 08点01分
wudai04
回复 jiaxu121 :第三行你不要吧,我注释了的,那是我的图形预设包
2014年07月11日 06点07分
level 3
势垒贯穿
图中的中文注释和小标题是怎么做到的?不用(**)
2012年11月02日 03点11分
8
mm_酱
alt+数字键
2012年11月02日 11点11分
level 2
ntf198602
看来不错啊,顶一个
2014年01月13日 14点01分
9
level 13
czp20408122449
默默学习
2014年01月14日 01点01分
10
level 12
eyofdu
太强了,默默学习。到时候期末考完可以试试……期末,嗯……
2014年01月14日 13点01分
11
level 6
万毒狂魔
赞。
(贴吧没有点赞按钮真不习惯……)
2014年07月08日 09点07分
12
level 7
积分不微分
MMTC是OP的个人说法吗。。
2014年07月15日 03点07分
13
沙芒
我们都叫mma
2015年08月26日 02点08分
积分不微分
回复
ɳâ
:对啊 你也是挖的一手好坟
2015年08月27日 05点08分
level 9
邱凤扬
楼主大才。
2015年08月26日 22点08分
15
level 11
lihua_ma
收藏下来学习!
2015年08月30日 03点08分
19
level 8
jiaoeyushushu
大赞呀
学习啦~\(≧▽≦)/~
2016年06月07日 11点06分
21
jiaoeyushushu
8年后终于用到了,啊哈哈,回来唤起记忆。
2024年09月26日 04点09分
1