看到Matrix67上的一篇文章:http://www.matrix67.com/blog/archives/2784 ,勾起了我以前的一个想法:
有个说法,叫做用一根棒子就能记录所有人类的知识,就是把所有的知识数字化,转成阿拉伯数字储存的方式,然后改成小数方式(前面加上0.),接着取一根棒子,以其长度为1,在与转化后的小数的那个位置点上一个点,以后要知识的话,只要读出这个点的位置就可以了。
当然实际上这种做法不太可行——加工精度达不到,那么如果利用计算机来做呢?
设想有这么一个软件,它可以先把数据转成一串数字,然后找到一个公式,在输入极少量的初始值后就能算出这串数字,进而还原数据。
这个设想最大的问题是:不知道公式左端的信息量是不是和右边算出数据的信息量是一样大?这需要信息和数论之类的知识吧。若是一样大,那么这个软件就没有任何意义。
另外一个问题就是对任何一个数据,能不能找到这样一个公式?改善的方案就是:先固定几个公式(可得到无限不循环的数字),然后指定区间:比如数据是789302781,那么公式1的第7位到15位和它一样,压缩后就成了"公式1(7,15)"。
这大概只是个幻想,毕竟这种东西对CPU的要求太高了,当CPU能达到要求时,数据的传输宽度已经不再需要这种手段了。
没有评论:
发表评论