chrxh / alien

ALIEN is a CUDA-powered artificial life simulation program.
https://alien-project.org
BSD 3-Clause "New" or "Revised" License
3.48k stars 106 forks source link

Token can't jump as expect #51

Closed RayAdas-GA-17 closed 1 year ago

RayAdas-GA-17 commented 1 year ago

image I create a cluster like the image. The three cells on the top can work normally that token can jump from 0, 1 to 2. The cell 2 is a computation so I use "mov BRANCH_NUMBER, 5" to make sure that the token can jump to cell 0. So the token can circle in these three cells, and it can form another token when passing through the cell 1. The new token can jump from cell 1 to cell 2(at the middle of the cluster). But it can't always jump from cell 2 to the two cell 3 as expect. It may disappear. Is this phenomenon normal? How can I make it jump from cell 2 to cell 3?

RayAdas-GA-17 commented 1 year ago

Here are two images that can show the problem. Q3{UAOAE@`D~5{W$MA J9E

712@7Q`OBSGZ88`@{734BW7

chrxh commented 1 year ago

Hi, This is because the tokens have an energy value and (like the cells) decay when it falls below a critical value. During forking, the energy of the tokens is also split. This can cause the energy value of the two successor tokens to fall below the critical threshold. Unfortunately, this fact is not documented yet.

In your case you can do 2 things:

Please let me know if it works in your case.

RayAdas-GA-17 commented 1 year ago

Thanks for your reply. I tried the two methods you mentioned, and they both worked. Thanks again for your help.