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

view/download model file: homes1.nlogo

QUÈ ÉS AIXÒ?

Això és un model d’un procés social evolutiu. El podríem entendre com la consolidació social d’unes determinades idees ètiques. Tres tipus d’agents s’han de dividir un recurs comú. En el model original és un pastís, però, alternativament, podem pensar-lo com a planta comestible o com a recurs disponible. El seu color és el verd. Els tres tipus d’agents són: modest, just o equitatiu i golafre o cobdiciós. Els agents es mouen pel territori competint per herba, pels recursos. Els agents necessiten l’herba per viure i reproduir-se. En el transcurs del temps, els tipus d’agents que aconsegueixen més herba tendiran a augmentar en nombre.

La qüestió que m’ha motivat a construir-lo és pensar en les condicions socials que afavoreixen la presència de comportaments justos o equitatius (pensant en el fet que una societat justa demana individus justos).

COM FUNCIONA

Els agents es mouen pel territori cercant recursos (i acumulant energia) segons: mobilitat * (1 - dificultat-mobilitat), pensant en la capacitació laboral i en les dificultats per trobar feina. Els trossos de territori on hi ha recursos són de color verd, els trossos de territori on no hi ha recursos són de color grog. Quan els agents consumeixen els recursos d’un tros, ells incrementen la seva energia i el tros necessita temps-recuperació-recursos per tornar a ser productiu.

Hi ha agents justos (vermell), agents modests (marró) i agents cobdiciosos o golafres (blau). Els agents justos intenten menjar la meitat de l’herba del tros, els agents modestos intenten menjar una tercera part de l’herba del tros, i els cobdiciosos intenten menjar dos-terços de l’herba. Si en el tros hi ha recursos (és de color verd) i la quantitat total demanada pels agents no supera el 100%, cada agent aconsegueix la seva part dels recursos del tros. Altrament tots els agents del tros moren.

Quan a més d’aconseguir el menjar, hi ha només dos agents en un tros amb recursos llavors entren en una loteria de reproducció basada en la seva apetència: com més gran l’apetència, més gran la possibilitat de reproducció. Aquest factor dóna avantatge als agents amb un apetit més gran (cobdiciosos); però fa també que aquests tinguin el desavantatge d’entrar més sovint en conflicte i morir. Quan es reprodueixen, els agents perden la meitat de la seva energia acumulada.

A cada pas, cada agent consumeix una unitat d’energia i cada tros de territori en recuperació, escurça un torn el temps per tornar a ser productiu.

COM UTILITZAR-LO

Primer de tot establim les condicions inicials a experimentar, movent els botons lliscants corresponents:

NOMBRE-INICIAL: Crea aquest número de tortugues repartides en els tres tipus d’agents segons les proporcions que establim en els botons de proporció

DIFICULTAT-MOBILITAT: Aquest valor limita les iniciatives de mobilitat dels agents

MOBILITAT: Aquest valor determina en número de passes al voltant que por fer un agent en cada cicle

TEMPS-RECUPERACIÓ-RECURSOS: El temps que triga un tros de territori a recuperar els recursos extrets.

MODESTS-PROPORCIÓ, EQUITATIUS-PROPORCIÓ, GOLAFRES-PROPORCIÓ: Aquests botons lliscants determinen les proporcions dels tres tipus d’agents dins del número inicial d’agents. Fixeu-vos que els números reals escollits per aquestes tres variables són irrellevants – només la proporció entre els tres números compta per al repartiment dins el NÚMERO INICIAL d’agents. Per exemple, els enquadraments de proporció “1 1 1” produiran, més o menys, números iguals de cada tipus, igual que els enquadraments “79 79 79” o qualssevol altres en la mateixa relació. Així mateix, l’enquadrament “0 0 1” no és diferent de “0 0 88”, etc

MÉS-ENERGIA-PER-CONSUM: Valor de l’energia que obté l’agent per cada unitat del tros consumida

A continuació cliquem

SETUP: Inicialitza els agents i els trossos amb les condicions inicials establertes anteriorment.

I finalment:

GO: Engega i para el model.

COSES A REMARCAR

En aquest model:

El consumisme crea súbdits. La productivitat dels trossos (MÉS-ENERGIA-PER-CONSUM) afecta profundament la població de modestos, que desapareixen per sota de determinat nivell i esdevenen majoritaris per sobre de determinat nivell.

L’origen del mal social està en els cobdiciosos o golafres. Quan disminueix la proporció de cobdiciosos, la població creix i el tipus equitatiu esdevé àmpliament majoritari.

Diria que la mobilitat amplifica o redueix, segons sigui molta o poca, l’efecte dels factors anteriors.

En una societat de justos caldrà un control conscient del nombre de la població. Quan els equitatius esdevenen àmpliament majoritaris la població creix fins a xocar amb els recursos disponibles en un procés oscil·latori.

COSES A PROVAR

Canvieu les proporcions inicials de les poblacions. El model depèn d’aquestes proporcions. La proporció de cobdiciosos afecta especialment el conjunt.

Canvieu TEMPS-RECUPERACIÓ-RECURSOS. Això apunta als efectes de l’us de recursos renovables o no-renovables.

Canvieu MÉS-ENERGIA-PER-CONSUM. Aquest és el factor clau del model: L’energia disponible per habitant.

EXPANDINT EL MODEL

La mort podria representar aquí l’abandonament de les idees pròpies. Caldria afinar el procés pel qual es produeix el canvi de mentalitats.

MODELS RELACIONATS

Altruism, Cooperation, Divide The Cake

CRÈDITS I REFERÈNCIES

This model is based on William Harms’s “Divide the Cake” model, described in Brian Skyrms’s book “The Evolution of the Social Contract”.

COPYRIGHT I LLICÈNCIA

Copyright 2014 Joan Juhé.

CC BY-NC-SA 3.0

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

CODE


turtles-own [
apetència
;;reflecteix el comportament dels tipus d'agents: ;; 2, subdits modest; 3, democ just; 4, oligar golafre ;; true or false for "is it my turn to run the 'eat' procedure?," will help us manage ;; the behavior of turtles who are on the same patch. turn? energy ] patches-own [countdown] ;;compte enrera per el patch recuperar-se to setup
ca ask patches [
set countdown random temps-recuperació-recursos ;; temps de recuperació recursos set pcolor one-of [green yellow] ] ;;distribució aleatòria de recursos setup-turtles reset-ticks end to setup-turtles
let total (modests-proporció + equitatius-proporció + golafres-proporció)
crt nombre-inicial
[
set energy random (2 * més-energia-per-consum) ;;energia inicial agents setxy random-xcor random-ycor let n_aleatori random-float 1.0 ;;distribució aleatòria dels tipus d'agents ifelse n_aleatori < (equitatius-proporció / total) ;;segons les proporcions establertes [ set apetència 3 set color red ]
[
ifelse n_aleatori < ((total - golafres-proporció) / total)
[
set apetència 2 set color brown ]
[
set apetència 4 set color blue ] ] ]
end to go
;; Main loop - agents move around and eat the grass ;; Here all agents receive a 'true' value for their 'turn?' Boolean variable. ;; Later, in the 'eat' procedure, only a single turtle of turtle pairs who are on the same patch will get to use this value. ask turtles [ set turn? true move set energy energy - 1 ;;energia gastada pels agents en un cicle eat if energy < 0 [ die ]]
ask patches [recupera-recursos] ;;creixement natural dels recursos (patchs) tick end to move ;; turtle procedure ;; Agents move in random directions every turn, at least one patch per turn. rt random-float 360 ;; Note that 'mobilitat' is scaled down by the (1 - dificultat-mobilitat) factor. fd 1 + (mobilitat * (1 - dificultat-mobilitat)) ;; end to eat ;; turtle procedure ;;Si hi ha recursos i no demanen més del 100%, mengen proporcionalment a la seva apetència ;;Si la seva demanda supera el 100%, moren if pcolor = green [
ifelse (6 >= sum [apetència] of turtles-here)
[
if apetència = 2 [set energy (energy + més-energia-per-consum / 3)]
if apetència = 3 [set energy (energy + més-energia-per-consum / 2)]
if apetència = 4 [set energy (energy + més-energia-per-consum * 2 / 3)]
;; Only where there is exactly a pair of turtles on a patch are both turtles eligible to reproduce. if (count turtles-here = 2) and turn? [
ask turtles-here ;;per cada tortuga a patch repetirem el conjunt-d'agents [ reproduce set turn? false ] ;;però posant turn? a false eliminem la repetició ] ] [ask turtles-here [ die ] ]
redueix-recursos
]
set turn? false end to reproduce ;; turtle procedure ;; Note that the higher a turtle's apetència value, the higher are its chances of reproduction. if (random 6) < apetència [
hatch 1 [ rt random-float 360 fd 1 ]
set energy (energy / 2) ]
end to redueix-recursos
if pcolor = green [set pcolor yellow]
end to recupera-recursos
if pcolor = yellow [
ifelse countdown <= 0
[
set pcolor green set countdown random temps-recuperació-recursos ]
[
set countdown countdown - 1 ]
]
end