2d hücresel otomata Wolfram ikili kodları

Aug 17 2020

Bu, 2d hücresel otomata kuralları nasıl çalışır? Sorusuna benzer bir sorudur. Ancak oradaki cevap bana aradığımı sağlamadı. Özellikle, bu 2d hücresel otomata formlarını oluşturabilmek istiyorum:https://www.wolframscience.com/nks/p173--cellular-automata/Gerçek sayı ile büyüme kuralı arasında nasıl geçiş yapılacağını açıklayan hiçbir referans bulamıyorum. 1d'de durum, aşağıdaki gibi iyi bir şekilde belgelenmiştir:https://mathworld.wolfram.com/ElementaryCellularAutomaton.htmlancak 2d'de bitlerin tam olarak eşlenmesi hiçbir yerde bulunamaz. Gerçekten bir program yapmak istiyorum, böylece örneğin 465 sayısını girebilirim ve Wolfram kitabından 465 modelini çizer. Yukarıya bağlandığım diğer yığın değişim yanıtı, olası bir ikili eşleme sağlar, ancak burada verilen yöntem Wolfram referansındaki ile aynı sayıları üretmez. 465'in ikili değeri 111010001'dir ve bu bana hiç yardımcı olmuyor. Bu özel şekil, tam olarak bir komşu şu anda meşgulken bir hücre eklemeye dayanmaktadır, bu nedenle, dört komşunun her biri için bir satırda 4 1 olmasını beklememiz gerekmez mi? Ve bunu daha da kafa karıştırıcı hale getirmek için, son iki hane Wolfram sayfasının kendisinde verilen açıklamadan değiştirilmiş gibi görünüyor ... Diğer Yığın Taşması cevabından sadece bir olası ikili eşleme değil, pek çok eşleme olduğu açıkça görülüyor. Kural numaraları ile atıfta bulunulan resimlerin olduğu bir rehber zaten mevcut olduğu için, bu belirli kural numaralarını gerçekten kullanabilmeyi gerçekten isterim. Teşekkürler.

Yanıtlar

1 IlmariKaronen Aug 18 2020 at 00:15

Bağlantı verdiğiniz sayfada verilen açıklama doğru:

"Her durumda, kod numarası için 2 basamaklı taban dizisi kuralı aşağıdaki gibi belirtir. Son basamak, önceki adımda tüm komşuları beyazsa ve bu da beyazsa, merkez hücrenin hangi renkte olması gerektiğini belirtir. Son rakam, tüm komşular beyazsa, ancak merkez hücrenin kendisi siyahsa ne olacağını belirtir. Ve daha önceki her rakam, aşamalı olarak daha fazla komşunun siyah olması durumunda ne olacağını belirtir. (Bkz. sayfa 60.) "

Eksik olabileceğiniz şey, kural numarası tuhafsa, boş kafes kararsızdır çünkü diğer beyaz hücrelerle çevrili beyaz hücreler kendiliğinden siyaha dönecektir. Spesifik olarak, numarası 1 modulo 4 ile uyumlu olan herhangi bir kural (yani ikili biçimi 01'de biten), 465 gibi, "yanıp söner" , yani boş kafes, her bir ardışık nesilde tümü beyaz ve tüm siyah arasında değişecektir.

Özellikle bu, kural 465'in "tam olarak bir komşu şu anda meşgulken bir hücre eklemeye" karşılık gelemeyeceği anlamına gelir . (Bu, muhtemelen ikili olarak kural 686 veya 1010101110 olacaktır.)

Bunun yerine, doğru bir şekilde not ettiğiniz gibi, 465, ikili olarak 111010001'e eşittir. Her biri iki bitlik beş grup halinde yazılmıştır, bu 01 11 01 00 01 verir. Bu grupların her birinde gruptaki en sağdaki bit$k$ (0'dan 4'e kadar sağdan sola numaralandırılır), beyaz hücre $k$ siyah komşular sonraki nesilde siyaha dönecek ve en soldaki bit 1 olan bir siyah hücre varsa $k$ siyah komşular siyah kalacak.

Bu, bu kural uyarınca, beyaz hücrenin 0, 2, 3 veya 4 siyah komşusu varsa siyaha döneceği anlamına gelir (çünkü en sağdaki bit, 0, 2, 3 ve 4 gruplarında sağdan sayarak 1'dir) ve siyah hücre tam olarak 3 siyah komşusu varsa siyah kalacaktır (en soldaki bit sadece 3. grupta 1 olduğundan).

Ve gerçekten, beyaz bir arka plan üzerinde bir siyah pikselden başlayarak 22 nesil için bu kuralı simüle etmek, bağlantılı sayfadakiyle eşleşen bir görüntü üretir.


Ps. 465 numaralı kuralın, 558 = 01000101110 2 numaralı durum simetrik kuralının "yanıp sönen eşdeğeri" olduğu ve 686 kuralından tam olarak bir bit farklı olduğu ve "tam olarak bir komşu işgal edildiğinde hücre ekle, tam olarak bir komşu boş olduğunda hücre ".

Tek bir hücreden başlayarak, 558 ve 686 numaralı kurallar aynı şekilde gelişiyor gibi görünüyor, çünkü bu başlangıç ​​noktasından itibaren hiçbir zaman tam olarak üç canlı komşusu olan canlı bir hücre oluşturmuyorlar. Böylece, çift sayılı nesillerde, yanıp sönme kuralı 465 de her ikisine de özdeş görünür.