Algorithm 对“的定义感到困惑”;“精确算法”;
从优化和/或计算机科学的角度来说,“算法是精确的”是什么意思?我需要一个精确的逻辑/认识论定义 术语“精确”通常用于表示“近似的反面”。近似算法可以为优化问题的微小变化找到解决方案,该优化问题允许在某种意义上“接近”最优解,但仍然是可取的。正如@Sirko在评论中所说的,近似值通常是令人感兴趣的,因为确切的问题是难以解决或无法确定的,而近似值则不是。通常,不止一种近似可能会引起兴趣 以下是一些例子:Algorithm 对“的定义感到困惑”;“精确算法”;,algorithm,optimization,logic,Algorithm,Optimization,Logic,从优化和/或计算机科学的角度来说,“算法是精确的”是什么意思?我需要一个精确的逻辑/认识论定义 术语“精确”通常用于表示“近似的反面”。近似算法可以为优化问题的微小变化找到解决方案,该优化问题允许在某种意义上“接近”最优解,但仍然是可取的。正如@Sirko在评论中所说的,近似值通常是令人感兴趣的,因为确切的问题是难以解决或无法确定的,而近似值则不是。通常,不止一种近似可能会引起兴趣 以下是一些例子: 旅行商问题的精确算法是NP完全的。TSP是为访问地图上N个城市中的每一个找到一条最小长度为L的路
在优化中,有两种算法精确算法和近似算法 精确算法可以精确地找到最优解 近似算法可以找到近似最优解 主要区别在于精确算法适用于“简单”问题。 使问题变得“容易”的是,它可以在合理的时间内得到解决,并且如果问题变得更大,计算时间不会呈指数级增长。这类问题称为P(确定性多项式时间)。这类问题使用精确算法进行优化。
对于其他每一类问题,首选近似算法。
精确算法和近似算法是解决优化问题的方法
精确算法
是总能找到给定优化问题最优解的算法
然而,在组合问题或总体优化问题中,传统的方法往往不够有效,特别是当问题搜索区域大且复杂时。在其他方法中,我们可以使用启发式来解决这个问题。启发式算法往往给出次优解。启发式的子集是近似算法
当我们使用
近似算法时
我们可以证明最优解和算法产生的解之间的比率的界
例如,在一些NP难
问题中,存在一些多项式时间
近似算法,而最著名的精确算法需要指数时间
例如,虽然有一个
多项式时间
近似算法用于顶点覆盖
,但最好的精确算法
(使用记忆)在所需的上下文中运行。告诉我们这个术语的确切用法。一般来说,最优解不能在合理的时间内得到。然而,一个近似的解决方案可能就在眼前。所以有近似算法和精确算法。精确算法可以找到问题的答案。这与近似算法相反,近似算法只能接近解。正如其他人所解释的,有些实际情况下,精确算法无法使用,人们必须满足于近似。你的例子不是有点“高层次”吗?@Gene这是一个好主意,通过对比精确算法和近似概念来定义精确算法。定义太依赖后者了。@Moh_NA_X我的朋友,这不是我的主意。这是常规用法。例如,参见,但算法理论中有数千篇论文以同样的方式使用“精确”和“近似”。@Gene:要求精确算法定义的OP几乎不可能知道NP完备性。请注意,使用MST推导2-近似只适用于度量TSP,其中边权重均服从三角形不等式。对于一般TSP,没有常数因子近似(以多项式时间运行)。