I have a network with three undirected link breeds
undirected-link-breed [ parentals parental ] undirected-link-breed [ diffusions diffusion ] undirected-link-breed [ simdiffusions simdiffusion ]
I have have fixed the seed and run my go procedure calling different procedures that always reproduce the output, as expected given the seed. My go procedure simply selects a turtle and then this turtle execute one of the available procedures. None of these procedures calls anything link-related. Everything works and I can reproduce a run given a seed, so I am quite confident that the code works.
I then have a last procedure that, when selected, breaks the random sequence and fails to reproduce the output across different runs. This time the calling turtle selected in GO calls the procedure below:
to network-mechanisms ;; THIS LINE BREAKS THE RNG let innovator-nei parental-neighbors with [typeof = "potter"] ;; THIS LINE DOES NOT BREAK THE RNG ;let innovator-nei other turtles with [typeof = "potter"] ask innovator-nei [ let my-nei parental-neighbors with [typeof = "potter"] if any? my-nei [ set attribute sum [centrality] of my-nei with [adopted-now?] / count my-nei set attribute 1 / (1 + exp (4 - 8 * attribute)) ] ] ask innovator-nei [ if random-float 1 < attribute [ adopt create-simdiffusion-with myself [set color red] ] ] end
If the calling turtle looks for its parental-neighbors, then something strange happens and the RNG sequence changes at every run, no matter the seed; while if the calling turtle calls all other turtles, then the RNG sequence is identical across runs... Is this a known problem when working with link-breeds?