gpt4 book ai didi

algorithm - 将近似相等的元素放在一起考虑

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

我们有一些元素具有一些关键值。

我们按键值的降序考虑元素。所以,如果我们有十个键值为 4, 5, 7, 10, 2, 8, 9, 10, 8.5, 9 的元素,我们按它们的键值对元素进行排序,并将具有相同键值的元素放在一起考虑。

因此,具有相同键值的元素,例如10,将一起考虑,然后是键值 9 的元素,依此类推。当一个元素被考虑,并且它通过了一个特定的适应度函数时,它被从列表中移除并且不再被考虑。

现在我们稍微放宽键值相等的限制一起考虑,将键值近似相等的元素一起考虑。因此,当我们说在排序顺序中第二个元素在第一个元素的 10% 以内时,它们将被一起考虑。

所以,现在键值10、10、9、9的元素要一起考虑。并且如果这里没有删除一个键值为 9 的元素,则必须用 8.5 重新考虑它。

我能想到的实现上述场景的唯一方法是这样的,

  1. 按键值的降序对元素进行排序。
  2. 对于订单中的第一个元素,找出 10% 作为允许偏差。找到落在这个偏差窗口内的元素。因此,我们在此窗口中考虑 10, 10, 9, 9。
  3. 如果任何元素通过适应度函数,将其从列表中移除。
  4. 形成下一个窗口并重复循环。

这是我的想法陷入困境的地方。如何从下一个窗口的开始形成开始?如果排序后的值是 10, 10, 9, 9, 8.5, 8 ..., 并且 10, 10, 9, 9, 已经在第一个窗口中考虑过,那么下一个窗口应该从 9 开始并且由 9, 8 组成,5.

启动下一个窗口是否总是使用前一个窗口的最后一个值?我尝试了一些反例,但没有一个能覆盖我的猜想。但是,如果 9 都通过了适应度函数并从列表中删除,那么下一个窗口的起始值是多少呢?排序列表中的下一个可用?

所以,我的问题是,

  1. 关于使用上一个窗口的最后一个值(如果它被删除则下一个可用)启动下一个窗口的猜想是否正确?
  2. 整个过程有没有更好的算法?

最佳答案

不,从前一个窗口的最后一个值开始窗口可能不太正确。

最初尝试从最后一个窗口的中点开始;然后在向下迭代下边缘时动态降低上边缘,以保持窗口的适当“跨度”。


不清楚您描述的适应度函数和“从列表中删除”是否构成接受理想元素,或者拒绝,或者什么。

您的窗口的理想正确语义可能取决于对整体操作的准确规范/理解 - 而您的问题在这方面非常缺乏。

关于algorithm - 将近似相等的元素放在一起考虑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16370431/

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