The applet requires Java 5 or higher. Java must be enabled in your browser settings. Mac users must have Mac OS X 10.4 or higher. Windows and Linux users may obtain the latest Java from Oracle's Java site.


powered by NetLogo

WHAT IS IT?

Una segona entrega d'un model que intenta examinar com afecten diversos factors la decisió de vot individual entre unionisme i independentisme.
Factors que hi intervenen:
Temor i enuig: determinats a través dels botons lliscants pel propi usuari.
Balanç Costos-Beneficis de la independència segons grups d'edat: determinat per botons lliscants
Posicionament català-espanyol dels grups d'edat segons enquesta CEO d'abril 2014
Posionament dretes-esquerres dels grups d'edat segons enquesta CEO d'abril 2014
Correlació esquerra-sobiranisme: determinat per boto lliscant pel propi usuari.

HOW IT WORKS

A través del botó [setup] sorgeix la situació actual.
Primer de tot fem una distribució de 1023 individus (31x33 quadrets) entre unionistes (blaus, vot 0) i independentistes (vermells, vot 1).
Establim nivells d’enuig i temor a partir de diversos paràmetres (greuge-percebut, legitimitat-constitució, aversió-risc, probabilitat-catàstrofe) situats entre 0-10
Establim un nivell d’enuig donat per: enuig = greuge-percebut * (1 - legitimitat-constitució)
Establim un nivell de temor donat per: temor = aversió-risc * probabilitat-catàstrofe.
Establim proporcions grups d'edat segons enquesta CEO.
Adjudiquem valors CEO (0 català - 10 espanyol), (0 esquerra - 10 dreta) a grups d'edat.
Mirem grup edat i donem a cada agent un valor segons la distribució normal a partir de la proporció anterior de cada component (temor-enuig, interés, identitat, política).
Calculem pros-contres per agent. Si pros-contres > 0, l'agent és independentista, si 0 o < 0. és unionista.

Amb el boto [go] el model evoluciona en el temps (ticks)
Mirem la intenció de vot dels veïns. cada subjecte té 8 veïns, limita amb vuit quadrets. Si hi ha una majoria d'almenys 7/8 de veïns que voten una alternativa, el subjecte vota aquesta alternativa si el seu rebuig no supera 0.6 punts
Si son 6/8 parts favorables a l'independentisme o si són 6/8 favorables a l'unionisme (2/8), el subjecte vota aquesta alternativa si el seu rebuig no supera 0.3 punts
Si són 5/8 parts favorables a l'independentisme o si són 5/8 favorables a l'unionisme (3/8), el subjecte vota aquesta alternativa si el seu rebuig no supera 0.1 punts
Si hi ha empat a 4/8 parts només vota sí-sí quan activem el puls del sobiranisme i el seu rebuig no supera 0.3 punts

HOW TO USE IT

Primer col·loquem els botons lliscants (paràmetres).
El botó central-superior a 'slower'.
A continuació situem els diversos paràmetres (greuge-percebut, legitimitat-constitució, aversió-risc, probabilitat-catàstrofe) als valors entre 0-10 que volguem examinar.
Situem el percentatge d'agents dins de cada grup d'edat que considerem que obtindrien més beneficis que costos i, al contrari, més costos que beneficis. La resta fins arribar a 100 serien aquells en què beneficis = costos.
Situem la correlació que considerem que es dóna entre posicionament d'esquerres i soberanisme.

A continuació engeguem.
Premer [setup] ens donaria el resultat actual, premer [go] ens donaria l'evolució actual. Per aturar tornem a premer [go].
Podeu repetir el procés quantes vegades volgueu: paràmetres, setup, go, go.

THINGS TO NOTICE

La gent apareix progressivament homogèniament agrupada en zones de territori i arriba un moment que s'estabilitza la intenció de vot. Reflecteix una circumstància real del procés: no està guanyat.

Hi ha dos paràmetres que són més decisius que els altres per determinar el resultat final: un és la correlació esquerres-sobiranisme ja que la població catalana es declara majoriatàriament d'esquerres en les enquestes del CEO;  l'altre la probabilitat de catàstrofe (econòmica, política, internacional,...) ja que l'aversió al risc de la població és alta (hi ha realment coses a perdre).

THINGS TO TRY

Moveu els botons lliscants  i examineu els afectes que tenen sobre el territori i els percentatges. Què passaria si aconseguissin fer veure que la probabilitat de catàstrofe és molt alta? i si aconseguíssim assegurar més beneficis pels pensionistes? I si els majors de 50 anys veiessin tots la independència com un cost sense benfici?.
Podeu anar-vos fent preguntes i traslladar-les al model per veure l'efecte que tenen sobre el vot.

EXTENDING THE MODEL

Quins elements de les enquestes del CEO ens permetrien determinar els paràmetres greuge-percebut, legitimitat-constitució, aversió-risc, probabilitat-catàstrofe, d'una manera objectiva segons els resultats de l'enquesta?.

CREDITS AND REFERENCES

Basat en els models ‘Voting’ i ‘Rebellion’ de la llibreria que acompanya el NetLogo.

CODE

globals [
    threshold           ; by how much must pros > contres to make someone partidari consulta?
    n_aleatori          ;; número aleatori 0-100
    balanç              ;; diferència global enuig - temor
   
    gedat1              ;; proporció grup d'edat 18-24 dins la població total
    gedat2              ;; proporció grup d'edat 25-34
    gedat3              ;; proporció grup d'edat 35-49
    gedat4              ;; proporció grup d'edat 50-64
    gedat5              ;; proporció grup d'edat 65+
    ;; proporció respecte identitat i política segons CEO. id=identitat, pl=política
    ;; mitjana i desviació típica per grup d'edat
    idMitjana1
    idDesv1
    plMitjana1
    PlDesv1
    idMitjana2
    idDesv2
    plMitjana2
    PlDesv2
    idMitjana3
    idDesv3
    plMitjana3
    PlDesv3
    idMitjana4
    idDesv4
    plMitjana4
    PlDesv4
    idMitjana5
    idDesv5
    plMitjana5
    PlDesv5
    ;; els components costos-beneficis i enuig-temor els determinarem amb botons lliscants
]

patches-own [
  vote   ;; my vote (0 or 1)
  total  ;; sum of votes around me
  pconsulta?     ; if true, then partidari
  pgedat   ;grup d'edat adjudicat al patch individual
  pbalanç   ;; balanç pros-contres individual segons la distribució normal per agent
  llpVector   ;; llista valors sobre 10 dels components individuals del vector del patch
              ;; (costos-benficis,identitat,política,enuig-temor)
  penuig    ;greuge percebut * (1 - legitimitat constitució)
  ptemor   ;aversió al risc * probabilitat catàstrofe
  pcontres  ;producte contres
  ppros     ;producte pros
  ptotalpc  ;pros-contres d'un agent
  corSobEsq ;correlació entre ser d'esquerres i ser sobiranista segons boto lliscant 
]

to setup
  clear-all
  set threshold -0.1
  set balanç (enuig - temor)
  ;proporcions grups d'edat en enquesta CEO
  set gedat1 7.5   ;18 a 24
  set gedat2 15.7  ;25 a 34
  set gedat3 29.3  ;35 a 49
  set gedat4 23.9  ;50 a 64
  set gedat5 23.6  ;65+
  ; adjudicar grup d'edat als patchs segons proporció anterior
  ask patches [
    set n_aleatori random 100
    ifelse n_aleatori < gedat1
       [set pgedat 1]
       [ifelse n_aleatori < (100 - (gedat3 + gedat4 + gedat5))
           [set pgedat 2]
           [ifelse n_aleatori < (100 - (gedat4 + gedat5))
              [set pgedat 3]
              [ifelse n_aleatori < (100 - gedat4)
                 [set pgedat 4]
                 [set pgedat 5]
              ]
           ]
        ]
  ]
  ; adjudicar valors CEO (0 cat-10 esp), (0 esq - 10 dreta) a grups d'edat. Mitjana i desviació
  set idMitjana1 3.69
  set idDesv1 2.62
  set plMitjana1 3.41
  set PlDesv1 1.86
 
  set idMitjana2 3.61
  set idDesv2 2.67
  set plMitjana2 3.29
  set PlDesv2 2.12
 
  set idMitjana3 3.62
  set idDesv3 2.64
  set plMitjana3 3.55
  set PlDesv3 2.05
 
  set idMitjana4 3.71
  set idDesv4 2.73
  set plMitjana4 3.49
  set PlDesv4 2.04
 
  set idMitjana5 3.83
  set idDesv5 2.75
  set plMitjana5 4.13
  set PlDesv5 2.06
 
  ; adjudicar 3 primers components del vector al patch. Mirar grup edat i donar distribució normal
  ; segons proporció global de cada component (interés, identitat, política)
  ask patches [
     ifelse pgedat = 1
        [set llpVector (list (interes1) (random-normal idMitjana1 idDesv1) (random-normal plMitjana1 PlDesv1))]
        [ifelse pgedat = 2
             [set llpVector (list (interes2) (random-normal idMitjana2 idDesv2) (random-normal plMitjana2 PlDesv2))]
             [ifelse pgedat = 3
                 [set llpVector (list (interes3) (random-normal idMitjana3 idDesv3) (random-normal plMitjana3 PlDesv3))]
                 [ifelse pgedat = 4
                    [set llpVector (list (interes4) (random-normal idMitjana4 idDesv4) (random-normal plMitjana4 PlDesv4))]
                    [set llpVector (list (interes5) (random-normal idMitjana5 idDesv5) (random-normal plMitjana5 PlDesv5))]
                 ]
             ]
         ]
  ]
  ;calcular pros-contres per patch
  ask patches [
  ;distribució normal de l'enuig i producte dels components del vector-patch en tant que pros
  ;valor 10 representa: máxim benfici, màxim enuig
  ;valor 0 representa: màxim catalanisme, màxim esquerranisme
  ;corSobEsq distribució normal de lacorrelació catalanisme amb esquerres segons boto lliscant
    set corSobEsq random-normal correlació-esquerra-sobiranisme abs (correlació-esquerra-sobiranisme / 2)
    set penuig random-normal enuig abs (enuig / 2)
    set ppros abs item 0 llpVector * abs (10 - abs item 1 llpVector) * abs (corSobEsq - abs item 2 llpVector) * abs penuig
  ;distribució normal del temor i producte dels components del vector-patch en tant que contres
  ;valor 0 represdenta: màxim cost
  ;valor 10 represdenta: màxim espanyolisme, màxim dretanisme, màxim temor
    set ptemor random-normal temor abs (temor / 2)
    set pcontres abs (10 - abs item 0 llpVector) * abs item 1 llpVector * abs item 2 llpVector * abs ptemor
    set ptotalpc ppros + pcontres
    set pbalanç ((ppros / ptotalpc) - (pcontres / ptotalpc))
    ifelse pbalanç > 0 [set vote 1] [set vote 0]
    ;set pconsulta? (ppros - pcontres > threshold)
    recolor-patch
  ]
 
  reset-ticks
end

to recolor-patch  ;; patch procedure
  ifelse vote = 0
    [ set pcolor blue ]
    [ set pcolor red ]
end

to-report interes1
  set n_aleatori random 100
  ifelse n_aleatori < G1-B<C                ;;G1-B<C propoció a G1 d'agents amb B<C
       [report random-normal 2.5 1]         ;; amb un valor de 2.5 normal
       [ifelse n_aleatori < (100 - G1-B>C)  ;;propoció a G1 d'agents amb B=C
           [report random-normal 5 1]
           [report random-normal 7.5 1]     ;;else propoció a G1 d'agents amb B>C
        ]
end

to-report interes2
  set n_aleatori random 100
  ifelse n_aleatori < G2-B<C
       [report random-normal 2.5 1]
       [ifelse n_aleatori < (100 - G2-B>C)
           [report random-normal 5 1]
           [report random-normal 7.5 1]
        ]
end

to-report interes3
  set n_aleatori random 100
  ifelse n_aleatori < G3-B<C
       [report random-normal 2.5 1]
       [ifelse n_aleatori < (100 - G3-B>C)
           [report random-normal 5 1]
           [report random-normal 7.5 1]
        ]
end

to-report interes4
  set n_aleatori random 100
  ifelse n_aleatori < G4-B<C
       [report random-normal 2.5 1]
       [ifelse n_aleatori < (100 - G4-B>C)
           [report random-normal 5 1]
           [report random-normal 7.5 1]
        ]
end

to-report interes5
  set n_aleatori random 100
  ifelse n_aleatori < G5-B<C
       [report random-normal 2.5 1]
       [ifelse n_aleatori < (100 - G5-B>C)
           [report random-normal 5 1]
           [report random-normal 7.5 1]
        ]
end

to-report enuig
  report (greuge-percebut * (10 - legitimitat-constitució)) / 10 ;ventall de 0 a 10 (10*10/10)
end

to-report temor
   report (aversió-risc * probabilitat-catàstrofe) / 10
end



to go
  ask patches
    [ set total (sum [vote] of neighbors) ]
  ;; use two ask patches blocks so all patches compute "total"
  ;; before any patches change their votes
 
  ask patches [
    ifelse (total > 6) and (pbalanç > -0.6) [ set vote 1 ]
      [ifelse (total < 2) and (pbalanç < 0.6) [ set vote 0 ]
        [ifelse (total = 6) and (pbalanç > -0.3) [ set vote 1 ]
          [ifelse (total = 2) and (pbalanç < 0.3) [ set vote 0 ]
            [ifelse (total = 5) and (pbalanç > -0.1) [ set vote 1 ]
              [if (total = 3) and (pbalanç < 0.1) [ set vote 0 ]
 
               ]
              ]
            ]
          ]
        ]
       if (total = 4)
          [if adjudicar-plus-sobiranisme? and (pbalanç > -0.3)
              [ set vote 1 ]
          ]
      recolor-patch ]
  tick
end