<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Альтернативная модель сходства символьных строк</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>© Sergej Znamenskii</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>A. K. Ailamazyan Program Systems Institute of Russian academy of Science</institution>
          ,
          <addr-line>Pereslavl-Zalessky</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>P. G. Demidov Yaroslavl State University</institution>
          ,
          <addr-line>Yaroslavl</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Vladislav Dyachenko</institution>
        </aff>
      </contrib-group>
      <fpage>177</fpage>
      <lpage>183</lpage>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Символьные строки над конечным алфавитом
используются для компьютерного представления
информации различной природы при поиске
плагиата, работе с версиями исходного кода программ,
распознавании звуков и поиске мелодий, анализе
данных биоинформатики, грубой сортировке сырых
текстовых историко-географических данных и в
других прикладных задачах.
Труды XIX Международной конференции
«Аналитика и управление данными в областях с
интенсивным использованием данных» (DAMDID/
RCDL’2017), Москва, Россия, 10–13 октября 2017
года</p>
      <p>Не только численные значения оценки сходства
символьных строк, но и основанные на них
результаты ранжирования по сходству или кластеризации
существенно зависят от непростого выбора способа
количественной оценки пары строк в основном
среди двух групп:</p>
      <p>Метрики близости оценивают расстояние
между строками. Для строки и её подстроки – это
обычно разность длин. Формально удовлетворяют
известным аксиомам метрического пространства.</p>
      <p>Меры сходства оценивают размер общей
информации либо мощность пересечения множеств
признаков. Для строки и её подстроки – это обычно
длина подстроки. Неотрицательны и монотонны по
включению. Некоторые из них могут считаться
мерами в смысле классической теории меры,
остальные (включая LCS) формализуются как нечёткие
меры Шоке–Суджено на множестве признаков.
Часто называются метриками сходства, что порождает
не всегда корректную ассоциацию с метрическим
пространством.
строк.</p>
      <p>Классический подход к построению меры
сходства символьных строк 
и 
состоит в
выравнивании строк выделением в каждой из них
одинаковых подпоследовательностей символов.</p>
      <p>Выбор длиннейшей из всех таких возможных
подпоследовательностей
LCS
(Longest</p>
      <p>
        Common
Subsequence) численно оценивает
близость
символьных строк длиной   ( ,  ) выделенной
подпоследовательности. Расстояние Левенштейна   ( ,  )
равно количеству символов, не вошедших в
длиннейшую общую подпоследовательность. Поэтому
  ( ,  ) +   ( ,  ) = | | + | |, где  и  – длины
Вопрос «Сходство или расстояние: Важно ли?»
не случайно возник в [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. С ним связаны распро
страненные в научной литературе опасные
заблуждения.
1 Ошибочное использование метрики
Хотя некорректность применения метрики
Левенштейна к строкам различной длины замечена
ещё в [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], возможная неэквивалентность меры
сходства метрике близости отмечена лишь в [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], а
возможная несводимость меры сходства к метрике
близости – в [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], но уже в [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] желание использовать
методы
      </p>
      <p>метрического пространства снова
провоцирует спорный вывод: «we have explored the
relation between the concepts of distance and similarity and
shown that adopting the axiomatic definition of
similarity as presented here, leads to a spatial interpretation
of
similarity
as “direction”,
complementary
to
distance».</p>
      <p>Анализ неудачной попытки нормализации
данных НСКФ-2016 выявил плохую работу метрики
Левенштейна и контрпример к этому утверждению:
тельно выше, чем со строкой  =«Тверь»
кой  
Хотя сходство строки  =«Переславль» со
стро=«Переславль-Залесский», очевидно,
значи  ( ,   ) = 9 &gt; 3 =   ( ,  ),
но по расстоянию «Переславль» значительно ближе
к «Тверь»</p>
      <p>( ,   ) = 11 &gt; 7 =   ( ,  ).
Мы видим, что упомянутая простая связь НЕ
означает, что расстояние и сходство всегда
противоположно направлены. Поэтому любой корректный
алгоритм, основанный на метрике, ошибётся в этой
ситуации. Использование метрики близости в
качестве меры сходства на таких данных порождает
ошибки в теоретических выводах и приложениях.</p>
      <p>Вывод 1. Метрику близости рискованно
использовать для кластеризации (или ранжирования) по
сходству строк существенно различной длины:
различия в длинах маскируют сходство.</p>
      <p>1.2 Ошибочное нормирование сходства</p>
      <p>Хорошо известно, что метрику можно
нормировать без потерь. Простая связь меры близости с
метрикой сходства скрывает фундаментальные
различия. Ошибки, связанные с нормированием,
отчётливо видны на строках  = «USA»,  = «RUSSIA» и

 = «RUSSIAN</p>
      <p>FEDERATION» и мере сходства
LCS: ненормированный LCS вполне обоснованно
позиционирует</p>
      <p>
        «RUSSIA» в два раза ближе к
«RUSSIAN FEDERATION», чем к « USA». Однако
нормирование по средней длине резко
разворачивает неравенство в обратную сторону:
2 ( , )
| |+| | =
2
3
&gt;
1
2
= | |+  
2  ,  .
Нормализация по [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ] даёт ту же ошибку:
 ( , )
| |+| |− ( , )
=
1
2
&gt;
1
3
=
      </p>
      <p>, 
| |+   −  , 
.</p>
      <p>Менее опасно, но также не корректно в этом
примере нормирование к минимальной длине:
 ( , )
min(| |,| |)
= 1 =</p>
      <p>, 
min | |,  
.</p>
      <p>Вывод 2. Нормирование меры сходства
рискованно при значимых различиях в длине строк
Примерно половина наиболее активно
цитируемых и используемых определений мер сходства
постулирует диапазон значений  ( ,  ) ≤  ( ,  ) = 1.
Мы видели, как это порождает ошибки при работе
со строками.</p>
      <p>Сформулированные замечания значимы не
только для географических названий, но и для любых
приложений, в которых близость длин не является
доминирующим признаком сходства. Во всех
приложениях, перечисленных в
начале статьи, это
именно так, и в каждом из них нетрудно привести
аналогичные
примеры.</p>
      <p>Исключение, к которому
предостережения данной статьи отношения не
имеют, – это задача исправления ошибок набора текста
с естественным доминированием близости длин.
2 Информативность общей
подпоследовательности</p>
      <p>Выравнивание строк выделяет общую
подпоследовательность. Например, общая
подпоследовательность («с», «в») строк «Переславль» и «Москва»
соответствует нескольким практически равноценным
выравниваниям
В известных приложениях носителями
информации являются подстроки сопоставляемых строк
 = ( 1, . . . ,   ) и  = ( 1, . . . ,   ), совпадение
которых  +  =  +  ∀ = 1, . . . ,  является признаком
сходства строк (здесь   и   –начальные позиции
подстрок, а  – их равная длина, причём  + ,  +
  – элемент фиксированной общей
подпоследовательности). Разность начальных позиций   −  
будем называть смещением общей подстроки. Для
строк «RUSSIA» и «USA» таких подстрок в любой
общей подпоследовательности не более, чем четыре
(U,US,S,A).</p>
      <p>
        Определение 1. Наиболее значимой общей
подпоследовательностью назовём такую общую
подпоследовательность, в которой количество общих
подстрок максимально. Это количество названо в
[
        <xref ref-type="bibr" rid="ref13 ref15">13, 15</xref>
        ] мерой сходства NCS и будет обозначаться
  ( ,  ).
      </p>
      <p>С другой стороны, каждый такой признак
сходства несёт долю общей информацию. Размер её
формально оценить невозможно. В текстах могут
совпасть гениальная фраза либо бессмысленный
обрывок, но компьютер этого не разберёт. Для
простоты удобно считать все их потенциально
информационно равноценными. Поскольку каждая строка
несёт в себе информацию каждой своей подстроки,
то полный объём общей информации – это снова
количество всех подстрок   ( ,  ).</p>
      <p>Общее количество подстрок наглядно показано
количеством указывающих на концы подстроки
уголков в примерах:</p>
      <p>
        Мера сходства   ( ,  ), очевидно,
удовлетворяет классическим аксиомам сходства
[
        <xref ref-type="bibr" rid="ref5 ref7">5,7</xref>
        ]: неотрицательность
симметричность
самосходство
      </p>
      <p>( ,  ) ≥ 0,
 ( ,  ) =  ( ,  ),
 ( ,  ) ≤  ( ,  ), (3)
супераддитивность меры множества общих
признаков</p>
      <p>( ,  ) +  ( ,  ) ≤  ( ,  ) +  ( ,  ), (4)
также известная как неравенство покрытия или
аналог неравенства треугольника, и, наконец,
индикация совпадения</p>
      <p>( ,  ) −  ( ,  ) −  ( ,  ) ⟺  −  . (5)
Кроме классических аксиом, обе меры сходства
(NCS и LCS) обладают свойством монотонности
 ⊂  ⟹  ( ,  ) ≤  ( ,  ), (6)
связанным с вложением подстроки в строку, из
которой следует  ⊂  ⟺  ( ,  ) =  ( ,  ), но не
вы(1)
(2)
текает полезное свойство индикация подстроки
 ⊂  ⟹  ( ,  ) =  ( ,  ), (7)
которым обладает NCS, но LCS не обладает. С
другой стороны, LCS обладает простой связью с длиной
строки</p>
      <p>
        ( ,  ) = | |, (8)
но для NCS это неверно. Диапазон значений у NCS
шире, чем у LCS: 0 ≤   ≤  (min{ ,  }). Его
верхняя граница  ( ) =  ( + 1)/2 – треугольное
число, дающее согласно [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] совокупное количество
подстрок строки длины  .
3 Наивный алгоритм вычисления
Предложенный в [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] алгоритм основан на
стандартном применении динамического
программирования, реализован на С и доступен на CPAN в
виде компилируемого подгружаемого модуля для
Perl Algorithm::NCS.
      </p>
      <p>Алгоритм имеет очевидную оценку сложности
по памяти  (  ) и по времени  ( 2 ) через
длины  и  сравниваемых строк.
Алгоритм 1
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
int t_ocs(char *x, char*y){
int *d, k, i, j, n, m, diag, t;
n = strlen(x)+1;
m = strlen(y)+1;
diag = n*m+m;
d=calloc(sizeof(int), diag+n+1);
for (i=1; i&lt;n; i++){
diag++;
for (j=1; j&lt;m; j++){</p>
      <p>d[j*n+i] = d[(j-1)*n+i] &gt;
d[j*n+id[diag-j])
d[diag-j];}
? d[(j-1)*n+i]
: d[j*n+i-1];
if (x[i-1] == y[j-1]){
d[diag -j]++;
if (d[j*n+i] &lt; d[j*n+i-n-1]+</p>
      <p>d[j*n+i] = d[j*n+i-n-1] +
else { d[diag -j] = 0;}}}
t = d[n*m-1];
free(d);
return t;}
Для строк небольшой длины алгоритм обладает
сходным со стандартным для LCS быстродействием
(численный эксперимент описан ниже).</p>
      <p>
        Известные алгоритмы, включая квадратичный
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], требуют квадратичной памяти, что делает их
неприменимыми для длинных строк.
      </p>
      <p>Простейший подход к оптимизации LCS по
использованию памяти может быть использован и для
ускорения работы NCS.
4 Линейный по памяти алгоритм</p>
      <p>Назовём общим окончанием строк
максимальную общую подстроку, содержащую пару
последних элементов, и эффектным окончанием
максимальную часть общего окончания, входящую в
некоторую наиболее значимую
подпоследовательность. Стыком общих подстрок будем
называть такое их расположение, при котором между
ними нет просвета в одной из сравниваемых строк.</p>
      <p>Алгоритм базируется на двух простых леммах,
приводимых без доказательства.</p>
      <p>Лемма 1. Если наиболее значимая общая
подпоследовательность содержит стык двух общих
подстрок с разными смещениями, то продолжаться
через стык может только более короткая из них. В
случае равных длин ни одна из строк не может
быть продолжена через стык.</p>
      <p>Лемма 2. Эффектное окончание стыкуется в
наиболее значимой подпоследовательности с
концом
максимальной
общей
подстроки,
представленной в подпоследовательности более длинной, чем
это окончание, частью.</p>
      <p>Алгоритм использует вспомогательные массивы
данных для компактного хранения информации:
mp[n] хранит ранее вычисленные значения NCS
для пар начальных подстрок;</p>
      <p>mu[n] сохраняет текущие вычисляемые значения
NCS для пар начальных подстрок.</p>
      <p>Используются также массивы данных, индекс
+  связан с фиксированной
диагональю:
которых  =  − 
ls[s]
содержит</p>
      <p>начальные позиции общих
окончаний в x для разных смещений;</p>
      <p>le[s] содержит начальные позиции эффектных
(т .е. включённых в наиболее значимую общую
подпоследовательность) общих окончаний.</p>
      <p>Нулевое значение элемента ls[s] означает
несовпадение окончаний и неактуальность
соответствующих значений le[s] и me[s].</p>
      <p>Введённые массивы занимают 3
+ 8 + 5
ячеек для хранения целых чисел и инициализируются
нулями при вызове функции.
Алгоритм 2</p>
      <p>for ( i=1; i &lt; m+1; i++ ){
for ( j=1; j &lt; n+1; j++ ){
s = j-i+n;
mx = max( mp[j], mu[j-1] );
if ( x[i-1] == y[j-1] ){
ps[s] = i;
me[s] = mp[j-1]+1;
pe[s] = i;
mu[j] = mp[j-1] + 1; }
else { /* неэффектное */
pe[s] = i+1;
mu[j] = mx; }}
else { /* длина больше 1 */
me[s] += i + 1- ps[s];
mt=mp[j-1] + i - pe[s] +1;
if ( ps[s] == 0 ){/* окончание длины 1 */
if ( mp[j-1] + 1 &gt; mx ){/* эффектное */
if ( (me[s] &gt;= mx) &amp;&amp; (me[s] &gt;= mt) ){
mu[j] = me[s];
pe[s] = ps[s]; }
else { /* доминирует не me[s] */
if ( (mt &gt;= mx) &amp;&amp; (mt &gt;= me[s]) ){
mu[j] = mt; }
pe[s] = i+1;
else{ /* доминирует mx */
else{ /* последние символы различаются */
NCS, рассмотрим обратную к  =  ( ) монотонную
 =  ( ) =
√8 +1−1.</p>
      <p>2
Определение 2. Назовём сходством общности
порядка (OCS) меру сходства символьных строк,
определённую формулой
  ( ,  ) =  (  ( ,  )).
(9)
Пример 1. Для рассмотренных в начале статьи
строк   ( ,  ) ≈ 2.37 &lt; 3.</p>
      <p>
        Дробное значение отражает квадратично лучшее
разрешение, ценность которого отмечена в [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. В
данном случае оно естественно отражает наличие
просвета в выравнивании с «USA», и тем самым
«RUSSIA» оказывается уже не в два, а 2.53 раза
ближе к «RUSSIAN FEDERATION», чем к «USA».
      </p>
      <p>Теорема 1. Сходство упорядоченной общности,
определённое</p>
      <p>формулой (9), удовлетворяет всем
аксиомам (1)–(8).</p>
      <p>Доказательство. Все аксиомы, кроме (4),
несложно вытекают из определения. Аксиома (4)
вытекает из следующей леммы.</p>
      <p>Лемма 3. Для конечного объединения
непересе
кающихся отрезков прямой  = ⋃ =1[  ,   ]
положества</p>
      <p>и 
жим  ( ) = ∑

 =1  ( 
единичного сегмента [0.  ] имеют</p>
      <p>−   ). Пусть два
подмнограницы, состоящие из конечного числа точек.
Тогда  ( ) +  ( ) ≤  (</p>
      <p>∩  ) +  .</p>
      <p>Доказательство леммы основано на возможности
таких перестроек множеств 
и  , при которых
пары сегментов сливаются в один с сохранением веса
 так, что неравенство леммы усиливается.
6 Производительность алгоритмов
Для сравнения по производительности LCS и
NCS/OCS были испытаны классический алгоритм
динамического программирования для LCS и
вышеприведённые алгоритмы, которые мы обозначим по
порядку NCS1 и NCS2.</p>
      <p>В цикле длительностью около 20 секунд
генерировались две строки заданных длин, случайно (с
равной вероятностью и независимо) заполненные
буквами из алфавита фиксированного размера (2
или 128), и измерялось сходство между ними. По
времени и количеству вычислений определялось
среднее время.</p>
      <p>Полная серия экспериментов для различных пар
длин и мер сходства была повторена три раза и для
каждой измеренной величины на одном
персональном компьютере Linux PC Intel(R) Core(TM) i3-3250
CPU @3.50GHz 4 ядра (27935.67 BogoMIPS) 8Gb
RAM. Для компенсации случайных флуктуаций
были отброшены максимальное и минимальное из
каждой тройки полученных значений. Результаты
представлены в Таблице 1.</p>
      <p>Верхняя часть таблицы показывает, что
накладные расходы вызова процедуры доминируют
примерно до   ≈ 10000, а при большем
произведении длин вступают в силу особенности
алгоритмов. Первый алгоритм NCS оказывается в 2–3
раза медленнее, чем LCS, а второй примерно на 30%
медленнее при малых длинах, но неожиданно
быстрее LCS в 2–4 раза на больших.</p>
      <p>Возможная причина в том, что даже при
формально большем числе операций массивы
компактного хранения могут реже требовать изменений
(если данное не изменилось, запись не производится), а
операции чтения и особенно сравнения
выполняются быстрее, чем операции записи. Для проверки этой
гипотезы в алгоритме строки mu[j] = mx; были
заменены на
if (mu[j] != mx)
mu[j] = mx;
и аналогично дополнена строка ps[s] = 0; в
результате время практически не изменилось для
бинарного алфавита, но однозначно сократилось
в среднем примерно на 0.15 нс для алфавита из 128
символов, что подтвердило гипотезу. Другая
возможная причина в том, что процедуры, работающие
с данными небольших размеров, могут исполняться
в кэше процессора с более быстрыми обращениями
к памяти. В любом случае результаты тестов
убедительно показали, что на этих случайных данных
скорость работы алгоритмов достаточно близка, и
разумно организовать эксперимент на реальных
данных.</p>
      <p>Важно отметить, что все известные оптимизации
LCS теряют преимущества при работе со
случайными бинарными последовательностями, и цифры в
левой половине таблицы и верхних строках,
повидимому, не улучшаемы для алгоритмов,
работающих с разными алфавитами. Для ситуации редких
совпадений, представленной правой половиной
таблички и длинных строк, важной для многих
прикладных областей, хорошо известен ряд алгоритмов
вычисления LCS, которые останутся вне
конкуренции как минимум до тех пор, пока не проработана
аналогичная оптимизация для NCS.
7 Путь к быстрым приближённым
алгоритмам</p>
      <p>Поскольку квадратичная сложность
неприемлема для поиска сходных подстрок в большой базе
экспериментальных данных, то острой является
потребность в быстрых алгоритмах, надёжно
отсеивающих основную часть несхожей информации,
чтобы малую оставшуюся часть обработать
алгоритмами, точно оценивающими сходство.</p>
      <p>Корень проблемы в том, что любой алгоритм
оценки сходства символьных строк базируется на
попарном сравнении элементов.</p>
      <p>Гипотеза 1. Пусть в квадратной таблице
размером 2 × 2 отмечено  2 клеток. Тогда в ней
можно выбрать последовательность из 
неотмеченных клеток, у которой номера строк и номера
столбцов строго возрастают.</p>
      <p>Отметка клеток, наиболее удалённых от
побочной диагонали, образующая два треугольника, один
чуть больше другого, по-видимому даёт ситуацию,
единственную с точностью до центральной
симметрии, в которой более длинных последовательностей
нет.</p>
      <p>
        Если гипотеза 1 верна, то LCS принципиально не
допускает приближённых алгоритмов поиска с
лучшей, чем квадратичная, оценкой, пригодных для
предварительной фильтрации при поиске. Это
согласуется с давно известной [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] невозможностью
точного работающего с алфавитами любых
размеров алгоритма для LCS с лучшей, чем квадратичная,
оценкой сложности.
      </p>
      <p>Благодаря чувствительности к просветам,
ситуация для ОCS (и NCS) отличается принципиально:
Теорема 2. Для любого  &gt; 0 существует такой
номер  &gt; 0, что при любых  ,  &gt;  можно
указать менее  −2 пар элементов, несовпадение
которых влечёт неравенство   ( ,  ) &lt;   .
Сформулированная теорема
по сути означает
существование алгоритма предварительной
фильтрации
при
поиске,
использующего
сравнение
  −2 пар элементов. При фиксированной
относительной погрешности  это означает линейную
сложность алгоритма для 
=  . Искомый алгоритм
может быть получен предположительно несложной
доработкой NCS2.</p>
      <p>Доказательство. Зафиксируем  , равное целой
части от (</p>
      <p>
        + 1) 2, и рассмотрим множество из не
более чем   пар: {( ,  ):  mod  = 0}. Любая
общая подпоследовательность вне этого множества
пар не может иметь вес, больший чем

 + 1  ( − 1) =  
−1
2
≤  . □
Можно предположить, что десятилетия
интенсивных многоплановых поисков [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] замены базовых
эвристических
алгоритмов
биоинформатики
не
уступающими в производительности, но аккуратно
теоретически обоснованными, не дали результата
потому, что поиски велись вдали от OCS.
8 Устойчивость к случайному шуму
Канонический набор данных для тестирования
мер сходства составляют случайно генерированные
строки, позволяющие объективно оценить важные
для приложений качества мер сходства. В
частности, строки четырёхбуквенного алфавита с
независимым
и
равномерным
распределением
букв
успешно моделируют объекты биоинформатики.
      </p>
      <p>В ходе численного эксперимента на том же
компьютере получены представленные на Рис. 1
кумулятивные
гистограммы
(эмпирические
функции
распределения) значений мер сходства LCS и OCS
строк фиксированных длин из равновероятных
независимых букв четырёхбуквенного алфавита.
Рисунок 1 Кумулятивные гистограммы меры
положено левее семейства для   ( , ), два крайних
справа представлены точкой (1,1).

При отношении длин 3:13 и ниже для строк
суммарной длины 1024 символа мы не получаем из LCS
никакой информации, поскольку результат
предопределён с вероятностью, близкой к 1. При
рассмотренных отношениях строк LCS, как правило,
превышает 0.6 от максимального значения, а
диапазон изменения NCS оказывается больше в разы.
Низкие
математическое
ожидание
и
дисперсия
означают низкую вероятность значимого сходства,
которую можно интерпретировать как устойчивость
к случайному шуму.</p>
      <p>Рис. 2 показывает, что при увеличении алфавита
ситуация меняется количественно, но качественный
разрыв сохраняется.</p>
      <p>мейства для   ( , )</p>
      <p>Рисунок 2 Кумулятивные гистограммы меры
общности пары случайных строк суммарной
длины</p>
      <p>+  = 1024 для алфавита из 128 букв; cлева
направо отношения длин последовательностей
m:n= 1:1, 7:9, 3:5, 5:11, 1:3, 3:13, 1:6, 1:15;
cемейство графиков для   ( , ) расположено левее
се
Рис. 3 и 4 демонстрируют значимое усиление
эффекта по мере роста длин сравниваемых строк.
общности пары случайных строк суммарной
длины 
+</p>
      <p>= 1024; cлева направо отношения длин
последовательностей m:n= 1:1, 7:9, 3:5, 5:11, 1:3,
3:13, 1:6, 1:15; cемейство графиков для   ( , )
рас</p>
      <p>Рисунок 3 Зависимость математического
ожидания мер общности для четырёхбуквенного
алфавита от длины кратчайшей из строк при
фиксированных отношениях длин
Рисунок 4 Зависимость дисперсии мер общности
для четырёхбуквенного алфавита от длины
кратчайшей из строк при фиксированных отношениях
длин</p>
      <p>При отношении длин 3:13 и ниже для строк
суммарной длины 1024 символа мы не получаем из
LCS никакой информации, поскольку результат
предопределён с вероятностью, близкой к 1. При
рассмотренных отношениях строк LCS, как
правило, превышает 0.6 от максимального значения, а
диапазон изменения NCS оказывается больше в
разы. Низкие математическое ожидание и дисперсия
означают низкую вероятность значимого сходства,
которую можно интерпретировать как
устойчивость к случайному шуму.
Заключение</p>
      <p>Описана мера близости, обладающая
естественным определением, уникальным сочетанием
полезных аксиом (1)–(8), сопоставимыми по сложности и
скорости алгоритмами, повышенными разрешением
и устойчивостью к случайному шуму в сравнении с
LCS.</p>
      <p>
        Выбор других мер сходства для объективного
сравнения сильно затруднён множественностью
потенциально возможных интуитивно
непрозрачных настроек, таких, как коэффициенты широко
используемой в биоинформатике функции
просветов (gap function) [
        <xref ref-type="bibr" rid="ref12 ref3">3, 12</xref>
        ].
Литература
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Abboud</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Williams</surname>
            ,
            <given-names>V. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weimann</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Consequences of Faster Alignment of Sequences</article-title>
          .
          <source>Int. Colloquium on Automata, Languages, and Programming</source>
          . Springer Berlin Heidelberg, pp.
          <fpage>39</fpage>
          -
          <lpage>51</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Aho</surname>
            ,
            <given-names>A. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hirschberg</surname>
            ,
            <given-names>D. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ullman</surname>
            ,
            <given-names>J. D.:</given-names>
          </string-name>
          <article-title>Bounds on the Complexity of-the Maximal Common Subsequence Problem</article-title>
          . JACM,
          <volume>23</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          (
          <year>1976</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Cartwright</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          :
          <article-title>Logarithmic Gap Costs Decrease Alignment Accuracy</article-title>
          .
          <source>BMC Bioinformatics</source>
          ,
          <volume>7</volume>
          ,
          <issue>527</issue>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vitányi</surname>
            ,
            <given-names>P. M.:</given-names>
          </string-name>
          <article-title>The Similarity Metric</article-title>
          .
          <source>IEEE Transactions on Information Theory</source>
          ,
          <volume>50</volume>
          (
          <issue>12</issue>
          ), pp.
          <fpage>3250</fpage>
          -
          <lpage>3264</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ma</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>On the Similarity Metric and the Distance Metric</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>410</volume>
          (
          <fpage>24</fpage>
          -
          <lpage>25</lpage>
          ), pp.
          <fpage>2365</fpage>
          -
          <lpage>2376</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Elzinga</surname>
            ,
            <given-names>C. H.</given-names>
          </string-name>
          :
          <article-title>Distance, Similarity and Sequence Comparison</article-title>
          .
          <source>Advances in Sequence Analysis: Theory, Method</source>
          , Applications. Springer International Publishing, pp.
          <fpage>51</fpage>
          -
          <lpage>73</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Elzinga</surname>
            ,
            <given-names>C. H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Studer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Normalization of Distance and Similarity in Sequence Analysis</article-title>
          .
          <source>LaCOSA II</source>
          , Lausanne, June 8-10, pp.
          <fpage>445</fpage>
          -
          <lpage>468</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Emms</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franco-Penya</surname>
            ,
            <given-names>H. H.</given-names>
          </string-name>
          :
          <article-title>On the Expressivity of Alignment-Based Distance and Similarity Measures on Sequences and Trees in Inducing Orderings</article-title>
          .
          <source>Springer Proceedings in Mathematics &amp; Statistics</source>
          , 30, pp.
          <fpage>1</fpage>
          -
          <lpage>18</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>Y.-P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peng</surname>
            ,
            <given-names>Y.-H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
          </string-name>
          , C.-B.:
          <article-title>Efficient Algorithms for the Flexible Longest Common Subsequence Problem</article-title>
          .
          <source>Proc. of the 31st Workshop on Combinatorial Mathematics and Computation Theory</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Lim</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <article-title>Cleansing Noisy City Names in Spatial Data Mining</article-title>
          .
          <source>2010 Int. Conf. on Information Science and Applications (ICISA)</source>
          , p.
          <volume>18</volume>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Tseng</surname>
            ,
            <given-names>K.-T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
          </string-name>
          , C.-B.,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>K.-S.:</given-names>
          </string-name>
          <article-title>The Better Alignment Among Output Alignments</article-title>
          .
          <source>J. of Computers</source>
          ,
          <volume>3</volume>
          , pp.
          <fpage>51</fpage>
          -
          <lpage>62</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yan</surname>
            ,
            <given-names>R. X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>X. F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Si</surname>
            ,
            <given-names>J. N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>Comparison of Linear Gap Penalties and Profile-Based Variable Gap Penalties in Profile-Profile Alignments</article-title>
          .
          <source>Computational Biology and Chemistry</source>
          ,
          <volume>35</volume>
          (
          <issue>5</issue>
          ), pp.
          <fpage>308</fpage>
          -
          <lpage>318</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Znamenskij</surname>
            ,
            <given-names>S. V.</given-names>
          </string-name>
          :
          <article-title>A Model and Algorithm for Sequence Alignment</article-title>
          .
          <source>Program systems: theory and applications</source>
          ,
          <volume>6</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>189</fpage>
          -
          <lpage>197</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Znamenskij</surname>
            ,
            <given-names>S. V.</given-names>
          </string-name>
          :
          <article-title>Simple Essential Improvements to ROUGE-W algorithm</article-title>
          . J. of Siberian Federal University.
          <source>Mathematics &amp; Physics, 4</source>
          , pp.
          <fpage>258</fpage>
          -
          <lpage>270</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Znamenskij</surname>
            ,
            <given-names>S. V.</given-names>
          </string-name>
          :
          <article-title>A Belief Framework for Similarity Evaluation of Textual or Structured Data. Similarity Search and Applications</article-title>
          , LNCS 9371, pp.
          <fpage>138</fpage>
          -
          <lpage>149</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>