| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Алгоритм разбиения группы на подгруппы |
| Автор: 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 | ||
как вы 11 учеников разобъете на две группы? по 5.5 землекопов? |
| Автор: Ragli 17.11.2006, 14:25 |
| На 5 и 6 человек |
| Автор: SoWa 17.11.2006, 14:56 |
| В чем проблемма, уважаемый? Дели как угодно, про равномерность я уже высказался. И не смущайте esperant0 |
| Автор: esperant0 17.11.2006, 15:01 | ||
вы же просили поровну а 5 не равно 6. может определите условие? |
| Автор: Ragli 28.11.2006, 10:55 |
| Привет,не подскажете алгоритм разбиения на группы??? Есть таблица в которой содержатся данные об учениках,т.е. ФИО и оценки по каждому предмету,и нужно разбить эту таблицу на группы(кол-во групп задается пользователем),Нужно сделать равномерное разбиение на группы по оценкам и по количеству учеников,т.е. кол-во учеников в группах должно быть одинаково приблизительно и средний бал в группах должен быть тоже приблизительно одинаковым. Спасибо,если можно то по подробнее расскажите об алгоритмах,очень нужно. |
| Автор: SoWa 28.11.2006, 16:30 |
| Я привел алгоритм. Пиши сам. |