生物启发式软件

7

我想知道是否有任何利用生物学的软件技术?例如,在机器人领域,有很多,但在软件方面呢?

6个回答

5
如果你的问题是“是否有生物学思想用于优化软件?”,那么遗传编程(http://en.wikipedia.org/wiki/Genetic_programming)就是一个例子。从维基百科文章中可以得知:
在人工智能领域,遗传编程(GP)是一种基于演化算法的方法,受生物进化启发,寻找执行用户定义任务的计算机程序。它是遗传算法(GA)的一种特殊形式,其中每个个体都是一个计算机程序。因此,它是一种机器学习技术,根据程序执行给定计算任务的能力确定的适应性景观来优化计算机程序群体。
如果您的问题是“有哪些软件技术受到生物学启发?”,那么请参见更一般的http://en.wikipedia.org/wiki/Bio-inspired_computing。我认为还可以使用其他几种方法,如蚂蚁群(http://en.wikipedia.org/wiki/Ant_colony_optimization)和神经网络(http://en.wikipedia.org/wiki/Neural_network_software)。

我们可以说,软件代理的概念也受到生物学的启发。http://en.wikipedia.org/wiki/Software_agent - j-g-faustus

5
许多最初在生物学中观察到的概念已经被用于软件中。例如遗传算法(GA)。 人工生命(AL)利用了生物学的几个原则,如对不完美代码段的弹性按内容寻址不完美的复制(在某些实现中也包括性别驱动的多生物体繁殖)和非目标驱动的效用函数。AL的一个有趣结果是,在生态学或流行病学等领域(这些领域受生物学影响很大),会出现宏观现象的自发产生,例如寄生虫的出现,甚至是利用寄生虫的生物体的出现,或微妙的捕食-被捕食关系。
也许可以说,计算机软件已经在一些涉及真实(基于碳的)DNA(或RNA)分子的计算实验中“完整地循环”了!该领域的原始实验(PDF链接)由RSA著名的Alderman教授进行,他使用不同的DNA分子编码图形相关问题(汉密尔顿图)的各个元素,并让生物化学的大规模并行计算能力解决问题!

回到数字世界,但受到生物学、大脑皮层解剖学以及神经科学领域的许多理论和临床观察的强烈启发,我们有了神经网络(NN)。在NN领域中,值得特别注意的是Numenta的分层时间记忆模型,尽管它只是粗略地复制了我们对新皮质的理解,但引入了这样一个想法:相同的算法在认知过程的所有领域和所有层面上都被应用,这个想法在很大程度上得到了生物学、解剖学和其他形式的证据的支持。


4

人工神经网络是另一个经典的例子。该软件应用程序倾向于模式识别和复杂系统行为预测。


4

4

大多数回答都谈到了人工智能。你的问题标题暗示了一种软件,它隐藏自己以避免被检测。

我们有病毒。

我们有病毒猎人...

我自己甚至在我的程序中隐藏了一些漏洞... :(


3
Alan Kay(面向对象技术先驱)长时间谈论了生物学对OOP范例的影响。他有一系列关于对象如何像“细胞”的想法,并且OOP可以像细胞一样扩展以产生大规模的架构...
你可以在他的图灵奖演讲中找到很多相关内容:http://video.google.com/videoplay?docid=-2950949730059754521# -- 跳至30:55处

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接