Algorithm 对“的定义感到困惑”;“精确算法”;

Algorithm 对“的定义感到困惑”;“精确算法”;,algorithm,optimization,logic,Algorithm,Optimization,Logic,从优化和/或计算机科学的角度来说,“算法是精确的”是什么意思?我需要一个精确的逻辑/认识论定义 术语“精确”通常用于表示“近似的反面”。近似算法可以为优化问题的微小变化找到解决方案,该优化问题允许在某种意义上“接近”最优解,但仍然是可取的。正如@Sirko在评论中所说的,近似值通常是令人感兴趣的,因为确切的问题是难以解决或无法确定的,而近似值则不是。通常,不止一种近似可能会引起兴趣 以下是一些例子: 旅行商问题的精确算法是NP完全的。TSP是为访问地图上N个城市中的每一个找到一条最小长度为L的路

从优化和/或计算机科学的角度来说,“算法是精确的”是什么意思?我需要一个精确的逻辑/认识论定义

术语“精确”通常用于表示“近似的反面”。近似算法可以为优化问题的微小变化找到解决方案,该优化问题允许在某种意义上“接近”最优解,但仍然是可取的。正如@Sirko在评论中所说的,近似值通常是令人感兴趣的,因为确切的问题是难以解决或无法确定的,而近似值则不是。通常,不止一种近似可能会引起兴趣

以下是一些例子:

  • 旅行商问题的精确算法是NP完全的。TSP是为访问地图上N个城市中的每一个找到一条最小长度为L的路线。NP完备性表示,最著名的算法仍然需要时间,时间是N的指数函数。TSP的近似算法发现,对于某些固定的c>1,路径长度不超过cL。例如,您可以很容易地构造城市的时间最小生成树,即N中的多项式,并绕着树走两圈,覆盖每条边,以获得c=2情况下的近似算法。隐含的目标是找到尽可能接近常数c的算法

  • 在合理的假设下,编译一个能在最短时间内从任何给定源代码生成正确结果的程序的精确算法是不可判定的。当然,我们每天都在使用“优化编译器”来提高代码的速度,但并没有保证真正的最佳性


  • 在优化中,有两种算法精确算法和近似算法

    精确算法可以精确地找到最优解

    近似算法可以找到近似最优解

    主要区别在于精确算法适用于“简单”问题。 使问题变得“容易”的是,它可以在合理的时间内得到解决,并且如果问题变得更大,计算时间不会呈指数级增长。这类问题称为P(确定性多项式时间)。这类问题使用精确算法进行优化。
    对于其他每一类问题,首选近似算法。

    精确算法和
    近似算法是解决优化问题的方法

    精确算法
    是总能找到给定优化问题最优解的算法

    然而,在组合问题或总体优化问题中,传统的方法往往不够有效,特别是当问题搜索区域大且复杂时。在其他方法中,我们可以使用启发式来解决这个问题。启发式算法往往给出次优解。启发式的子集是
    近似算法

    当我们使用
    近似算法时
    我们可以证明最优解和算法产生的解之间的比率的界

    例如,在一些
    NP难
    问题中,存在一些
    多项式时间
    近似算法,而最著名的精确算法需要
    指数时间


    例如,虽然有一个
    多项式时间
    近似算法用于
    顶点覆盖
    ,但最好的
    精确算法
    (使用记忆)在所需的

    上下文中运行。告诉我们这个术语的确切用法。一般来说,最优解不能在合理的时间内得到。然而,一个近似的解决方案可能就在眼前。所以有近似算法和精确算法。精确算法可以找到问题的答案。这与近似算法相反,近似算法只能接近解。正如其他人所解释的,有些实际情况下,精确算法无法使用,人们必须满足于近似。你的例子不是有点“高层次”吗?@Gene这是一个好主意,通过对比精确算法和近似概念来定义精确算法。定义太依赖后者了。@Moh_NA_X我的朋友,这不是我的主意。这是常规用法。例如,参见,但算法理论中有数千篇论文以同样的方式使用“精确”和“近似”。@Gene:要求精确算法定义的OP几乎不可能知道NP完备性。请注意,使用MST推导2-近似只适用于度量TSP,其中边权重均服从三角形不等式。对于一般TSP,没有常数因子近似(以多项式时间运行)。