ВЫЧИСЛЕНИЕ ИНДЕКСОВ ВЛИЯНИЯ НА ОСНОВЕ ОДНОЙ ВЕРОЯТНОСТНОЙ МОДЕЛИ
М.В. Бацын,
аспирант Нижегородского филиала ГУ-ВШЭ,
В.А. Калягин,
доктор физико-математических наук, профессор, Нижегородский Филиал ГУ-ВШЭ, [email protected]
В работе представлен алгоритм вычисления индексов влияния, имеющих вероятностное описание, при условии отсутствия предпочтений участников. Показано, что отсутствие предпочтений эквивалентно специальной структуре распределения вероятностей исходов голосования. Алгоритм основан на подходе имитационного моделирования и позволяет эффективно вычислять значения индексов при большом числе голосующих.
Введение
Для оценки влияния участников голосования используются специальные индексы влияния, отражающие способность каждого игрока влиять на исход голосования. В данной работе будет использоваться обозначение (от слова Power) для величины индекса влияния. Основной характеристикой игрока при этом выступает его вес в голосовании, под которым обычно понимается принадлежащее ему число голосов (например, число голосов политической партии или число акций у акционера). В работе рассматриваются только голосования за принятие того или иного решения, в которых каждый участник может проголосовать только «да» — за принятие решения, или «нет» — против принятия решения. Решение считается принятым, если общий вес проголосовавших «за» превышает определённую квоту q ov > q). Два наиболее распространенных значения q: 50% — простое большинство и 66% (иногда — 75%) — квалификационное большинство [1].
В определении индекса влияния используются следующие понятия:
♦ коалиция — это множество игроков, которые проголосовали «да», то есть как бы объединились в коалицию, голосующую за принятие решения;
♦ выигрывающая коалиция — это коалиция,
общий вес которой превышает квоту , а значит, в итоге голосования решение будет принято;
♦ проигрывающая коалиция — это коалиция, общий вес которой не превышает квоты , а значит, в итоге голосования решение будет отклонено;
♦ ключевой игрок — это член коалиции, вместе с которым коалиция является выигрывающей, а без него становится проигрывающей.
Так как игрок действительно влияет на исход голосования только, когда он ключевой, то индекс влияния — это величина, выражающая возможность данного игрока быть ключевым в голосовании.
Два наиболее известных и распространенных индекса влияния — это индекс Банцафа и индекс Шепли-Шубика. Для любого игрока можно определить набор коалиций, в которых он является ключевым. И оба эти индекса определяются через такой набор коалиций. Индекс Банцафа для игрока г.
Р/ „ •
IX
к=1
где N — это число различных коалиций, в которых игрок является ключевым; п — общее число игроков.
Индекс Шепли-Шубика для игрока .
где суммирование производится по всем коалициям S, в которых игрок i является ключевым;
5 = |Л] — число игроков входящих, в коалицию S.
Рассматривая процедуру вычисления индексов влияния, нужно заметить, что при большом числе участников голосования она превращается в очень трудоемкий процесс. Уже для 10 участников посчитать вручную влияние каждого крайне тяжело. В этом случае можно использовать компьютер: несложная программа быстро переберёт все возможные варианты коалиций ( варианта) и вычислит индексы влияния. Но если число голосующих больше 30, число вариантов будет больше 230 ~ 109 — 1 миллиард. Причём добавление всего лишь 10 участников увеличивает это число в 1024 раза, т.е. 40 голосующих дают уже 1 триллион вариантов.
Конечно, в зависимости от весов игроков этот перебор может быть сокращён. Но любые подобные оптимизации не помогут, если число участников приближается к 100, то есть полный перебор составляет 2100 ~ 1030 вариантов. Примеров таких голосований в мире достаточно много. Например, в рамках ООН создано множество различных союзов, насчитывающих большое количество стран-участ-ников. Вот только несколько подобных примеров:
♦ Международный союз экономистов — включает 44 страны;
♦ Международный союз электросвязи — включает 189 стран;
♦ Международная финансовая организация — включает 179 стран.
Существуют различные вероятностные интерпретации индексов влияния. Одна из первых таких интерпретаций предложена Штраффином в работе [2]. В статье Каниовского [3] описан более общий подход на основе интерпретации Штраффина. Ларуэл-ле и Валенсиано разработали наиболее общую вероятностную модель индексов влияния в работе [4]. Эта модель позволяет применить имитационное моделирование для решения проблемы вычисления индексов влияния при большом числе участников голосования. Зная вероятностные характеристики, можно смоделировать процесс голосования и, многократно повторив его, получить любые требуемые величины. В данной работе реализован алгоритм генерации случайных исходов голосования и вы-
числения индексов влияния, имеющих описание в рамках вероятностной модели.
Вероятностная модель
Согласно вероятностной модели Ларуэлле и Ва-ленсиано [4] индекс влияния игрока — это вероятность для этого игрока оказаться решающим (если он проголосует «да», то и исход всего голосования будет «да», а если проголосует «нет», то и исход будет «нет») при заданном совместном распределении вероятностей проголосовать «да»/«нет» для всех игроков. Поскольку голос игрока — это дискретная случайная величина, имеющая 2 возможных значения: 1 («да») и 0 («нет»), то совместное распределение таких величин представляет собой набор вероятностей всех возможных исходов голосования: 00...00, 00...01, ..., 11...11. Все индексы влияния отличаются друг от друга только этим совместным распределением Р00...00,..., Р00...01 Р11...11. Здесь р;ь i2...i„, е {0,1} -это вероятность того, что игрок 1 проголосовал ц, игрок 2 — г'2, ..., игрок п — п (1 — «да», 0 — «нет»).
Для индекса Банцафа:
Для индекса Шепли-Шубика:
п
V/, Є {0,1}, =5 => р. ,2.,
1
Другими словами, задавая совместное распределение
мы получаем индекс Банцафа, задавая
1
Р І\ , і2 , і„
(п + 1)С;
получаем индекс Шепли-Шубика. Интересно, что, задавая другие распределения, мы можем получить бесконечное множество различных индексов влияния.
Пример вычисления индекса влияния через вероятности
В соответствии с вероятностной моделью [4] индекс влияния — это вероятность для данного игрока иметь решающий голос в голосовании, то есть вероятность таких исходов, при которых, если этот игрок голосует «да», то и результат всего голосования
будет «да», а если — «нет», то и результат будет «нет». Все такие исходы напрямую связаны с коалициями, в которых игрок является ключевым. Например, если игрок 1 является ключевым только в коалиции {1, 2} (игроки 1 и 2 голосуют «да», а все остальные — «нет»), то для него вероятность быть решающим складывается из двух вероятностей:
1) вероятности того, что игрок 2 проголосует «да», все остальные проголосуют «нет», и игрок 1 проголосует «да», решив исход голосования в пользу принятия решения: ршо...оо;
2) вероятности того, что игрок 2 проголосует «да», все остальные проголосуют «нет», и игрок
1 проголосует «нет», решив исход голосования в пользу отклонения решения: р0100...00. Таким образом, его индекс влияния равен р1100...00 + р0100...00.
Каждая коалиция, в которой данный игрок является ключевым, добавляет к его индексу влияния
2 слагаемых: 1-е — вероятность, образования данной коалиции, т.е. того, что все члены коалиции вместе с этим игроком голосуют «да», а все остальные игроки — «нет»; 2-е — вероятность того, что все члены коалиции, кроме этого игрока, голосуют «да», а он и все остальные игроки — «нет». В 1-м случае этот игрок как бы обеспечивает своим голосом создание этой коалиции и принятие решения, а во 2-м — наоборот блокирует ее создание и добивается отклонения решения.
Рассмотрим игрока с номером к и некоторое множество других игроков ю такое, что коалиция йи{к} — проигрывающая, а коалиция — выигрывающая. То есть, фактически, игрок к — ключевой в коалиции ю и {к}. Используя понятия веса игрока V и квоты #, этот факт можно записать в следующем виде:
Тогда индекс влияния игрока к подсчитывается следующим суммированием вероятностей по всем таким коалициям ю:
рпо(к,а) Р.
Ґ1, если /єсо ij=<1, если 1=к О, иначе
Г1, если /ею ii=\ 0, если 1=к О, иначе
Индексы влияния для игроков без предпочтений
Рассмотрим голосование, в котором все игроки голосуют без учёта предпочтений [5]. Индексы влияния таких игроков должны зависеть только от квоты и весов игроков. Таким образом, игроки становятся, в каком-то смысле, обезличенными, и два игрока, имеющие одинаковый вес, фактически, ничем не отличаются друг от друга. Если поменять веса двух игроков местами, то и их влияния должны поменяться: если две ситуации 1 и 2 отличаются друг от друга, только тем, что веса двух игроков А и В поменялись местами: Ул2 = Ув\ УВ2 = УЛ1 то и индексы влияния этих игроков поменяются местами: Рн>2(Л) = Рн!1(В), Рн!2(В) = Рн1(Л). Для индексов влияния, имеющих описание в рамках вероятностной модели, это свойство выражается в том, что вероятности исходов голосования не зависят от конкретного распределения голосов «да» и «нет», а только от их количества. Для доказательства соответствующей теоремы сначала докажем две следующих леммы.
Лемма 1
Пусть игрок А — ключевой в коалициях Ю1Л,..., ютл, и пусть веса игроков А и В поменяли местами: vЛ = vB, Vв = vл Тогда после замены весов В будет ключевым только в коалициях: ю/В,..., Ют'В, где:
со
сот =
если В е со (oaf если В gсоf
Например, если А был ключевым в коалициях АВЕ и АС, то после замены весов В будет ключевым в коалициях АВЕ и ВС.
Доказательство:
То, что А был ключевым игроком в коалициях
A A
Wi ,..., WmA до замены весов означает:
То, что других коалиций, где А — ключевой, нет, означает:
Vco \/i = l,m сои Л# со/
v«,
v,„ > q
(1)
Рассмотрим одну из коалиций, в которых А был ключевым до замены весов, — ю1Л и докажем, что после замены весов В стал ключевым в:
если В е со:4
, если В <£ со;4
(со ?\a)i
Рассмотрим 2 случая: В є ю,А и В й юД 1) Для В є имеем:
Значит после замены весов В стал ключевым в югЛ, и значит, юВ = югЛ.
2) Для В й имеем:
То есть В стал ключевым в (югЛ\Л) и В, и юВ = (югЛ\Л) и В. Таким образом, после замены весов В стал ключевым в коалициях: ю' 1В, где:
ю' В
со;
со;
сот =
если В (со/1 \ А)^і В, если В г со
Теперь докажем, что нет других коалиций, от-
личных от ю' 1В,,
., ю' тВ, в которых бы В стал ключе-
вым. Допустим обратное — пусть существует коалиция: ЗиВ е и V; = 1т иФю' В, в которой В стал ключевым:
Рассмотрим 2 случая: Л е и и Л й и.
1) В случае Л е и для тех г, при которых ю'В = (югЛ\Л) и В (при В й юЛ), условие и Ф ю'' выполняется автоматически, потому что Л е и, но Л й ю'В = (югЛ\Л) и В. Для таких го Ф ю,Л , так как В е и, но В й юД Для остальных значений г ю'^ = юД и так как по нашему предположению и Ф ю'В, то иФ юЛ. Тогда справедливо следующее утверждение:
Тогда для и = и\А имеем:
Это противоречит условию (1) леммы, по кото-
А А
рому нет коалиций, отличных от ю1 ,..., ю^ , в которых А был бы ключевым игроком до замены весов.
3) В случае Л й и для тех г, при которых = ю(
(при В е юД, условие и Ф юВ выполняется автоматически, потому что Л е юВ, но Л й и. Для таких г (и и Л)\В Ф юЛ, так как В е юД но В й (ии Л)\В. Для остальных значений г ю'В = (юЛ \Л) и В, и так как по нашему предположению и Ф ю\В = (югЛ\Л) и В, то (и и Л)\В Ф юД В результате имеем:
Обозначая ю = и\В, получаем:
Это снова противоречит условию (1). В итоге, предположение о том, что существует коалиция, отличная от ю' 1В,..., ю' тВ, в которой В был бы ключевым после замены весов, оказалось неверным. Значит В стал ключевым только в коалициях: ю'Д..., ю'тВ, где:
(со/4, если В е со/1
[(оо/1 \ л)и В, если В г со;-1
ю, =•
Что и требовалось доказать.
Лемма 2
Пусть игрок А — ключевой в т коалициях, и число участников каждой из этих коалиций равно «1,..., т а игрок В — ключевой в п коалициях с числом участников ?ь..., п Пусть веса игроков А и В поменяли местами: уЛ = vB, уВ = vл. Тогда после замены весов В будет ключевым в т коалициях с размерами «1,..., «т; А будет ключевым в п коалициях с размерами ^,..., п
Доказательство следует из леммы 1: ясно что |ю'гВ\ = |юЛ\ = «, так как ю'В = ю,Л либо ю'В = (югЛ\Л) и В. Игроки А и В ничем не отличаются друг от друга, поэтому то же самое справедливо для коалиций, в которых А станет ключевым:
|ю' Л\=\юЛ\=1..
Теорема
Для индексов влияния, имеющих описание в рамках вероятностной модели свойство отсутствия предпочтений у игроков равносильно тому, что вероятности исходов голосования не зависят от
конкретного распределения голосов «да» и «нет», а только от их количества:
Доказательство:
Свойство отсутствия предпочтений формулируется в следующем виде: если веса двух игроков А и В поменять местами: у/ = уВ, уВ' = уА то и индексы влияния этих игроков поменяются местами: Рн(А) = Рн(В), Рн(В) = Рн(А). Докажем сначала необходимость — то, что из этого свойства следует независимость вероятностей исходов голосования от распределения голосов. А затем — достаточность — то, что из независимости вероятностей следует отсутствие предпочтений.
Необходимость:
Рассмотрим случай, когда игроки I и у — ключевые только в одной коалиции ю. Тогда в соответствии с вероятностной моделью их индексы влияния равны:
Из леммы 1 следует, что после замены весов игроки I и у так и останутся ключевыми только в коалиции ю. Значит, их индексы влияния не изменятся: Рн'(1) = РН(0, Рц'Ц) = Рн(/). Тогда, из свойства отсутствия предпочтений следует Рн(1) = Рн(/). Следовательно, следующие вероятности равны:
Р* 04* = /4*0* (2)
Так как в качестве ю можно взять любую коалицию, а в качестве I и у — любых её участников, то равенство (2) означает, что в любом исходе голосования можно поменять любые 1 и 0 местами и от этого его вероятность не изменится. Следовательно, любые 2 исхода гь г2,..., 1п и I ^,..., I 'п с одинаковым числом ^ единиц (голосов «да») имеют одинаковую вероятность р«, потому что один можно получить из другого, переставляя единицы.
Достаточность:
Докажем, что из справедливости:
следует, что если веса двух игроков А и В поменять местами: уА' = уВ, уВ' = уА, то и индексы влияния этих игроков поменяются местами: Рн (А) = Рн(В), Рн (В) = Рн(А). Пусть размеры коалиций, в которых А был ключевым до замены весов, равны «1,..., т а в которых В был ключевым — ^,..., п Тогда их индексы влияния были:
По лемме 2 после замены весов А стал ключевым в коалициях с размерами ^,..., п а В — в коалициях с размерами «1,..., «т. То есть их индексы влияния стали:
Таким образом, индексы влияния игроков поменялись местами: Рн (А) = Рн(В), Рн (В) = Рн(А).
Что и требовалось доказать.
Имитационное моделирование голосования
Если рассматривать вероятностную модель индексов влияния в её общем виде, то при большом числе участников голосования п возникает проблема с числом вероятностей р;ь ;2,...,(п, равным 2 . В общем случае все эти вероятности разные, и хранить такое количество различных чисел практически невозможно. В настоящей работе мы будем рассматривать только индексы влияния для игроков без предпочтений. Два наиболее известных индекса: индекс Банцафа и индекс Шепли-Шубика подходят под это условие. Для таких индексов все вероятности исходов с одинаковым числом голосов «да» (единиц) равны между собой:
Значит, для таких индексов влияния достаточно знать лишь п +1 вероятность: р0, р1,..., рп.
Генерация случайного исхода голосования
При голосовании игроков существует 2” различных исходов голосования. Вероятности исходов с одинаковым числом единиц равны. Тогда все исходы можно разделить на п + 1 группу так, что в 0-ю группу будет входить исход без единиц: 00...00,
в 1-ю группу — исходы с одной единицей: 00...01, 00...10, 10...00 и так далее до (п + 1)-й группы, в которую будет входить исход из п единиц: 11...11. Число исходов, попавших в к-ю группу равно Спк — число различных вариантов расположения к единиц в п позиций. Вероятность любого исхода в к-й группе — рк. Тогда вероятность попасть в к-ю группу равна Спк ■ Рк.
Для генерации случайного исхода в таком голосовании игроков без предпочтений сначала сгенерируем номер группы, в которую попадает исход. Номер группы — это случайная величина со следующим распределением:
Такую случайную величину можно получить с помощью генератора равномерного распределения ^[0Д]. Для этого необходимо разбить отрезок [0,1] на п +1 отрезок так, чтобы длина к-го отрезка равнялась СПсрк. В результате получаются отрезки:
В какой отрезок попадет сгенерированная случайная величина ^[0,1], таким и будет номер группы.
Пусть в результате генерации получился некоторый номер к. Теперь надо определить конкретный исход из к-й группы. Все исходы в группе равновероятны, и каждый имеет к единиц. Будем последовательно случайным образом генерировать место каждой из к единиц в исходе. Для первой единицы выберем случайно одно из п мест с равной вероятностью 1/п для каждого места. Для 2-й единицы выберем случайно одно из п — 1 мест (исключив уже известное место 1-й единицы из выбора) с равной вероятностью 1/(п — 1). И так далее до последней к-й единицы, которая встанет на одно из оставшихся п — к +1 мест с равной вероятностью 1/(п - к +1).
Для генерации выбора из т мест для единицы снова используем равномерно распределенную случайную величину Ц[01] и следующее разбиение на отрезки:
При таком подходе любой исход из группы равновероятен. Действительно, вероятность одной такой генерации расположения единиц равна:
Так как единицы неразличимы между собой, и поменяв друг с другом местами 2 единицы, мы получим тот же самый исход, то к! генераций дают один и тот же исход (число перестановок к единиц между собой равно к!). Таким образом, вероятность любого исхода, имеющего к единиц, при такой генерации равна:
Всего таких исходов Спк, и в сумме их вероятности дают 1. Значит, такая схема генерации случайного исхода голосования игроков без предпочтений верна.
Для вычисления индекса Банцафа таким способом надо просто взять .
А для индекса Шепли-Шубика —
Оценка точности вычисления индексов влияния
Рассмотрим пример голосования из 100 участников, такой чтобы можно было посчитать индексы влияния игроков аналитически. Пусть квота равна 50, а игроки имеют следующие веса:
Обозначим все возможные множества, которые можно получить из игроков 5-100 (все игроки с одинаковым весом 1/32), в том числе и пустое множество, за *, все те же множества без пустого за + и любого из игроков 5-100 за х Теперь выпишем коалиции, в которых игроки являются ключевыми:
Чтобы посчитать индекс Банцафа, надо знать число этих коалиций. Заметим, что мощность
множества * равна 296, а множества +: 296 — 1. Выпишем число таких коалиций для каждого игрока:
Общее число этих коалиций равно 12 296 + 96. Значит, индексы Банцафа равны:
5-100:
12 • 2 + 96
0.16667
0.00000
Теперь вычислим индексы Шепли-Шубика. Коалиция размером к даёт вклад в индекс Шепли-Шубика равный:
У 1-го игрока таких коалиций размером к, где он ключевой: 3- С96-2 + 3-Ск-3, к = 3...98 плюс 2 коалиции размером 2 (1 2 и 1 3) и 3 коалиции размером 99 (1 2 3 5 ... 100, 1 2 4 5 ... 100 и 1 3 4 5 ... 100). У 2-го и 3-го игроков таких коалиций: С9\-2 + С96-3, к = 3...98 плюс 1 коалиция размером 2 (1 2 или 1 3), 1 коалиция размером 3 (1 2 4 или 1 3 4) и 1 коалиция размером 99 (2 3 4 5 ... 100). У 4-го игрока таких коалиций: С96-2 + С96-3, к = 3...98 плюс 1 коалиция размером 99 (2 3 4 5 ... 100). У игроков 5-100 только одна такая коалиция размером 3. Тогда индексы Шеп-ли-Шубика равны:
3:
^ (ЮО — *)(* — 1)] , 2
98-99-100
98-100
Решив несложную систему из 3 линейных уравнений можно получить следующую полезную формулу:
А / , •, \ я , а + Ь , (а Ь
> \ак~ +Ьк + с )= —и' Н-------п + —I------Ус \п + с
} 3 2 и 2
Используя её, найдем:
Теперь можно найти индексы Шепли-Шубика:
1081
2:
3:
4:
161504-3 5 _________^
98-99-100 99-100 ~ 98-11-2~
161702
161504 2
98-99-100 98-100 98-99-100
161702
= 0.50139
0.16667
98-99-100
161504
= 0.16667
1
5-100:
____________ ________ 1649
98-99-100 99-100 ~ 99-100
= 0.000002
= 0.16656
98-99-100
С помощью программы, реализующей имитационную модель, при 1 миллионе итераций были получены следующие результаты. Программа приводит значения индексов так, чтобы их сумма равнялась 1.
Индексы Банцафа:
0.500127 0.16705 0.100280 0.166537 0 ................0
Индексы Шепли-Шубика:
0.499580 0.100845 0.100518 0.100759 0.0000029.0.0000029
При 10 миллионах итераций получаются более точные значения:
Индексы Банцафа:
0.500000 0.100021 0.100502 0.100751 0 ................0
Индексы Шепли-Шубика:
0.499911 0.100005 0.100509 0.100579 0.0000027.0.0000027
Таким образом, предложенная имитационная модель может эффективно использоваться для подсчёта индексов влияния с высокой точностью, когда число участников велико.
Заключение
Метод имитационного моделирования хорошо подходит для вычисления индексов влияния при большом числе участников голосования. Благодаря вероятностной модели, удается применить этот метод для вычисления различных индексов, включая классические индексы Банцафа и Шепли-Шубика. В данной работе реализован алгоритм для вычисления индексов влияния, имеющих описание в рамках вероятностной модели и удовлетворяющих условию отсутствия предпочтений участников голосования. Работа поддержана грантом ГУ-ВШЭ Центр-филиалы 06-06-0002. ■
Литература
1. Алескеров Ф.Т. Бинарные отношения, графы и коллективные решения / Алескеров Ф.Т., Хабина Э.Л., Шварц Д.А. М.: Издательский дом ГУ ВШЭ. 2006. 300 с.
2. Straffin P. Homogeneity, independence, and power indices / Straffin P. // Public Choice. 1977. №30. С. 107-118.
3. Kaniovskiy S. The exact bias of the Banzhaf measure of power when votes are not equiprobable and independent / Kaniovskiy S. // Austrian Institute of Economic Research. 2006.
4. Laruelle A. Assessing success and decisiveness in voting situations / Laruelle A., Valenciano F. // Social Choice and Welfare. 2005. №24. С. 171-197.
5. Aleskerov F. Power indices taking into account agent’s preferences / Aleskerov F. // Doklady Mathematics, 2007,v.75, n.3/6 pp.463-466.
Г
V
Издательство «Техносфера» пополнило серию «Мир программирования» новой книгой Виктора Александровича Сердюка, преподавателя кафедры управления разработкой программного обеспечения ГУ-ВШЭ
и генерального директора ЗАО «ДиалогНаука» «Новое в зашцте от взлома корпоративных систем».