Re[3]: индексация массива массивов
От: marx paul Германия Провести онлайн-опрос
Дата: 20.02.10 11:19
Оценка:
Здравствуйте, Azazar, Вы писали:

A>Здравствуйте, marx paul, Вы писали:


MP>>а массивы какой длины?

MP>>а длина массово одинаковая?

A>Одинаковой длинны.


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

Во-первых, (если длина массива не очень велика) можно подумать над тем, чтобы предсавлять массивы булевых элементов в ввиде байтов/слов.
Во-вторых, при добавлении нового массива надо просчитать степень похожести добавляемого массива на каждый из уже присутствующих в коллекции. Таким образом, получим lookup-table размерностью n(n-1)/2. Потом, при поиске, остается только дернуть из lookup таблицы ключик для массива, наиболее похожего на искоммый.

из постановки задачи следует, что для определения степени похожести (similarity) вам надо испольовать просто match (= количество совпадающих элементов).
Если будете читать литературу по similarities — не искушайтесь пользовать продвинутые функции типа cosine similarity — они, конечно, модные и красивые по замыслу, но работают хуже, чем та же евклидова дистанция. Для обобщения решения насчитанные similarities лучше отнормировать в пределах [0..1]. Но в Вашей постановке задачи это не критично.
Провести онлайн-опрос
Online-Umfrage erstellen
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.