【问题标题】:string edit distance algorithm confusion字符串编辑距离算法混淆
【发布时间】:2016-11-21 10:15:41
【问题描述】:

这里是编辑距离定义。我的问题是从单词 1 到单词 2 的编辑距离是否始终与从单词 2 到单词 1 的编辑距离相同,为什么?谢谢。

给定两个单词 word1 和 word2,编辑距离是将 word1 转换为 word2 所需的最小步数。 (每个操作都计为 1 步。)

一个单词允许进行 3 种操作:

a) 插入一个字符 b) 删除一个字符 c) 替换一个字符

问候, 林

【问题讨论】:

  • 一般来说,这取决于你说的是哪种编辑距离算法。
  • @hatchet,感谢您的回复并投票。我的问题可能令人困惑,实际上我并不是指特定的编辑距离算法实现,我的意思是算法的编辑距离结果。如果您有任何建议,那就太好了。 :)

标签: algorithm edit-distance


【解决方案1】:

是的,两种方式都将花费相同的步骤数。因为在将word1 转换为word2 的最佳解决方案中,假设您要添加一个字符,那么最终在您将word2 转换为word1 的最佳解决方案中,您将删除一个字符。因此,当您为这些删除和添加操作提供相同的成本时,无论您将word1 转换为word2 还是反之亦然,成本将始终相同。

【讨论】:

  • 但是插入和删除成本是否应该始终相等?难道不能改吗?
  • @KurtBourbaki 它们可能不同,但在这种情况下,两种解决方案都可能不同。
【解决方案2】:

总是一样的:从 w1 到 w2 的过程可以以相同的步数向后运行。

对于每个步骤 a),都有相应的步骤 b),反之亦然。每个步骤 c) 都可以被另一个步骤 c) 撤消。

【讨论】:

  • 谢谢亨利,投赞成票,假设您找到了从 w1 到 w2 的最佳步骤,但是您怎么知道从 w2 到 w1 的相应步骤是否是最佳(即最少步数) ?
  • 如果它不是最优的(即有一个较短的序列),您可以将其反转并构建一个从 w1 到 w2 的较短序列。这与从 w1 到 w2 的原始序列的最优性相矛盾。
  • 谢谢亨利,这很聪明,投了赞成票。将您的回复标记为答案。
猜你喜欢
  • 2015-03-01
  • 2017-09-29
  • 2021-08-01
  • 1970-01-01
  • 2015-12-09
  • 2021-07-15
  • 2014-12-23
  • 2011-04-02
  • 2018-09-21
相关资源
最近更新 更多