假设我有不同的字母∑={a1,a2,...,an}
。我也有这两个字母的两种排列,让我们称它们为A,B
。如何在允许进行块编辑操作的情况下找到A
和B
之间的编辑距离?
为了更清楚,一个例子是∑={a,b,c,d}
。两种可能的排列是A=abcd
,B=dabc
。此处的编辑距离为1,因为我们可以将块abc
与d
交换为另一个字符串。
显然,在这种形式的问题中不会有任何删除/插入,它将纯粹是交换,因为这两个字符串是相同字母的排列。
现在我知道所有操作的原始编辑块问题都是NP-Hard,但是,只有块交换的限制是否可以在多项式时间内解决这个问题?我读过的大多数文字都没有解决此版本问题,而是解决了原始问题的变体。任何帮助将不胜感激。