Strona głównaArtykułySimulation & Modeling

Automaty Komórkowe: Utrzymywanie i Rozpad Wzorców

Model automatu komórkowego Conwaysa, z jego stałą siatką i prostymi regułami interakcji między sąsędzimi komórkami, demonstruje, jak proste systemy mogą generować złożone wzorce, a także jak te wzorce mogą się rozprzestrzeniać lub zanikać.

mysimulator teamZaktualizowano — czerwiec 2026≈ 8 min czytania▶ Otwórz symulację

A genome as a switching circuit

In 1969, biologist Stuart Kauffman proposed a wildly simplified model of gene regulation: treat each gene as a binary switch, on or off, updated at each tick based on the state of a small, fixed number of other genes that regulate it. He called it the NK model — N nodes, each listening to K randomly chosen inputs, each governed by a randomly assigned Boolean rule. It throws away every biochemical detail on purpose, to ask a purely structural question: given only how many things influence each gene, what kinds of long-run behaviour are even possible?

The model, precisely

N nodes, each in state 0 or 1 (off / on) for each node i: choose K OTHER nodes at random → node i's "inputs" assign a RANDOM Boolean truth table with K inputs and 1 output (2^(2^K) possible tables to choose from — e.g. 16 possible tables when K=2) UPDATE RULE (synchronous, every node at once): new_state[i] = truthTable[i]( state[input_1], state[input_2], ..., state[input_K] ) Every node updates simultaneously from the same snapshot, exactly like the Game of Life on this site — this synchrony matters, because it makes the whole network a deterministic function from one of 2^N possible states to another. Deterministic dynamics on a finite state space has an inescapable consequence: starting anywhere, the trajectory must eventually revisit a state it has already seen, at which point it locks into a periodic attractor cycle and repeats it forever.

N nodes, each in state 0 or 1 (off / on)

for each node i:
  choose K OTHER nodes at random  →  node i's "inputs"
  assign a RANDOM Boolean truth table with K inputs and 1 output
  (2^(2^K) possible tables to choose from — e.g. 16 possible tables when K=2)

UPDATE RULE (synchronous, every node at once):
  new_state[i] = truthTable[i]( state[input_1], state[input_2], ..., state[input_K] )
demo na żywo · powiązana symulacja● LIVE

Dlaczego K decyduje o wszystkim

Pojedynczy parametr połączenia K — liczba wejść podłączonych do każdego węzła — okazuje się kontrolować, czy małe zakłócenie ulegnie zanikowi, czy też wybuchnie:

K = 1 ZALEŻNY małe zakłócenia szybko wygaspują; sieć zamraża się w krótkie cykle przyciągania; większość węzłów zablokowuje się na stałą wartość

K = 2 KRITICALNY "brzeg chaosu" — zakłócenia ani nie giną niezawodnie, ani nie rosną niezawodnie; długości przyciągania skalują się w przybliżeniu z √N

K ≥ 3 CHAOTYCZNY jedno odwrócone bity zazwyczaj rozprzestrzenia się przez dużą część sieci w ciągu kilku kroków; długości przyciągania mogą wykładniczo rosnąć wraz z N

Intencją jest, jak daleko rozchodzi się wpływ na każdym kroku. Przy K = 1 każdy węzeł reaguje tylko z jednym innym węzłem, więc wpływ zakłócenia rozprzestrzenia się wzdłuż cienkiej, łatwo przerwanego łańcucha i zazwyczaj wygaspuje. Z większym K każdy węzeł jest centrum dla więcej wejść, więc zmiana gdziekolwiek może mieć więcej szans na propagację do większej liczby węzłów w następnym kroku — a przy K ≥ 3 z genericznie losowych funkcji logicznych wartość bezwzględna ta rozgałęziająca się poza wszystko, nie jest tłumiona, co prowadzi do chaotycznej aktywności.

K = 1   ORDERED    small perturbations die out quickly; the network freezes
                    into short attractor cycles; most nodes lock to a fixed value

K = 2   CRITICAL    "the edge of chaos" — perturbations neither reliably die
                    nor reliably grow; attractor lengths scale roughly with √N

K ≥ 3   CHAOTIC     a single flipped bit typically cascades through a large
                    fraction of the network within a few steps; attractor
                    lengths can grow exponentially with N

Measuring the boundary: Derrida plots

Bernard Derrida gave a clean, quantitative way to locate the order-chaos boundary: take two copies of the same network, start them in nearly identical states (differing in one bit), run both forward one step, and measure the fraction of nodes that now disagree — the Hamming distance after one update, as a function of the Hamming distance before it. Plot "distance after" against "distance before" across many trials and the curve either bends below the diagonal (differences shrink — ordered regime), sits almost exactly on the diagonal (differences neither grow nor shrink on average — critical), or bends above it (differences amplify — chaotic).

For NK networks with unbiased random Boolean functions, this Derrida curve crosses the diagonal almost exactly at K = 2, which is the origin of the famous "K = 2 is critical" result.

Attractors as cell types

Kauffman's biological punchline was bolder than the mathematics alone: he proposed that different attractor cycles of the same underlying gene network correspond to different, stably differentiated cell types in a real organism — skin cells, liver cells and neurons all share identical DNA, but settle into different self-consistent, self-sustaining patterns of gene activity, exactly as different starting states of the same NK network settle into different attractors. He further noted that networks in the ordered-to-critical regime naturally have a manageable, roughly polynomial number of short attractors — plausibly matching the modest number of distinct cell types found in real organisms — while deep-chaotic networks would have an unmanageably large, exponentially growing number of long, unstable attractors, which is not what biology actually shows.

This remains a provocative hypothesis rather than settled biology, but it is the reason Boolean networks are still a standard toy model in systems biology for thinking about cell-fate stability and reprogramming.

Często zadawane pytania

Dlaczego sieć Boolean z N węzłami musi ostatecznie cyklicznie się powtarzać?

Ponieważ sieć jest deterministyczna i posiada skończoną przestrzeń stanów, składającą się dokładnie z 2^N możliwych konfiguracji. Rozpoczynając od dowolnego stanu początkowego i podążając za deterministycznym regułą aktualizacji, trajektoria musi odwiedzić wcześniej widziany stan w ciągu maksymalnie 2^N kroków – raz to zrobi, będzie to powtarzać tę samą sekwencję na zawsze, tworząc zamknięty atractor cykliczny. Nie ma gdzie indziej, by trajektorii iść.

Co właściwie kontroluje K?

K oznacza liczbę węzłów wejściowych, do których każdy węzeł słucha. Bezpośrednio określa, jak bardzo pojedyncza zmiana bitu może się rozprzestrzeniać: przy małym K, większość zakłóceń ginie, ponieważ niewielu węzłów jest następnie dotkniętych (kolejność). Przy dużym K, pojedynczy flip zazwyczaj powoduje kaskadę i wpływa na około połowę sieci w ciągu kilku kroków (chaos). K=2 z losowymi funkcjami Boolean znajduje się prawie dokładnie na granicy tych obszarów – "brzeg chaosu."

Dlaczego Kauffman uważał to za model biologii komórkowej?

Modelował każdy gen jako węzeł Boolean, włączony lub wyłączony w zależności od stanu niewielkiej liczby regulujących genów (K wejść), a cały genom aktualizował się razem z każdym "tickiem". W tej perspektywie atractor dynamiki to stabilny, samopodtrzymujący się wzorzec aktywności genów – Kauffman postulował, że różne attractorzy tego samego genomu odpowiadają różnym zróżnicowanym typom komórkom (skóra, wątroba, neuron), wszystkie zbudowane z identycznego DNA, ale zablokowane w różnych spójnych wzorcach aktywności.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Boolean Network i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Boolean Network

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)