Sam*_*ith 0 compression algorithm math
假设数学表达式的字符数少于原始数字.例-
20880467999847912034355032910578可表示为(23 ^ 23 +10)
这看起来像一个很好的压缩方法.它可以用于压缩大文件吗?
更新 - 我并不是说将文件转换为大二进制数.假设我有一个文本文件,我用它们的ascii值替换它中的所有字符.现在我在十进制数字系统中有一个大数字.我可以将它表达为一个数学表达式,如上例所示.
如果将文件的内容作为大型二进制数,并找到一个表达式,该表达式的计算结果为该数字,并且可以比数字本身更紧凑地存储,那么是的,您已经压缩了该文件.
不幸的是,对于大多数文件,你永远不会找到这样的表达式.
简单的逻辑(参见@OliCharlesworth发布的链接)应该说服你,不可能为所有甚至大多数文件找到这样的表达式.即使对于可能具有合适表达的文件,找到它也将非常非常困难.如果你想说服自己,试试这个挑战:
请使用以下ASCII字符串:
"神圣的Kolmogorov复杂性,蝙蝠侠!压缩这个傻逼好,你会得到一个相当便士,我的好孩子!"
解释为一个二进制数,与高阶位来首先,那就是:2280899635869589768629811602006623364651019118009864206881173103187172975244099647369151382436996220022807793898568915685059542016541775658916080587423284053601554008368389985872997499032440860090224967472423163775276043175694884234152335588829534778866153948275745.
尝试找到一个计算该数字的多项式.使用的所有数字必须是整数,并且多项式中出现的小数位总数必须小于80.如果成功,我将通过PayPal向您发送小额现金奖励.