Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите решить задачу . / 11 сообщений из 11, страница 1 из 1
30.10.2006, 12:08
    #34090598
GRG
GRG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
Помогите решить задачу .

Есть список, в котором максимум 300 человек .
Нужно разбить список на группы из 4 человек так, чтобы некоторые свойства членов группы максимально совпадали, а другие максимально различались .
Например, стаж работы у всех примерно одинаковый , а зарплата сильно различается .

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

Спасибо .
...
Рейтинг: 0 / 0
30.10.2006, 12:47
    #34090786
klen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
Добавить три четыре колонки к этому списку. Например дабавишь "пол", будет две группы, ещё добавишь "Знак зодиака". То есть 300 делим на 2 и ещё делим на 12 будет 12 групп. Ещё добавь "группу крови" и так далее.
...
Рейтинг: 0 / 0
30.10.2006, 13:10
    #34090903
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
задать коэфициент совпадения, собирать по минимальному коэфициенту у человека, т.е. если различие в зарплате меньше, чем различие в возрасте, то этого человека в группу зарплата. и т.д.

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

самое сложное, пожалуй, посчитать коэфициент различия.

я бы взял сумму коэфициентов различия макс (з.п1 / з.п2, з.п2 / з.п1)

если у группы людей коэфициент з.п минимален, искать у них, у кого самый малый. он и будет образователем.

аффтопитезь
...
Рейтинг: 0 / 0
30.10.2006, 15:46
    #34091639
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
GRGНужно разбить список на группы из 4 человек так, чтобы некоторые свойства членов группы максимально совпадали, а другие максимально различались .
Хм. Как-то замечательно неточная постановка задачи.

GRGНапример, стаж работы у всех примерно одинаковый , а зарплата сильно различается .
Например: отсортировать всех по стажу, пройти по массиву, для каждого нераспределенного человека найти тройку подходящих одногруппников. Отработать критические случаи, например проверять, что количество людей в списке делится на четыре. Для решения на пятерку - определять коэффициенты похожести-непохожести не константами, а динамически, сообразно заданному списку.
...
Рейтинг: 0 / 0
30.10.2006, 16:03
    #34091716
GRG
GRG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
Да, постановка неточная .

Хотелось бы возпользоваться алгоритмом кластеризации, K-MEANS например .

Есть идея произвести кластеризацию отдельно для свойств которые должны иметь близкие значения и отдельно для свойств которые должны различаться . Потом попытаться объединить результаты .
Но не знаю на сколько это правильно и вообще возможно .
...
Рейтинг: 0 / 0
30.10.2006, 17:10
    #34092003
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
GRGХотелось бы возпользоваться алгоритмом кластеризации,
Тогда имхо странно выглядит требование иметь в группах строго по четыре человека.
...
Рейтинг: 0 / 0
30.10.2006, 17:43
    #34092101
GRG
GRG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
Нужно разбить учеников на группы по 4 человека (иногда по 2 или 3)
так, чтобы некоторые качества учеников совпадали , другие дополняли друг друга . Скажем, у всех учеников по математике 5, а по физике оценки 2, 2, 5, 5 .
...
Рейтинг: 0 / 0
29.11.2006, 18:10
    #34165178
GRG
GRG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
Всем спасибо . Использовал генетический алгоритм для решения задачи . Работает медленно, но находит правильную разбивку .
...
Рейтинг: 0 / 0
02.12.2006, 04:46
    #34172124
LINUXER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
GRGВсем спасибо . Использовал генетический алгоритм для решения задачи . Работает медленно, но находит правильную разбивку .
можно поподробней?
...
Рейтинг: 0 / 0
02.12.2006, 17:04
    #34172457
GRG
GRG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
Все делаю в соответствии с генетическим алгоритмом . Есть функция, которая оценивает качество группы . Например, если группа (1, 4, 7 , 10) считается идеальной, ставлю ей оценку 9 ((10-7)+(7-4)+(4-1)), группе (1, 4, 7, 9) ставлю ей оценку 8 и т.д. Сумма оценок всех групп и есть оценка всего решения . Есть функция скрещивания, она из двух разных решений создаёт одно новое . Остальное как здесь http://www.codeproject.com/cs/algorithms/btl_ga.asp .
...
Рейтинг: 0 / 0
02.12.2006, 17:16
    #34172466
GRG
GRG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите решить задачу .
Все делаю в соответствии с генетическим алгоритмом . Есть функция, которая оценивает качество группы . Например, если группа (1, 4, 7 , 10) считается идеальной, ставлю ей оценку 9 ((10-7)+(7-4)+(4-1)), группе (1, 4, 7, 9) ставлю ей оценку 8 и т.д. Сумма оценок всех групп и есть оценка всего решения . Есть функция скрещивания, она из двух разных решений создаёт одно новое . Остальное как здесь http://www.codeproject.com/cs/algorithms/btl_ga.asp .
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите решить задачу . / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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