1701020080
“十进制算法”是一种决定计算顺序、旨在解决问题的阶段式方法。用特定的编程语言(C、Basic、Java等)来记述算法就叫作程序。
1701020081
1701020082
遗传算法是1975年由密歇根大学的约翰·霍兰德(1929~)提出的。生物的进化依赖于遗传因子的重组,他从生物的“进化过程”中得到启示,得出了“最适化算法”,即从遗传因子中选择复数的个体(解的候补)组成集团,再利用这个集团将解的候补一个个重组,以探索最合适的答案的计算方法。
1701020083
1701020084
1701020085
1701020086
1701020087
遗传算法
1701020088
1701020089
将问题当作物种遗传因子序列的进化来谋求最适解。遗传算法中会用到“选择”(适应环境的后代个体会增加,不适应的物种则会减少)、“交叉”(按一定的概率将两个物种的遗传因子序列组合起来形成其他物种)、“突变”(遗传因子序列的特定存储单位发生了反转)等遗传学范畴内的概念来进行操作。
1701020090
1701020091
如果在网上搜索“巡回推销员问题Java”,我们会找到很多程序。
1701020092
1701020093
实际上,在网上能看到很多关于“巡回推销员”问题的解法。
1701020094
1701020095
DNA计算机的诞生
1701020096
1701020097
遗传因子本属于生物学,但是却出现在了数学和计算机的世界,真是有趣极了。而且,它还有更深的妙趣,那就是利用遗传因子而诞生的超高速计算机——DNA计算机。
1701020098
1701020099
令人震惊的是,信息学家杰拉尔德·埃德尔曼(1929~)研读了DNA双螺旋结构的发现者——美国生物学家詹姆斯·沃森(1928~)的《遗传因子的分子生物学》后,产生了将DNA应用到计算机中的灵感。1994年他制作出DNA计算机,并为大家演示了其对“巡回推销员”问题的解答。
1701020100
1701020101
运用DNA算法解答巡回推销员的问题时,首先将各个城市及连接的路径用DNA的四个碱基A(腺嘌呤)、T(胸腺嘧啶)、G(鸟嘌呤)、C(胞嘧啶)表示出来。
1701020102
1701020103
东京={CGCATT}、大阪={CTAGAT},像这样将DNA人工合成,然后放到试管中混在一起让它们发生反应。这样一来,由于DNA的特性是只有“A和T”“C和G”这两种组合,从东京和大阪的碱基序列中就可以创造出{TAAGAT}这样的新DNA。这也就成了东京和大阪之间路径的一个候补项。
1701020104
1701020105
像这样可以表示解的候补项的DNA会因为PCR(聚合酶连锁反应)被大量制造出来,再根据去哪个城市比较顺路为条件将这些解分离开来,最后将表示解的DNA抽出来。
1701020106
1701020107
因为DNA是极小的分子,可以大量制造。仅1立方厘米就可以容纳6×1016个DNA分子。如果每个DNA都能当作计算单位来运作,那么超并列运算就可能实现,这对于像“巡回推销员”这种复杂、无法可解又很耗费时间的问题来说是非常有效的方法。
1701020108
1701020109
我们可以认为DNA计算机就是由DNA组成的生命体,就是计算机本身。很不可思议吧!
1701020110
1701020111
生物的进化已经持续了137亿年,以与我们生活息息相关的“巡回推销员”问题为契机,计算机也开始跟生物一样迈上了进化之路。
1701020112
1701020113
计算机的世界现在正在实现着令人惊奇的“进化”。
1701020114
1701020115
也许某一天,会有一个超越人类智慧的算法横空出世,可以解决所有的数学难题和日常问题。
1701020116
1701020117
1701020118
1701020119
1701020120
1701020121
1701020122
1701020124
数学真好玩 为什么富士山给人以美的享受?
1701020125
1701020126
指数函数会“爆炸”吗?
1701020127
1701020128
“黄金比例”和“白银比例”都是人类觉得美和协调的比例。黄金比例是1:约1.6。比如,国旗和名片的横竖都是这个比例。而白银比例是1:2(约1.4),A版和B版复印纸横竖都是这个比例。
1701020129
[
上一页 ]
[ :1.70102008e+09 ]
[
下一页 ]