作为我的硕士论文的一部分,我遇到了以下问题,在过去的几个星期里,我一直找不到合适的解决方案,所以我会问群众。
问题1
假设存在一个已知长度的(未知)符号序列。比方说
ABCBACBBBAACBAABCCBABBCA... # 2000 Symbols long现在,给定N个样本来自序列中任意位置,任务是重建原始序列。例如:
ABCBACBBBAA
ACBBBAACBAABCCBAB
CBACBBBAACBAAB
BAABCCBABBCA
...问题2(更难)
现在,从好的方面来说,我可以制作多少样本是没有限制的,而在不那么乐观的方面,故事还有更多。
因此,这些样本实际上看起来更像这样:
A A A
A A A C
C B B
B B C* # The C should have been an A.
...--我试过以下几种方法:
设S是所有有空穴的部分含噪序列的集合。
1. Let _X_ be the the "best" sequence thus far.
2. Set _X_ as a random sample from _S_.
3. Choose a sequence _v_ from _S_
4. Slide _v_ along _X_ and score the match, and choose the "best" sequence as the new _X_.
5. Repeat from 3.这个算法的问题是,我一直无法找到一个很好的指标来得分的序列。特别是当考虑到洞+噪音时。结果倾向于较短的序列,结果在随后的运行中有很大的差异。解决这一问题的想法是非常受欢迎的。
任何新的想法都是非常欢迎的。对相关文章的链接/引用就像天哪!
有关我的数据集的特定信息
< 60%,确定任何给定的符号都是正确采样的。发布于 2014-07-31 13:46:54
问题1被称为最短公共超序列问题。这是NP-硬的两个以上的输入字符串,即使只有两个符号。问题2是多序列比对的一个实例。它有许多算法和实现,大部分是启发式的,因为它通常也是NP难的。
https://stackoverflow.com/questions/25059127
复制相似问题