几个生物学理论在计算机科学中的运用案例

简介:   生物学和计算机科学原本是八竿子打不着的学科,一个是研究细胞、基因的科学,一个是由0和1基础上构建的程序、算法的科学。   生物学是一个神秘的学科,很多的领域人类其实并没有完全的探索清楚。上帝用了几十亿年创造的东西,远比人类创造的不足百年的计算机精妙。所有,现在计算机技术中,很多设计、思想、算法都是来源于生物学的理论。 ## 1、细胞分裂   细胞分裂(cell division)是活

  生物学和计算机科学原本是八竿子打不着的学科,一个是研究细胞、基因的科学,一个是由0和1基础上构建的程序、算法的科学。
  生物学是一个神秘的学科,很多的领域人类其实并没有完全的探索清楚。上帝用了几十亿年创造的东西,远比人类创造的不足百年的计算机精妙。所有,现在计算机技术中,很多设计、思想、算法都是来源于生物学的理论。

1、细胞分裂

  细胞分裂(cell division)是活细胞繁殖其种类的过程,是一个细胞分裂为两个细胞的过程。

u_3350508609_1182475801_fm_21_gp_0

  在HBASE的存储中,就用到了这种思想.
  HBASE的底层存储的核心是StoreFile,当StoreFiles Compact后,会逐步形成越来越大的StoreFile,当单个StoreFile大小超过一定阈值后,会触发Split操作,同时把当前Region Split成2个Region,父Region会下线,新Split出的2个孩子Region会被HMaster分配到相应的HRegionServer上,使得原先1个Region的压力得以分流到2个Region上。

image0070

2、神经网络

  人的一次反射活动,主要经历了以下几个步骤,感受器->传入神经纤维->中枢->传出神经纤维->效应器
20110112221300890

  人们在模拟生物的神经网络结构,建立了人工的神经网络结构,如下图:
Ncell
如果合并起来,就是这样的结构
SingleLayerNeuralNetwork_english

  在计算机领域,分布式流式计算的Storm的拓扑结构就和这个有点类型,大量数据的汇合,然后到达一定的阈值后,向下一个bolt发送任务,然后串联起一个汇集式的网络结构。
figure1

3、大脑存储

  人的大脑究竟可以存储多少数据呢?当然现在谁也不知道,但也有人对此进行评估,比如《科学美国人》一篇文章估计有2.5PB,如果1台计算机5个TB,需要500台计算机才能存储下一个人大脑中的数据,感觉到上帝和人类的差距是多大了吧。
  大脑的存储有几个特性:
1、存储的总空间是恒定的
2、聚集相似性存储器,比如“红色的消防车”和“红色的苹果”,会将“红色‘只作为单份的存储
3、有一定的错误的几率

  当然,人类也在模拟人类大脑的存储,比如Pentti Kanerva在1974年提出了Sparse Distributed Memory(稀疏分布式存储),虽然它没有被很好的实践。

  其他还有比较著名的Bloom Filter算法就基本使用了这种思想

  定义n个hash函数,将一个字符串hash到一个bit串中,当然同一个位上可能会有重复。当去判断这个字符串是否存在的时候,重复这n个hash函数,可以判断这个字符串是否存在。
o_bf2
当然,会有一定的误差,这和我们的大脑经常记错一些事情类似。

后记

  人类从鸟类得到灵感,造出了飞机,人类从鱼身上得到了灵感,造出了潜艇。其实,万物的根本都是一致的,思路和逻辑都可以借鉴。
  写这篇文章的目的并不是简单介绍几种方法,而是希望大家把思路打开,不要局限于自己的领域,走出去,你的思路会更加的宽广。

资料:

人工神经网络:http://zh.wikipedia.org/zh-cn/人工神经网络
Bloom Filter算法:http://zh.wikipedia.org/wiki/布隆过滤器

相关文章
|
6月前
|
算法 数据挖掘 定位技术
算法必备数学基础:图论方法由浅入深实践与应用
算法必备数学基础:图论方法由浅入深实践与应用
|
7月前
|
机器学习/深度学习 存储 算法
探索常见的计算机科学算法
本文介绍了三种计算机科学算法:快速排序、哈希表和Dijkstra算法。快速排序是基于分治思想的排序算法,平均时间复杂度为O(nlogn)。哈希表是高效数据结构,通过哈希函数实现快速插入、删除和查找,解决冲突的方法包括链地址法和开放地址法。Dijkstra算法用于求解图中单源最短路径问题,常见于路由和导航。最后提到了梯度下降算法,这是一种用于优化目标函数的参数更新方法,在机器学习中广泛应用于模型训练。
59 2
|
机器学习/深度学习 算法 数据建模
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异(1)
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异
|
机器学习/深度学习 自然语言处理 算法
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异(2)
学习=拟合?深度学习和经典统计学是一回事?哈佛理论计算机科学家细数二者差异
132 0
|
机器学习/深度学习 算法
机器学习算法与理论用到的数学知识
机器学习算法与理论用到的数学知识
机器学习算法与理论用到的数学知识
|
机器学习/深度学习 人工智能 算法
当博弈论遇上机器学习:一文读懂相关理论
博弈论和机器学习能擦出怎样的火花?本文作者王子嘉通过回顾总结近年来博弈论和机器学习领域的交叉研究工作,为读者展示了这一领域最新的研究图景。
1183 0
当博弈论遇上机器学习:一文读懂相关理论
|
机器学习/深度学习 算法框架/工具
揭秘:深度网络背后的数学奥秘
不要怪我没有告诉你,数学不好千万不要乱点。
1740 0
|
人工智能 程序员 量子技术