辛几何&李代数

暴露在寒冷空气中可能延长哺乳动物寿命

将近一个世纪以来,科学家们就已知诸如线虫、苍蝇和鱼之类的冷血动物在寒冷环境中都能够存活更长时间,但是却不知道其中的原因到底是什么.在一项新的研究中,来自美国密歇根大学生命科学学院的研究人员鉴定出一种在寒冷环境中提高线虫寿命的遗传程序,而且这种遗传程序在包括人类在内的温血动物中也存在.相关研究结果于2013年2月14日发表在Cell期刊上,论文标题为"A Ge... 阅读全文

将近一个世纪以来,科学家们就已知诸如线虫、苍蝇和鱼之类的冷血动物在寒冷环境中都能够存活更长时间,但是却不知道其中的原因到底是什么.

在一项新的研究中,来自美国密歇根大学生命科学学院的研究人员鉴定出一种在寒冷环境中提高线虫寿命的遗传程序,而且这种遗传程序在包括人类在内的温血动物中也存在.相关研究结果于2013年2月14日发表在Cell期刊上,论文标题为"A Genetic Program Promotes C. elegans Longevity at Cold Temperatures via a Thermosensitive TRP Channel".

论文通信作者、密歇根大学生命科学学院教授Shawn Xu说,"这就提出一个有趣的可能性:暴露在寒冷空气中或药物激活寒冷敏感性的遗传程序可能提高哺乳动物的寿命."

科学家们长期猜测动物在寒冷环境中存活更长时间是由于一种被动的热力学过程,因此可以推理低温降低化学反应速率,从而延缓衰老速度.

Xu说,"但就如今而言,至少在线虫中,在低温下观察到的寿命延长并不能简单地通过化学反应速率下降来解释.事实上,它是一个受到基因调节的主动过程."

Xu发现寒冷空气激活一种在线虫神经细胞和脂肪细胞中发现到的被称作TRPA1通道蛋白的受体,然后TRPA1让钙离子进入细胞内.由此产生的一连串信号最终到达一个与寿命相关联的基因DAF-16/FOXO.缺乏TRPA1的线虫突变体在较低的温度下拥有更短的寿命.

因为Xu和他的同事们鉴定出的机制也存在于包括人类在内的许多其他有机体中,所以他们提出类似的影响也是可能发生的.这项研究也是首次将钙离子信号与寿命相关联起来,而且在脂肪组织和温度反应之间建立起一种新的连接.

研究人员已知降低诸如小鼠之类的温血动物的核心体温0.9华氏摄氏度能够将它们的寿命延长20%,但是试图降低人体核心温度一直是不现实的.

Xu说,"但是如果人皮肤细胞和脂肪细胞中开始发生的衰老过程的一些方面与线虫中一样的话,那么我们应当走出去拥抱一些冬天里的寒冷空气吗?"

Xu补充道,除了低温外,辛辣调味品芥末(wasabi)也激活TRPA1,而且给线虫喂食芥末会增加它们的寿命.他说,"或许我们应当更频繁地去寿司餐馆."

收起全文

★·°遇見、堇色年華 ﹏

【十里桃花】将临

【十里桃花】将临

这时我年轻 该有的爱如期望一般降临 即便寻不到梦中的荒地 我也已拥有这片楼林 四下街道安静 我在此栖息 并且日日感受黄昏的光晕 趁早的时光随太阳一同升起 我愿意陪同热烈的每一季去隐匿 我愿意独自陷入所有风景 即使日后我们相隔草原,山谷 我将在所及最高处为你摇铃 将去感染一场比戈壁... 阅读全文

【十里桃花】将临

这时我年轻

该有的爱如期望一般降临

即便寻不到梦中的荒地

我也已拥有这片楼林

四下街道安静

我在此栖息

并且日日感受黄昏的光晕

趁早的时光随太阳一同升起

我愿意陪同热烈的每一季去隐匿

我愿意独自陷入所有风景

 

即使日后我们相隔草原,山谷

我将在所及最高处为你摇铃

将去感染一场比戈壁更荒凉的孤旅

趁红日未息

收起全文

V设计

空间设计简论

空间设计简论

一个好的空间的重点并非是表现手段。构成.颜色.材质(不局限于此列比)都是手段基调,而非一个空间的主题基调。通过结合运用手段的设计人可以类比为三国的杨修,识事确不识人(人指空间的元体即决定该空间存在意义的根本),况且多数是无杨修之才的,更像街头摊贩声高的吆喝罢了。我想对这一纸白页倾说一下,我理解的空间,然后再说设计的事。空间是承载物事的载体,物强调的是特定空间... 阅读全文

空间设计简论

 

一个好的空间的重点并非是表现手段。

构成.颜色.材质(不局限于此列比)都是手段基调,而非一个空间的主题基调。

通过结合运用手段的设计人可以类比为三国的杨修,识事确不识人(人指空间的元体即决定该空间存在意义的根本),

况且多数是无杨修之才的,更像街头摊贩声高的吆喝罢了。

我想对这一纸白页倾说一下,我理解的空间,然后再说设计的事。

空间是承载物事的载体,物强调的是特定空间既定的功能性,事是特定空间的可能性。50年代出, 华北无线电联合器材 联合厂在京郊毫无工业基础的酒仙桥地区筹建时,

谁能想到50年后这座 新中国“一五”期间的工业厂区变成了中国乃至亚洲的艺术核心。798的再利用是时间的产物更是时代的产物,同样谁也不会知道这座艺术区下一个多少年后的所扮演的身份会是什么,

这也是空间吸引我的重要原因。

我想,在空间面前我们不是执刀的屠户.掌墨的画家,因为每一个空间的可能性是高于或等于我们存在的,双方的契约首先是对彼此的尊重,

所以我认为空间的第一元体应该留给空间本身,其次是人是物。

作者:David Zhang

收起全文

辛几何&李代数

巴克豪斯常数

巴克豪斯常数

让被定义为幂序列谁的这项有一个系数等于个素数, (1) (2) 函数有一零点(OEISa088751)。现在让被定义的 ... 阅读全文

 

巴克豪斯常数

巴克豪斯常数被定义为序列谁的巴克豪斯常数这项有一个系数等于巴克豪斯常数素数 巴克豪斯常数

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(1)

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(2)

函数有一零点巴克豪斯常数(OEISa088751)。现在让巴克豪斯常数被定义的

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(3)

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(4)

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(5)

(OEISa030018)。

巴克豪斯常数

然后,巴克豪斯推测

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(6)

巴克豪斯常数巴克豪斯常数巴克豪斯常数

(7)

(OEISa072508)。这一限制随后被证明由P. Flajolet存在。请注意,巴克豪斯常数,这 从收敛半径对 倒数幂级数。

这个连分数巴克豪斯的常数是[ 1,2,5,5,4,1,1,18,1,1,1,1,1,2,…](OEISa074269 ),这是一样的连分数也巴克豪斯常数除了 领先后者的0。

收起全文

辛几何&李代数

BloomFilter——大规模数据处理利器

BloomFilter——大规模数据处理利器

  BloomFilter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。 一.实例   为了说明BloomFilter存在的重要意义,举一个实例:   假设要你写一个网络蜘蛛(web crawler)。由于网络间的链接错综复杂,蜘蛛在网络... 阅读全文

 

  Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。

 

实例 

  为了说明Bloom Filter存在的重要意义,举一个实例:

  假设要你写一个网络蜘蛛(web crawler)。由于网络间的链接错综复杂,蜘蛛在网络间爬行很可能会形成“环”。为了避免形成“环”,就需要知道蜘蛛已经访问过那些URL。给一个URL,怎样知道蜘蛛是否已经访问过呢?稍微想想,就会有如下几种方案:

  1. 将访问过的URL保存到数据库。

  2. 用HashSet将访问过的URL保存起来。那只需接近O(1)的代价就可以查到一个URL是否被访问过了。

  3. URL经过MD5或SHA-1等单向哈希后再保存到HashSet或数据库。

  4. Bit-Map方法。建立一个BitSet,将每个URL经过一个哈希函数映射到某一位。

  方法1~3都是将访问过的URL完整保存,方法4则只标记URL的一个映射位。

 

  以上方法在数据量较小的情况下都能完美解决问题,但是当数据量变得非常庞大时问题就来了。

  方法1的缺点:数据量变得非常庞大后关系型数据库查询的效率会变得很低。而且每来一个URL就启动一次数据库查询是不是太小题大做了?

  方法2的缺点:太消耗内存。随着URL的增多,占用的内存会越来越多。就算只有1亿个URL,每个URL只算50个字符,就需要5GB内存。

  方法3:由于字符串经过MD5处理后的信息摘要长度只有128Bit,SHA-1处理后也只有160Bit,因此方法3比方法2节省了好几倍的内存。

  方法4消耗内存是相对较少的,但缺点是单一哈希函数发生冲突的概率太高。还记得数据结构课上学过的Hash表冲突的各种解决方法么?若要降低冲突发生的概率到1%,就要将BitSet的长度设置为URL个数的100倍。

 

  实质上上面的算法都忽略了一个重要的隐含条件:允许小概率的出错,不一定要100%准确!也就是说少量url实际上没有没网络蜘蛛访问,而将它们错判为已访问的代价是很小的——大不了少抓几个网页呗。 

 

Bloom Filter的算法 

 

  废话说到这里,下面引入本篇的主角——Bloom Filter。其实上面方法4的思想已经很接近Bloom Filter了。方法四的致命缺点是冲突概率高,为了降低冲突的概念,Bloom Filter使用了多个哈希函数,而不是一个。

    Bloom Filter算法如下:

    创建一个m位BitSet,先将所有位初始化为0,然后选择k个不同的哈希函数。第i个哈希函数对字符串str哈希的结果记为h(i,str),且h(i,str)的范围是0到m-1 。

 

(1) 加入字符串过程 

 

  下面是每个字符串处理的过程,首先是将字符串str“记录”到BitSet中的过程:

  对于字符串str,分别计算h(1,str),h(2,str)…… h(k,str)。然后将BitSet的第h(1,str)、h(2,str)…… h(k,str)位设为1。

 BloomFilter——大规模数据处理利器

  图1.Bloom Filter加入字符串过程

  很简单吧?这样就将字符串str映射到BitSet中的k个二进制位了。

 

(2) 检查字符串是否存在的过程 

 

  下面是检查字符串str是否被BitSet记录过的过程:

  对于字符串str,分别计算h(1,str),h(2,str)…… h(k,str)。然后检查BitSet的第h(1,str)、h(2,str)…… h(k,str)位是否为1,若其中任何一位不为1则可以判定str一定没有被记录过。若全部位都是1,则“认为”字符串str存在。

 

  若一个字符串对应的Bit不全为1,则可以肯定该字符串一定没有被Bloom Filter记录过。(这是显然的,因为字符串被记录过,其对应的二进制位肯定全部被设为1了)

  但是若一个字符串对应的Bit全为1,实际上是不能100%的肯定该字符串被Bloom Filter记录过的。(因为有可能该字符串的所有位都刚好是被其他字符串所对应)这种将该字符串划分错的情况,称为false positive 。

 

(3) 删除字符串过程 

   字符串加入了就被不能删除了,因为删除会影响到其他字符串。实在需要删除字符串的可以使用Counting bloomfilter(CBF),这是一种基本Bloom Filter的变体,CBF将基本Bloom Filter每一个Bit改为一个计数器,这样就可以实现删除字符串的功能了。

 

  Bloom Filter跟单哈希函数Bit-Map不同之处在于:Bloom Filter使用了k个哈希函数,每个字符串跟k个bit对应。从而降低了冲突的概率。

 

Bloom Filter参数选择 

 

   (1)哈希函数选择

     哈希函数的选择对性能的影响应该是很大的,一个好的哈希函数要能近似等概率的将字符串映射到各个Bit。选择k个不同的哈希函数比较麻烦,一种简单的方法是选择一个哈希函数,然后送入k个不同的参数。

   (2)Bit数组大小选择 

     哈希函数个数k、位数组大小m、加入的字符串数量n的关系可以参考参考文献1。该文献证明了对于给定的m、n,当 k = ln(2)* m/n 时出错的概率是最小的。

     同时该文献还给出特定的k,m,n的出错概率。例如:根据参考文献1,哈希函数个数k取10,位数组大小m设为字符串个数n的20倍时,false positive发生的概率是0.0000889 ,这个概率基本能满足网络爬虫的需求了。  

 

Bloom Filter实现代码 

    下面给出一个简单的Bloom Filter的Java实现代码:

 

import java.util.BitSet;

publicclass BloomFilter 
{
/* BitSet初始分配2^24个bit */ 
privatestaticfinalint DEFAULT_SIZE =1<<25
/* 不同哈希函数的种子,一般应取质数 */
privatestaticfinalint[] seeds =newint[] { 571113313761 };
private BitSet bits =new BitSet(DEFAULT_SIZE);
/* 哈希函数对象 */ 
private SimpleHash[] func =new SimpleHash[seeds.length];

public BloomFilter() 
{
for (int i =0; i < seeds.length; i++)
{
func[i] 
=new SimpleHash(DEFAULT_SIZE, seeds[i]);
}
}

// 将字符串标记到bits中
publicvoid add(String value) 
{
for (SimpleHash f : func) 
{
bits.set(f.hash(value), 
true);
}
}

//判断字符串是否已经被bits标记
publicboolean contains(String value) 
{
if (value ==null
{
returnfalse;
}
boolean ret =true;
for (SimpleHash f : func) 
{
ret 
= ret && bits.get(f.hash(value));
}
return ret;
}

/* 哈希函数类 */
publicstaticclass SimpleHash 
{
privateint cap;
privateint seed;

public SimpleHash(int cap, int seed) 
{
this.cap = cap;
this.seed = seed;
}

//hash函数,采用简单的加权和hash
publicint hash(String value) 
{
int result =0;
int len = value.length();
for (int i =0; i < len; i++
{
result 
= seed * result + value.charAt(i);
}
return (cap -1& result;
}
}
}

收起全文

收藏喜欢的诗

《无常》— —雪莱

无常 趁天空还明媚,蔚蓝 Whilst skies are blue and bright 趁花朵还娇鲜欲醉 Whilst flowers are gay 趁眼前一切都还美好 Whilst eyes that change ere night 白昼尚未替与黑夜 Make glad the day ... 阅读全文

无常

 

趁天空还明媚,蔚蓝      Whilst skies are blue and bright

趁花朵还娇鲜欲醉          Whilst flowers are gay

趁眼前一切都还美好       Whilst eyes that change ere night

白昼尚未替与黑夜          Make glad the day

趁时流还这般宁静          Whilst yet the calm hours creep

做你的梦吧,且憩息       Dream thou——and from thy sleep

等醒来再哭泣                 Then wake to weep

收起全文
人人小站
更多热门小站
X