gpt4 book ai didi

寻找最小基组的算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:08:33 25 4
gpt4 key购买 nike

假设我们有 N 个集合 { x1, x2, x3, …, xN }.

N 个集合的“基”是 M 个集合的集合 { y1, < em>y2, y3, …, yM } 这样每个 { x1, x2, x3, …, xN } 是 { < em>y1, y2, y3, …, yM }.

我怎样才能找到“最小”基础,即具有最少 M 的基础?

最佳答案

想到的一个类似问题是找到 basis of a vector space或找到最小的 generating set , 分别。

由于集合的数量以及所有可能元素的宇宙是有限的,我们可以将每个集合重写为这样的向量(假设整数作为集合中的元素):

{ 1, 2, 5 } => ( 1, 1, 0, 0, 1, 0 , ... )
{ 4 } => ( 0, 0, 0, 1, 0, ... )

所有向量 x_i 的集合现在形成一个(平凡的)生成集 G,用于所有集合 x_i 的宇宙。

您搜索最小生成器。为此,我们必须从向量集 G 中消除所有线性相关性。一种天真的方法是检查所有包含 G 元素的三元组是否满足以下条件(x,y,z 向量 Gk,l,m 数字):

  k * x + l * y  + m * z == 0

如果满足条件,我们将消除这三个向量中的一个。 (哪一个并不重要)。

这样减少的向量集(及其各自的集合)构成了你的集合集的基础。

上述论点的一个要求是,您允许 set difference作为生成集合的操作。

关于寻找最小基组的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18871647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com