Strona główna Algorytmy i Struktury Danych Automaty komórkowe 1D Wolframa — reguły elementarne i złożone zachowania

🤖 Automaty komórkowe 1D Wolframa — reguły elementarne i złożone zachowania

Poznaj wszystkie 256 elementarnych reguł automatów komórkowych Wolframa. Zobacz, jak proste reguły na binarnej siatce 1D dają wzory złożone, fraktalne, a nawet uniwersalne obliczenia (reguła 110).

Algorytmy i Struktury Danych2DŁatwy60 FPS
wolfram-rules ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O elementarnych automatach komórkowych Wolframa

Elementarne automaty komórkowe (ECA) to najprostsza klasa jednowymiarowych, dwustanowych automatów komórkowych: każda komórka jest albo 0, albo 1, a jej następny stan zależy wyłącznie od jej obecnej wartości i wartości jej dwóch bezpośrednich sąsiadów. Ponieważ komórka i jej dwaj sąsiedzi tworzą 3-bitowe sąsiedztwo z 8 możliwymi wzorcami, a każdy wzorzec może mapować się na 0 lub 1, istnieje dokładnie 2⁸ = 256 możliwych tabel reguł — numerowanych od 0 do 255 w klasyfikacji Wolframa. Pomimo tej skrajnej prostoty, wyczerpujące badanie Stephena Wolframa w „A New Kind of Science” (2002) ujawniło, że niektóre reguły dają zachowanie o zdumiewającej złożoności: Reguła 30 generuje wyjście tak nieregularne, że jest używane jako źródło liczb losowych wewnątrz Mathematiki Wolframa; Reguła 110 została udowodniona jako Turinga-zupełna przez Matthew Cooka w 2004 roku, co oznacza, że w zasadzie może symulować dowolne obliczenie.

Ten symulator renderuje wszystkie 256 reguł jako dwuwymiarowe diagramy czasoprzestrzenne (wiersze = pokolenia, komórki = kolumny). Możesz wybrać dowolny numer reguły, przełączać warunek początkowy (pojedyncza komórka lub losowy), dostosować szerokość siatki i prędkość oraz obserwować, jak lokalna jednorodność (Reguły 0, 255), okresowość (Reguły 1–4), fraktalne samopodobieństwo (Reguła 90 — trójkąt Sierpińskiego) i pozorna losowość (Reguła 30) wyłaniają się z tej samej logiki trzykomórkowego sąsiedztwa.

Najczęściej zadawane pytania

Dlaczego istnieje dokładnie 256 reguł elementarnego automatu komórkowego?

Następny stan komórki zależy od 3-bitowego wzorca utworzonego przez nią samą i jej dwóch sąsiadów. Istnieje 2³ = 8 takich wzorców (od 000 do 111), a każdy może niezależnie mapować się na 0 lub 1. Kompletne mapowanie — tabela przeglądowa 8 bitów — jest więc jedną z 2⁸ = 256 możliwych tabel. Wolfram numeruje każdą regułę, interpretując jej 8 bitów wyjściowych jako liczbę binarną: Reguła 110 ma wyjście binarne 01101110, co równa się 110 dziesiętnie.

Co czyni Regułę 110 szczególną w porównaniu z innymi regułami?

Reguła 110 to jedyny elementarny automat komórkowy (i jedna z bardzo nielicznych prostych reguł w ogóle) udowodniony jako obliczeniowo uniwersalny — zdolny do symulowania dowolnej maszyny Turinga przy odpowiedniej konfiguracji początkowej. Matthew Cook opublikował ten dowód w 2004 roku po 15-letnim embargu ze strony Wolframa. Dowód konstruuje glajdery (trwałe poruszające się wzorce) działające jako dane i sygnały, wykorzystując zderzenia między nimi do implementacji bramek logicznych. Czyni to Regułę 110 minimalnym podłożem dla uniwersalnych obliczeń.

Dlaczego Reguła 90 tworzy trójkąt Sierpińskiego?

Reguła aktualizacji Reguły 90 oblicza XOR dwóch sąsiadów komórki (ignorując samą komórkę). Zaczynając od pojedynczej „włączonej” komórki, jest to równoważne obliczaniu trójkąta Pascala modulo 2 — a według twierdzenia Lucasa wpis w wierszu n, kolumnie k trójkąta Pascala jest nieparzysty wtedy i tylko wtedy, gdy k jest bitowym podzbiorem n. Wynikowy wzorzec wpisów nieparzystych/parzystych to dokładnie trójkąt Sierpińskiego, fraktal o wymiarze Hausdorffa log₂3 ≈ 1,585.

Jak Reguła 30 jest używana jako generator liczb losowych?

Reguła 30, zaczynając od pojedynczej żywej komórki, tworzy wyjście tak nieregularne, że przechodzi standardowe testy statystyczne losowości. Mathematica Wolframa używa centralnej kolumny automatu Reguły 30 jako źródła pseudolosowych bitów (funkcja RandomInteger[] historycznie z tego korzystała). W przeciwieństwie do generatorów opartych na LFSR, Reguła 30 nie ma znanej struktury krótkiego okresu; jest jednak deterministyczna, więc nie nadaje się jako kryptograficzny RNG — atakujący, który odtworzy pełny wiersz komórek, może przewidzieć przyszłe wyjście.

Czym są cztery klasy zachowań automatów komórkowych Wolframa?

Wolfram sklasyfikował wszystkie reguły ECA w cztery jakościowe klasy na podstawie ich długoterminowego zachowania od losowych warunków początkowych. Klasa 1: ewolucja do jednolitego stanu ustalonego (np. Reguły 0, 255). Klasa 2: stabilne lub okresowe proste struktury (np. Reguła 4, Reguła 108). Klasa 3: chaotyczne, pozornie losowe wzorce (np. Reguła 30, Reguła 45). Klasa 4: złożone zlokalizowane struktury i interakcje — jedyna klasa zdolna do obliczeń uniwersalnych (np. Reguła 110). Klasy te są odpowiednio analogiczne do atraktorów punktu stałego, cykli granicznych, dziwnych atraktorów i złożonych systemów dynamicznych.

Czy jednowymiarowy automat komórkowy może symulować fizykę?

Kilka reguł ECA wykazuje analogi zjawisk fizycznych. Reguła 54 i Reguła 110 wspierają glajdery (struktury podobne do solitonów), które propagują się i rozpraszają. Reguła 90 z okresowymi warunkami brzegowymi modeluje wzorce interferencji kwantowo-mechanicznej. Bardziej praktycznie, metody Lattice Boltzmanna — używane w symulacji dynamiki płynów — są wyższowymiarowymi, wielostanowymi uogólnieniami automatów komórkowych, które dowiedlnie odtwarzają równania Naviera-Stokesa w granicy kontinuum i są szeroko stosowane w obliczeniowej dynamice płynów dla złożonych geometrii.

Czy istnieje reguła będąca swoim własnym dopełnieniem?

Tak — kilka reguł jest samodopełniających się (zamiana wszystkich 0 i 1 daje ten sam wzorzec) lub jest symetrycznych kolorystycznie. Na przykład Reguła 51 po prostu odwraca każdą komórkę w każdym pokoleniu (trywialne dopełnienie). Ciekawsze jest to, że Reguła 105 jest dopełnieniem Reguły 150. Pełna grupa symetrii 256 reguł pod dopełnieniem, odbiciem i koniugacją generuje klasy równoważności, które redukują 256 reguł do 88 jakościowo odrębnych zachowań.

Ile reguł jest Turinga-zupełnych?

Spośród 256 elementarnych reguł tylko Reguła 110 została rygorystycznie udowodniona jako Turinga-zupełna (Cook, 2004). Reguły 124, 137 i 193 są koniugatami lub lustrzanymi odbiciami Reguły 110 i dziedziczą jej uniwersalność. To, czy inne reguły klasy 4 (takie jak Reguła 54) są Turinga-zupełne, pozostaje otwartym pytaniem. Poza ECA, dwuwymiarowe automaty, takie jak Gra w życie Conwaya, są od dawna znane jako Turinga-zupełne, a nawet niektóre jednowymiarowe dwukolorowe trójstanowe reguły zostały udowodnione jako uniwersalne.

Co się dzieje, gdy reguły ECA są uruchamiane na pierścieniu (okresowej granicy) zamiast na nieskończonej taśmie?

Przy okresowych (torusowych) warunkach brzegowych przestrzeń stanów automatu jest skończona: istnieje 2ⁿ możliwych konfiguracji dla pierścienia n-komórkowego, więc system musi w końcu wejść w cykl. Dla większości reguł faza przejściowa jest krótka, a ostateczny okres to niewielki ułamek 2ⁿ. Niektóre reguły, które wydają się chaotyczne na nieskończonej taśmie, stają się idealnie okresowe nawet na umiarkowanie dużych pierścieniach. To rozróżnienie między zachowaniem skończonym a nieskończonym jest ważne przy używaniu ECA do generowania liczb pseudolosowych lub badania emergentnej złożoności.

Jaki jest związek między Regułą 90 a trójkątem Pascala?

Rozpoczynając Regułę 90 od pojedynczej żywej komórki na pozycji 0, wartość komórki k w pokoleniu n równa się współczynnikowi dwumianowemu C(n, k) modulo 2. Według twierdzenia Lucasa, C(n, k) ≡ 1 (mod 2) wtedy i tylko wtedy, gdy każdy bit k jest też bitem n (k jest bitowym podzbiorem AND n). To dokładny warunek, by komórka była zabarwiona w trójkącie Sierpińskiego. Fraktal wyłania się więc naturalnie z arytmetyki modularnej trójkąta Pascala — powiązanie po raz pierwszy odnotowane przez Édouarda Lucasa w 1878 roku, długo przed sformalizowaniem automatów komórkowych.

Czy dwie różne reguły mogą wytwarzać identyczne diagramy czasoprzestrzenne?

Tak, poprzez symetrie dopełnienia i odbicia lewo-prawo. Odbicie mapowania sąsiedztwa reguły daje jej „regułę lustrzaną”; zamiana 0 i 1 daje jej „regułę dopełniającą”; zastosowanie obu daje jej „koniugat”. Te cztery operacje dzielą 256 reguł na 88 klas równoważności. Reguły w tej samej klasie tworzą wzorce będące odbiciami, negatywami lub odbitymi negatywami siebie nawzajem — wizualnie różne, ale strukturalnie identyczne. Na przykład Reguły 2, 16, 64 i 128 tworzą jedną taką klasę, wszystkie dające bardzo rzadkie, proste struktury.

O tej symulacji

Ten symulator renderuje elementarne automaty komórkowe: pojedynczy rząd binarnych komórek, których następne pokolenie jest decydowane wyłącznie przez każdą komórkę i jej dwóch sąsiadów. Ponieważ 3 sąsiadujące komórki tworzą 2³ = 8 możliwych wzorców, a każdy wzorzec mapuje się niezależnie na 0 lub 1, istnieje dokładnie 2⁸ = 256 możliwych reguł — kompletny zbiór, który Stephen Wolfram skatalogował i ponumerował w latach 80. Pomimo tej prostoty niektóre reguły, jak Reguła 110, są udowodnione jako Turinga-zupełne, zdolne do obliczeń uniwersalnych.

🔬 Co pokazuje

Każdy wiersz płótna to jedno pokolenie, ułożone od góry do dołu, więc obraz jest diagramem czasoprzestrzennym rozwijania się automatu z jego wiersza początkowego. W zależności od reguły wzorzec ustabilizowuje się w pustej przestrzeni, powtarza się okresowo, rozpuszcza się w pozornej losowości lub tworzy zlokalizowane poruszające się struktury, które czynią Regułę 110 obliczeniowo uniwersalną.

🎮 Jak korzystać

Wpisz dowolny numer reguły od 0–255 w polu Numer reguły (lub przeciągnij suwak) i naciśnij Uruchom, albo przejdź bezpośrednio do słynnej reguły przyciskami ustawień (30, 90, 110, 54, 184, 45, 18, 150). Wybierz Warunek początkowy — pojedynczą żywą komórkę lub rząd obsiany losowo w 50% lub 10% — a następnie dostosuj rozmiar komórki i przełączaj się między schematami kolorów B&W, Zielony i Ogień.

💡 Czy wiesz, że?

Reguła 30, uruchomiona z pojedynczej żywej komórki, tworzy wyjście tak statystycznie nieprzewidywalne, że własne oprogramowanie Wolframa, Mathematica, wykorzystywało jej centralną kolumnę jako źródło liczb pseudolosowych. Reguła 90 z kolei oblicza XOR dwóch sąsiadów i odtwarza trójkąt Pascala modulo 2 — wizualnie, trójkąt Sierpińskiego.

Najczęściej zadawane pytania

Czym jest elementarny automat komórkowy?

To najprostsza klasa automatu komórkowego: pojedynczy rząd komórek, każda 0 albo 1, aktualizujący się w dyskretnych krokach czasowych według ustalonej reguły zależnej wyłącznie od komórki i jej bezpośrednich sąsiadów z lewej i prawej strony. Ułożenie każdego pokolenia pod poprzednim tworzy wzorce czasoprzestrzenne pokazane w tym symulatorze.

Dlaczego istnieje dokładnie 256 możliwych reguł?

Następny stan komórki zależy od 3-komórkowego sąsiedztwa, a 3 binarne komórki dają 2³ = 8 odrębnych wzorców, od 000 do 111. Każdy z tych 8 wzorców jest niezależnie mapowany na wyjście 0 lub 1, a istnieje 2⁸ = 256 sposobów dokonania wszystkich ośmiu przypisań — po jednym dla każdej elementarnej reguły, numerowanej przez odczytanie 8 wyjść jako liczby binarnej.

Dlaczego Reguła 110 jest szczególna?

Reguła 110 to jedyny elementarny automat komórkowy udowodniony jako Turinga-zupełny, co oznacza, że w zasadzie może wykonać dowolne obliczenie, jakie potrafi wykonać komputer ogólnego przeznaczenia. Matthew Cook opublikował dowód w 2004 roku, pokazując, że zderzające się struktury podobne do glajderów we wzorcu Reguły 110 działają jak bramki logiczne.

Czym są cztery klasy zachowań Wolframa?

Stephen Wolfram pogrupował wszystkie 256 reguł w cztery jakościowe klasy: reguły klasy 1 wygasają do jednolitego stanu, reguły klasy 2 ustabilizowują się w stabilne lub okresowe struktury, reguły klasy 3 generują chaotyczne, pozornie losowe wzorce (jak Reguła 30), a reguły klasy 4 tworzą złożone zlokalizowane struktury zdolne do obliczeń (jak Reguła 110).

Jak ustawienie Warunku początkowego zmienia wynik?

Rozpoczęcie od pojedynczej żywej komórki pokazuje, jak reguła buduje strukturę znikąd, co jest klasycznym sposobem ujawniania fraktali lub trójkątnych wzorców. Rozpoczęcie od rzędu obsianego losowo w 50% lub 10% pokazuje natomiast, jak ta sama reguła przetwarza zaszumione dane wejściowe, co dla reguł chaotycznych lub złożonych może ujawnić domeny, glajdery i granice, których start z pojedynczej komórki nigdy nie tworzy.

Podobne symulacje