4551
правка
Irina (обсуждение | вклад) Нет описания правки Метка: визуальный редактор отключён |
Irina (обсуждение | вклад) Нет описания правки Метка: визуальный редактор отключён |
||
Строка 3: | Строка 3: | ||
== Постановка задачи == | == Постановка задачи == | ||
Экземпляр I задачи о больницах и резидентах (HR) [5, 6, 14] включает множество <math>R = \{ r_1, ..., r_n \}</math> ''резидентов'' и множество <math>H = \{ h_1, ..., h_m \} </math> ''больниц''. Каждая больница <math>h_j \in H | Экземпляр <math>I</math> задачи о больницах и резидентах (HR) [5, 6, 14] включает множество <math>R = \{ r_1, ..., r_n \}</math> ''резидентов'' и множество <math>H = \{ h_1, ..., h_m \} </math> ''больниц''. Каждая больница <math>h_j \in H</math> имеет ''кадровый потенциал'' в виде целого положительного числа, обозначаемый <math>c_j</math>. Также каждый резидент <math>r_i \in R</math> имеет ''список предпочтений'', в котором он ранжирует подмножество H в строгом порядке. Пара <math>(r_i, h_j) \in R \times H</math> называется ''приемлемой'', если <math>h_j</math> содержится в списке предпочтений <math>r_i</math>; в этом случае говорят, что <math>r_i</math> считает <math>h_j</math> приемлемой. Аналогично, каждая больница <math>h_j \in H</math> имеет список предпочтений, в котором она располагает в строгом порядке тех резидентов, которые считают эту больницу приемлемой. Пусть имеются три любых агента <math>x, y, z \in R \cup H</math>; можно сказать, что x ''предпочитает'' агента y агенту z, если x находит приемлемым их обоих и y предшествует z в списке предпочтений x. Пусть <math>C = \sum_{h_j \in H} c_j</math>. | ||
Обозначим за A множество допустимых пар в I, L = | Обозначим за A множество допустимых пар в <math>I</math>, L = |A|. ''Назначение'' M является подмножеством A. Если <math>(r_i, h_j) \in M</math>, то говорят, что резидент <math>r_i</math> ''назначен'' больнице <math>h_j</math>, а больница <math>h_j</math> – резиденту <math>r_i</math>. Для каждого <math>q \in R \cup H</math> множество назначенных q в M обозначается M(q). Если <math>r_i \in R</math> и <math>M(r_i) = \empty</math>, то считается, что <math>r_i</math> ''не назначен'', в противном случае <math>r_i</math> назначен. Аналогично, любая больница <math>h_j \in H</math> является ''недоукомплектованной'', ''полной'' или ''переукомплектованной'', если <math>|M(h_j)|</math> меньше, равна или больше <math>c_j</math>, соответственно. | ||
Паросочетанием M называется назначение, такое, что <math>|M(r_i) | ''Паросочетанием'' M называется назначение, такое, что <math>|M(r_i)| \le 1</math> для каждого <math>r_i \in R</math> и <math>|M(h_j)| \le c_j</math> для каждого <math>h_j \in H</math> (т. е. ни один резидент не назначен в неподходящую больницу, каждый резидент назначен не более чем в одну больницу и ни одна больница не переукомплектована). Для удобства обозначений, если даны паросочетание M и резидент <math>r_i \in R</math> такой, что <math>M(r_i) \ne \empty</math>, то в случаях, когда это не вызывает двусмысленности, обозначение <math>M(r_i)</math> также используется для обозначения единственного члена <math>M(r_i)</math>. | ||
Пара (ri, hj) 2 AnM блокирует паросочетание M (или является блокирующей парой для M), если относительно M выполняются следующие условия: | Пара (ri, hj) 2 AnM блокирует паросочетание M (или является блокирующей парой для M), если относительно M выполняются следующие условия: | ||
1. резидент <math>r_i</math> не назначен или предпочитает M(ri) больницу <math>h_j</math>; | 1. резидент <math>r_i</math> не назначен или предпочитает M(ri) больницу <math>h_j</math>; | ||
2. больница недоукомплектована или предпочитает резидента <math>r_i</math> хотя бы одному члену M(hj) (или обоим). | 2. больница недоукомплектована или предпочитает резидента <math>r_i</math> хотя бы одному члену M(hj) (или обоим). | ||
Паросочетание M называется устойчивым, если оно не допускает ни одной блокирующей пары. Пусть дан экземпляр I из HR; задача заключается в том, чтобы найти устойчивое паросочетание в I. | Паросочетание M называется устойчивым, если оно не допускает ни одной блокирующей пары. Пусть дан экземпляр <math>I</math> из HR; задача заключается в том, чтобы найти устойчивое паросочетание в I. | ||
==Основные результаты== | ==Основные результаты== | ||
Впервые задача HR была определена Гэйлом и Шепли [ ] под названием «задача о поступлении в колледж». В своей основополагающей статье авторы рассматривают классическую задачу о стабильных браках (SM; см. Стабильный брак и Оптимальный стабильный брак), которая является частным случаем HR, в котором n = m, A = R x H, и cj = 1 для всех hj 2 H; в этом частном случае резиденты и больницы называются мужчинами и женщинами, соответственно. Гэйл и Шепли показали, что каждый экземпляр I задачи HR допускает по крайней мере одно устойчивое паросочетание. Доказательство этого результата носит конструктивный характер, то есть описывается алгоритм нахождения устойчивого паросочетания в I. Этот алгоритм получил название алгоритма Гэйла-Шепли. | Впервые задача HR была определена Гэйлом и Шепли [ ] под названием «задача о поступлении в колледж». В своей основополагающей статье авторы рассматривают классическую задачу о стабильных браках (SM; см. Стабильный брак и Оптимальный стабильный брак), которая является частным случаем HR, в котором n = m, A = R x H, и cj = 1 для всех hj 2 H; в этом частном случае резиденты и больницы называются мужчинами и женщинами, соответственно. Гэйл и Шепли показали, что каждый экземпляр <math>I</math> задачи HR допускает по крайней мере одно устойчивое паросочетание. Доказательство этого результата носит конструктивный характер, то есть описывается алгоритм нахождения устойчивого паросочетания в I. Этот алгоритм получил название алгоритма Гэйла-Шепли. | ||
M := | M := | ||
Строка 40: | Строка 42: | ||
Аналог алгоритма RGS, носящий название ориентированного на больницы алгоритма Гэйла-Шепли, или сокращенно HGS-алгоритм [6, раздел 1.6.2], позволяет получить единственное устойчивое паросочетание, которое аналогичным образом удовлетворяет свойству оптимальности для больниц [6, теорема 1.6.1]. | Аналог алгоритма RGS, носящий название ориентированного на больницы алгоритма Гэйла-Шепли, или сокращенно HGS-алгоритм [6, раздел 1.6.2], позволяет получить единственное устойчивое паросочетание, которое аналогичным образом удовлетворяет свойству оптимальности для больниц [6, теорема 1.6.1]. | ||
Хотя для заданного экземпляра I задачи HR может существовать несколько устойчивых паросочетаний, для всех устойчивых паросочетаний в I сохраняются некоторые ключевые структурные свойства, касающиеся неназначенных резидентов и недоукомплектованных больниц. | Хотя для заданного экземпляра <math>I</math> задачи HR может существовать несколько устойчивых паросочетаний, для всех устойчивых паросочетаний в <math>I</math> сохраняются некоторые ключевые структурные свойства, касающиеся неназначенных резидентов и недоукомплектованных больниц. | ||
Строка 49: | Строка 51: | ||
Эти результаты известны под общим названием «Теорема о сельских больницах» (подробнее см. в [6, раздел 1.6.4]. Кроме того, множество устойчивых паросочетаний в I образует дистрибутивную решетку при естественном отношении доминирования [6, раздел 1.6.5]. | Эти результаты известны под общим названием «Теорема о сельских больницах» (подробнее см. в [6, раздел 1.6.4]. Кроме того, множество устойчивых паросочетаний в <math>I</math> образует дистрибутивную решетку при естественном отношении доминирования [6, раздел 1.6.5]. | ||
Строка 66: | Строка 68: | ||
Другие варианты задачи HR возникают в случаях, если списки предпочтений включают связи. Это расширение также очень важно с практической точки зрения, поскольку может быть нереалистично ожидать, что популярная больница расположит большое количество претендентов в строгом порядке, особенно если она не учитывает группы претендентов. Расширение задачи HR, в котором списки предпочтений могут включать связи, обозначается HRT. В этом контексте возникают три естественных определения устойчивости, так называемые слабая устойчивость, сильная устойчивость и сверхустойчивость (формальные определения этих понятий см. в [8]). Известно, что слабоустойчивые паросочетания в экземпляре I задачи HRT могут иметь различные размеры, и проблема нахождения слабоустойчивого паросочетания максимальной мощности является NP-полной (подробнее об этом см. Устойчивое бракосочетание со связями и неполными списками). С другой стороны, в отличие от случая слабой устойчивости, сверхустойчивое паросочетание не обязательно должно существовать в I, хотя существует алгоритм O(L) для поиска такого паросочетания в случае, если таковое существует. Аналогичные результаты имеют место и в случае сильной устойчивости – в этом случае алгоритм O(L2) [8] был улучшен алгоритмом O(CL) [ ] и распространен на случай «от многих к многим» [ ]. Кроме того, аналоги теоремы о сельских больницах справедливы для HRT при каждом из критериев сверхустойчивости и сильной устойчивости [7, 15]. | Другие варианты задачи HR возникают в случаях, если списки предпочтений включают связи. Это расширение также очень важно с практической точки зрения, поскольку может быть нереалистично ожидать, что популярная больница расположит большое количество претендентов в строгом порядке, особенно если она не учитывает группы претендентов. Расширение задачи HR, в котором списки предпочтений могут включать связи, обозначается HRT. В этом контексте возникают три естественных определения устойчивости, так называемые слабая устойчивость, сильная устойчивость и сверхустойчивость (формальные определения этих понятий см. в [8]). Известно, что слабоустойчивые паросочетания в экземпляре <math>I</math> задачи HRT могут иметь различные размеры, и проблема нахождения слабоустойчивого паросочетания максимальной мощности является NP-полной (подробнее об этом см. Устойчивое бракосочетание со связями и неполными списками). С другой стороны, в отличие от случая слабой устойчивости, сверхустойчивое паросочетание не обязательно должно существовать в I, хотя существует алгоритм O(L) для поиска такого паросочетания в случае, если таковое существует. Аналогичные результаты имеют место и в случае сильной устойчивости – в этом случае алгоритм O(L2) [8] был улучшен алгоритмом O(CL) [ ] и распространен на случай «от многих к многим» [ ]. Кроме того, аналоги теоремы о сельских больницах справедливы для HRT при каждом из критериев сверхустойчивости и сильной устойчивости [7, 15]. | ||
правка