『人列计算机』毫无疑问是可以实现的,原理上毫无问题,只是效率太低,成本太高。
这里有些朋友觉得有争议,因为『人力原件』容易出错。其实这些问题在计算机设计中都有考虑到。
计算机工作的时候,原件出错很常见。如今家用的 Intel i9 CPU 里有百亿个晶体管,原件的精密程度达到了几十纳米级别,这等精密的器件受到微小的扰动,就可能出现电平翻转,输出错误。
再譬如说,网络传输过程中,电子信号通过上千公里线路、多级路由的传输,受到无数干扰,这个过程中数据更是会出现很多错误。
元件出现错误是必然的,而且时刻都在发生。但我们的AIPC(划掉)依然可以正常地工作,从网上下的片也不会变成一堆马赛克。
我们主要是依靠计算容错技术来解决这个问题。在计算、存储和数据传输中会通过冗余和校验,使得即使部分原件出错,也能得到正确的结果。当然了,任何技术都不能保证计算绝对可靠,但以小说中的人列计算机的规模,我们不难通过合理设计得到统计学意义上正确的结果。
顺便赞一下刘慈欣先生。他在《三体》里描写的『人列计算机』这个情节和设定非常精彩,也给很多人(比如当年的我)科普了现代计算机的冯诺依曼结构。
我在中学时代追完了《三体》连载,书中无处不在的科学设定让我对数学、计算机、纳米科技等等有了一些直观了解,它好似为一个少年打开了新世界大门,激发了我无穷的的兴趣。如今我已经从事高性能计算行业多年。感谢大刘!
拜读大家的讨论,颇有感触。我点进这个问题本以为可以看到计算机知识的科普,后来才发现我naive了。这里最有用的是防骗科普,非常形象生动地展示了『某些人是如何对自己一无所知的概念高谈阔论的』。
科学技术发展到今天,各学科的专业壁垒很强。很多工程技术中的细节,都是大量技术人员呕心沥血解决的,非本专业的人可能完全不懂之中奥妙,这属于正常现象。
但在自己不了解的领域里最好不要想当然,甚至不懂装懂误导人。比如这里就有个答主一直坚持说:
人一定会出错,只要有一个士兵出错,这个错误造成的影响就会导致整个计算出错。
这就属于常识错误。照此人空想中的“一错全错”的设计,拥有大量原件的计算机系统根本就没法工作。
关于容错技术,已经有大量的人他的评论区里为其科普。然而这位答主起初拼命反驳,后来又将观点转变一百八十度,修改为:“我其实早就了解容错技术,但按照小说设定,三百万人太少,无法实现计算冗余” 云云。这就属于越狡辩越暴露出自己缺乏常识。为了防止有知友被其误导,就多说两句,指出他的水平。
首先看看他的自辩:
敢问你们给计算单元和存储单元以及同步单元都备上校验系统,小说里那些军队组成的计算机系统还能运行多复杂的程序?
谁要不服气你就来给我算算小说里要计算圆周率多少位需要寄存多少中间结果,这些中间结果需要多少内存来保存,然后你们再算算三百万军队还剩多少可以用来构建计算单元和你们所谓的冗余?算出来确定可以做冗余我就服气。
这种『我主张,你举证,我一张嘴,你跑断腿』的诡辩套路应该不需要我多吐槽了。然而事实上稍有计算机常识的人就知道——开创了x86 时代的 Intel 8086 处理器,晶体管数量不到三万个,已经实现了非常完善的计算单元和 Cache 等组件。而内存的元件数量更是远远低于处理器。用三百万人实现计算机完全没有设计上的问题。
即使该答主不懂计算机体系结构,实在设想不出原理,只要在章口就来之前稍微去了解点常识,也不至于犯这种错误,更不至于如此“自信”到拿这种问题来跟人叫阵。
更不要说“计算圆周率”这种简单的级数迭代问题竟然被该答主当做“需要寄存很多中间结果”的难题来挑战别人,这就连自己可怜的数学水平都暴露了。
至于说到存储,那位答主的观点如下:
别忘了8个士兵才只是一个字节的存储量,你三百万士兵还不够1MB
这种用每个人存储个 1bit 的超高智商设计,充满智慧和想象力实在令人无法吐槽。而且刘慈欣在三体小说里还专门提到过实现存储的一种思路,一个人即使不懂相关知识,只要在信口开河之前去看过他的小说,都不会闹这种笑话(当然我也知道有些人看再多遍书也等于白看,但总比不看的好)。
蛮有意思的是这位答主能够洋洋得意地拿所谓『内存不到1MB』说事,又暴露了他常识的匮乏。实现小说中的计算功能,远远用不到MB这个数量级的内存。这其实都不需要任何计算机体系结构的知识,只要知道经典的 IBM PC,它的低配版内存只有 16KB。而早期计算机的内存容量就更加有限。
IBM PC 之类的里程碑式产品,对于稍微了解计算机发展史的朋友们来说可谓常识,不过对于那位答主来说可能远远超纲了。当然他没准还觉得 IBM PC 还算不出圆周率。
没戏。
那运算效率估计还比不上熟练的算盘。。。
你觉得为啥电子管计算机那么大一坨为啥算力还比不上今天的智能闹钟。
每一个逻辑门(倒霉蛋)的作动速度实在是太慢了,就翻转个状态要花半秒多。。。
逻辑门(倒霉蛋)之间的通信速度太慢了,就相邻的俩至少就需要0.1s交换最简单的数据
逻辑门本身的耐力太差了,大概极限运行一整天??个别特别忙的倒霉蛋估计五分钟就能累趴下,换人这种行为就是明摆着增加出错概率。。。
逻辑门太大了导致整个元件体积严重超标,
逻辑门的可靠性太差了,确实硬件有纠错,但是人类还是没有物理规则主导下的电子元件可靠,这玩意的错误概率远高于现在的计算机
逻辑门太少了。那点晶体管能干啥。。。
存储和IO是个问题,它或许能用,但他肯定不好用。
讲真的,1971年的4004处理器就有108khz的速度了,每秒钟能跑五万条指令,而它只有两千多个晶体管。。。而我相信,三百万人一秒钟处理不了五万条指令。
本质上我觉得这是种十分浪费的组网方式,就相当于把几百万能进行深度学习的计算卡当电子管拼起来。。。反过来说如果是三百万人当作能直接运行简单指令集的处理单元用别的方式拼合起来,或许效率能提高很多吧。。。
不过IO,存储,通信,错误。这四个问题始始终绕不开,毕竟人类的反应时间0.1s始终摆着,这个处理器大概不管怎么组网用什么架构都没办法做到100hz的速度吧。。。就算能运行再复杂的指令,这个速度也实在是太慢了。
几年前某军区站岗哨兵被袭,枪弹被抢,人死没死不记得了。是不是要提个问题“为何全副武装哨兵面对袭击挂掉”?
大惊小怪。