A model for purchase of votes at elections in Brazil
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model is our first try to emulate an election with purchase votes, some that occur in some regions of Brazil.
HOW IT WORKS
We generate a virtual city with 2500 residences and 10.000 voters distributed among them. We also have two candidates; each will support different kind of proposals. The voters in our have setup preferences, and they will vote accordingly with that, but during the period of run the candidate may have the opportunity to buy votes, and doing they will change the original preferences and by this way possibly change the outcome of the election.
HOW TO USE IT
The first setup was made thinking as about Brazil, so the start situation will be setup an city with the average Brazilian numbers. You just need to click at the setup bottom. After, you may click at the Go!, and the will start a sequence of elections.
THINGS TO NOTICE
With no purchase votes the candidate that should election is what we called the "B Candidate". When we introduce the purchase yet do not occur victories of the other candidate, the Candidate A. But, when we increase the value of the offer that the candidate made for the voters intention the results change. Also, value to be noted, the number of residencies the candidate can visit by day has also a great impact into the final results. Yet, we introduce a memory parameter, that is, the voters can recovery their own preferences at the end of which electoral cycle, is like the voter is smart and recovery their initial preferences, something like educate people x uneducated ones.
THINGS TO TRY
You may try to setup the model to your own city, or country. The model shows it is easier to change election when the people are young, and or, have low level of schooling.
Comments and Questions
breed [ Eleitores Eleitor ] breed [ Candidatos Candidato ] breed [ Casas Casa ] Globals [ Faixa_Etaria_01 Faixa_Etaria_02 Faixa_Etaria_03 Faixa_Etaria_04 Votos_Candidato_A Votos_Candidato_B Try_Buy_A Try_Buy_B Total_Vitoria_A Total_Vitoria_B ] Eleitores-own [ Faixa_Etaria? Saude Educacao Emprego Red_Imposto Vendeu_Voto? ] Candidatos-own [ Saude? Educacao? Emprego? Red_Imposto? Vencedor? ] to Setup clear-all set Try_Buy_A 0 set Try_Buy_B 0 set Faixa_Etaria_01 [ .35 .65 ] set Faixa_Etaria_02 [ .20 .80 ] set Faixa_Etaria_03 [ .50 .50 ] set Faixa_Etaria_04 [ .65 .35 ] set Total_Vitoria_A 0 set Total_Vitoria_B 0 create-Candidatos 1 [ setxy random 50 random 50 set color blue set shape "person" set size 2 set Saude? true set Educacao? true set Emprego? false set Red_Imposto? false ] create-Candidatos 1 [ setxy random 50 random 50 set color red set shape "person" set size 2 set Saude? false set Educacao? false set Emprego? true set Red_Imposto? true ] let ii 0 while [ ii < 50 ] [ let j 0 while [ j < 50 ] [ create-Casas 1 [ setxy ii j set shape "house" set size .5 set color white ] set j j + 1 ] set ii ii + 1 ] create-Eleitores Total_Eleitores [ set Color random-float 100 setxy random 50 random 50 set shape "person" set size 1 let i random-float 1 ifelse i < %_Faixa_Etaria_01 [ set Faixa_Etaria? Faixa_Etaria_01 set Saude 0.10 set Educacao 0.25 set Emprego 0.40 set Red_Imposto 0.25 set Vendeu_Voto? false ] [ ifelse i < (%_Faixa_Etaria_01 + %_Faixa_Etaria_02) [ set Faixa_Etaria? Faixa_Etaria_02 set Saude 0.10 set Educacao 0.10 set Emprego 0.40 set Red_Imposto 0.40 set Vendeu_Voto? false ] [ ifelse i < (%_Faixa_Etaria_01 + %_Faixa_Etaria_02 + %_Faixa_Etaria_03) [ set Faixa_Etaria? Faixa_Etaria_03 set Saude 0.25 set Educacao 0.25 set Emprego 0.25 set Red_Imposto 0.25 set Vendeu_Voto? false ] [ set Faixa_Etaria? Faixa_Etaria_04 set Saude 0.40 set Educacao 0.25 set Emprego 0.25 set Red_Imposto 0.10 set Vendeu_Voto? false ]; end ifelse i < .83 ]; end ifelse i < .37 ];end ifelelse < 0.15 ];end create-eleitores reset-ticks end to Go! if not Eleição_Justa? [ ifelse So_Perd_Compra? [ ask Candidato 0 [ let V 0 while [ V < Nr_Casas ] [ setxy random 50 random 50 if Votos_Candidato_A != Votos_Candidato_B [ ifelse Votos_Candidato_A > Votos_Candidato_B [ set Vencedor? true ] [ set Vencedor? false ask Eleitores-here [ if not Vendeu_Voto? [ let F min list 1 ((first Faixa_Etaria?) + (ValorPropina / 100)) let L max list 0 ((last Faixa_Etaria?) - (ValorPropina / 100)) set Faixa_Etaria? replace-item 0 Faixa_Etaria? F set Faixa_Etaria? replace-item 1 Faixa_Etaria? L set Vendeu_Voto? true set Try_Buy_A Try_Buy_A + 1 ];end if vendeu voto ];end ask eleitores here ] ] set V V + 1 ];end While ];end ask who 1 ask Candidato 1 [ let V 0 while [ V < Nr_Casas ] [ setxy random 50 random 50 if Votos_Candidato_A != Votos_Candidato_B [ ifelse Votos_Candidato_A > Votos_Candidato_B [ set Vencedor? false ask Eleitores-here [ if not Vendeu_Voto? [ let F max list 0 ((first Faixa_Etaria?) - (ValorPropina / 100)) let L min list 1 ((last Faixa_Etaria?) + (ValorPropina / 100)) set Faixa_Etaria? replace-item 0 Faixa_Etaria? F set Faixa_Etaria? replace-item 1 Faixa_Etaria? L set Vendeu_Voto? true set Try_Buy_B Try_Buy_B + 1 ];end in not vendeu voto ];end ask eleitores here ] [ set Vencedor? true ] ] set V V + 1 ];end while ];end ask who 2 ];end olny loser buying votes [ ;now both Candidates try to buying votes ask Candidato 0 [ let V 0 while [ V < Nr_Casas ] [ setxy random 50 random 50 ask Eleitores-here [ if not Vendeu_Voto? [ let F min list 1 ((first Faixa_Etaria?) + (ValorPropina / 100)) let L max list 0 ((last Faixa_Etaria?) - (ValorPropina / 100)) set Faixa_Etaria? replace-item 0 Faixa_Etaria? F set Faixa_Etaria? replace-item 1 Faixa_Etaria? L set Vendeu_Voto? true set Try_Buy_A Try_Buy_A + 1 ] ];end ask eleitores here set V V + 1 ];end While ];end ask Candidato 0 ask Candidato 1 [ let V 0 while [ V < Nr_Casas ] [ setxy random 50 random 50 ask Eleitores-here [ if not Vendeu_Voto? [ let F max list 0 ((first Faixa_Etaria?) - (ValorPropina / 100)) let L min list 1 ((last Faixa_Etaria?) + (ValorPropina / 100)) set Faixa_Etaria? replace-item 0 Faixa_Etaria? F set Faixa_Etaria? replace-item 1 Faixa_Etaria? L set Vendeu_Voto? true set Try_Buy_B Try_Buy_B + 1 ] ];end ask eleitores here set V V + 1 ];end while ];end ask Candidato 1 ];end ifelse Somente candidato perdedor ];end if not eleicao justa ;****************************************************** computando resultado das eleições ************************************************************************************** if (ticks mod Proxima_eleicao = 0) [ let Votos_Candidato_A? 0 let Votos_Candidato_B? 0 set Try_Buy_A 0 set Try_Buy_B 0 set Total_Vitoria_A 0 set Total_Vitoria_B 0 ask Eleitores [ set Vendeu_Voto? false let i random-float 1 ifelse i < first Faixa_Etaria? [ set Votos_Candidato_A? Votos_Candidato_A? + 1 ] [ set Votos_Candidato_B? Votos_Candidato_B? + 1 ]; end ifelse if Eleitores_Com_Memoria? [ ifelse i < %_Faixa_Etaria_01 [ set Faixa_Etaria? Faixa_Etaria_01 set Saude 0.10 set Educacao 0.25 set Emprego 0.40 set Red_Imposto 0.25 set Vendeu_Voto? false ] [ ifelse i < (%_Faixa_Etaria_01 + %_Faixa_Etaria_02) [ set Faixa_Etaria? Faixa_Etaria_02 set Saude 0.10 set Educacao 0.10 set Emprego 0.40 set Red_Imposto 0.40 set Vendeu_Voto? false ] [ ifelse i < (%_Faixa_Etaria_01 + %_Faixa_Etaria_02 + %_Faixa_Etaria_03) [ set Faixa_Etaria? Faixa_Etaria_03 set Saude 0.25 set Educacao 0.25 set Emprego 0.25 set Red_Imposto 0.25 set Vendeu_Voto? false ] [ set Faixa_Etaria? Faixa_Etaria_04 set Saude 0.40 set Educacao 0.25 set Emprego 0.25 set Red_Imposto 0.10 set Vendeu_Voto? false ]; end ifelse i < .83 ]; end ifelse i < .37 ];end ifelelse < 0.15 ]; end Eleitores_Com_Memoria ];end ask eleitores set Votos_Candidato_A Votos_Candidato_A? set Votos_Candidato_B Votos_Candidato_B? ifelse Votos_Candidato_A > Votos_Candidato_B [ output-print "Eleito Candidato A" set Total_Vitoria_A Total_Vitoria_A + 1 ] [ output-print "Eleito Candidato B" set Total_Vitoria_B Total_Vitoria_B + 1 ] ];end if ticks mod 100 tick end
There is only one version of this model, created over 9 years ago by elder silva.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
A model for purchase of votes at elections in Brazil.png | preview | Preview for 'A model for purchase of votes at elections in Brazil' | over 9 years ago, by elder silva | Download |
Info.pdf | info file | over 9 years ago, by elder silva | Download |
This model does not have any ancestors.
This model does not have any descendants.
Nelson Yego
Is the model running? (Question)
Wanted to find out if the model running?
Posted over 7 years ago
elder silva
Answer Nelson Yego
Hello Yeog We published a paper using this model, will be available next month. And we are currently working on a new version, using the last NetLogo version. You may contact us by email if you need any help or more information: elder0055@gmail.com
Posted over 7 years ago