Цитата(roman73_2 @ Oct 14 2014, 00:18)

Вот не надо про гены и бинарные прошивки. Мне кажется я нормально описал задачу. Последовательности числовые, могут "немного" различаться масштабом (по x и/или по y), может быть сдвиг.
Если отличие в масштабе по Y, то это совершенно нормально. А вот различие масштабов по Х - очень плохо. Плохо потому, что не позволяет сводить меру сходства к числу совпадений.
Вы напрасно отмахиваетесь от моих объяснений

, полагая, что я говорю о чем-то, не имеющего отношения к вашей задаче. На самом деле это не так. Пусть с пример на генетических текстах вас расстроил

, но я могу привести и более приземленный пример. Скажем текст книги в электронном формате, где каждая буква = байт = один элемент последовательности. И вот редактор добавляет в середину текста мягкий знак, который автор по ошибке пропустил. Спрашивается, какой мерой оценить изменение текста в процессе редактирования? Насколько сильно текст был модифицирован при редактировании? Если вы подумаете, то поймете, что эта задача сродни вашей, поскольку текст удлинился (на одну букву), и теперь приходится сравнивать между собой две последовательности разной длины (до и после редактирования).
Если мы теперь приложим оба текста (старый и новый) началами, то совпадут все буквы до вставленного мягкого знака, а после него совпадения будут крайне редки и случайны. Ситуация не изменится, если сложить тексты хвостами - только теперь совпадут вторые половины теста, а первые нет. В итоге, как бы ны не приложили их друг к другу, половина букв, стоящих напротив, будут отличаться. А из-за этого получится неверная оценка, как будто редактор изменил половину теста, тогда как он вставил одну единственную букву. Вот она - главная проблема, возникающая из-за десинхронизации, вызванной сдвигом по X или изменения масштаба по X. И здесь я была обязана вас об этом предупредить, прежде чем предлагать вариант со сдвигом.
Цитата(roman73_2 @ Oct 14 2014, 00:18)

Спасибо, это уже ближе к телу. А формул не подкинете? Как в этом случае вычисляется сходство сдвинутых последовательностей, скалярное произведение? Или среднеквадратичное отклонение?
Формула в Википедии в статье "
Корреляция" (это там, дается выражение для r
XY=).
Но я полагаю, что счет будет быстрее, если сперва из каждой последовательности вычесть среднее, а потом нормировать на единицу. А уже с модифицированными таким образом последовательностями просто вычислять скалярное произведение. Алгебраически то на то и получится, зато не надо будет при каждом сдвиге перевычислять знаменатель.
А то, что я вам предложила - это поиск максимума "
автокорреляционной функции". Про автокорреляционнаую функцию в Википедии тоже есть статья.
Только не забывайте мой пример с редактированием теста, т.к. иначе вы рискуете стать жертвой красоты формул.
Цитата(roman73_2 @ Oct 14 2014, 00:18)

Насколько я понял, элемент взаимнокорреляционного полинома (как и свёртки) складывается из многих элементов исходных последовательностей. И может быстро вычисляться через БПФ.
Если у вас длина более короткой последовательности является целой степенью двойки, то тогда с БПФ может быть стоит возиться. Здесь главным является то, насколько одна из ваших последовательности короче другой. Ведь именно эта разность определяет число возможных сдвигов. И если они отличаются не более, чем на 50%, то связываться с БПФ смысла не имеет.
Цитата(roman73_2 @ Oct 14 2014, 00:18)

Вы кажется предлагаете какое-то попарное сравнение с перебором. Это не подходит. Сигнал может быть визуально сходен, но при попарном сравнении будет каша из-за разнице в масштабах по x. Или может я чего недопонял...
Я спрашиваю, как получить из взаимнокорреляционного полинома некоторую числовую меру сходства.
Не нравится поиск максимума - вычислите его интеграл.

Но максимум, на мой взгляд, лучше.
Цитата(roman73_2 @ Oct 14 2014, 00:18)

Другие идеи сравнения я не отметаю, но хотелось бы чего-нибудь математически обоснованного
Автокорреляционная функция - это как раз очень обоснованный метод, широко применяемый в задачах распознавания образов. А ваша задача по вычислению меры сходства двух объектов, заданных векторами, является промежуточным продуктом задачи распознавания образов.