通过改变输入数据来最小化输出值的最佳算法

时间:2011-09-08 21:43:21

标签: algorithm complexity-theory

我有一个输入的数据流和一组转换,可以以各种组合应用于流以获得数字输出值。我需要找到转换的哪个子集最小化数量。

数据是一个有序的数字列表,每个数字都附有元数据。

转换是准线性的:它们是图灵完备语言中技术上可执行的代码,但是它们属于一个总是停止的受限子集,并且它们通过算术运算将输入数转换为输出数,流量取决于附加的元数据。此外,操作几乎一直是线性的(但它们不一定是 - 这意味着这可能是优化的地方,但不是限制)。

基本上,涉及2个 n 步骤的蛮力方法(其中 n 是一些转换)会起作用,但它实际上是无效的,我是几乎绝对肯定这不会在生产中扩大规模。有没有算法可以更快地解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果几乎​​所有操作都是线性的,那么你不能使用线性编程作为启发式算法吗?

也许在两者之间检查一些变换是否特别慢,在这种情况下你仍然可以切换到暴力。

您需要找到最佳输出吗?