Algorithm 无限/(动态)宇宙元素集合中的子集计算
给定字母数字元素的无限集合/宇宙(U)和(U)子集的族(F) 计算/分组(F)中的所有相关子集,其中所有元素都被覆盖或更少,参见示例 宇宙并不是无限的,而是非常大的,大约有5900万元素,并且在不断增长。族(F)子集也不是常数,大约有1300万个元素,并且还在增长 例如: U={Algorithm 无限/(动态)宇宙元素集合中的子集计算,algorithm,performance,math,encoding,functional-programming,Algorithm,Performance,Math,Encoding,Functional Programming,给定字母数字元素的无限集合/宇宙(U)和(U)子集的族(F) 计算/分组(F)中的所有相关子集,其中所有元素都被覆盖或更少,参见示例 宇宙并不是无限的,而是非常大的,大约有5900万元素,并且在不断增长。族(F)子集也不是常数,大约有1300万个元素,并且还在增长 例如: U={9b3745e9,ab70de17,1c410139,44038bbf,9c610bb,…,N} F1={9b3745e907ee0220} F2={9b3745e9,ab70de17,99b5d738} F3={99b
9b3745e9
,ab70de17
,1c410139
,44038bbf
,9c610bb
,…,N}
F1={9b3745e9
07ee0220}
F2={9b3745e9
,ab70de17
,99b5d738}
F3={99b5d738,07ee0220}
F4={9b3745e9
,ab70de17
,1c410139
}
F4calculate()={F2(2),F1(1)}
当然,您可以在残酷的迭代中进行,但随着时间的推移,这并不是最佳解决方案(NP完全问题)
有没有办法更有效地解决这个问题?编码子集,同时使用大于宇宙的元素/向量码本,例如70Mil或100Mil。但我不确定计算方法。根据这个例子,“相关”子集似乎是至少包含一个公共元素的子集。在该示例中,F4有两个共享元素,0x9b3746e9(与F1共享)和0xab70de17以及0x9b3746e9与F2共享。括号中的数字表示共享元素的数量(F2(2)=2个带有F2的共享元素)。假设这种解释: 这显然不是NP完全 问题只是索引的一个简单例子。 在哈希表中,链接 U(59*106)到 包含它们的子集(例如。 0x9b3746e9->{F1,F2,F4})。什么时候 求一个给定函数的相关子集 子集,遍历元素 在子集中查找U,并查找 每个元素的哈希表。迭代 通过列表,您可以找到 相关子集。这是一个快餐店 手术,什么都没有 它是NP完全的
然而,对这个问题的另一种解释是,这是集合覆盖组合优化问题的一个实例。这确实是NP完全。定义“相关”。定义“成长”。请你决定你是在解决巨大的还是无限的情况。宇宙的永久增长需要考虑,它增长的速度与解决方案没有太大关系。因为日期是永久性增长的,所以更容易将宇宙视为无限的。但也许我也大错特错了。你们提到的解决方案最初是实施的。为了节省迭代周期,子集被加权。但我仍然在寻找一种编码解决方案,以完全克服子集的迭代。谢谢