Анализ данных

  • Автор темы Green_Wizard
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Green_Wizard

Гость
#1
задача схожа с нахождением LCS, но оптимизирована для работы с заранее похожими потоками данных.... такими как ХТМЛ и аудио поток двух одинаковых фраз разными людьми
говоря мат. языком:
имеется две функ. -- f1(x) и f2(y)..... они имеют общие значения в разных своих точках..... типа [(x[1], y[1]), (x[2], x[2]), ....., (x[N], y[N])]..... где var[N] < var[N + 1]
я думаю, нет надобности приводить код наивного решения этой задачи..... по этому перейду к нормальному варианту :)
последовательно сканируя оба потока на совпадения мы вычисляем "вес" совпадения по критериям: растояние до пред. позиция совпадения (y[N] - y[N-1] и x[N] - x[N-1]), длина совпадения (число ПОСЛЕДОВАТЕЛЬНЫХ совпадений с тек. позиции) и расстояние между относительными позициями в 1 и 2-м потоке ( (y[N] - y[N-1]) - (x[N] - x[N-1]) ) и у кого самый большой вес то и добавляем в список..... учитывая постоянность уравнения мы сужаем диапазон поиска и выбираем самые тяжолые совпадения

вопросы:
как записать это "уравнение"?
как в нем учесть правило "var[N] < var[N + 1]" если вес[N] < вес[N + 1]?
какие у вас есть идеи по этому поводу?

П. С. я использую, для снижения числа ошибок, сканирования вида "начало - конец - середена_начало - середена_конец" (получаем 4 точки) и рекурсивно выполняем для точек 1-3 и 2-4

П. П. С. надеюсь, это кто-то понял? если что -- спрашивайте и уточним
 
Статус
Закрыто для дальнейших ответов.