@kot-samolet

Алгоритм сравнения множеств?

Как можно сравнить 2 множества что бы выяснить на сколько они похожи или различаются?
dbf1daa617334be0b583dfc038fa78e6.png
Возьмём для примера звуковую волну, это же множество, где по горизонтальной оси время (первое значение), по вертикальной сила всплеска (второе значение). Например:
1-2
2-9
3-6
4-3
5-1
Предположим у нас есть 2 и более таких множеств в каждом из которых не 5 а 100 элементов. Как их сравнить и найти похожие?
  • Вопрос задан
  • 1152 просмотра
Решения вопроса 3
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Пусть даны значения, идущие в определённом порядке (из примера): 2,9,6,3,1
Пусть максимально возможное значение одного показателя: 9
Тогда:
Суммарный показатель одного графика: S=10^4*2+10^3*9+10^2*6+10^1*3+10^0*1
Затем, считаем такие же суммы для всех графиков и находим наименьшую разницу между всеми парами.
Ответ написан
gobananas
@gobananas
finishhim.ru
Конкретный алгоритм сильно от задачи зависит, в данном случае вам Therapyx уже подсказал. Можете так же ознакомиться:

Поиск похожих документов, но основано на матрицах
https://netpeak.net/ru/blog/algoritm-lsa-dlya-pois...

Похожие множества
https://habrahabr.ru/post/115147/

Поиск похожих изображений (алгоритм там не фонтан, но статья доступная)
https://habrahabr.ru/post/122372/

Применительно к строкам
https://habrahabr.ru/sandbox/101202/
Ответ написан
Комментировать
sgjurano
@sgjurano
Разработчик
Если данных немного (а 1к списков по 100 элементов - это немного) или работа разовая, то можно просто MSE между всеми списками посчитать.
Для каждого из списков минимум MSE - самый похожий список.
Сложность O(m*n^2), где m - длина списка, n - число списков.

MSE - сумма квадратов разностей соответствующих элементов сравниваемых списков.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dom1n1k
@dom1n1k
Во-первых, звуковая волна - это не множество, а функция.
Во-вторых, в лоб звук не сравнивают. Его нужно преобразовать из амплитудного в частотный вид (гуглить по словам fast fourier transform) и сравнивать сонограммы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы