我想知道是否有人知道任何利用生物学的软件技术?例如,在机器人世界中,有很多,但软件呢?
6 回答
如果您的问题是“是否已使用生物学思想来优化软件?” 那么遗传编程(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 )。
许多最初在生物学中观察到的概念已在软件中使用。例如遗传算法(GA)。
人工生命(AL) 暴露/使用了一些生物学原理,例如对不完美的代码片段的弹性、按内容寻址、 不完美的复制(在某些实现中,也是性的,即多器官驱动的复制)和非目标驱动效用函数。AL 的一个有趣结果是在生态学或流行病学(很大程度上受生物学影响的领域)等领域观察到的宏观现象的自发产生,例如寄生虫的出现,甚至是利用寄生虫的生物体的出现,或微妙的捕食者——猎物关系。
也许可以说软件已经“绕了一圈”,进行了一些涉及真实(碳基)DNA(或RNA)分子的计算实验! 该领域的原始实验(PDF 链接)由 Alderman 教授(以 RSA 闻名),他用不同的 DNA 分子对与图相关的问题(哈密顿图)的各种元素进行了编码,并让生物的海量并行计算能力化学做剩下的,解决问题!
回到数字世界,但受到生物学和大脑皮层解剖学的强烈启发,以及神经科学领域的许多理论和临床观察,我们有了神经网络(NN)。在神经网络领域,也许值得特别注意的是Numenta 的分层时间记忆模型,尽管它只是非常松散地再现了 [我们对] 新皮层的理解,但它引入了同样的算法应用于由大脑驱动的认知过程的所有领域和所有水平,这一想法在很大程度上得到了生物学、解剖学和其他形式的证据的支持。
人工神经网络是另一个经典例子。软件应用往往是复杂系统的模式识别和行为预测。
蚁群优化,一种搜索/优化方法,以及Conway 的生命游戏等人工生命
大多数答案都在谈论人工智能。您的问题的标题暗示了为了不被发现而隐藏自己的软件。
我们感染了病毒。
我们有病毒猎手...
我自己,我什至在我自己的程序中隐藏了一些错误...... :(
Alan Kay(对象技术先驱)详细谈到了生物学对 OOP 范式的影响。他有一系列关于对象如何像“细胞”的想法,并且 OOP 的扩展方式类似于细胞可以扩展以产生大规模架构的方式......
您可以在他的图灵奖演讲中关注这一点:http: //video.google.com/videoplay ?docid=-2950949730059754521# --跳到 30:55 左右