Lesson 4 of 20
Attractors — how many fates does a cell have?
Fixed points, cycles, and 'a state already seen'
Here is an argument that is very simple and very strong.
The states are finite (2ⁿ of them).
Time is infinite.
The next state is completely determined by the present one.
→ therefore you must eventually meet a state you have already passed through.
→ and from that moment on you repeat the same road forever.
That repeating stretch is called an attractor. There are two kinds.
| Kind | Shape | Biological meaning |
|---|---|---|
| Fixed point (point attractor) | Stops on one state and never moves | A stable cell type |
| Cycle (cyclic attractor) | Goes round a few states periodically | The cell cycle, an oscillating signal |
The trick is storing which time step it was in
seen. If you only store whether you visited, you cannot recover where the cycle begins.
Python
Runs in your browser
Three starting points went to three different destinations.
Python
Runs in your browser
bn.canonical takes the lexicographically smallest rotation as the representative.
Python
Runs in your browser
🎮 Attractor bench
Pick a starting point and watch the trajectory get sucked into an attractor.
🤔 Check yourself
Why must a Boolean network always have an attractor?
Answer It is the pigeonhole principle. Wander forever through finitely many rooms and you must step into one twice. Since the system is deterministic, everything after that repeats.
🤔 Check yourself
Why record the states you have seen in a dictionary rather than a set?
Answer A set only tells you 'we have met this before'. To know where the loop starts you need the time of the visit.
🤔 Check yourself
What does the view 'cancer cells and normal cells use the same genome' imply?
Answer 'Possible in principle' is the accurate phrasing. Whether it works in practice, and how hard it is, gets weighed honestly in the last two lessons of this course.