Аноним

Задачи поиска ближайшей строки и ближайшей подстроки: различия между версиями

Материал из WEGA
м
нет описания правки
мНет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 26: Строка 26:




'''Теорема 1. Существует схема аппроксимации с полиномиальным временем выполнения для задачи поиска ближайшей строки.'''
'''Теорема 1. Существует аппроксимационная схема с полиномиальным временем выполнения для задачи поиска ближайшей строки.'''


'''Теорема 2. Существует схема аппроксимации с полиномиальным временем выполнения для задачи поиска ближайшей подстроки.'''
'''Теорема 2. Существует аппроксимационная схема с полиномиальным временем выполнения для задачи поиска ближайшей подстроки.'''




Строка 34: Строка 34:


== Применение ==
== Применение ==
Многие задачи молекулярной биологии включают поиск схожих областей, общих для каждой последовательности, в заданном множестве последовательностей ДНК, РНК или белка. Эти задачи находят применение при локализации сайтов связывания и поиске консервативных областей в невыровненных последовательностях [2, 7, 9, 13, 14], генетической идентификации мишени лекарственного препарата [8], конструировании генетических зондов [8], конструировании универсальных праймеров для ПЦР [4, 8], а помимо вычислительной биологии – в теории кодирования [5, 6]. Подобные задачи могут рассматриваться как различные обобщения задачи поиска общей подстроки, допускающей наличие ошибок. Было предложено несколько метрик для поиска таких областей, общих для всех заданных строк. Популярной и одной из самых фундаментальных метрик является расстояние Хэмминга. Кроме того, в этой сфере используются две известные целевые функции. Одной из них является полная сумма расстояний между центром строки (общей подстроки) и каждой из заданных строк. Второй – максимальное расстояние между центром строки и заданной строкой. Более подробное изложение см. в работе [8].
Многие задачи молекулярной биологии включают поиск схожих областей, общих для каждой последовательности, в заданном множестве последовательностей ДНК, РНК или белка. Эти задачи находят применение при локализации сайтов связывания и поиске консервативных областей в невыровненных последовательностях [2, 7, 9, 13, 14], генетической идентификации мишени лекарственного препарата [8], конструировании генетических зондов [8], конструировании универсальных праймеров для ПЦР [4, 8], а помимо вычислительной биологии – в теории кодирования [5, 6]. Подобные задачи могут рассматриваться как различные обобщения задачи поиска общей подстроки, допускающей наличие ошибок. Было предложено несколько метрик для поиска таких областей, общих для всех заданных строк. Популярной и одной из самых фундаментальных метрик является расстояние Хэмминга. Кроме того, в этой сфере используются две известные целевые функции. Одной из них является полная сумма расстояний между центральной строкой (общей подстрокой) и каждой из заданных строк. Второй – максимальное расстояние между центральной строкой и заданной строкой. Более подробное изложение см. в работе [8].




Строка 42: Строка 42:




Формальное определение задачи выглядит следующим образом. Пусть даны множество <math>B = \{ s_1, s_2, ..., s_{n_1} \}</math> из <math>n_1</math> (плохих) строк длиной не менее L и множество <math>G = \{ g_1, g_2, ..., g_{n_2} \}</math> из <math>n_2</math> (хороших) строк, длина которых в точности равна, а также два целых числа <math>d_b</math> и <math>d_g</math> <math>(d_b \le d_g)</math>. Задача выбора различающей подстроки (distinguishing substring selection problem, DSSP) заключается в нахождении строки s, такой, что для каждой строки <math>s_i \in B</math> существует имеющая длину L подстрока <math>t_i</math> строки <math>s_i</math> с <math>d(s, t_i) \le d_b</math>, и для каждой строки <math>g_i \in G</math> имеет место <math>d(s, g_i) \ge d_g</math>. Здесь d(,) обозначает расстояние Хэмминга между двумя строками. Если все строки в множестве B также имеют длину L, задача называется задачей поиска различающей строки (distinguishing string problem, DSP).
Формальное определение задачи выглядит следующим образом. Пусть даны множество <math>B = \{ s_1, s_2, ..., s_{n_1} \}</math> из <math>n_1</math> (плохих) строк длиной не менее L и множество <math>G = \{ g_1, g_2, ..., g_{n_2} \}</math> из <math>n_2</math> (хороших) строк, длина которых в точности равна L, а также два целых числа <math>d_b</math> и <math>d_g</math> <math>(d_b \le d_g)</math>. Задача выбора различающей подстроки (distinguishing substring selection problem, DSSP) заключается в нахождении строки s, такой, что для каждой строки <math>s_i \in B</math> существует имеющая длину L подстрока <math>t_i</math> строки <math>s_i</math> с <math>d(s, t_i) \le d_b</math>, и для каждой строки <math>g_i \in G</math> имеет место <math>d(s, g_i) \ge d_g</math>. Здесь d(,) обозначает расстояние Хэмминга между двумя строками. Если все строки в множестве B также имеют длину L, задача называется задачей поиска различающей строки (distinguishing string problem, DSP).




Строка 48: Строка 48:




'''Теорема 3. Существует схема аппроксимации с полиномиальным временем выполнения для задачи выбора различающей подстроки. А именно, для любого константного значения <math>\epsilon > 0</math> алгоритм находит строку длины L, такую, что для каждого <math>s_i \in B</math> существует имеющая длину L подстрока <math>t_i</math> строки <math>s_i</math> с <math>d(t_i, s) \le (1 + \epsilon)d_b</math> и для каждой подстроки <math>u_i</math> длины L каждой строки <math>g_i \in G, d(u_i, s) \ge (1 - \epsilon) d_g</math>, если существует решение для исходной пары <math>(d_b \le d_g)</math>. Поскольку существует полиномиальное количество таких пар <math>(d_b, d_g)</math>, мы можем за полиномиальное время перебрать все возможности и найти наиболее подходящую аппроксимацию для соответствующей конкретной задачи.'''
'''Теорема 3. Существует аппроксимационная схема с полиномиальным временем выполнения для задачи выбора различающей подстроки. А именно, для любого константного значения <math>\epsilon > 0</math> алгоритм находит строку s длины L, такую, что для каждого <math>s_i \in B</math> существует имеющая длину L подстрока <math>t_i</math> строки <math>s_i</math> с <math>d(t_i, s) \le (1 + \epsilon)d_b</math> и для каждой подстроки <math>u_i</math> длины L каждой строки <math>g_i \in G</math> имеет место <math>d(u_i, s) \ge (1 - \epsilon) d_g</math>, если существует решение для исходной пары <math>(d_b \le d_g)</math>. Поскольку существует полиномиальное количество таких пар <math>(d_b, d_g)</math>, мы можем за полиномиальное время перебрать все возможности и найти наиболее подходящую аппроксимацию для соответствующей конкретной задачи.'''


== Открытые вопросы ==
== Открытые вопросы ==
Строка 55: Строка 55:
== См. также ==
== См. также ==
* [[Нахождение ближайшей подстроки]]
* [[Нахождение ближайшей подстроки]]
* [[Эффективные методы множественного выравнивания последовательностей с гарантированными границами погрешности]]
* [[Эффективные методы множественного выравнивания последовательностей с гарантированными границами ошибок]]
* [[Разработка алгоритмов для вычислительной биологии]]
* [[Разработка алгоритмов для вычислительной биологии]]
* [[Многолокусная ПЦР для сокращения разрывов (при сборке полного генома)]]
* [[Многолокусная ПЦР для сокращения разрывов (при сборке полного генома)]]
4446

правок