Lista de Netlogo actualizada a tiempo

Estoy escribiendo un código en Netlogo que básicamente debería hacer lo siguiente:

Entre los enlaces dirigidos, interactúe y busque su comportamiento cooperativo (coop_b).Almacene coop_b en una variable de lista junto con el tiempo de la interacción (reputación_ahora)Cada interacción, agregue la reputación ahora a una lista más grande, reputación_h (historial de reputación)Ahora, agregue un peso de tiempo a la reputación, para que las interacciones más recientes pesen más en la reputación total. Hago esto dividiendo el tiempo de encuentro de una interacción por la marca de tiempo actual, y luego multiplicándolo con el coop_b para recuperar una reputación ponderada para cada interacción. Esto se almacena en la lista reputación_h_w (reputaciones históricas ponderadas). La cuestión es que esta lista debe actualizarse cada vez que los miembros interactúan, de modo que las adiciones anteriores a la lista ahora se actualicen a la nueva marca de tiempo. Mi presentimiento es que aquí es donde entra mi código en la niebla (problemas representados debajo de la sección de código).

Mi código:

to horizontal_interact
  ask members [
    ;set random example variable for coop_b
    set coop_b random-float 5 ; coop-b stands for cooperation behavior
    if ticks > 0 [
    ask my-out-links [ ;there are directed links between all members
      set reputation_now (list [coop_b] of end2 ticks) ;list of coop_b and encounter time
      set reputation_h lput reputation_now reputation_h ; history of reputations, a list of all reputation_now recorded
      foreach reputation_h [ x ->

        let cooperative_behavior item 0 x
        let encounter_time item 1 x

        let reputation_now_w (list cooperative_behavior encounter_time (encounter_time / ticks ))


       ]
    ]
   ]
  ]

end

Si pruebo el contenido de reputación_h y reputación_h_w con 2 miembros, obtengo:

reputación_h es la variable coop_b del miembro y el tic del encuentro

links> show reputation_h
(link 1 0): 
[[4.0900840358972825 1] 
[0.8885953841506328 2] 
[0.47017368072392984 3]]

(link 0 1): [[3.6805257472366164 1] 
[3.6805257472366164 2] 
[3.4201458793705326 3]]

reputación_h_w (que contiene la variable coop_b del miembro, el tiempo de encuentro y el tiempo de encuentro dividido por los ticks):

links> show reputation_h_w

(link 0 1): [[3.6805257472366164 1 1] 
[3.6805257472366164 1 0.5] 
[3.6805257472366164 2 1] 
[3.6805257472366164 1 0.3333333333333333] 
[3.6805257472366164 2 0.6666666666666666] 
[3.4201458793705326 3 1]]

(link 1 0): [[4.0900840358972825 1 1] 
[4.0900840358972825 1 0.5] 
[0.8885953841506328 2 1] 
[4.0900840358972825 1 0.3333333333333333] 
[0.8885953841506328 2 0.6666666666666666] 
[0.47017368072392984 3 1]]

El problema es que reputación_h_w no tiene sentido para mí: en primer lugar, hay seis entradas en lugar de tres, y en segundo lugar, el tiempo de encuentro (elemento 1) y el tiempo / tics de encuentro (elemento 2) está desactivado.

¿Qué estoy haciendo mal aquí?

Respuestas a la pregunta(1)

Su respuesta a la pregunta