Тип работы:
Предмет:
Язык работы:


Вычислительная сложность некоторых задач обработки строк

Работа №104005

Тип работы

Диссертация

Предмет

математика

Объем работы83
Год сдачи2016
Стоимость5700 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
106
Не подходит работа?

Узнай цену на написание


1 Введение 5
1.1 Структура диссертации и организация текста 6
1.2 Предварительные сведения 9
1.2.1 Понятия из стрингологии 9
1.2.2 Модель вычисления ШоЫ-ИЛМ 10
1.2.3 Типы алгоритмических задач 11
1.2.4 Структуры данных 12
1.2.5 Исходные коды программ 13
1.2.6 Используемые структуры данных 13
1.3 Обзор результатов диссертации 15
1.3.1 Цели, задачи и основные результаты 16
1.3.2 Научная новизна, значимость и корректность результатов 17
1.3.3 Основные методы исследования 17
1.3.4 Апробация и публикации 17
1.4 Благодарности 19
2 Палиндромы 20
2.1 Введение 20
2.1.1 Определения и обозначения 21
2.2 Овердрево 21
2.2.1 Побуждающая задача: поиск подпалиндромов онлайн 21
2.2.2 Интерфейс структуры данных 26
2.2.3 Внутреннее устройство структуры данных 26
2.2.4 Простой онлайн-алгоритм 27
2.2.5 Некоторые свойства овердрева 29
2.2.6 Задачи, иллюстрирующие возможности овердрева 31
2.3 Вариации овердрева и некоторые их приложения 36
2.3.1 Совместное овердрево для нескольких строк 36
2.3.2 Поиск с откатами 38
2.3.3 Подсчёт палиндромно-насыщенных строк 42
2.3.4 Поиск подпалиндромов на дереве 45
2.4 Задачи о разбиении на подпалиндромы 47
2.4.1 Простое решение за O(kn + n log n) 48
2.4.2 Разбиение на k палиндромов и поиск палиндромной длины 49
2.4.3 Решение задачи о палиндромной длине 50
2.4.4 Гипотеза о линейном решении 55
3 Повреждённые строки 60
3.1 Введение 60
3.2 Предварительные сведения 61
3.2.1 Основные определения 61
3.2.2 Исторический обзор 61
3.3 Задача максимизации числа вхождений 63
3.3.1 Решение для неповреждённого текста 63
3.3.2 Решение для неповреждённого шаблона 64
3.3.3 Доказательство NP-трудности в общем случае 65
3.4 Задача минимизации расстояния Хэмминга 68
3.4.1 Случай неповреждённого текста 68
3.4.2 Случай неповреждённого шаблона 69
3.4.3 Случай частичных строк с циклическим текстом 69
3.4.4 Случай бинарного алфавита 70
3.4.5 Случай частичных строк и задача о мультиразрезе 71
3.4.6 Доказательство NP-трудности в общем случае 72
Заключение 75
Список литературы 77 
Список иллюстраций
Список таблиц


Строка (последовательность символов) — один из центральных объектов компьютерных наук.
Любые данные, имеющие линейную структуру (например, текст на естественном или искусственном языке, лог сервера или колебания курса валюты) можно представить в виде строки
и изучать особенности в этой строке. Начало активного изучения алгоритмов, связанных со
строками, приходится на 1970е годы. Раздел компьютерных наук, посвящённый изучению алгоритмов обработки строк, называется стрингологией (stringology). Впервые это название было
предложено в 1985 в работе [21], когда область уже имела какой-то набор результатов, но сложно было назвать её отдельной наукой. Однако уже в 90х годах наблюдается стремительный рост
числа публикаций по данной тематике. Одной из самых сильных предпосылок развития является появление биоинформатики, науки, изучающей «биологические строки» (ДНК, РНК, белки
и др.). Именно биоинформатика породила множество задач, изучаемых стрингологами. Не менее важным источником задач являются современные информационные технологии, требующие
эффективных алгоритмов анализа и обработки данных. Среди задач этой группы выделяются
задача поиска в массиве данных и задача сжатия данных. Кроме того, стрингология, относимая к фундаментальной информатике, решает большое число чисто математических задач, не
нашедших еще практического применения. Сюда относится, в частности, классификация задач
о строках по их вычислительной сложности. Многие теоретические задачи приходят в стрингологию из комбинаторики слов.
Развитость стрингологии как самостоятельной науки может показать, к примеру, наличие
ряда монографий [2, 12, 13, 48] и специализированных международных конференций и семинаров: String Processing and Information Retrieval (SPIRE), Combinatorial Pattern Matching (CPM),
5Prague Stringology Conference (PSC), StringMasters.
Данная работа сконцентрирована на двух классах задач из стрингологии. Первая — алгоритмы, связанные с поиском и анализом палиндромов1 в строках.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В заключении, представив краткое резюме по каждой из двух основных глав, обсудим пути
дальнейшей возможной работы в соответствующих направлениях и сформулируем связанные
оставшиеся открытыми проблемы.
Палиндромы
В данной главе мы описали новую компактную и быструю структуру данных — овердрево. Рассмотрели его различные модификации, которые более эффективны в использовании времени,
либо памяти. Одна из модификаций позволяет сделать овердрево с откатами, другая делает его
персистентным. Разобрали множество возможных применений, получив теоретически быстрые
и практически легко реализуемые алгоритмы для ряда комбинаторных задач. Самыми существенными из представленных применений являются простая реализация разбиения строки на
палиндромы, перечисление палиндромно-насыщенных строк, а также поиск всех различных
подпалиндромов строки.
Дальнейшие исследования в этом направлении связаны с поиском новых приложений овердрева, а также с гипотезой о возможности линейного поиска палиндромной длины и с открытой
проблемой об оптимальной реализации овердрева.
Повреждённые строки
В данной работе рассмотрены две задачи о восстановлении повреждений в тексте и шаблоне.
Для обеих задач общий случай оказался NP-трудным, а случаи неповреждённого текста и
неповреждённого шаблона — эффективно разрешимыми. При этом во второй задаче, где критерием восстановления является минимизация суммарного расстояния Хэмминга, полиномиально
разрешимых частных случаев оказалось больше.
Отдельно отметим, что для решения различных частных случаев использованы совершенно
75разные полиномиальные алгоритмы, основанные на жадных стратегиях, преобразовании Фурье,
динамическом программировании и потоках в сетях.
Дальнейшее исследование предполагает продолжение изучения задачи о минимизации непохожести шаблона и текста для частичных строк (частный случай, оставшийся открытым), а
также выделение дополнительных частных случаев обеих задач с целью выявления более простых подходов к решению.


[1] В. Л. Арлазаров, Е. А. Диниц, М. А. Кронрод, И. А. Фараджев . Об экономном построении транзитивного замыкания ориентированного графа // Доклады АН СССР. — 1970. — Т 134, № 3. — С. 1209-1210.
[2] Гасфилд Д. Строки, деревья и последовательности в алгоритмах. — Невский диалект СПб., 2003.
[3] Кнут Д. Искусство программирования Т 2. Получисленные алгоритмы, 3-е изд. — 2000. — Т 832. — С. 6-1.
[4] Т Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. Алгоритмы: Построение и анализ [пер. с англ.] // — Издательский дом Вильямс, 2009.
[5] Рубинчик М. В., Гамзова Ю. В. Две задачи о восстановлении поврежденных строк // Си¬бирские электронные математические известия. — 2013. — Т 10. — С. 538-550.
[6] Шур А. М., Гамзова Ю. В. Частичные слова и свойство взаимодействия периодов // Изве¬стия Российской академии наук. Серия математическая. — 2004. — Т 68, № 2. — С. 191-214.
[7] Aberkane A., Currie J. D. Attainable lengths for circular binary words avoiding k-powers // Bull. Belg. Math. Soc. Simon Stevin.— 2005. — Vol. 12, no. 4. — P. 525-534.
[8] Aberkane A., Currie J. D. The Thue-Morse word contains circular (5/2)+-power-free words of every length // Theoret. Comput. Sci. — 2005.-- Vol. 332.-- P. 573-581.
[9] Berstel J., Boasson L. Partial words and a theorem of Fine and Wilf // Theoret. Comput. Sci. — 1999. —Vol. 218. —P. 135-141.
[10] B. Blakeley, F. Blanchet-Sadri, J. Gunter, N. Rampersad. On the complexity of deciding avoid¬ability of sets of partial words // Theor. Comput. Sci. — 2010.— Vol. 411, no. 49.— P. 4263¬4271.
[11] Clifford P., Clifford R. Simple deterministic wildcard matching // Information Processing Let¬ters. - 2007. - Vol. 101, no. 2. - P. 53-54.
[12] Crochemore M., Hancart C., Lecroq T. Algorithms on strings.— Cambridge University Press, 2007.
[13] Crochemore M., Rytter W. Jewels of stringology. — World Scientific Publishing Co. Pte. Ltd., 2002.
[14] E. Dahlhaus, D. S. Johnson, C. H. Papadimitriou, P. D. Seymour, M. Yannakakis. The complex¬ity of multiterminal cuts // SIAM Journal on Computing. — 1994. — Vol. 23, no. 4. — P. 864-894.
[15] J. R. Driscoll, N. Sarnak, D. D. Sleator, R. E. Tarjan. Making data structures persistent // Proceedings of the eighteenth annual ACM symposium on Theory of computing / ACM. -¬1986.- P. 109-121.
[16] Droubay X., Justin J., Pirillo G. Episturmian words and some constructions of de Luca and Rauzy // Theoretical Computer Science. — 2001. — Vol. 255.— P. 539-553.
[17] G. Fici, T. Gagie, J. Karkkainen, D. Kempa. A subquadratic algorithm for minimum palindromic factorization // J. of Discrete Algorithms. — 2014. — Vol. 28. — P. 41-48.
[18] Fine N. J., Wilf H. S. Uniqueness theorems for periodic functions // Proceedings of the American Mathematical Society.— 1965. — Vol. 16, no. 1. — P. 109-114.
[19] Fischer M., Paterson M. String matching and other products // SIAM-AMS Proceedings. -- 1974.-Vol. 7.- P. 113-125.
[20] Ford L. R., Jr, Fulkerson D. R. Flows in networks. -- Princeton University Press, 1967.
[21] Galil Z. Open problems in stringology // Combinatorial Algorithms on Words. — Springer, 1985.- P. 1-8.
[22] Galil Z., Seiferas J. A Linear-Time On-Line Recognition Algorithm for “Palstar” //J. ACM.— 1978.-Vol. 25, no. 1.-P. 102-111.
[23] A. Glen, J. Justin, S. Widmer, L. Zamboni. Palindromic richness // European J. of Combina¬torics. - 2009. - Vol. 30. - P. 510-531.
[24] Gorbunova I. A. Repetition Threshold for Circular Words // Electronic J. Combinatorics. — 2012. - Vol. 19, no. 4. - P. P11.
[25] Groult R., Prieur E., Richomme G. Counting distinct palindromes in a word in linear time // Information Processing Letters. — 2010. — Vol. 110. — P. 908-912.
[26] Guo C., Shallit J., Shur A. M. On the combinatorics of palindromes and antipalindromes.— arXiv:1503.09112 [cs.FL]. - 2015.
[27] V. Halava, T. Harju, T. Karki, P. Seebold. Overlap-freeness in infinite partial words // Theoret. Comput. Sci. -- 2009. -- Vol. 410, no. 8-10. -- P. 943-948.
[28] Idiatulina L. A., Shur A. M. Periodic partial words and random bipartite graphs // Fundam. Inform. -- 2014. -- Vol. 132, no. 1. -- P. 15-31.
[29] Karki T., Harju T., Halava V. Interaction properties of relational periods // Discrete Mathe¬matics & Theoretical Computer Science.— 2008. — Vol. 10, no. 1.
[30] T. Kasai, G. Lee, H. Arimura, S. Arikawa, K. Park. Linear-time longest-common-prefix compu¬tation in suffix arrays and its applications // Combinatorial pattern matching. — Vol. 2089 of LNCS. — Berlin : Springer, 2001.--P. 181-192.
[31] Knuth D. E., Morris J. H., Pratt V. R. Fast pattern matching in strings // SIAM J. on Com¬puting. —— 1977. —— Vol. 6. —— P. 323-350.
[32] Kosolobov D., Rubinchik M. An optimal online algorithm for finding all distinct subpalindromes of a string // Algorithms & Complexity. Abstracts of Reports and Other Materials of the 6th School “Computer Science Days in Ekaterinburg" A. S. Kulikov, A. M. Shur (eds.). — Ekaterin¬burg: Ural University Press, 2013. — P. 44-46.
[33] Kosolobov D., Rubinchik M., Shur A. M. Finding distinct subpalindromes online // Proc. Prague stringology conference 2013 / Ed. by Jan Holub, Jan Zdarek. — CTU, 2013. P. 63-69.
[34] Kosolobov D., Rubinchik M., Shur A. M. Palk is linear recognizable online // SOFSEM 2015: Theory and Practice of Computer Science.— Springer-Verlag Berlin Heidelberg, 2015.— Vol. 8939 of LNCS. - P. 289-301.
[35] Manacher G. A new linear-time on-line algorithm finding the smallest initial palindrome of a string //J. ACM.— 1975. — Vol. 22, no. 3. — P. 346-351.
[36] Manea F., Mercas R. Freeness of partial words // Theoret. Comput. Sci. — 2007.-- Vol. 389, no. 1-2. - P. 265-277.
[37] Muthukrishnan S., Palem K. Non-standard stringology: algorithms and complexity // Proc. 26th Annual ACM Symposium on Theory of Computing iSTOC'9l;. New York : ACM, 199 1.
P. 770-779.
[38] Muthukrishnan S., Ramesh H. String Matching Under a General Matching Relation // Proc. 12th Conference on Foundations of Software Technology and Theoretical Computer Science. {{ Vol. 652 of LNCS. - Berlin : Springer-Verlag, 1992. - P. 356-367.
[39] Nong Ge, Zhang Sen, Chan Wai Hong. Linear time suffix array construction using D-critical substrings // Combinatorial Pattern Matching / Springer. {{ 2009. {{ P. 54{67.
[40] Puglisi S. J., Smyth W. F., Turpin A. H. A taxonomy of suffix array construction algorithms // ACM Computing Surveys (CSUR). — 2007. — Vol. 39, no. 2. — P. 4.
[41] Ravsky O. On the palindromic decomposition of binary words // Journal of Automata, Lan¬guages and Combinatorics. — 2003. — Vol. 8, no. 1. — P. 75-83.
[42] Rubinchik M., Gamzova Y.V. Two pattern matching problems for strings with compatibility relations //V. Halava, J. Karhumaki, Y. Matiyasevich (Eds.), Proc. 2nd Russian Finnish Symposium on Discrete Mathematics (RuFiDiM II). — Vol. 17 of TUCS Lecture Notes. — Turku Centre for Computer Science, 2012.-- P. 151-152.
[43] Rubinchik Mikhail, Shur Arseny M. On the number of distinct subpalindromes in words // Proc. 3rd Russian Finnish Symp. on Discrete Mathematics. Inst. Appl. Math. Research, Petrozavodsk. {{ 2014. {{ P. 96{98.
[44] Rubinchik Mikhail, Shur Arseny M. EERTREE: An Efficient data structure for processing palin-dromes in strings // Combinatorial algorithms: Proc. IWOCA 2015.— Vol. 9538 of LNCS.— Springer International Publishing, 2016. — P. 321-333.
[45] Rubinchik Mikhail, Shur Arseny M. The number of distinct subpalindromes in random words // Fundamenta Informaticae.— 2016. — Available at http://arxiv.org/abs/1505.08043.
[46] Sloane, N.J.A.: The on-line encyclopedia of integer sequences.— 1964-2016.— Available at http://oeis.org.
[47] Shur A. M. On ternary square-free circular words // Electronic J. Combinatorics.— 2010.— Vol. 17, no. # R140.
[48] Smyth W. Computing patterns in strings. -- Pearson Education, 2003.
[49] Ukkonen E. On-line construction of suffix trees // Algorithmica. — 1995. — Vol. 14, no. 3. — P. 249-260.
[50] Valiant L. G. General context-free recognition in less than cubic time // J. of Computer and System Sciences. -- 1975. -- Vol. 10, no. 2. -- P. 308-314.
[51] Problems of Asia-Pacific Informatics Olympiad 2014.— Available at http://olympiads.kz/apio2014/apio2014_problemset.pdf.
[52] Problems of the MIPT Fall Programming Training Camp 2014. Contest 12.— Available at https://drive.google.Com/file/d/0B_DHLY8icSyNUzRwdkNFa2EtMDQ.
[53] Problems of Northern Grand Prix 2005. — Available at
http://codeforces.com/gym/100222/attachments/download/1768/20052006 -winter-petrozavodsk-camp-andrew-stankevich-contest-18-en.pdf.
[54] Problems of the Central European Regional Contest 2014. — Available at: https://cerc.tcs.uj.edu.pl/2014/data/cerc2014problems.pdf.
[55] Solutions of the problems of the Central European Regional Contest 2014.— Available at: https://cerc.tcs.uj.edu.pl/2014/data/cerc2014problems.pdf.
Список иллюстраций
2.1 Пример вычисления массива радиусов нечетных палиндромов для строки abacab,
затем abacaba и abacabab 23
2.2 Овердрево для «eertree». Чёрные стрелки — рёбра, синие — суффиксные ссылки. 28
2.3 Серии палиндрома v в S[1..n] и палиндрома link[v] в S[1..n — diff [v]]. Максималь¬
ные палиндромы в следующих сериях показаны пунктирными линиями. Функция getMin(v) возвращает минимум значений, помеченных в массиве ans, увеличен¬ный на единицу

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ