Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сравнение последовательностей событий, что-то посложней Смита-Уотермана 
:(
    Опции темы
_Y_
Дата 13.1.2012, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Имеются разные последовательности событий:
  • Набор возможных событий ограничен. Скажем, от 2-х до 10-и (монетку бросаем - 2 возможных события; кубик - 6; и т.п.).
  • Каждое событие происходит в опеределенный момент времени в определенной точке пространства.
  • Для простоты картины пространство одномерное.
Последовательности можно проиллюстрировать картинкой. Оси - время и координата одномерного пространства. Цвета символов соответствуют разным событиям.
user posted image

Хочется написать программу сравнивающую пары таких последовательностей. На рисунке черная и малиновая последовательности больше похоже, чем каждая из них с желтой. Но хотелось бы посчитать некий коеффициент похожести.

-------------------------------

Мне кажется, что подобные задачи решают алгоритмы сравнения последовательностей нуклеотидов на хромосоме (или аминокислот в белках). Например, очень милый алгоритм Смита-Уотермана. 

В этих алгоритмах априори задаются коэффициенты похожести. Например, если в последовательностях два члена, стоящие в одинаковых положениях, не совпадают - штраф 10 баллов. Если в одной из последовательностей член пропущен - штраф 15 баллов Похожесть последовательностей оценивается суммой штрафов.

Но все эти алгоритмы не подразумевают развертки по непрерывным осям. В них следующий член последовательности идет непосредственно за предидущим. Допускается только пропустить/вставить один или несколько членов.

А мне нужно как-то сравнивать и положения событий по отношению к осям.

Подскажите, пожалуйста, кто что знает. Или просто идеи выскажите.




--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
disputant
Дата 15.1.2012, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 28.11.2011

Репутация: 2
Всего: 3



А для начала попробовать простую корреляцию пар (y_1i, y_2i) посчитать? (Если координаты x совпадают. Если нет - можно проинтерполировать.)

Просто как самое простое показалось. Конечно, надо поэкспериментировать на реальных данных, априори не говорю, что метод хорош - но зато очень прост smile

PM MAIL   Вверх
_Y_
Дата 15.1.2012, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(disputant @  15.1.2012,  13:26 Найти цитируемый пост)
А для начала попробовать простую корреляцию пар (y_1i, y_2i) посчитать? (Если координаты x совпадают. Если нет - можно проинтерполировать.)

Это не годится, к сожалению. Стоит задача не сравнения получаемых по точкам-событиям функций, а сравнения последовательностей событий. Так, например, с точки зрения функций прямая с тремя точками
(1,1)(2,2)(3,3)
и с двумя точками
(1,1)(3,3)
идентичны, т.к. описываются одной и той же функцией Y=X. Однако, в первом случае имеем три события, а во втором только два - совершенно разные сценарии.

ЗЫ: на моей первой картинке линии, соединяющие точки-события, смысла никакого не имеют. Они только показывают какое событие относится к какой последовательности.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
disputant
Дата 15.1.2012, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 28.11.2011

Репутация: 2
Всего: 3



Тогда конечно корреляция ни при чем...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.