183400 (743546), страница 5

Файл №743546 183400 (Модель колективного вибору) 5 страница183400 (743546) страница 52016-08-02СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

Спочатку працівники виборчого органу вносять загальну інформацію: кількість виборців у даному окрузі та кількість кандидатів. Далі заносяться імена кандидатів і вказується спосіб занесення профілів переваг: кожним виборцем окремо чи працівниками виборчого округу. В останньому випадку інформація є згрупована (аналогічно до контрольного прикладу).

Внизу екрана виводяться імена усіх кандидатів. Кожен виборець (чи працівник виборчого округу) вносить профіль переваг, розташовуючи кандидатів у строго визначеному порядку.

Для кожного виборця не допускається випадків байдужості; крім того, кандидати повинні бути строго ранджовані (тобто кожен з них займає своє місце у перевазі виборця, і на одному рівні не можуть знаходитись два кандидати). Імена кандидатів, які заносяться виборцями, повинні співпадати з іменами, вказаними на початку заповнення інформації.

Після занесення усіх цих даних видається результат роботи програми.

Спочатку виводиться переможець Копленда і вказується, чи він визначений із збереженням нейтральності. Для переможця вказується його оцінка. У противному випадку виводиться множина переможців (кандидатів, сума очок яких дорівнює максимальній оцінці).

Аналогічно визначається переможець Борда.

Як буде показано у контрольному прикладі, оцінки кандидатів, отриманих за правилами Борда і Копленда, можуть ранджуватись у протилежному порядку.

  1. Контрольний приклад

Нехай дано наступний профіль для 9 виборців і 5-ти кандидатів:

1

4

1

3

a

b

c

d

e

c

d

b

e

a

e

a

d

b

c

e

a

b

d

c

У кожному стовпці кандидати розташовані у порядку зменшення їх значущості для кожної групи виборців. Тобто, для першого стовпця можна визначити переваги наступним чином: група виборців, що складається з однієї особи, вважає кандидата a найкращим. На другому місці вони ставлять кандидата b, на третьому місці c і т.д.

Продемонструємо розв’язок контрольного прикладу за правилом Копленда. Визначаємо оцінку Копленда.

Кандидат a є кращим за b для 1+1+3 виборців, а для 4-х виборців кандидат b є кращим за a. Визначимо такі переваги для кожного кандидата, порівняємо його з усіма іншими.

ab – 5

ac – 5

ad – 5

ae – 1

ba – 4

ca – 4

da – 4

ea – 8

bc – 5

bd – 4

de – 5

cb – 4

db – 5

eb – 4

cd – 5

ce – 5

dc – 4

ec – 4

de – 5

ed – 4

Визначимо оцінку Копленда для кожного кандидата. Кандидат a є кращим за b (додаємо +1); він також є кращим за c та d (додаємо два рази +1) і гіршим за e (додаємо –1). Отже, оцінка Копленда для a рівна 2.

Знайдемо оцінку для інших кандидатів.

a=+1+1+1-1=2

b=-1+1-1+1=0

c=-1-1+1+=0

d=-1+1-1+1=0

e=+1-1-1-1=-2

Серед отриманих оцінок визначаємо максимальну. Як бачимо, вона дорівнює 2 і належить кандидату a. Отже, a – переможець Копленда.

Якби у нас отрималось два кандидати з максимальною оцінкою, наприклад b та f, ми б обрали кандидата b, так як він розташований ближче за алфавітом.

Для цього ж профілю знайдемо переможця Борда.

Отже, отримуємо такі оцінки:

a=1*4+4*0+1*3+3*3=16

b=3*1+2*4+1*1+2*3=18

c=2*1+4*4+0+0=18

d=1*1+4*3+2*1+1*3=18

e=1*4+1*4+3*4+0=20

Переможцем за Борда є кандидат е.

Як бачимо, оцінки Борда ранджують кандидатів у порядку, протилежному до того, який отримується за оцінками Копленда.

  1. ВИСНОВКИ

Дана курсова робота була присвячена огляду методів голосування більшістю голосів. Було проведено порівняльну характеристику кожного з методів і з їх множини обрано найкращі. До них відносяться

  1. заможні за Кондорсе правила Копленла і Сімпсона, дерево багатоетапного виключення;

  2. один з методів підрахунку очок – правило Борда.

Всі ці правила задовольняють умовам оптимальності за Парето, монотонності та анонімності. Крім того, правило Борда задовольняє також аксіомі участі та поповнення.

Для програмної реалізації було обрано методи Копленда і Борда.

Результати роботи програми продемонстровано на контрольному прикладі.

  1. СПИСОК ЛІТЕРАТУРИ

  1. Мулен Э. “Кооперативное принятие решений: Аксиомы и модели” – Москва, Мир, 1991.

  2. Миркин Б. Проблема групового выбора. – Москва, Наука, 1974.

  1. ДОДАТКИ

    1. Програма

uses wincrt;

label y, z;

type mas = string[6];

type ball =array[1..10] of shortint;

var N: byte; {к-ть виборцiв}

M: byte; {к-ть кандидатiв}

s: byte; {к-ть груп}

rang: array[1..10,1..100] of mas; {профiль переваг}

k,i,j,l,r,contrl: byte;

a,b: byte; {для проведення парних порiвнянь}

kopl: ball; {масив оцiнок Копленда}

vybor1, vybor2: mas;

bord: ball; {масив оцiнок Борда}

name: array[1..10] of mas; {масив iмен кандидатiв}

many: array[1..100] of byte; {масив груп виборцiв}

n1: array[1..10] of mas;

c: char;

{дані контрольного прикладу}

{---------------------------}

procedure example;

var i, j: byte;

begin

clrscr; M:=5; n:=9; s:=4;

name[1]:='a'; name[2]:='b'; name[3]:='c'; name[4]:='d'; name[5]:='e';

many[1]:=1; many[2]:=4; many[3]:=1; many[4]:=3;

rang[1,1]:='a'; rang[1,2]:='c'; rang[1,3]:='e'; rang[1,4]:='e';

rang[2,1]:='b'; rang[2,2]:='d'; rang[2,3]:='a'; rang[2,4]:='a';

rang[3,1]:='c'; rang[3,2]:='b'; rang[3,3]:='d'; rang[3,4]:='b';

rang[4,1]:='d'; rang[4,2]:='e'; rang[4,3]:='b'; rang[4,4]:='d';

rang[5,1]:='e'; rang[5,2]:='a'; rang[5,3]:='c'; rang[5,4]:='c';

gotoXY(15,1);

writeln('Завдання контрольного прикладу');

writeln; writeln('Число виборців: ', N);

writeln('Число кандидатів: ', M);

writeln('Профіль переваг:');

for i:=1 to 40 do

write('-');

writeln; write('Число виборців ');

gotoXY(19,7);

for i:=1 to s do

write(many[i], ' ');

writeln; gotoXY(19,9);

for i:=1 to M do

begin

for j:=1 to s do

write(rang[i,j], ' ');

gotoXY(19, 9+i);

end;

gotoXY(1,15);

end;

{---------------------------}

{перевіряє правильність вводу варіанту вибору}

procedure right;

label l;

begin

l: readln(c);

if (c<>'0') and (c<>'1') then

begin

write('Повторіть спробу: ');

goto l;

end;

end;

{---------------------------}

{виводить список імен кандидатів}

procedure help;

var x,y,i: byte;

begin

x:=WhereX;

y:=WhereY;

gotoXY(1,24);

write('Імена кандидатів: ');

for i:=1 to M do

if i<>M then write(name[i], ', ')

else write(name[i]);

gotoXY(x,y);

end;

{---------------------------}

{визначення переможця виборів}

procedure victory(v: ball; s: string);

var max, t: shortint;

hl: array[1..10] of byte;

begin

{визначення максимальної оцiнки}

help;

max:=v[1];

for i:=1 to M do

if max

max:=v[i];

t:=1;

{визначення кандидатiв з максимальною оцiнкою}

for i:=1 to M do

if (v[i]-max)=0 then

begin

hl[t]:=i;

t:=t+1;

end;

if (t-1)=1 then

begin

write('Переможець за ', s, ' iз збереженням нейтральностi: ');

writeln(name[hl[1]]); writeln('Сума очок - ', max);

end

else

begin

vybor1:=name[hl[1]];

for i:=2 to t-1 do

if name[hl[i]]

vybor1:=name[hl[i]];

write('Переможець за ', s, ' без збереження нейтральностi: ');

writeln(vybor1); writeln('Сума очок - ', max);

writeln('обраний з множини найкращих:');

for i:=1 to t-1 do

writeln(name[hl[i]]);

end;

end;

{---------------------------}

{основна програма}

begin

gotoXY(21,1); writeln('Визначення переможця виборів');

writeln; writeln('Запуск контрольного прикладу - 1; Самостійне внесення профілю - 0');

right;

if c='1' then

begin

example;

help;

goto z;

end

else clrscr;

write('Введiть кiлькiсть кандидатiв: ');

readln(M);

write('Введiть кiлькiсть виборцiв: ');

readln(N);

writeln('Введiть iмена кандидатiв');

for i:=1 to M do

begin

write('Кандидат ', i, ': ');

readln(name[i]);

end;

writeln('Як буде здiйснюватись занесення iнформацiї?');

write('1- окремими виборцями, 0- комiтетом: ');

right;

if c='1' then

for i:=1 to N do

many[i]:=1;

clrscr; writeln('Введiть профiль переваг');

s:=1; contrl:=0;

while contrl<>N do

begin

if c='1' then writeln('Виборець ', s)

else writeln('Група ', s);

for i:=1 to m do

n1[i]:='';

help;

for j:=1 to M do

begin

y:readln(vybor1);

{перевірка на коректність введеного профілю}

r:=0; a:=0; b:=0;

n1[j]:=vybor1;

for l:=1 to M do

begin

if vybor1=name[l] then

begin

b:=1;

for a:=1 to M do

{таке ім'я вже було введено у даному профілі}

if (vybor1=n1[a]) and ((a-j)<>0) then r:=1;

end;

{ім'я введеного кандидата не співпадає із жодним із списку}

if (vybor1<>name[l]) and (l=M) and (b<>1)then r:=1;

end;

if r=1 then

begin

n1[j]:='';

writeln('Уважно вводьте імена кандидатів');

goto y;

end

else rang[j,s]:=vybor1; {профіль коректний}

end;

if c='0' then

begin

writeln('Кiлькiсть виборцiв у групi ', s);

readln(many[s]);

contrl:=contrl+many[s];

end

else

contrl:=contrl+1;

s:=s+1;

clrscr;

end; {while}

{Визначення оцiнок Копленда}

z: contrl:=1;

while contrl<=M do

begin

k:=contrl+1;

vybor1:=name[contrl]; vybor2:=name[k];

while k<=M do

begin

i:=1; a:=0; b:=0;

while i<=s do

begin

for j:=1 to M do

if rang[j,i]=vybor1 then l:=j

else

if rang[j,i]=vybor2 then r:=j;

if l

else

if l>r then b:=b+many[i];

i:=i+1;

end;

if a>b then

begin

kopl[contrl]:=kopl[contrl]+1;

kopl[k]:=kopl[k]-1;

end

else

if a

begin

kopl[k]:=kopl[k]+1;

kopl[contrl]:=kopl[contrl]-1;

end;

k:=k+1;

vybor2:=name[k];

end; {while по k}

contrl:=contrl+1;

end; {while по contrl}

{визначення оцiнок Борда}

for i:=1 to s do

for j:=1 to M do

begin

for k:=1 to M do

if rang[j,i]=name[k] then r:=k;

bord[r]:=many[i]*(M-j)+bord[r];

end;

victory(kopl, 'Коплендом');

writeln ('Натисніть будь-яку клавішу ');

readkey; writeln;

victory(bord, 'Борда');

end.

Результати роботи програми

      1. Самостійне внесення профілю

Введіть кількість кандидатів: 5

Введіть кількість виборців: 9

Введіть імена кандидатів

Кандидат 1: а

Кандидат 2: b

Кандидат 3: c

Кандидат 4: d

Кандидат 5: е

Як буде здійснюватись занесення інформації?

1-окремими виборцями, 0 – комітетом: 0

Введіть профіль переваг

Група 1

a

b

c

d

e

Кількість виборців у групі 1: 1

Група 2

c

d

b

e

a

Кількість виборців у групі 2: 4

Група 3

e

a

d

b

c

Кількість виборців у групі 3: 1

Група 4

e

a

b

d

c

Кількість виборців у групі 4: 3

Переможець за Коплендом із збереженням нейтральності – а

Сума очок – 2

Переможець за Борда із збереженням нейтральності – е

Сума очок – 20

      1. Демонстрація роботи контрольного прикладу


Характеристики

Тип файла
Документ
Размер
2,18 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6525
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее