powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / равномерное распределение объектов на основе совпадения характеристик
12 сообщений из 12, страница 1 из 1
равномерное распределение объектов на основе совпадения характеристик
    #37819060
oleg_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем добрый день.
Есть практическая задача.

Имеется набор объектов (порядка сотни), обладающих характеристиками (до 8шт).
Харатеристики имеют фиксированный набор значений.
Требуется разложить объекты как можно равномернее в двухуровневое дерево по признаку совпадения характеристик.
Например 100объектов равномерно раскладываются по 10шт в 10 узлов.
Объекты в одном узле должны по возможности иметь наибольшее количество совпадающих значений характеристик.
Но не менее одной.

Пока додумался до того, что надо построить матрицу (100*100) и в ячейках посчитать количество совпадающих значений характеристик.
А дальше куда двигаться? Отсортировать по похожести?
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37819082
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_mВсем добрый день.
Есть практическая задача.

Имеется набор объектов (порядка сотни), обладающих характеристиками (до 8шт).
Харатеристики имеют фиксированный набор значений.
Требуется разложить объекты как можно равномернее в двухуровневое дерево по признаку совпадения характеристик.
Например 100объектов равномерно раскладываются по 10шт в 10 узлов.
Объекты в одном узле должны по возможности иметь наибольшее количество совпадающих значений характеристик.
Но не менее одной.

Пока додумался до того, что надо построить матрицу (100*100) и в ячейках посчитать количество совпадающих значений характеристик.
А дальше куда двигаться? Отсортировать по похожести?
1) Проясните первое выделенное. Так, как написано, задачу решает раскладывание объектов по 1 шт. в 100 узлов.
2) Проясните второе выделенное. N объектов узла должны все разделять одно и то же значение хотя бы одной характеристики, или любые два объекта из N должны разделять одно и то же значение хотя бы одной характеристики?
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37819103
oleg_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abstraction,
1) "самое равномерное распределение" это 10 узлов по 10 элементов в каждом, но самый идеальный случай. Исходная задача формулируется так: пользователь в два клика выбирает один элемент из сотни. Именно два клика. Поэтому максимально удобно сначала выбрать один из 10 узлов, а затем в данном узле выбрать один из 10 объектов.

Понятно, что идеальная картина 10*10 на реальных данных вряд ли получится. Вполне нормальным было бы наличие от 5 до 12 узлов,
и не во всех узлах будет ровно 10 объектов, пусть даже от 3 до 15.

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

Понимаю, что в общем случае может не получится небольшое количество узлов.
Этот вариант я рассмотрю отдельно.


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

Но это что называется алгоритм "методом последовательных проходов и многочисленных ветвлений".
Нет ли чего-то более изящного, вроде транспортной задачи ЗЛП?
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37819121
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исходя из вышеописанного, мне кажется, что возможны случаи, полностью перечёркивающие подход "двух кликов".
Пусть выделена группа в 10 элементов с общим значением некоторой характеристики. Пусть есть 11-й элемент. имеющий то же значение этой характеристики, но сильно отличающийся от этой группы по остальным характеристикам, и в то же время похожий по остальным характеристикам на другую группу, вследствие чего в неё и отнесённый.
После первого клика по первой характеристике клиент получит группу, в которой этого элемента не будет. А если нужен именно он?

Почему вместо деления на группы Вы не хотите пойти стандартным путём фильтрации?
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37819156
oleg_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaИсходя из вышеописанного, мне кажется, что возможны случаи, полностью перечёркивающие подход "двух кликов".
Пусть выделена группа в 10 элементов с общим значением некоторой характеристики. Пусть есть 11-й элемент. имеющий то же значение этой характеристики, но сильно отличающийся от этой группы по остальным характеристикам, и в то же время похожий по остальным характеристикам на другую группу, вследствие чего в неё и отнесённый.
После первого клика по первой характеристике клиент получит группу, в которой этого элемента не будет. А если нужен именно он?
мысль понял. Отвечаю: клиент не выберет данную группу, потому что в названии группы будут выведены все совпадающие характеристики, а 11ый элемент будет с ними "сильно не похож".


AkinaПочему вместо деления на группы Вы не хотите пойти стандартным путём фильтрации?
поясните пожалуйста.
Если вы про быстрый поиск - фильтрация предполагает другие действия, вроде нажатий клавиатуры (которой может не быть на коммуникаторе, но быть на PC), а также переключения между регистрами клавиатуры. т.к. значения характеристик содержат цифры, русские и англ. символы, спец.символы вроде слеша, звездочки и т.п.
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37819188
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_m,

1) Предлагаю численный критерий: если есть N объектов, разбитых на G групп, n i - число элементов в i группе, то минимизируется "результат" N*G+Σ i n i 2 . (При "10 по 10" получится 2000 и это минимум, при "100 по 1" получится 10100)
2) У нас есть 8 свойств, каждое разбивает наше множество на классы эквивалентности. Каждая группа содержится в каком-то из классов эквивалентности.
3) (черновой вариант) Сопоставим каждому объекту восьмёрку чисел - численности соответствующих классов эквивалентности, плюс "вес" - максимальное из этих чисел. Пока не кончились объекты, выберем объект с минимальным "весом"; выделим в группу до 10 элементов из его класса эквивалентности (выбирая объекты с минимальными "весами" / выбирая случайные объекты / пытаясь выбрать объекты так, чтобы по окончании выбора минимальный из оставшихся "весов" был максимален, если их больше 10); пересчитаем численности классов эквивалентности и "веса" в оставшемся множестве.
По окончании разбиения, для наименьшей по численности группы проверить возможность поместить её элементы в другие группы; если это возможно, проверить, уменьшит ли это "результат"; если да - уничтожить группу; повторить для следующей по численности группы.
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37819292
oleg_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Abstraction, спасибо.
Сейчас попробуем собрать воедино все идеи что возникли (мы тут тоже активно обсуждали разные подходы)
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37820122
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_mпоясните пожалуйста.
Если вы про быстрый поиск
Нет, не про него.

У Вас 8 характеристик. Пользователь на экране видит 8 строк - по строке на характеристику. Ниже - грид с записями.
В каждой строке имеется несколько радиобатонов (в скобках отмечу - красивее делать в выде залипающей кнопки). Каждый - с одним из наиболее часто встречающихся значений этой характеристики по всему массиву. И последний - остальное.

Как только юзер выбирает радиобатон одним кликом мыша - список тут же отфильтровывается по выбранному значению. Выбрал второй - колиество строк в гриде стало ещё меньше... если мы имеем 8 характеристик и 100 записей с вариативностью пусть даже по 4 значения на характеристику, то выбор максимум 2 радиобатонов оставит на экране буквально 5-10 записей, включая нужную пользователю.
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37820289
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_mПока додумался до того, что надо построить матрицу (100*100) и в ячейках посчитать количество совпадающих значений характеристик.
А дальше куда двигаться? Отсортировать по похожести?
В науке это называется Кластерный Анализ. Начни читать отсюдова про методы.

http://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7

Выбери для начала самый простой.
Попробуй реализовать. Может подойдет.
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37820453
oleg_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, спасибо.
Идею с радибаттонами оценил, рассмотрим как вариант.
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37820457
oleg_m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
ну конечно! data mining как один из вариантов.
Вертелась какая-то мысль в голове, никак не мог вспомнить, что мне эта задача напоминает.

Спасибо что напомнили.
...
Рейтинг: 0 / 0
равномерное распределение объектов на основе совпадения характеристик
    #37821328
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg_m, вообще-то я про дата-майнинг не говорил. Это еще более глубокая постановка.
Извлечение знаний. А у тебя насколько я понял просто классификация.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / равномерное распределение объектов на основе совпадения характеристик
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]