Строка имеет подпоследовательностей, но обычно они не все различны. Какова сложность нахождения максимальной частоты любой подпоследовательности?
Например, строка «подпоследовательность» содержит 7 копий подпоследовательности «иск», и это максимум.
Пример кода перебора на http://ideone.com/UIp3t
Есть ли связанные структурные теоремы? Оба из них оказываются ложными :
- самая длинная из подпоследовательностей максимальной частоты уникальна
- максимальная частота любой подпоследовательности длины является унимодальной вк
Возможно связанные ссылки:
- Подсчет # различных подпоследовательностей http://11011110.livejournal.com/254164.html
- Связанная задача конкурса для нескольких источников http://www.spoj.pl/problems/CSUBSEQS/
- Документ по теме http://dx.doi.org/10.1016/j.tcs.2008.08.035
Редактировать 10 дней спустя: спасибо за взгляд! Я задавался вопросом, сделало бы это хорошей проблемой решаемого соревнования программирования полиномиального времени. Я думаю, нет, но я надеюсь подумать об этом позже.
ds.algorithms
string-search
daveagp
источник
источник
Ответы:
из поиска, здесь есть статья с некоторыми исследованиями и выводами для исследований на уровне выпускника, но (предостережение) без ссылок. в нем есть некоторые эвристики, оценки, эмпирические результаты и комментарии к проблеме, а также некоторые идеи для доказательства ее (приближенной) сложности и т. д.
Идентификация наиболее
частых подпоследовательностей Окончательный отчет проекта CSE 549 по вычислительной биологии
Михаил Баутин 2006
(хотя существуют некоторые стандартные проблемы подпоследовательностей, которые в некоторой степени похожи и изучены, например, в статье Elzinga et al., возможно ли, что эта конкретная проблема подпоследовательности не была слишком изучена?)
источник
Не ответ, просто лемма.
Поэтому, прежде всего, можно задаться вопросом, какова самая распространенная подпоследовательность строк типа 12..t12..t12..t .. Подумав немного, понимаешь, что он также должен иметь форму 12..t12..t12 .., явно короче. Если исходная строка имеет длину nt, а подпоследовательность этой специальной формы имеет длину k, то число ее вхождений точно равно . Это означает, что наиболее распространенная подпоследовательность также заканчивается на (т. должно делиться на ). Но где это взять максимум и сколько это стоит ??? Довольно неловко, но я не мог этого понять ...(n+k−⌈k/t⌉k)=(n+k−⌈k/t⌉n−⌈k/t⌉) t k t
источник