【问题标题】:What is the difference between greedy and steepest algorithms?贪心算法和最陡算法有什么区别?
【发布时间】:2011-10-24 16:18:27
【问题描述】:

我有幻灯片比较了两种版本的本地搜索算法:贪婪算法和最陡算法。

贪婪: 生成解决方案x重复 { 对于 N(x) 中的每个 y 以随机顺序排列 { 如果 f(y) > f(x) 那么 x = y; } } 直到没有找到更好的解决方案

最陡: 生成解决方案x重复 { 在N(x)中找到最佳y如果 f(y) > f(x) 那么 x = y; } 直到没有找到更好的解决方案

但我在互联网上到处都读到贪婪的方法会寻找最好的(不是首先找到更好的)解决方案。那么区别是什么呢?还有:哪个版本是真的?

【问题讨论】:

    标签: mathematical-optimization minimization


    【解决方案1】:

    我同意贪婪也意味着最陡峭,因为它试图使locally optimal choice。对我来说,不同之处在于最速下降/梯度下降的概念与函数优化密切相关,而在组合优化的背景下经常听到贪婪。然而,两者都描述了相同的“策略”。

    在我看来,这些概念不太适合描述您要描述的行为。我更喜欢术语最佳改进第一次改进本地搜索。贪心局部搜索和最速下降法都是最好的改进局部搜索方法。

    对于正则表达式,贪心具有相似的含义:考虑与通配符表达式的最大可能匹配。说贪婪匹配会匹配第一种可能性也是错误的。

    【讨论】:

    猜你喜欢
    • 2014-02-27
    • 1970-01-01
    • 2021-11-19
    • 2023-04-02
    • 2010-12-26
    • 1970-01-01
    • 2022-12-07
    • 2011-02-22
    • 2010-11-03
    相关资源
    最近更新 更多