Распределение по максимальному рангу (RM) — это правило справедливого распределения неделимых предметов. Предположим, нам нужно распределить некоторые предметы среди людей. Каждый человек может ранжировать предметы от лучшего к худшему. Правило RM гласит, что мы должны дать как можно большему количеству людей их лучший (#1) предмет. При этом мы должны дать как можно большему количеству людей их следующий лучший (#2) предмет и так далее.
В особом случае, когда каждый человек должен получить один предмет (например, когда «предметы» являются заданиями, и каждое задание должно быть выполнено одним человеком), задача называется сопоставлением с максимальным рангом или жадным сопоставлением .
Идея похожа на идею утилитарного разрезания торта , где цель состоит в максимизации суммы полезностей всех участников. Однако утилитарное правило работает с кардинальными (числовыми) функциями полезности , тогда как правило RM работает с порядковыми полезностями (рейтингами).
Есть несколько предметов и несколько агентов. У каждого агента есть общий порядок по предметам. Агенты могут быть безразличны к некоторым предметам; для каждого агента мы можем разбить предметы на классы эквивалентности, содержащие предметы одинакового ранга. Например, если отношение предпочтений Алисы x > y,z > w , это означает, что первый выбор Алисы — x, который лучше для нее, чем все остальные предметы; второй выбор Алисы — y и z, которые одинаково хороши в ее глазах, но не так хороши, как x; и третий выбор Алисы — w, который она считает хуже, чем все остальные предметы.
Для каждого распределения элементов между агентами мы строим его вектор рангов следующим образом. Элемент № 1 в векторе — это общее количество элементов, которые являются 1-м выбором для их владельцев; Элемент № 2 — это общее количество элементов, которые являются 2-м выбором для их владельцев; и т. д.
Максимально ранговое распределение — это такое распределение, при котором вектор ранга максимален в лексикографическом порядке.
Три элемента, xy и z, необходимо разделить между тремя агентами, рейтинги которых следующие:
В распределении ( x , y , z ) Алиса получает свой первый выбор ( x ), Боб получает свой второй выбор ( y ), а Карл получает свой третий выбор ( z ). Таким образом, вектор ранга равен (1,1,1).
В распределении ( x , z , y ) и Алиса, и Карл получают свой первый выбор, а Боб получает свой третий выбор. Таким образом, вектор ранга равен (2,0,1), что лексикографически выше, чем (1,1,1) — это дает большему количеству людей их первый выбор.
Легко проверить, что никакое распределение не производит лексикографически более высокий вектор ранга. Следовательно, распределение ( x , z , y ) является максимальным по рангу. Аналогично, распределение ( z , x , y ) является максимальным по рангу – оно производит тот же вектор ранга (2,0,1).
RM-сопоставления были впервые изучены Робертом Ирвингом, который назвал их жадными сопоставлениями . Он представил алгоритм, который находит RM-сопоставление за время , где n — количество агентов, а c — наибольшая длина списка предпочтений агента. [1]
Позже был найден улучшенный алгоритм, который работает за время , где m — общая длина всех списков предпочтений (общее количество ребер в графе), а C — максимальный ранг элемента, используемого в сопоставлении RM (т. е. максимальное количество ненулевых элементов в оптимальном векторе ранга). [2] Алгоритм сводит задачу к сопоставлению с максимальной мощностью . Интуитивно мы хотели бы сначала найти сопоставление с максимальной мощностью, используя только ребра ранга 1; затем расширить это сопоставление до сопоставления с максимальной мощностью, используя только ребра рангов 1 и 2; затем расширить это сопоставление до сопоставления с максимальной мощностью, используя только ребра рангов 1, 2 и 3; и так далее. Проблема в том, что если мы выберем «неправильное» максимальное по мощности сопоставление для ранга 1, то мы можем пропустить оптимальное сопоставление для ранга 2. Алгоритм [2] решает эту проблему с помощью разложения Дульмейджа–Мендельсона , которое представляет собой разложение, использующее максимальное по мощности сопоставление, но не зависящее от выбранного сопоставления (разложение одинаково для каждого выбранного максимально возможного сопоставления). Он работает следующим образом.
Другое решение, использующее паросочетания максимального веса , достигает аналогичного времени выполнения: . [3]
Задача имеет несколько вариантов.
1. В RM-сопоставлении с максимальной мощностью цель состоит в том, чтобы среди всех различных RM-сопоставлений найти то, которое имеет максимальное количество сопоставлений.
2. В честном сопоставлении цель состоит в том, чтобы найти сопоставление с максимальной мощностью, такое, чтобы использовалось минимальное количество ребер ранга r , при условии, что - используется минимальное количество ребер ранга r −1, и т. д.
Как RM-сопоставление с максимальной мощностью, так и честное сопоставление могут быть найдены путем сведения к сопоставлению с максимальным весом. [3]
3. В задаче сопоставления RM с емкостью каждый агент имеет верхнюю емкость, обозначающую верхнюю границу общего числа элементов, которые он должен получить. Каждый элемент имеет верхнюю квоту, обозначающую верхнюю границу числа различных агентов, которым он может быть выделен. Впервые ее изучили Мелхорн и Майкл, которые предложили алгоритм со временем выполнения . [4] Существует улучшенный алгоритм со временем выполнения , где B — это минимум суммы квот агентов и суммы квот элементов. Он основан на расширении разложения Галлаи–Эдмондса до многореберных сопоставлений. [5]
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка )