Possible Duplicate:
Programming Logic: Finding the smallest equation to a large number.
我正在寻找一种算法,该算法将从 Aleph-Null 集合(所有正整数)(可能绝对是巨大的)中获取任意数字,并尝试将其简化为可计算的数字(如果可计算的数字占空间小于它试图表示的整数值)(特别是不是 float )。让四方/ super 运算符(operator)参与将是最佳选择。
有谁知道是否存在这样的东西?今天早上我环顾四周,但一直找不到任何东西。
C# 代码将是最佳选择,但实际上,它可以用任何语言编写
编辑:Programming Logic: Finding the smallest equation to a large number :
http://mrob.com/pub/ries/index.html看起来很有希望,但我想知道它处理大量数据的能力如何,以及它是否能够实现 super 运算符。我会试试的。
(all positive integers) and attempt to
simplify it into a computable number
(if the computable number takes up
less space than the integer value it
is trying to represent)(specifically
not floating point). Involving
tetration/hyperoperators would be
optimal.
是的,然后再说一遍,不是。
首先,您实际上无法在物理计算机中从“所有正整数”获取输入。充其量,您可以有一个整数,其表示长度是硬盘驱动器的大小。
因此,您的输入现在在物理上被限制在集合 I = [0, MAX]
中,其中 MAX 是一个物理常数。恭喜,这个问题可以解决。
您可以从信息论的角度考虑这一点 - I 的每个成员都是可能的和可表示的。当您考虑表示时,可压缩性就会出现。如果每个表示都是唯一的,您的目标是将 I 中的每个 i
减少为最接近 i
本身的熵的表示。
或者,重申一下,压缩是通过消除冗余来实现的。如果您的表示有冗余,则可以对其进行压缩。
可能 - 这将是领域知识 - 您可以编写以高度压缩的方式生成数字的公式。但这取决于您如何获得数字的某种规律性,它不再是任意的。