Algorithm 熵重包装

Algorithm 熵重包装,algorithm,Algorithm,我一直在反复思考机器的概念概念(如图灵机器),我想知道在这个或相关主题上是否做过任何工作。 这个想法是一台机器,它获取熵流并在任何范围内发出随机符号,而不损失任何熵 我要强调的是,这远远不是一个严格的描述,所以我要举一个例子:假设我有一个随机符号生成器,范围在1到n之间,我希望能够要求在任何给定范围内的符号,首先1到12,然后1到1234。(为了保持它的实用性,我只考虑确定性机器,在给定相同的输入流和请求的情况下,它总是给出相同的输出。)一个必要的约束是输出包含至少与输入一样多的熵。然而,我最感

我一直在反复思考机器的概念概念(如图灵机器),我想知道在这个或相关主题上是否做过任何工作。

这个想法是一台机器,它获取熵流并在任何范围内发出随机符号,而不损失任何熵

我要强调的是,这远远不是一个严格的描述,所以我要举一个例子:假设我有一个随机符号生成器,范围在
1
n
之间,我希望能够要求在任何给定范围内的符号,首先
1
12
,然后
1
1234
。(为了保持它的实用性,我只考虑确定性机器,在给定相同的输入流和请求的情况下,它总是给出相同的输出。)一个必要的约束是输出包含至少与输入一样多的熵。然而,我最感兴趣的约束是,机器只读取它吐出的熵

例如,如果要求在
1
S1、S2、S3的范围内使用令牌。。。Sm
它只会消耗
上限(总和(i=1到m,log(Si))/log(n))
输入令牌


询问如何在满足第一个约束的同时执行此转换,但在第二个约束上执行得非常糟糕

好吧,我还是不确定我是否遵循了你的要求。听起来你想要一个函数

f:我→ O

其中输入是字母表I={1..n}上的符号的强随机(均匀分布等)序列。(所以是一系列随机的自然数≤ n、 )输出是O={1..m}上的另一个序列,您希望该序列具有与输入相同的熵

好吧,如果我做对了,首先,如果m 如果m≥ n、 然后,只需选择{1..m}的第i个元素,就可以轻松地完成这项工作。熵将是相同的,因为可能输出符号的数量是相同的。它们不会是“随机”的,因为它们均匀分布在整个集合{1..m}上,因为必然(鸽子洞原理)一些符号根本不会被选择

另一方面,如果您对{1..m}上的随机序列感到满意,那么您可以使用来自随机源的输入作为种子来选择适当的伪随机数生成器

我当前的通行证:

通过添加以下限制:您预先知道范围序列是什么{S1,S2,S3,…,Sn},而使用具有非常量基数的基数转换可能有效:

  • 查找
    Sp=S1*S2*S3*…*序号
  • 从输入
    {R1,R2,R3,…,Rm}中提取
    m=cealing(log(Sp)/log(n))
    术语
  • 查找
    X=R1+R2*n+R3*n^2+…+Rm*n^(m-1)

  • 改革
    X
    O1+S1*O2+S1*S2*O3+。。。Sn*On+x
    其中
    1几乎,如果m>n输入的符号比输出的符号少(计数不需要等于计数),同样的方式(输入比输出多)输出范围也是非常量的(元素1在{1..12}上,元素2在{1..1243}上,等等)。是的,我确实需要在输出上均匀分布(假设输入上有).你打算用这种算法影响你的决策树吗?你有什么调整吗?-你有什么决策树吗?你能在这里清楚地定义O1和On,以及它们是如何成为大O符号的。你如何找到上界Si。我想你目前的确定性方法总是会失败。我想你需要一些统计数据调整以避免最坏情况。--我很想更好地理解为什么您认为确定性方法在这里就足够了。