最常见的子序列


29

字符串具有个子序列,但是它们通常并不完全不同。找到任何子序列的最大频率的复杂性是什么?2ñ

例如,字符串“子序列”包含子序列“ sue”的7个副本,这是最大值。

http://ideone.com/UIp3t上的示例暴力代码

有相关的结构定理吗?这两个都是错误的

  • 最大频率子序列中最长的序列是唯一的
  • 任何长度的最大频率序列以为单峰ķķ

可能相关的链接:

十天后编辑:感谢您的关注!我想知道这是否会带来一个很好的多项式时间可解决的编程竞赛问题。我猜不是,但是我希望稍后再考虑。


5
一个可能很幼稚的初始问题:是否很清楚这个问题甚至在NP中?这就是说:对于确定在n个字符串中是否存在至少出现k个子序列的问题,证书将是什么样?例如,列出所有指示给定子序列实例的索引元组将无法针对字符串aaa ... aa(虽然输入很无聊,但具有大约事件。ñCñ/2
Niel de Beaudrap

7
@Niel de Beaudrap:我认为我们可以通过动态编程将出现次数视为多项式时间内的子序列,从而有可能将子序列本身用作证书。
伊藤刚(Tsuyoshi Ito)2012年

2
我有点困惑:问题是“给定一个字符串s,找到出现次数最多的子序列吗?”
Suresh Venkat 2012年

2
@SureshVenkat:是的,这是我的理解。例如,给定一个 X 个序列作为输入,正确的答案将是一个 X 序列。ññ/2
杰夫·杰夫

2
@ marzio-de-biasi:您链接到的问题是不同的(并且容易得多):在这里您得到了子序列。
大卫

Answers:


4

通过搜索,这是一篇论文,其中包含一些针对研究生水平研究的研究和发现,但没有(参考文献)。它具有对该问题的启发式,估计,经验结果和评论,以及有关证明其(近似)复杂度的一些想法。

确定最常见的子 序列
CSE 549计算生物学项目最终报告
Mikhail Bautin 2006

(尽管有些标准子序列问题有些相似并且已在Elzinga等人的论文中进行了研究,但是否可能对此特殊子序列问题没有进行过多研究?)


4
我不明白为什么这被否决了。它可能不是很深入的论文,但似乎直接是主题。
大卫·埃普斯坦

fyi /附录Bautin还说,在论文结尾处,他对有兴趣的人在问题/论文上有5K行C ++和Python代码
vzn 2012年

@David,我不认为不赞成投票的原因是链接的论文,这可能与以下事实有关:该答案(基本上)是一个单行链接答案(而没有说明论文与问题的关系)并回答)。作为评论,这可能更合适。
卡夫

1
好吧,卡夫,那么,阐明了:该论文似乎揭示了(除非任何人可以找到更好的参考或自己提出这个困难问题的证据),到目前为止,问题的确切复杂性尚不清楚/尚待解决(除了显而易见的问题之外)。 PSpace / ExpTime),并且可能包含迄今为止解决它的最著名的分析/方法
vzn 2012年

我之前确实找到过这篇文章,并为没有链接到上面而深表歉意,这是因为我认为它没有提供太多具体的信息。一段时间前,我给作者发送了一封电子邮件,询问他是否还能说出自撰写以来发生的任何事情,但尚未得到任何回复。
daveagp

3

没有答案,只是引理。

ñ+ķ-ķ/Ťķ=ñ+ķ-ķ/Ťñ-ķ/ŤŤķŤ

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.