Задача о наименьшей суперпоследовательности — различия между версиями
Motyaspr (обсуждение | вклад) (Новая страница: «{{Определение |definition= Последовательность <tex> Z = \left \langle z_1, z_2, \dots, z_k \right \rangle </tex> является '''...») |
Motyaspr (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | Последовательность <tex> Z = \left \langle z_1, z_2, \dots, z_k \right \rangle </tex> является ''' | + | Последовательность <tex> Z = \left \langle z_1, z_2, \dots, z_k \right \rangle </tex> является '''суперпоследовательностью''' (англ. ''supersequence'') последовательности <tex> X = \left \langle x_1, x_2, \dots, x_m \right \rangle </tex>, если существует строго возрастающая последовательность <tex> \left \langle i_1, i_2, \dots, i_m \right \rangle </tex> индексов <tex> Z </tex> таких, что для всех <tex> j = 1, 2, \dots, m </tex> выполняется соотношение <tex> z_{i_j} = x_j </tex>. |
}} | }} | ||
Версия 15:37, 23 декабря 2017
| Определение: |
| Последовательность является суперпоследовательностью (англ. supersequence) последовательности , если существует строго возрастающая последовательность индексов таких, что для всех выполняется соотношение . |
| Определение: |
| Последовательность является общей суперпоследовательностью (англ. common supersequence) последовательностей и , если и являются подпоследовательностями . |
| Задача: |
| Пусть имеются последовательности и . Необходимо найти |
Наивное решение
Заметим, что если приписать к одной из данной последовательность другую, то полученная последовательность будет их суперпоследовательностью с длиной . Запомним все элементы обеих последовательностей и из них построим все возможные последовательности. Тогда искомая гарантированно найдётся, однако время работы алгоритма будет экспоненциально зависеть от длины исходных последовательностей.