真正并行计算的难度(附-真正AI的难度)

来源:互联网 发布:无声鼠标 知乎 编辑:程序博客网 时间:2024/06/05 18:50

并行计算为何难以实现?因为我们的当代计算机始祖--冯诺依曼计算机就是个串行机,冯氏机器的理论基础是图灵机,图灵机本质上也是个串行机,按部就班的一 步一步做事,图灵机的脊髓在于计算的过程而不是计算的本身,这里的关键词“过程”本质上描述了图灵机更关注与过程,而过程就是按部就班的代名词。
很多人都说图灵机是人脑的模拟,实际上他们忽略了一个大的问题,图灵机连人脑的子集都谈不上,或者充其量它就是人脑的子集,人脑的归纳能力是图灵机所没有的,图灵机只会在指导下进行计算,从这个意义上看,它永远只是一台机器,一个工具,和扳子,锤子没有什么本质的区别。如果说人们一直在努力实现并行计算, 最起码在基于图灵机的机器上,这种努力是徒劳的,那些所谓的锁机制,缓存一致性(mesi等)都只是修修补补,治标不治本的方法。如果想实现真正的并行计 算,就必须将计算本身而不是计算的过程作为一个重点,实际上,在图灵机被发明出来的同一时间,出现了一个叫做lambda演算的方法,它的计算能力被证明 和图灵机是一致的,不同的是,lambda演算专注的是计算本身,它里面没有变量,只有计算,没有变量也就从根本上消除了一大堆锁,因为不可能出现竞争,lambda演算只是逻辑意义上的,软件意义上的,因此在当时的科学技术背景前提下,没有出现与之相关的机器,这个状态已持续了好几十年。按照 lambda演算方式设计出来的计算机是可以实现并行计算的,这种机器的计算粒度非常小,而不像在冯诺依曼机器上执行的最小粒度必须是线程,线程代表了一个图灵过程,这是图灵机必须的,并行计算的第一步必须为计算实体分配线程,可见这种方式及其拙劣,lambda演算的机器就不必有线程的概念,因为它代表的是计算本身,而不是过程。
现在想想AI。如果上帝真的按照他自己的样子造出了我们,那么我们造出的人工智能也应该是我们的样子,那么在彻底了解我们自身以前,任何研究人工智能的努力必将是徒劳的,因为我们认为有智能的东西必须和我们一样,就好像很多科学家都认为外星人也必须呼吸氧气一样,于是那个星球拥有氧气变成了存在外星人的必 要条件(这实际上是错的,但是人类很不喜欢另类,不喜欢和我们不同的智能存在)。虽然这是不对的想法,但是人类自大的本质决定了人类不可能造出和人类不同的人工智能。如果我们反思一下就会发现,不是上帝按照自己的样子造出了我们,而是我们按照自己的样子想象出了上帝的样子,很搞笑,但很真实!
遗留了一个问题:我们是并行的还是串行的?我们造出的机器人是并行的还是串行的?一心不可二用又该作何理解?如果我们是串行的,而且我们不喜欢和我们不同的存在,那么为何现在研究并行计算却如火如荼?问题的答案是:我们对我们自身还一无所知,我们的科学也许还属于未开化状态!

原创粉丝点击