Реализация алгоритма Гейла-Шепли для автоматизации приема абитуриентов в высшее учебное заведение
Автор: Рыскин Константин Эдуардович, Аль Аскари М. А., Федосин Сергей Алексеевич
Журнал: Инженерные технологии и системы @vestnik-mrsu
Рубрика: Информатика, вычислительная техника и управление
Статья в выпуске: 4, 2016 года.
Бесплатный доступ
Введение. В статье анализируются быстродействие и стабильность компьютерной реализации алгоритма зачисления абитуриентов в ВУЗ на базе алгоритма Гейла-Шепли с различными сторонами инициации; рассматриваются качественные и количественные различия полученных размещений на одинаковых наборах данных. Результаты исследования. Предлагается 2 варианта алгоритма зачисления абитуриентов, отличающихся сторонами инициации: «абитуриент» или «специальность». Для алгоритма со стороной инициации «абитуриент» производится размещение по специальностям по мере внесения данных об абитуриенте и обеспечение, таким образом, актуальности информации о размещении. Однако стоит заметить, что при удалении или изменении данных об абитуриенте необходимо запустить алгоритм с самого начала с использованием уже внесенных данных. Для алгоритма с инициирующей стороной «специальность» приоритеты специальностей относительно абитуриентов выстраиваются по мере подачи их заявлений и по требованию запуска алгоритма зачисления. Стоит заметить, что полученное размещение является более выгодным для стороны инициации. Кроме этого, рассматриваются характеристики среднего времени исполнения алгоритма в зависимости от изменения таких величин как количество абитуриентов, квота специальности, количество приоритетов у абитуриента, количество специальностей. Отметим, что различия результатов выполнения алгоритмов с разными сторонами инициации имеют не только качественное, но и количественное выражение (последнее обусловлено «равенством» поступающих в рамках какой-либо специальности). Обсуждение и заключения. Предложенные в статье варианты алгоритма могут быть использованы приемной комиссией высшего учебного заведения для автоматизации процесса зачисления абитуриентов.
Зачисление, абитуриент, алгоритм гейла-шепли, приемная комиссия, информационная система
Короткий адрес: https://sciup.org/14720228
IDR: 14720228 | DOI: 10.15507/0236-2910.026.201604.462-474
Текст научной статьи Реализация алгоритма Гейла-Шепли для автоматизации приема абитуриентов в высшее учебное заведение
С введением приоритетов подачи абитуриентами заявлений на выбранные специальности появилось множество вопросов, связанных с размещением: как правильно выбрать последовательность действий для получения стабильного размещения; будет ли стабильное размещение уникальным; если нет, то чем оно отличается от других; можно ли производить зачисление сразу после подачи заявления абитуриентом.
Под стабильным размещением подразумевается ситуация, когда в результате работы алгоритма не найдется та-
ких сочетаний «специальность – абитуриент», которые не образовали пары, а при образовании пары окажутся в более выгодном положении (с точки зрения приоритетов), чем раньше. Другими словами, специальность для абитуриента более предпочтительна, как и абитуриент для специальности при оценке «удачности» сочетаний пар [1].
В качестве основы был выбран алгоритм Гейла-Шепли, поскольку он обеспечивает стабильные размещения, а также зарекомендовал себя в решении подобных задач (например, в системе распределения донорских орга-
нов между больными, модели работы двусторонних рынков и зачислении учащихся в школы [1–5]).
Стоит заметить, что данный алгоритм рассматривает варианты стабильных размещений, которые отличаются сторонами инициации и, следовательно, в результате работы получается набор из двух стабильных размещений, наиболее выгодных для инициирующих сторон [4].
Результаты исследования
Для моделирования работы алгоритма предположим, что:
– абитуриент имеет список приоритетов специальностей, на которые хочет поступить, а также перечень экзаменов и баллов по ним;
– университет имеет список специальностей, каждая из которых обладает квотой на зачисление абитуриентов, а также список экзаменов, необходимых для поступления;
– согласно Федеральному закону об образовании, абитуриенты с одинаковыми баллами зачисляются сверх квоты, если при отказе абитуриентам с наименьшим количеством баллов у специальности остались свободные места.
На рис. 1 представлена схема алгоритма с предлагающей стороной аби-
туриентов; на рис. 2 – с предлагающей стороной специальностей. Стоит заметить, что асимптотика данных алгоритмов будет следующей:
-
1) с предлагающей стороной абитуриентов: n∙k, где n – количество абитуриентов; k – количество приоритетов у абитуриента;
-
2) с предлагающей стороной специальностей: m∙p, где m – количество специальностей; p – количество приоритетов у специальности.
Заметим, что такая характеристика получается при условии, что вспомогательные операции (добавление или, удаление абитуриента из размещения и др.) выполняются за константное время.
Для анализа представленных алгоритмов был написан программный код, позволяющий генерировать различные данные о специальностях и абитуриентах, а также тестировать с этими данными предложенные алгоритмы и анализировать полученные результаты [6–10].
С помощью генератора был получен набор данных, который демонстрирует, что размещения различаются не только качественно, но и количественно; квота специальностей следующая: Spec_1 – 2; Spec_ 2 – 3; Spec_3 – 1 (табл. 1–5)
Т а б л и ц а 1
T a b l e 1
Предметы, необходимые для поступления на специальности
Items needed for admission to the specialty
Spec_1 |
Mathematics |
Informatics |
Spec_2 |
Physics |
Language |
Spec_3 |
Mathematics |
Physics |

Р и с. 1. Алгоритм действий с предлагающей стороной абитуриентов
F i g. 1. Action algorithm with offering enrollees

Р и с. 2. Алгоритм действий с предлагающей стороной специальностей
F i g. 2. Action algorithm with offering specialties
Т а б л и ц а 2
T a b l e 2
Экзамены, которые сдали абитуриенты The examinations which passed enrollees
Enrolle_1 |
Informatics 52 |
Language 22 |
Mathematics 7 |
Physics 3 |
Enrolle_2 |
Informatics 97 |
Language 10 |
Mathematics 9 |
Physics 75 |
Enrolle_3 |
Informatics 26 |
Language 86 |
Mathematics 33 |
Physics 57 |
Enrolle_4 |
Mathematics 53 |
Physics 42 |
– |
– |
Enrolle_5 |
Informatics 14 |
Language 3 |
Mathematics 46 |
– |
Enrolle_6 |
Informatics 66 |
Language 11 |
Mathematics 66 |
Physics 70 |
Enrolle_7 |
Mathematics 72 |
Physics 100 |
– |
– |
Enrolle_8 |
Language 56 |
Physics 1 |
– |
– |
Enrolle_9 |
Mathematics 4 |
Physics 66 |
– |
– |
Enrolle_10 |
Language 50 |
Physics 36 |
– |
– |
Т а б л и ц а 3
T a b l e 3
Приоритеты абитуриентов
The priorities of enrollees
Spec_1 |
Spec_2 |
Spec_3 |
Enrolle_3 59 |
Enrolle_2 85 |
Enrolle_7 172 |
Enrolle_5 60 |
Enrolle_6 81 |
– |
Enrolle_1 59 |
Enrolle_10 86 |
– |
Т а б л и ц а 4
T a b l e 4
Распределение с предлагающей стороной абитуриентов
Distribution with offering enrollees
En1 |
En2 |
En3 |
En4 |
En5 |
En6 |
En7 |
En8 |
En9 |
En10 |
Spec2 |
Spec2 |
Spec1 |
Spec3 |
Spec1 |
Spec2 |
Spec3 |
Spec2 |
Spec3 |
Spec2 |
Spec1 |
Spec1 |
Spec3 |
– |
Spec2 |
Spec1 |
– |
– |
– |
– |
– |
– |
Spec2 |
– |
– |
– |
– |
– |
– |
– |
Т а б л и ц а 5
T a b l e 5
Распределение с предлагающей стороной специальностей Distribution with offering specialties
Spec_1 |
Spec_2 |
Spec_3 |
Enrolle_6 132 |
Enrolle_3 143 |
Enrolle_7 172 |
Enrolle_5 60 |
Enrolle_10 86 |
– |
– |
Enrolle_2 85 |
– |
Количественное различие полученных размещений связано с тем, что минимум 2 абитуриента могут оказаться «равными» для одной специальности. Заметим, что если убрать из предложения абитуриента 1 , то размещения будут отличаться только качественно [11].
Качественное различие размещений обусловлено тем, что если для одного абитуриента специальность 1 находится на первом месте в списке приоритетов, это не означает, что для абитуриента 2 она также будет на первом месте. Это справедливо и для специальностей: если абитуриент 1 будет на первом месте в списке приоритетов у специальности 1, это не означает, что он также будет находиться на первом месте у специальности 2, что обусловлено различными критериями оценки абитуриентов для различных специальностей [12–15].
Рассмотрим среднее время работы алгоритма в зависимости от изменения следующих величин:
-
1) квота на специальности;
-
2) количество приоритетов у абитуриента;
-
3) количество специальностей;
-
4) количество абитуриентов.
-
1) Среднее время исполнения алгоритмов в зависимости от изменения квоты на специальности (рис. 3–4).
Р и с. 3. Среднее время исполнения при предлагающей стороне абитуриентов
F i g. 3. The average time of action when enrollees is offering
468 Информатика, вычислительная техника и управление
Р и с. 4. Среднее время исполнения при предлагающей стороне специальностей
F i g. 4. The average time of action when offer the specialty
На рис. 3 видно, что при увеличении квоты у специальности среднее время исполнения уменьшается, поскольку абитуриенты получают меньше «отказов». На рис. 4, среднее время увеличивается; это обусловлено тем, что специальности делают больше итераций предложений.
-
2) Среднее время исполнения алгоритмов в зависимости от изменения количества приоритетов у абитуриента (рис. 5–6).
Количество приоритетов у абитуриента / Number priorities by entrants
Количество специальностей /
Number of specialties – 200
Количество абитуриентов /
Number of entrants – 5 000
Квота специальности /
Quota in the specialty – 20
Р и с. 5. Среднее время исполнения при предлагающей стороне абитуриентов
F i g. 5. The average time of action when enrollees is offering
Сomputer science, computer engineering and management 469

Количество приоритетов у абитуриента / Number priorities by entrants
Р и с. 6. Среднее время исполнения при предлагающей стороне специальностей
F i g. 6. The average time of action when offer the specialty
На рис. 5 показано, что среднее время работы увеличивается, поскольку абитуриенты делают больше предложений. На рис. 6 видно, что время средней работы также увеличивается. Это связано с тем, что при росте количества приоритетов у абитуриента последний чаще получает более выгодные для себя – это увеличивает количество итераций предложения специальностей.
-
3) Среднее время исполнения в зависимости от изменения количества специальностей (рис. 7–8).
Р и с. 7. Среднее время исполнения при предлагающей стороне абитуриентов
F i g. 7. The average time of action when enrollees is offering
470 Информатика, вычислительная техника и управление
Р и с. 8. Среднее время исполнения при предлагающей стороне специальностей
F i g. 8. The average time of action when offer the specialty
Из рис. 7 видно, что при увеличении количества специальностей среднее время исполнения сначала увеличивается, а затем уменьшается. Увеличение связано с тем, что абитуриенты чаще делают предложения одинаковым специальностям и, следовательно, чаще получают отказ. Уменьшение также связано с тем, что количество специальностей увеличивается и, сле- довательно, абитуриенты чаще делают предложения разным специальностям. На рис. 8 показано, что среднее время исполнения увеличивается при увеличении количества специальностей из-за того, что больше специальностей делают итерации предложения.
-
4) Среднее время исполнения в зависимости от изменения количества абитуриентов (рис. 9–10).
Количество абитуриентов / Number of entrants
Р и с. 9. Среднее время исполнения при предлагающей стороне абитуриентов
F i g. 9. The average time of action when enrollees is offering
Сomputer science, computer engineering and management 471
Р и с. 10. Среднее время исполнения при предлагающей стороне специальностей
F i g. 10. The average time of action when offer the specialty
На рис. 9 видно, что среднее время исполнения увеличивается по мере увеличения количества абитуриентов, поскольку количество итераций предложения абитуриентов также увеличивается. Медленный рост временной характеристики обусловлен тем, что на этом отрезке меньше абитуриентов получают «отказ» от специальности, а в дальнейшем – чаще, что увеличивает количество итераций предложения абитуриентов. На рис. 10 показано, что при росте количества абитуриентов сначала среднее время исполнения увеличивается, а затем уменьшается. Увеличение связано с тем, абитуриенты чаще получают более выгодные предложения специальностей, отказывая имеющимся, что увеличиваетколичество итераций предложения специальностями. Уменьшение – с тем, что при дальнейшем увеличении количества абитуриентов у специальностей расширяется «выбор» среди них, из-за чего абитуриенты реже отказывают имеющимся предложениям.
Обсуждение и заключения
В результате работы рассмотренных вариантов алгоритма обеспечивается стабильное зачисление абитуриентов в высшие учебные заведения. В алгоритме с инициирующей стороной «абитуриент» можно производить размещения непосредственно после подачи абитуриентом документов (при изменении или удалении данных придется запустить алгоритм с начала). Для снижения нагрузки на сервер,а также для поддержания актуальной информации о размещении можно запустить алгоритм в отдельном потоке. Данные операции актуальны также для алгоритма с инициирующей стороной «специальность».
Информацию об абитуриентах и размещениях можно хранить в таблицах, чтобы в случае необходимости дубляжа данные остались неизменными.
Поскольку при подаче заявки указывается тип поступления, то при реализации алгоритма можно создавать для каждой специальности несколько таблиц, относящихся к каждому типу поступления.
У приемной комиссии есть множество критериев оценивания одного абитуриента относительно другого, кроме набранных баллов, поэтому рекомендуется использовать функцию, приводящую результат сравнения в соответствие с критериями приема.
Список литературы Реализация алгоритма Гейла-Шепли для автоматизации приема абитуриентов в высшее учебное заведение
- Задача об устойчивом паросочетании . URL: http://neerc.ifmo.ru/wiki/index.php?title=Задача_об_устойчивом_паросочетании (дата обращения: 25.02.2016).
- Теория и практика двусторонних рынков/Е. Железова //Вопросы экономики. 2013. № 1. С. 4-26
- Gale D., Shapley L. S. College Admissions and the Stability of Marriage//American Mathematics Monthly. 1962. Vol. 69. P 9-15 DOI: 10.2307/2312726
- The stable marriage problem and school choice . URL: http://www.ams.org/samplings/feature-column/fc-2015-03 (дата обращения: 07.02.2016).
- McVitie D. G., Wilson L. B. Stable marriage assignment for unequal sets//BIT 10. 1970. P. 295-309 DOI: 10.1007/BF01934199
- Roth A., Sotomayor M. Two-sided matching: a study in game-theoretic modeling and analysis: econometric society monographs. Cambridge: Cambridge University Press, 1990. Vol. 18. DOI: dx.doi. org/10.1017/CCOL052139015X
- Knuth D. Е. Stable marriage and its relation to other combinatorial problems: an introduction to mathematical analysis of algorithms. Providence: AMS, 1996.
- Arrow K. J. Social choice and individual values: 2nd ed. New York: Wiley, 1963.
- Лернер Э. Ю., Яковлева О. С. Устойчивые паросочетания и задача о назначении: исследования по прикладной математике. Казань: КМО, 2008. Вып. 26. С. 51-55.
- Robert W. I., David F. M. The stable roommates problem with ties//Journal of Algorithms. 2002. Vol. 43, No. 1. P. 85-105 DOI: 10.1006/jagm.2002.1219
- Robert W. I. An efficient algorithm for the «stable roommates» problem//Journal of Algorithms. 1985. Vol. 6, No. 4. P. 577-595 DOI: 10.1016/0196-6774(85)90033-1
- Poundstone W. Prisoner's dilemma: John von Neumann, game theory and the puzzle of the bomb. Doubleday, New York: 1992.
- Isaac R. Pleasures of Probability. New York: Springer, 1995. P. 24-27.
- Петросян Л. А., Зенкевич Н. А., Семина Е. А. Теория игр: учеб. пособие для ун-тов. М.: Высш. шк.; Книж. дом «Университет», 1998. С. 304.
- Мазалов В. В. Математическая теория игр и приложения. СПб.; М.; Краснодар: Лань, 2010. 446 с.