diario-de-prácticas-de-conducta-adaptativa

Upload: aitor-martinez

Post on 28-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    1/34

    Diario de prcticas de Conducta Adaptativa: introduccin aNetlogo

    Aitor Martnez Ortega

    Primer da

    Nociones bsicas sobre Netlogo

    Aunque se puede escribir tanto en la ventana de observador, en lapestaa ejecutar, como en la pestaa Cdigo, en observadortendramos que escribir los comandos cada vez, mientras que encdigo no hace falta, por lo que es ms cmodo escribir en lapestaa de cdigo!

    Caractersticas principales"#! $e usan micromundos en %&!%! Contienen agentes mviles, turtles, ' casillas estticas,patches, donde se desplazan los agentes!(! )as propiedades de estos agentes *o variables primitivas+son"

    Coordenadas e -, que cambian al moverse el agente!.rientacin!Color!

    /! 0ropiedades de las casillas *variables primitivas, tambi1n+son"

    2n una casilla puede haber ms de un agente!Coordenadas e -, no cambian!Color!

    3! $e pueden de4nir variables no primitivas como edad delagente, hambre del agente, etc!5! )os agentes perciben su entorno le'endo los valores desus variables, como leer el color de la casilla donde seencuentra, o la orientacin de otro agente!6! )os agentes act7an sobre su entorno cambiando losvalores de las variables de otros agentes ' casillas, como por

    ejemplo, pintar de amarillo la casilla de las c1lulas vecinas!8! )os agentes se mueven por su entorno!9! 0ara crear el micromundo en :etlogo"

    $e crean los agentes ' se les asignan propiedades!$e asignan valores de variables a las casillas!

    #;! 2l movimiento, percepcin ' conducta se de4nenmediante procedures que se aplican en paralelo *a todos losagentes, o a agentes de especies concretas+ ' de formarepetida!##! )os agentes pueden crear nuevos agentes *hatch+ 'matar agentes e

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    2/34

    como setupo go, o desde otra procedure! $e de4nenempezando con to' acabando con end! )as primitivas seranfunciones propias de :etlogo, como por ejemplo"

    Clear-all" inicializa el mundo!Create-turtles n [...]" crea un n7mero de agentes!

    Pop" =ndica la cantidad de agentes!Set variable valor" se asigna a la variable el valorindicado!Random n" da un n7mero aleatorio entre ; ' n>#!Setxy x y" asigna al agente las coordenadas!Random>separation" separacin mnima!Max-align-turn" mcoher>turn" msepar>turn" m

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    3/34

    %! $e observa un solo grupo coordinado, formando una 4la!ision 8, min>sep #, maalign>turn 3, macoher>turn (, masepar>turn #,3!

    (! :o se observa ning7n tipo de coordinacin! is (, min>sep/,%3, maalign>turn 3, macoher>turn (, masepar>turn #,3!

    /! $e observa un modelo parecido al de 4sin fusin, congrupos formndose ' separndose constantemente! is (,min>sep #, maalign>turn #(,3, macoher>turn (, masepar>

    turn #,3!

    3! $e forman grupos pequeos pero con poqusimaconsistencia en el tiempo! is (, min>sep #, maalign>turn 3,maturn #,3!

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    4/34

    5! :o se forman grupos pero ha' ciertos individuoscoordinados! is (, min>sep #, maalign>turn 3, macoher>turn (, masepar>turn #(,3!

    6! $e forma una bandada coordinada que suele separarse 'fusionarse con el tiempo! is 6, min>sep #, maalign>turn

    #3,%3, macoher>turn 3,%3, masepar>turn %,3!

    Modelo de or!igas "irt#ales $%N&S ('angton)

    Brata de simular la formacin de hormigueros ' movimiento delas hormigas en la naturaleza!

    Eemplo !! @eglas de conducta que siguen los agentes"#! Avanza un paso hacia delante!%! $i la posicin en la que te encuentras es negra,pntala de blanco ' gira 9; grados a la derecha!(! &e lo contrario, si la posicin en la que te encuentrases blanca, pntala de negro ' gira 9; grados a laizquierda!/! uelve al paso #!

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    5/34

    2l archivo de cdigo"

    to iniciacreate>turtles numset color redset heading 9;set

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    6/34

    set

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    7/34

    set color blue Dset heading ;setturtles numifelse Gho E ; set color red D set color blue Dset heading ;set

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    8/34

    set pcolor blacF lt 9; DDend

    :osotros vamos a disear, a partir de 1sta ' las dems prcticas, elmodelo Skill!#! 2l $Fill;# se dedicar a la conducta tr4ca, movimiento 'aprendizaje de habilidad!%! 2l $Fill;% se dedicar a las gr4cas de habilidad, hambre,alimentacin ' enviar los resultados a un archivo!(! 2l $Fill;( se dedicar al nacimiento, crecimiento, envejecimiento' muerte!

    M$%E&$ S'(&&

    S!""#$ )o hecho en esta sesin se marcar en color gris

    Cdigo entero"

    K ariables globales ' de agentes! )as variables siempre se ponenal principio!

    turtles>oGn K variables propias de los agentes

    hunger K tienen capacidad de tener hambre ;>#;;

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    9/34

    sFill K tienen la capacidad de tener la habilidad de comer ;,#*tienen la capacidad o no+ eating K comer ;,# *comen o no+ D

    patches>oGn K variables propias de los patches!food K ># E no contiene alimento! $i food vale menos uno, ah no

    habr nada que comer! $i food vale entre ; ' #;;, habra cosas quecomer! D

    to setupclear>all

    crt num>agents K se de4ne un n7mero de agentes, de4nido con elslider num>agents asF turtles setup>agentsD K les pedimos a los agentes que seinicialicen, con las instrucciones de to setup>agents!

    asF patchesset food ; > #

    if random #;; L prob>food set food random #;;

    set pcolor */; M 3 H food N #;;+ DK al principio de setup, no ha' comida, ' se asigna un numeroaleatorio del uno al cien, que si es menor que prob>food, se pondrcomida aleatoriamente del # al #;;, ' se asignar un color a eseparche! D K no se pueden poner n7meros negativos tal cual! ;># seria como>#! 2s como decir que cada vez que se haga setup de momento notienes comida! end

    to setup>agents K de4nir la variable de inicializacin de los agentes!

    set

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    10/34

    set sFill # D set color red set sFill ;

    D set shape OcrculoO set hunger random starve>threshold

    set eating ; end

    to go asF turtles go>turtlesDK atencin agentes, haced lo que pone entrecorchetes! asF patches go>patchesDK atencin parches, haced lo que poneentre corchetes!end

    to go>turtles moveK ha' que crearNde4nir estas variables increase>hungerK los puntos ' comas de las variables de delanteha' que quitarlos una vez se de4nen esas variables

    eat Klearnend

    to move lt random #;K el n7mero #; puede ser el que queramos, si loponemos a 3; por ejemplo, su giro hacia la izquierda ser ma'or rt random #; fd speedK avanza, si ponemos fd #E todos avanzarn a la misma

    velocidad *#,#+ si ponemosend

    to increase>hungerK haz que el hambre aumente *que valga elhambre que tena M incr>hambre+ set hunger *hunger M incr>hunger N #;;+K crear un slider Oincr>hungerO con esta variable incrementamos hunger por la variable

    incr>hunger

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    11/34

    if hunger P #;;K puede salir ms de #;; en la suma de arriba, asque decimos que si es ma'or de cien, tendr que poner #;;!

    set hunger #;;D if hunger P starve>threshold dieDK otra condicion, viene de4nida por el programa, que si el

    hambre es ma'or que el threshold de morirte de hambre, entonces,?QR@2B2!end

    to go>patchesK se pone comida en cada patch if food PE ;

    set food *food M groG>rate N #;;+K groG rate es la tasa decrecimiento, ha' que hacer un slider de esto! if food P #;; set food #;;D set pcolor */; M 3 H food N #;;+K pcolor es C.).@ &2) 0ABCI, nocolor de los agentesK esto es para que se asignen colores seg7n unatabla de :etlogo, que tienen diferente numero! /; es el negro, /3 esamarillo! /9,9 es blanco! Cada color tiene su n7mero! #;, %;, (;, /;son rojo, naranja ' marron respectivamente! Jueno, es el negro decada uno de esos colores! sera el S3 de cada uno!DK los corchetes pueden estar en 4las diferentes! $i la casilla es un

    lugar que contiene comida, pon que la comida vale esa comida M latasa de crecimiento pero que no pueda tener ms de #;;! $i es #;;poner #;;end

    to eatK hacer que coma, pero A:B2$, vamos a ponerles la comida,que es lo de go patches!if sFill E # and food P ;

    set eating # loopK todo lo que escribamos en el bucle este se va a repetir una 'otra vez set hunger *hunger > incr>hunger N #;;+K podriamos haber puestodism>hunger creando un slider, pero pasando, da igual, podemosusar el mismo, el de incr>hunger )a cosa es que, si tiene lacapacidad de comer ' ha' algo de comida, lo que hace el agente escomer pero su hambre disminu'e cuando come en loop!

    if hunger L ; set hunger ;D

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    12/34

    set eating #K al principio del todo ponia $2B 2AB=:T #, pero &2:[email protected] este bucle, $2B 2AB=:T #! 2s para saber cuantos estn comiendoset food *food > consumption>rate N #;;+K tasa de consumo haremosun slider de esto, consumption>rateif food L ;

    set food ;Dset pcolor */; M 3 H food N #;;+if hunger LE satiation>threshold or food E ;K escribir un slider parasatiation>threshold set eating ; stopDK esto sirve para parar el )..0!D set eating ;Dend

    to learn let < ;K para permitir usar una variable local < if sFill E # stopD if count turtles>here P # set < one>of turtles>hereK < es una variable de usar ' tirar,

    variable local o variable tonta if < UE GhoK UE signi4ca no igual! o' a pedir a ese individuo < sies habil ' si est comiendo if *sFillD of hereK pedir al agente contar cuantos agentes ha' enla casilla en la que est Kone>of turtles>hereK escoger uno de esos individuos que estn

    contigo, al azar!

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    13/34

    S!""#% )o hecho en esta sesin se marcar en color naranja! )odems en color gris!

    Cdigo entero"

    K ariables globales ' de agentes! )as variables siempre se ponen alprincipio!

    turtles>oGn K variables propias de las tortugas!

    hunger K ;>#;; sFill K ;,# *algunos son eating K ;,# *algunos tienen la habilidad de comer ' otros no, oalgo as+

    D

    patches>oGn K variables propias *oGn+ de los patches!food K ># E no contiene alimento! $i food vale menos uno, ah no

    habr nada que comer! $i food vale entre ; ' #;;, habra cosas quecomer! 2so se programa luego D

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    14/34

    to setupclear>all

    crt num>agents K n7mero de agentes, de4nido con un slider!asF turtles setup>agentsD K les pedimos a los agentes que se

    inicialicen, con las instrucciones de to setup>agents!

    asF patchesset food ; > #

    if random #;; L prob>food set food random #;; set pcolor */; M 3 H food N #;;+ DK esto signi4ca algo asi como que al principio de setup, no ha'comida, ' se asigna un numero aleatorio del uno al cien, que si esmenor que prob>food, , poner comida aleatoriamente del # al #;;, 'asignar un color a ese parche! D set esp O O reset>ticFsK para que cuente el tiempo set time ;Kesto es para la variable time K no se pueden poner numeros negativos tal cual! ;># seria como>#! 2s como decir que cada vez que se haga setup de momento notienes comida! setup>results

    end

    to setup>agents K de4nir la variable de inicializacin de los agentes! setsFilled K elige un valor entre ; ' #;;, 'si es menor a prob>sFilled *de4nida por valor en slider+ entonces setcolor green, else set color red! set color green set sFill #

    D set color red set sFill ; D set shape OcrculoO set hunger random starve>threshold

    set eating ; end

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    15/34

    to go asF turtles go>turtlesDK atencin tortugas, haced lo que pone entrecorchetes!

    asF patches go>patchesDK atencin parches, haced lo que poneentre corchetes! 0atches creo que es comida! update>variables

    update>resultsK para eso de los resultados, ponerlos en un archivopa verlos ticFK adelanta un paso el reloj if *time E matime+ or *n>alive E ;+

    eoutput Oresultados!tturtles moveK ha' que crearNde4nir estas variables increase>hungerK los puntos ' comas de las variables de delanteha' que quitarlos una vez se de4nen esas variables

    eat learnK se quita el punto ' coma de delante, porque se de4nir lavariableend

    to move lt random #;K el n7mero #; puede ser el que queramos, si loponemos a 3; por ejemplo, su giro hacia la izquierda ser ma'or

    rt random #; fd speedK avanza, si ponemos fd #E todos avanzarn a la mismavelocidad *#,#+ si ponemosend

    to increase>hungerK haz que el hambre aumente *que valga elhambre que tena M incr>hambre+

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    16/34

    set hunger *hunger M incr>hunger N #;;+K crear un slider Oincr>hungerO con esta variable incrementamos hunger por la variableincr>hunger if hunger P #;;K puede salir ms de #;; en la suma de arriba, asque decimos que si es ma'or de cien, tendr que poner #;;! )os ifs

    estos siempre van as" if M condicion > condicionD set hunger #;;D if hunger P starve>threshold dieDK otra condicion, viene de4nida por el programa, que si elhambre es ma'or que el threshold de morirte de hambre, entonces,?QR@2B2!end

    to go>patches if food PE ;

    set food *food M groG>rate N #;;+K groG rate es la tasa decrecimiento, ha' que hacer un slider de esto! if food P #;; set food #;;D set pcolor */; M 3 H food N #;;+K pcolor es C.).@ &2) 0ABCI, nocolor de las cosas que ha'K esto es para una movida de los colores,que tienen diferente numero! /; es el negro, /3 es amarillo! /9,9 esblanco! Cada color tiene su movida! #;, %;, (;, /; son rojo, naranja

    ' marron respectivamente! Jueno, es el negro de cada uno de esoscolores! sera el S3 de cada uno!DK los corchetes pueden estar en 4las diferentes! $i la casilla es un

    lugar que contiene comida, pon que la comida vale esa comida M latasa de crecimiento pero que no pueda tener ms de #;;! $i es #;;poner #;;end

    to eatK hacer que coma, pero A:B2$, vamos a ponerles la comida,que es lo de go patches!if sFill E # and food P ; Kset eating # loopK todo lo que escribamos en el bucle este se va a repetirforever and ever set hunger *hunger > incr>hunger N #;;+K podriamos haber puestodism>hunger creando un slider, pero pasando, da igual, podemos

    usar el mismo, el de incr>hunger )a cosa es que, si tiene la

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    17/34

    capacidad de comer ' ha' algo de comida, lo que hace el pavo escomer pero su hambre disminu'e cuando come en loop! if hunger L ; set hunger ;Dset eating #K al principio del todo ponia $2B 2AB=:T #, pero &2:B@.

    de este bucle, $2B 2AB=:T #! 2s para saber cuantos estn comiendoset food *food > consumption>rate N #;;+K tasa de consumo haremosun slider de estoUUif food L ;set food ;Dset pcolor */; M 3 H food N #;;+if hunger LE satiation>threshold Kor food E ;K escribir un slider parasatiation>threshold Kset eating ; stopDK esto sirve para parar el )..0!D set eating ;Dend

    to learn let < ;Kpara permitir usar una variable local here P # set < one>of turtles>hereK < es una variable de usar ' tirar,variable local, variable tonta if < UE GhoKUE signi4ca no igual! o' a pedir a ese individuo < sies habil ' si est comiendo if *sFillD of

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    18/34

    KGhoK identi4cacion de cada agente Kcount turtles>hereK pedir al agente contar cuantos agentes ha' enla casilla en la que est Kone>of turtles>hereK escoger uno de esos individuos que estncontigo, al azar!

    globals n>aliveK para ver el n7mero de agentes que estn vivos n>sFilledK para ver los que son habilidosos n>unsFilledK para ver los que no son habilidosos *para comer+ mean>hunger>sFilledKmedia de hambre de los habiles mean>hunger>unsFilledK media de hambre de no habiles timeK para que se pare la simulacin en un cierto momento esp D

    to update>variables

    set n>alive count turtles

    set n>sFilled count turtles Gith sFill E #D

    set n>unsFilled count turtles Gith sFill E ;DKtambi1n puedeponerse n>alive > n>sFilled

    set mean>hunger>sFilled ; if n>sFilled P ; set mean>hunger>sFilled mean hungerD of turtles Gith sFill E #DD

    set mean>hunger>unsFilled ; if n>unsFilled P ; set mean>hunger>unsFilled mean hungerD of turtles Gith sFill E;DD

    end

    to update>results t'pe n>alive t'pe espK esp es una variable que es espacio enblanco, en vez de poner t'pe O O que seria un espacio en blancopara ordenar los t'pes ' que no se vean como

    K

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    19/34

    t'pe time t'pe espK para que se haga un print de lo hecho en unarchivo aparte de teresults t'pe OivosO t'pe esp t'pe OBiempoO t'pe esp t'pe OIbiles OK con espacio en blanco o poniendo t'pe esp 2$=TQA), puedes poner lo mismo t'pe O:oShbiles O t'pe O?ediaSIbilesSconSIambre O t'pe O?ediaSnoSIbilesSconSIambreO print espend

    Kcomo hacer que se pare el programa,a los %;;; ticFs, se aadeuna variable en globals ' se describe!

    K para hacer que guarde en noseque momentos qu1 variablesqueremos a cierto tiempo, en un archivo!

    S!""#& )os hecho en esta sesin se marcar en color azul! )odems en color gris!

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    20/34

    Cdigo entero"

    K ariables globales ' de agentes! )as variables siempre se ponen alprincipio!

    turtles>oGn K variables propias de las tortugas!

    hunger K ;>#;; sFill K ;,# *algunos son eating K ;,# *algunos tienen la habilidad de comer ' otros no, oalgo as+ ageK entre ;>3; aos breedingK ;N# se reproducen o no D

    patches>oGn K variables propias *oGn+ de los patches!food K ># E no contiene alimento! $i food vale menos uno, ah no

    habr nada que comer! $i food vale entre ; ' #;;, habra cosas quecomer! 2so se programa luego D

    breed females femaleDK del tipo females ha' un ejemplo que sellama female! &e insectos ha' varios ejemplos! &e hembras solo ha'un ejemplo, pero podra haber ms!

    breed males maleD

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    21/34

    to setupclear>all

    crt num>agents K n7mero de agentes, de4nido con un slider!asF turtles setup>agentsD K les pedimos a los agentes que se

    inicialicen, con las instrucciones de to setup>agents!asF patchesset food ; > #

    if random #;; L prob>food set food random #;; set pcolor */; M 3 H food N #;;+ DK esto signi4ca algo asi como que al principio de setup, no ha'comida, ' se asigna un numero aleatorio del uno al cien, que si esmenor que prob>food, , poner comida aleatoriamente del # al #;;, 'asignar un color a ese parche! D set esp O O reset>ticFsKpara que cuente el tiempo o algo asi set time ;Kesto es para la variable time K no se pueden poner numeros negativos tal cual! ;># seria como>#! 2s como decir que cada vez que se haga setup de momento notienes comida! setup>results

    end

    to setup>agents K de4nir la variable de inicializacin de los agentes! setsFilled K elige un valor entre ; ' #;;, 'si es menor a prob>sFilled *de4nida por valor en slider+ entonces setcolor green, else set color red!

    set color green set sFill # D

    set color red set sFill ; D

    ifelse *random #;;+ L prob>femaleK slider entre ;>#;; set breed femalesD

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    22/34

    set breed malesD set age random life>ehungerK los puntos ' comas de las variables de delante

    ha' que quitarlos una vez se de4nen esas variables eat learn groGK esta vez se reproducen reproduceK ' tambi1n crecenend

    to move

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    23/34

    lt random #;K el n7mero #; puede ser el que queramos, si loponemos a 3; por ejemplo, su giro hacia la izquierda ser ma'or rt random #; fd speedK avanza, si ponemos fd #E todos avanzarn a la mismavelocidad *#,#+ si ponemos

    end

    to increase>hungerK haz que el hambre aumente *que valga elhambre que tena M incr>hambre+ set hunger *hunger M incr>hunger N #;;+K crear un slider Oincr>hungerO con esta variable incrementamos hunger por la variableincr>hunger if hunger P #;;K puede salir ms de #;; en la suma de arriba, asque decimos que si es ma'or de cien, tendr que poner #;;! )os ifsestos siempre van as" if M condicion > condicionD set hunger #;;D if hunger P starve>threshold dieDK otra condicion, viene de4nida por el programa, que si elhambre es ma'or que el threshold de morirte de hambre, entonces,?QR@2B2!end

    to go>patches if food PE ;

    set food *food M groG>rate N #;;+K groG rate es la tasa decrecimiento, ha' que hacer un slider de esto! if food P #;; set food #;;D set pcolor */; M 3 H food N #;;+K pcolor es C.).@ &2) 0ABCI, nocolor de las cosas que ha'K esto es para una movida de los colores,que tienen diferente numero! /; es el negro, /3 es amarillo! /9,9 es

    blanco! Cada color tiene su movida! #;, %;, (;, /; son rojo, naranja' marron respectivamente! Jueno, es el negro de cada uno de esoscolores! sera el S3 de cada uno!

    DK los corchetes pueden estar en 4las diferentes! $i la casilla es unlugar que contiene comida, pon que la comida vale esa comida M latasa de crecimiento pero que no pueda tener ms de #;;! $i es #;;poner #;;end

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    24/34

    to eatK hacer que coma, pero A:B2$, vamos a ponerles la comida,que es lo de go patches!if sFill E # and food P ; Kset eating #

    loopK todo lo que escribamos en el bucle este se va a repetirforever and ever set hunger *hunger > incr>hunger N #;;+K podriamos haber puestodism>hunger creando un slider, pero pasando, da igual, podemosusar el mismo, el de incr>hunger )a cosa es que, si tiene lacapacidad de comer ' ha' algo de comida, lo que hace el pavo escomer pero su hambre disminu'e cuando come en loop! if hunger L ; set hunger ;Dset eating #K al principio del todo ponia $2B 2AB=:T #, pero &2:[email protected] este bucle, $2B 2AB=:T #! 2s para saber cuantos estn comiendoset food *food > consumption>rate N #;;+K tasa de consumo haremosun slider de estoUUif food L ;set food ;Dset pcolor */; M 3 H food N #;;+if hunger LE satiation>threshold Kor food E ;K escribir un slider parasatiation>threshold Kset eating ;

    stopDK esto sirve para parar el )..0!D set eating ;Dend

    to learn let < ;K para permitir usar una variable local here P # set < one>of turtles>hereK < es una variable de usar ' tirar,variable local, variable tonta if < UE GhoK UE signi4ca no igual! o' a pedir a ese individuo < sies habil ' si est comiendo if *sFillD of

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    25/34

    set sFill # set color green D D

    D end

    to groGKse de4ne la variable crecer Kincr>ageK slider Klife>enormal life>estdv dieDend

    Krandom>normal m dK esto signi4ca que si m, la media, es 3; ' d escinco, la desviacion estandard, hace una distribucion!

    to reproduceK se de4ne la variable para tener cras let < ;Kvariable local de usar ' tirar ifelse *age PE fertile+ and *random #;; L prob>reproduce+

    set breeding #D set breeding ;D

    if breeding E ; stopDKsi breeding tu'o es cero, AB@V$, 2B2!

    if *breed E females+ and *count males>here PE #+ set < one>of males>here

    if *< UE :.J.&-+ and * eatingD of born D D

    if *breed E males+ and *count females>here PE #+ set < one>of females>here

    if *< UE :.J.&-+ and *eatingD of

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    26/34

    asF < be>bornD D DKlo mismo pero en lugar de decirle que se reproduzca le dice quede a luz!

    end

    to be>born hatch #K crear un agente a su lado, dar a luz a su lado set age incr>age N #;; set sFill ; ifelse random #;; L prob>female set breed femalesD set breed malesD DendKfertileK ;>3; sliderKprob>reproduceK slider ;>#;;! $i tiene edad fertil ' suerte

    reproduciendose!

    KGhoK identi4cacion de cada agente Kcount turtles>hereK pedir al agente contar cuantos agentes ha' enla casilla en la que est

    Kone>of turtles>hereK escoger uno de esos individuos que estncontigo, al azar!

    globals n>aliveK pa ver los que estn vivos n>sFilledK pa ver los que son habilidosos n>unsFilledK pa ver los que no son habilidosos *para comer+ mean>hunger>sFilledK media de hambre de los habiles mean>hunger>unsFilledK media de hambre de no habiles

    timeK para que se pare la simulacion en un cierto momento esp n>males n>females mean>age>sFilled mean>age>unsFilled D

    to update>variables

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    27/34

    set n>alive count turtles

    set n>sFilled count turtles Gith sFill E #D

    set n>unsFilled count turtles Gith sFill E ;DK tambi1n puede

    ponerse n>alive > n>sFilled

    set mean>hunger>sFilled ; if n>sFilled P ; set mean>hunger>sFilled mean hungerD of turtles Gith sFill E #DD

    set mean>hunger>unsFilled ; if n>unsFilled P ; set mean>hunger>unsFilled mean hungerD of turtles Gith sFill E;DD

    Kset n>males Kset n>females Kset mean>age>sFilled

    Kset mean>age>unsFilled

    end

    to update>results t'pe n>alive t'pe espK esp es una variable que es espacio enblanco, en vez de poner t'pe O O que seria un espacio en blancopara ordenar los t'pes ' que no se vean como K t'pe time t'pe espK teclea cosas

    t'pe n>sFilled t'pe esp t'pe n>unsFilled t'pe esp Kt'pe n>males Kt'pe n>females Kt'pe mean>age>sFilled

    Kt'pe mean>age>unsFilled

    t'pe precision mean>hunger>sFilled % t'pe esp t'pe precision mean>hunger>unsFilled % print espK print para queva'an en lineas diferentes! )o de precision % es para decimales!,&.$ &2C=?A)2$ $.).

    end

    to setup>results

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    28/34

    t'pe OivosO t'pe esp t'pe OBiempoO t'pe esp t'pe OIbiles OK con espacio en blanco o poniendo t'pe esp 2$=TQA), puedes poner lo mismo t'pe O:oShbiles O

    t'pe O?ediaSIbilesSconSIambre O t'pe O?ediaSnoSIbilesSconSIambreO print espend

    )ista de sliders"

    )ista de contadores"

    'areas realizadas en casa

    -a en casa, he de4nido las variables n>males, n>females, mean>age>sFilled ' mean>age>unsFilled, como se muestra en lassiguientes capturas de pantalla, de tal manera que los resultados delas simulaciones puedan ser eresults ' to setup>results, a un archivo de te

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    29/34

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    30/34

    0or lo tanto, al realizar una simulacin se podrn obtener losresultados en otros formatos! $e adjuntar como ejemplo una tablade 2

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    31/34

    )os adultos son los rojos, los grises los teenagers!

    $e crearon dos gr4cas para indicar el n7mero de agentes encuanto a g1nero ' en cuanto a su habilidad para alimentarse,adems de las que se hicieron en clase!

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    32/34

    0ara probar el modelo, vo' a realizar un mini elearn a cero+, el n7mero de individuos hbiles ' no hbilesdisminuir a la par, aunque habr ms individuos hbiles, 'a queson capaces de comer! $in embargo, cuando la probabilidad deaprender sea mu' alta, habr considerablemente ms individuoshbiles que no hbiles, lo que se ver en la gr4ca! A su vez, nohabr cambios en la gr4ca de n7mero de machos ' hembras!

    0robabilidad de aprender al #;;W!

    )os resultados se adjuntarn en un e

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    33/34

    0robabilidad de aprender al ;W!

  • 7/25/2019 Diario-de-prcticas-de-Conducta-Adaptativa

    34/34

    $e puede observar que, a priori, comparando las gr4cas, pareceque se cumple la hiptesis de que si la probabilidad de aprender esdel #;;W, el n7mero de agentes hbiles no disminu'e como el deno hbiles! 2s decir, parece que, a priori, el modelo funcionacorrectamente!