Задача об устойчивом паросочетании — различия между версиями
| Строка 2: | Строка 2: | ||
|definition= | |definition= | ||
Найти полное устойчивое паросочетание между элементами двух множеств размера <tex>n</tex>, имеющими свои предпочтения.}} | Найти полное устойчивое паросочетание между элементами двух множеств размера <tex>n</tex>, имеющими свои предпочтения.}} | ||
| − | + | {{Определение | |
| − | = | + | |definition='''Устойчивое паросочетание''' (англ. ''stable matching'') — [[Паросочетания: основные определения, теорема о максимальном паросочетании и дополняющих цепях| паросочетание]] без неустойчивых пар. |
| + | }} | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
| Строка 11: | Строка 12: | ||
# <tex>b</tex> предпочитает <tex>A</tex> элементу <tex>B</tex>. | # <tex>b</tex> предпочитает <tex>A</tex> элементу <tex>B</tex>. | ||
}} | }} | ||
| − | + | ||
| − | + | == Основная задача == | |
| − | |||
Есть <tex>n</tex> мужчин и <tex>n</tex> женщин. Они обладают следующими особенностями: | Есть <tex>n</tex> мужчин и <tex>n</tex> женщин. Они обладают следующими особенностями: | ||
Версия 19:29, 16 января 2018
| Задача: |
| Найти полное устойчивое паросочетание между элементами двух множеств размера , имеющими свои предпочтения. |
| Определение: |
| Устойчивое паросочетание (англ. stable matching) — паросочетание без неустойчивых пар. |
| Определение: |
Пара называется неустойчивой (англ. unstable pair), если:
|
Содержание
Основная задача
Есть мужчин и женщин. Они обладают следующими особенностями:
- Каждый человек оценивает лишь людей противоположного пола (все гетеросексуальны);
- Каждый мужчина может отсортировать женщин от наименее привлекательной к наиболее привлекательной, причем его предпочтения не меняются (у каждого мужчины своя функция оценки);
- Каждая женщина может отсортировать мужчин от наименее привлекательного к наиболее привлекательному, причем её предпочтения не меняются (у каждой женщины своя функция оценки).
Очевидным образом по такому определению строится полный двудольный граф (левая доля — мужчины, правая — женщины), назовем его МЖ.
Рассмотрим некоторое паросочетание в МЖ.
Алгоритм Гейла-Шепли
Решение задачи было описано в году математиками Девидом Гейлом (Университет Брауна) и Ллойдом Шепли (Принстонский университет) в статье «Поступление в колледж и стабильность браков» (College admissions and the stability of marriage) в журнале American Mathematical Monthly [1]. Набор правил, следование которым всегда приводит к образованию стабильных пар, получил название алгоритма Гейла-Шепли или «алгоритма отложенного согласия» (алгоритм предложи-и-откажи).
Интуитивное описание
- Мужчины делают предложение наиболее предпочитаемой женщине.
- Каждая женщина из всех поступивших предложений выбирает наилучшее и отвечает на него «может быть» (помолвка), на все остальные отвечает «нет» (отказ).
- Мужчины, получившие отказ, обращаются к следующей женщине из своего списка предпочтений, мужчины, получившие ответ «может быть», ничего не делают.
- Если женщине пришло предложение лучше предыдущего, то она прежнему претенденту (которому ранее сказала «может быть») говорит «нет», а новому претенденту говорит «может быть».
- Шаги - повторяются, пока у всех мужчин не исчерпается список предложений, в этот момент женщины отвечают «да» на те предложения «может быть», которые у них есть в настоящий момент.
Описание в псевдокоде
// Изначально все мужчины не женаты и все женщины незамужние.
while существует свободный мужчина
M = некоторый свободный мужчина
w = первая женщина из текущего списка M
if w свободна
помечаем M и w помолвленными
else if w предпочитает M своему текущему жениху M'
помечаем M и w помолвленными
вычёркиваем w из списка предпочтений M'
помечаем M' свободным
else
вычёркиваем w из списка предпочтений M
Время работы алгоритма — , так как количество итераций цикла не превосходит , где равно размеру каждого из данных множеств.
Доказательство корректности
| Утверждение (Наблюдение ): |
Мужчины делают предложения женщинам в порядке убывания симпатии. |
| Утверждение (Наблюдение ): |
Как только женщина была помолвлена, она не может стать непомолвленной, она может только улучшить свой выбор (сказать «может быть» более предпочтительному кандидату). |
Для начала покажем, что алгоритм завершит свою работу.
| Лемма (Лемма ): |
Алгоритм завершается после максимум итераций цикла . |
| Доказательство: |
| На каждой итерации мужчина делает предложение очередной женщине. Но всего может быть не более предложений. |
Теперь покажем, что по завершении алгоритма задача будет решена.
| Лемма (Лемма ): |
Все мужчины и женщины будут заняты. |
| Доказательство: |
|
Предположим, что некоторый мужчина () не женат по завершении алгоритма. Тогда и некоторая женщина () незамужняя. По наблюдению , не получала предложений. Но сделал предложения всем женщинам, так как он остался не женат. Получаем противоречие. Таким образом, все мужчины заняты. Аналогичные рассуждения применяем для женщин. Пусть какая-то женщина незамужняя. Значит, есть мужчина, который остался не женат. Но мы доказали, что по завершении алгоритма все мужчины заняты. Снова пришли к противоречию. |
| Лемма (Лемма ): |
После завершения алгоритма не будет неустойчивых пар. |
| Доказательство: |
|
Предположим (где , — мужчины; , — женщины; женат на , женат на ) — нестабильная пара в паросочетании, найденном алгоритмом Гейла-Шепли. Возможны два случая:
|
Анализ полученного алгоритмом паросочетания
Алгоритм Гейла-Шепли гарантирует, что будет найдено некоторое решение задачи. Но решений может быть более одного. Зададимся вопросом, какими свойствами обладает решение, найденное алгоритмом.
| Лемма (man-optimality): |
Из всех возможных решений алгоритмом Гейла-Шепли будет найдено решение, наилучшее для мужчин (каждый мужчина получает в жены женщину, наилучшую из всех возможных при условии корректности решения). |
| Доказательство: |
|
Докажем от противного, что для каждого мужчины не существует устойчивого паросочетания, в котором его супругой была бы более желанная для него женщина. Предположим, для мужчины это свойство не выполняется. Так как он оказался женат не на лучшей из кандидатур, то существует женщина , которая предпочла ему другого, более привлекательного мужчину , при этом женщина для мужчины стоит на первом месте в его текущем списке. Предположим, существует устойчивое паросочетание, содержащее . По определению, в устойчивом паросочетании нет неустойчивых пар. Пара станет неустойчивой, если будет предпочитать своей супруге. Значит, женат на ком-то, кто лучше, чем . Но такое невозможно, так как стоит для него на первом месте. Таким образом, если женщина вычёркивается из списка предпочтений мужчины , то любое паросочетание, содержащее , неустойчиво. |
| Лемма (woman-pessimality): |
Из всех возможных решений алгоритмом Гейла-Шепли будет найдено решение, наихудшее для женщин. |
| Доказательство: |
|
Пусть , — мужчины; , — женщины; женат на , женат на . Предположим, — стабильная пара в паросочетании , найденном алгоритмом Гейла-Шепли, но не самый худший выбор для . Тогда существует стабильная пара в паросочетании , в которой замужем за , который менее привлекателен, чем . Тогда пусть мужем будет в паросочетании . Получается считает более привлекательной, чем . Соответственно — нестабильная пара в паросочетании . То есть для есть мужчина, который более привлекателен, чем её муж. |
Обобщения задачи
Интересно, что данная задача не всегда имеет решение, если допустить однополые пары (устойчивого паросочетания может не быть) [2].
Случай же, когда у нас есть мужчин и женщин () легко сводится к описанной выше задаче. Рассмотрим ( аналогично). Добавим фиктивных мужчин, которые являются наименее привлекательными с точки зрения каждой из женщин. Тогда если в найденном алгоритмом Гейла-Шепли паросочетании некоторая женщина будет замужем за таким фиктивным мужчиной, то это будет означать, что она на самом деле осталась без пары.
Также интересна задача о выборе учебного заведения: вместо множества мужчин введем множество университетов, а вместо множества женщин — множество кандидатов, подающих заявления на поступление. Причем в каждом университете есть квота на количество студентов, которое университет может принять. Задача очевидно сводится к основной добавлением "филиалов" для каждого университета ( — квота). И добавлением фиктивного университета (поступление в который означает, что кандидату придется попробовать поступить через год).
Применения в реальной жизни
Задача о нахождении устойчивого паросочетания и её решение имеют множество применений в реальной жизни, лишь некоторые из них:
- Распределение студентов по коллеждам в США
- Распределение интернов по больницам
- Распределение донорских органов по нуждающимся в них людям
Решение данной задачи было отмечено при вручении Нобелевской премии по экономике в году за «теорию стабильного распределения и практическое применение рыночных моделей». Её получили один из создателей алгоритма, Ллойд Шепли, а также Элвин Рот, во многом развивший исследования Ллойда Шепли и Дэвида Гейла. Сам Гейл не был удостоен премии, вероятно, лишь в силу того, что умер в году.
Примечания
- ↑ https://ru.wikipedia.org/wiki/American_Mathematical_Monthly American Mathematical Monthly 69, 9-14, 1962.
- ↑ https://ru.wikipedia.org/wiki/Задача_о_соседях_по_комнате Задача о соседях по комнате