什么是“剪切和粘贴”证明技术?
Posted
技术标签:
【中文标题】什么是“剪切和粘贴”证明技术?【英文标题】:What is the "cut-and-paste" proof technique? 【发布时间】:2012-03-22 03:05:34 【问题描述】:我在某些关于算法分析和设计的文本中看到了对剪切和粘贴证明的引用。在为优化问题证明最优子结构时,它经常在动态规划的上下文中被提及(参见第 15.3 章 CLRS)。它还显示在图形操作上。
这种证明的主要思想是什么?如何使用它们来证明算法的正确性或特定方法的便利性?
【问题讨论】:
为什么反对票和投票结束? 我不明白为什么这不是一个真正的问题。我在算法文本中的多个地方遇到过剪切和粘贴证明。这个问题是如何变得“模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法合理回答”?? @Cameron 甚至对动态编程的这种证明的本质给出了很好的解释.. 【参考方案1】:它本身并不是一种新的证明技术。这只是表达矛盾证明的一种有趣方式。
剪切粘贴示例:
假设您正在求解具有顶点 x_1、x_2...x_n 的图中的最短路径问题。假设您找到从 x_1 到 x_n 的最短路径,并且它通过 x_i 和 x_j(按此顺序)。那么,很明显,从 x_i 到 x_j 的子路径也必须是 x_i 和 x_j 之间的最短路径。为什么?因为数学。
使用剪切和粘贴校样: 假设存在从 x_i 到 x_j 的严格较短的路径。 “剪切”该路径,然后“粘贴”到从 x_1 到 x_n 的整个路径中。然后,您将有另一条从 x_1 到 x_n 的路径(严格)比先前已知的路径短,并且与该路径的“最短”性质相矛盾。
矛盾的简单旧证明: 假设 P:从 x_1 到 x_n 的呈现路径是最短路径。 问:从 x_i 到 x_j 的子路径是最短路径。 The, Not Q => not P(使用上面提出的论点。 因此,P => Q。
因此,“剪切”和“粘贴”使其更直观且易于解释。
【讨论】:
【参考方案2】:反证法
假定 P 为假,即 !P 为真。
表明 !P 意味着两个相互矛盾的断言,Q 和 !Q。
由于 Q 和 !Q 不能同时为真,因此 P 为假的假设一定是错误的,而 P 一定是真的。
【讨论】:
【参考方案3】:“剪切和粘贴”技术可用于证明贪心算法的正确性(最优结构和贪心选择属性)和动态规划算法的正确性。
贪婪的正确性
本讲义Correctness of MST 来自 MIT 2005 年本科算法课,展示了“剪切和粘贴”技术来证明最优结构和贪心选择属性。
本讲义 Correctness of MST 来自 MIT 6.046J / 18.410J spring 2015 使用“剪切和粘贴”技术来证明贪婪选择属性
动态编程正确性
CLRS(第 3 版)第 379 页第 15.3 章动态编程元素中介绍了对“剪切和粘贴”的更真实的解释
"4. 通过使用“剪切和粘贴”,您表明在问题的最佳解决方案中使用的子问题的解决方案本身必须是最佳的 技术,您通过假设每个子问题解决方案都不是最优的然后推导出矛盾来做到这一点。特别是,通过“删除”非最优子问题解决方案并“粘贴”最优解决方案,您表明您可以获得原始问题的更好解决方案,从而与您已经拥有最佳解决方案的假设相矛盾。如果有多个子问题,它们通常非常相似,以至于可以毫不费力地为其他子问题修改剪切和粘贴参数。”
【讨论】:
【参考方案4】:“剪切和粘贴”一词有时会在进行动态编程时出现在算法中(以及其他事情,但那是我第一次看到它的地方)。这个想法是,为了使用动态编程,您尝试解决的问题可能具有某种潜在的冗余。您使用表格或类似技术来避免一遍又一遍地解决相同的优化问题。当然,在开始尝试使用动态规划之前,最好证明问题中存在这种冗余,否则使用表将无济于事。这通常被称为“最优子问题”属性(例如,在 CLRS 中)。
“剪切和粘贴”技术是一种证明问题具有此属性的方法。特别是,您想表明,当您提出问题的最佳解决方案时,您必然使用了组成子问题的最佳解决方案。证明是矛盾的。假设您通过对子问题使用次优解决方案来提出问题的最佳解决方案。然后,如果您要用最佳子问题解决方案(通过“粘贴”它们)替换(“剪切”)那些次优子问题解决方案,您将改进您的最佳解决方案。但是,由于假设您的解决方案是最优的,因此您有矛盾。这种证明还涉及其他一些步骤,但那是“剪切和粘贴”部分。
【讨论】:
【参考方案5】:剪切和粘贴是一种用于证明图论概念的方法,想法是这样的:假设您有问题 A 的解决方案,您想说一些边/节点,应该在解决方案中可用。您将假设您有没有指定边/节点的解决方案,您尝试通过切割边/节点并粘贴指定的边/节点来重建解决方案,并说新解决方案的好处至少与以前的解决方案相同。
一个最重要的示例是证明 MST 属性(证明贪婪选择足够好)。见presentation on MST from CLRS book。
【讨论】:
以上是关于什么是“剪切和粘贴”证明技术?的主要内容,如果未能解决你的问题,请参考以下文章