Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Алгоритм разбиения группы на подгруппы


Автор: Ragli 8.11.2006, 00:39
Здравствуйе,не подскажите алгоритм раномерного разбиения группы учеников,о которых есть данные т.е. есть база данных об оценках по каждому предмету ,о поле(м или ж) ,и надо разбить эту группу на заданное чилсо равных подгрупп между собой по уровню оценок по некоторым критериям,например разбить группу на 3 подгруппы,чтоб чтоб в каждой группе было по одинаковому количеству девушек и мальчиков и чтоб по русскому языку у них было в каждой группе были и отличники и хорошисты и троишники.
Спасибо.
Я только один метод нашел,это евклидово расстояние,но мне еще нужно парочку алгоритмов найти.
Буду благодарен ,если подскажете что нибудь.

Автор: esperant0 8.11.2006, 07:08
Вы простите раномерное разбиение, а потом приводите пример не равномерного. Определитесь.

Автор: Ragli 8.11.2006, 09:27
Мне нужно равномерное разбиение.

Автор: Ragli 15.11.2006, 00:30
Здравствуйе,не подскажите алгоритм раномерного разбиения группы учеников,о которых есть данные т.е. есть база данных об оценках по каждому предмету ,о поле(м или ж) ,и надо разбить эту группу на заданное чилсо равных подгрупп между собой по уровню оценок и по кол-ву человек (в каждой подгруппе должно быть равное кол-вок учеников)по некоторым критериям,например разбить группу на 3 подгруппы,чтоб чтоб в каждой группе было по одинаковому количеству девушек и мальчиков и чтоб по русскому языку у них было в каждой группе были и отличники и хорошисты и троишники.
Спасибо.
Я только один метод нашел,это евклидово расстояние,но мне еще нужно парочку алгоритмов найти.
Буду благодарен ,если подскажете что нибудь. 

Автор: esperant0 15.11.2006, 08:02
а как алгоритм должен работать если разбиение не возможно?

Автор: Ragli 17.11.2006, 10:23
Почему разбиение не возможно?
Если разбить на одну группу ,то он просто выведет список учашихся

Добавлено @ 10:24 
А в случаях ,если число групп разбиения больше одного,то разбиения всегда возможны

Автор: SoWa 17.11.2006, 11:53
Ну, что сложного?
Берем троечников в одну группу, хорошистов в другую, отличников в третью.
Теперь создаем три пустых группы. Начинаем пихать в каждую по отличнику, по хорошисту, по троечнику.
Ну, естественно, смотрим на их пол...
Когда группы уже равномерны, а, например, осталось еще три троечника, кладем их так, чтобы не нарушить равномерность.

А кстати, что вы понимаете под равномерностью? Количество учеников и их оченки? Т.е. функцию от количества и баллов?

Автор: esperant0 17.11.2006, 12:28
Цитата(Ragli @ 17.11.2006,  10:23)
Почему разбиение не возможно?
Если разбить на одну группу ,то он просто выведет список учашихся

Добавлено @ 10:24 
А в случаях ,если число групп разбиения больше одного,то разбиения всегда возможны

как вы 11 учеников разобъете на две группы?

по 5.5 землекопов?

Автор: Ragli 17.11.2006, 14:25
На 5 и 6 человек

Автор: SoWa 17.11.2006, 14:56
В чем проблемма, уважаемый? Дели как угодно, про равномерность я уже высказался. И не смущайте esperant0 smile 

Автор: esperant0 17.11.2006, 15:01
Цитата(Ragli @ 17.11.2006,  14:25)
На 5 и 6 человек

вы же просили поровну а 5 не равно 6.


может определите условие?

Автор: SoWa 21.11.2006, 16:22
Так он не знает условий.
Цитата(SoWa @  17.11.2006,  11:53 Найти цитируемый пост)
А кстати, что вы понимаете под равномерностью? Количество учеников и их оченки? Т.е. функцию от количества и баллов?

Вот. Он не ответил... Под условием что угодно считать можно.

Автор: Ragli 28.11.2006, 10:55
Привет,не подскажете алгоритм разбиения на группы???
Есть таблица в которой содержатся данные об учениках,т.е. ФИО и оценки по каждому предмету,и нужно разбить эту таблицу на группы(кол-во групп задается пользователем),Нужно сделать равномерное разбиение на группы по оценкам и по количеству учеников,т.е. кол-во учеников в группах должно быть одинаково приблизительно и средний бал в группах должен быть тоже приблизительно одинаковым.

Спасибо,если можно то по подробнее расскажите об алгоритмах,очень нужно.

Автор: SoWa 28.11.2006, 16:30
Я привел алгоритм. Пиши сам.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)