65
Выход: набор непересекающихся фрагментов исходной последователь-
ности
12
(, , )
k
SVV V такой, что для любого другого набора фрагментов
12
'(,, )
h
SVVV выполняется условие:
''
'
''
,
,'
11
1111
':max max
1(,) 1(,)
ij
ij
kh
ii
VV S
VV S
ii
ij ij
SS V V
Dist V V m Dist V V m
.
Количество различных фрагментов, которые можно выделить в исходной
последовательности:
1
(1)
2
mnn
.
Количество произвольных наборов фрагментов, определяется размером
множества всех подмножеств набора
m
VVV ,,
21
:
() 2
m
um
.
Исходя из этого сложность задачи
2
() (2 )
n
Tn
.
Сформулируем следующую задачу разрешения, изменив требования к
выходу задачи: существует ли решение S, такое что
,
1
11
max
1(,)
ij
h
i
VV S
i
ij
Vk
Dist V V m
, (3.1)
где k - априори заданная величина, то есть существует ли набор фрагментов, в
котором произведение максимального нормированного расстояния между
фрагментами и суммарной нормированной длины фрагментов не больше k?
Для реализации проверяющего алгоритма A(S), который возвращает 1, в
случае если S удовлетворяет поставленному условию, и 0 в противном случае,
необходимо произвести ()n действий
по расчету масимального расстояния и
суммарной длины фрагментов, следовательно поставленная задача принадле-
жит к классу NP, задачам проверяемым за полиномиальное время.
Представим вход задачи в виде полносвязного графа G, вершинами в ко-
тором будут фрагменты V
i
, а ребрами оценки соответствующих пар фрагментов
полученные с помощью функции Dist (см. рис. 3.2).
В таком случае задание параметра k будет выделять в графе G подграф G
k
не содержащий вершин-фрагментов и ребер, длина которых больше k
(см. рис. 3.3). Все решения S, удовлетворяющие условию (3.1) являются клика-
ми (clique), полносвязными компонентами графа G
k
, т. е. решениями не содер-
жащими вершин, ребра между которыми исключены. И хотя обратное утвер-
ждение неверно — не все клики являются корректными решениями, задача вы-