Closed a-t-0 closed 1 year ago
Create a table with for m=0: Per node:
Then in snn verify per group of degree receivers of a node circuit, that the degree_receiver_<node>_<neighbour>_0
of the neighbour with the most countermarks spiked in round m=0.
Then for the next round:
TODO: determine who should have the following incoming values: (The node circuit degree receivers, or the degree_receivers pertaining to a neighbour equal to the node in the neumann algorithm).
Verify that the positive input into the degree_receiver_<node>_<neighbour>_m
coming from the previous round of degree receiver spikes, is equal to the marks at round m
of the neumann algorithm.
Then verify they all have received the same random number as positive input.
The issue was that the isomorphic graphs can have a different node ordering, leading to different number of nodes per neighbour. This different nr of neighbours was then used to create a different snn_algo, even though the results were compared based on the original input graph, which had different neighbours.
A solution was found by checking if the isomorphic input graph already exists, and if yes, loading that graph from file, to ensure all the nodes on the same isomorphic input graph are "the same".
Changed from:
to:
Because for larger graphs the rand initialisation led to identical degree_receiver
u
values at the first timestep.Yet changing leads to different neuman nodes. Either sync results or resolve otherwise.
Also did that for degree_receiver into degree_receiver.
For t = 94 on debug 3 at:
The
degree_receiver_2_0_1
spikes whereas neuman algo in:expects:
probably because the rand_ceil number is 1 off.