Кратчайшая общая проблема суперпоследовательности


Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В информатике , то кратчайший общий supersequence два последовательностей X и Y является самой короткой последовательностью , которая имеет X и Y , как подпоследовательность . Это проблема, тесно связанная с самой длинной общей проблемой подпоследовательности . Для двух последовательностей X = <x 1 , ..., x m > и Y = <y 1 , ..., y n > последовательность U = <u 1 , ..., u k > является общей суперпоследовательностью из X и Yесли элементы могут быть удалены из U для получения X и Y .

Кратчайшая общая суперпоследовательность (SCS) - это обычная суперпоследовательность минимальной длины. В задаче о кратчайшей общей суперпоследовательности заданы две последовательности X и Y , и задача состоит в том, чтобы найти кратчайшую возможную общую суперпоследовательность этих последовательностей. В общем, СКС не уникальна.

Для двух входных последовательностей SCS может быть легко сформирована из самой длинной общей подпоследовательности (LCS). Например, длинная общая подпоследовательность X и Y является Z . Добавляя символы , не LCS в Z , сохраняя при этом свой первоначальный заказ, мы получим кратчайший общий supersequence U . В частности, уравнение справедливо для любых двух входных последовательностей.

Нет подобной взаимосвязи между самыми короткими общими суперпоследовательностями и самыми длинными общими подпоследовательностями трех или более входных последовательностей. (В частности, LCS и SCS не являются двойными проблемами .) Однако обе проблемы могут быть решены во времени с помощью динамического программирования, где - количество последовательностей, а - их максимальная длина. Для общего случая произвольного числа входных последовательностей задача NP-сложная . [1]

Кратчайшая общая суперструна

Тесно связанная с этим проблема поиска строки минимальной длины, которая является суперстрокой конечного набора строк S = { s 1 , s 2 , ..., s n }, также является NP-сложной. [2] На протяжении многих лет было предложено несколько приближений с постоянным коэффициентом, и самый известный в настоящее время алгоритм имеет коэффициент приближения 2,4783. [3] Однако, возможно , самым простым решением является переформулировать проблему как экземпляр взвешенного набора крышки таким образом , что вес оптимального решения к примеру множество крышки меньше , чем в два раза превышает длину кратчайшего суперструнной S . Затем можно использоватьO (log ( n )) - приближение для взвешенного покрытия множества для получения O (log ( n )) - приближения для кратчайшей суперструны (обратите внимание, что это не приближение с постоянным коэффициентом).

Для любой строки x в этом алфавите определите P ( x ) как набор всех строк, которые являются подстроками x . Пример I набора обложек формулируется следующим образом:

  • Пусть M пусто.
  • Для каждой пары строк s i и s j , если последние k символов s i такие же, как первые k символов s j , тогда добавьте строку к M, которая состоит из конкатенации с максимальным перекрытием s i с s j .
  • Определите вселенную установленного экземпляра обложки как S
  • Определим набор подмножеств вселенной как { P ( x ) | xSM }
  • Определим стоимость каждого подмножества P (x) как | x |, длина x .

Затем пример I может быть решен с использованием алгоритма взвешенного покрытия множества, и алгоритм может вывести произвольную конкатенацию строк x, для которых алгоритм взвешенного покрытия множества выдает P ( x ). [4]

Пример

Рассмотрим набор S = {abc, cde, fab}, который становится универсумом экземпляра взвешенного набора обложек. В этом случае M = {abcde, fabc}. Тогда множество подмножеств вселенной

которые имеют стоимость 3, 3, 3, 5 и 4 соответственно.

использованная литература

  1. ^ Дэвид Майер (1978). «Сложность некоторых задач о подпоследовательностях и суперпоследовательностях». J. ACM . ACM Press. 25 (2): 322–336. DOI : 10.1145 / 322063.322075 .
  2. ^ Kari-Jouko Räihä, Esko Ukkonen (1981). «Самая короткая общая задача суперпоследовательностей над двоичным алфавитом является NP-полной» . Теоретическая информатика . 16 (2): 187–198. DOI : 10.1016 / 0304-3975 (81) 90075-х .
  3. ^ Марек Карпински и Ричард Шмид (2013). «Об улучшенных результатах о несовместимости кратчайших суперструн и связанных с ними задачах» (PDF) . Материалы 19-го CATS CRPIT . 141 : 27–36.
  4. ^ Вазирани , стр. 20.

внешние ссылки

  • Словарь алгоритмов и структур данных: кратчайшая общая суперпоследовательность
Получено с https://en.wikipedia.org/w/index.php?title=Shortest_common_supersequence_problem&oldid=1039704692 "