Ein String hat Untersequenzen, die jedoch normalerweise nicht alle verschieden sind. Wie komplex ist es, die maximale Häufigkeit einer Teilsequenz zu finden?
Beispielsweise enthält die Zeichenfolge "Subsequence" 7 Kopien der Subsequence "Sue" und dies ist das Maximum.
Beispiel für einen Brute-Force-Code unter http://ideone.com/UIp3t
Gibt es verwandte Struktursätze? Beides erweist sich als falsch :
- Die längste der maximal frequenten Teilsequenzen ist eindeutig
- Die maximale Frequenz einer beliebigen Länge- Folge ist in k unimodal
Möglicherweise verwandte Links:
- Zählen von # unterschiedlichen Untersequenzen http://11011110.livejournal.com/254164.html
- Zugehöriges Wettbewerbsproblem für mehrere Quellen http://www.spoj.pl/problems/CSUBSEQS/
- In Verbindung stehendes Papier http://dx.doi.org/10.1016/j.tcs.2008.08.035
Bearbeiten Sie 10 Tage später: Vielen Dank, dass Sie einen Blick darauf werfen! Ich hatte mich gefragt, ob dies ein nettes Problem mit einem polynomiell lösbaren Programmierwettbewerb darstellen würde. Ich denke nicht, aber ich hoffe, später noch einmal darüber nachzudenken.
ds.algorithms
string-search
daveagp
quelle
quelle
Antworten:
Nach einer Recherche finden Sie hier einen Artikel mit Recherchen und Ergebnissen für die Forschung auf Hochschulniveau, jedoch (Vorbehalt) keine Referenzen. Es enthält einige Heuristiken, Schätzungen, empirische Ergebnisse und Kommentare zum Problem sowie einige Ideen zum Nachweis der (Approximations-) Komplexität usw.
Identifizierung der häufigsten Folgen
CSE 549 Computational Biology Project Abschlussbericht
Mikhail Bautin 2006
(Während es einige Standard-Subsequenzprobleme gibt, die ähnlich sind und untersucht wurden, z. B. in der Arbeit von Elzinga et al., ist es möglich, dass dieses spezielle Subsequenzproblem nicht zu viel untersucht wurde?)
quelle
Keine Antwort, nur ein Lemma.
Zuallererst könnte man sich fragen, was die häufigste Folge von Strings wie 12..t12..t12..t .. ist. Nach einigem Überlegen merkt man, dass es auch die Form 12..t12..t12 .. haben muss, nur offensichtlich kürzer. Wenn die ursprüngliche Zeichenfolge die Länge nt und die Teilfolge dieser Sonderform die Länge k hat, ist die Anzahl ihrer Vorkommen genau( n+k-⌈k / t⌉k) = ( n+k-⌈k / t⌉n - ⌈ k / t ⌉) t k t
quelle