Hücresel otomata boyutunun karmaşıklık sınıflarına etkisi


9

Örnek olarak 3d → 2d indirgemesini ele alalım: Bir 3d hücresel otomayı 2d hücresel otomat ile simüle etmenin maliyeti nedir?

İşte daha spesifik sorular:

  1. Ne tür algoritmalar zaman karmaşıklığını ne kadar değiştirecek?

  2. Kodlama için temel fikir ne olurdu; 3B ızgara verimli bir şekilde (veya verimli bir şekilde değil…) 2B ızgaraya nasıl eşlenir? (Zorluk, başlangıçta 3d ızgarada komşu olan ancak artık 2d ızgarada komşu olmayan iki hücre arasındaki iletişimi sağlıyor gibi görünüyor).

  3. Özellikle, üstel karmaşıklık algoritmaları için karmaşıklık kaymasıyla ilgileniyorum (boyut ne olursa olsun üstel kalıyor sanırım?)

Not: Seçilen G / Ç yönteminin karmaşıklıklar üzerinde etkili olduğu düşük karmaşıklık sınıflarıyla ilgilenmiyorum. (Belki de en iyisi, G / Ç yönteminin boyutsuz olduğunu varsaymaktır: değişken bir zaman adımı sırasında belirli bir hücrede yerel olarak yapılır.)


Bazı bağlamlar: Paralel yerel grafik yeniden yazmayla ilgileniyorum, ancak bu grafikler 2d ızgaralara göre 3B (veya belki …d…) ızgaralarına daha yakın, 2 boyutlu bir donanım uygulamasından ne bekleyeceğinizi bilmek istiyorum silikon çip.

Yanıtlar:


5

Bu makalenin parçalarını açıklayacağım: 2B Hücresel Otomata ile 3B Hücresel Otomata Simülasyonu .

Bir fonksiyon olan grid kodlaması ile başlayalım. t:Z3Z2. sezgiselt mesafeyi koruyamaz çünkü hücre sayısı Rkökeni aynı olmayacak. Bunları yerleştirmeniz gerekecekR3 hücreleri aynı sayıda hücreye girer, ancak bunlar bir şekilde formda olur r2 ama sonra sahip olmalısın r>R. Bunlarr ve Rherhangi bir hücresel otomatta bulduğunuz mahalle kavramının yarıçapına benziyor .

Böylece makalenin dönüşümü, en azından 3/2. Puanlar uzaksa,d ilk ızgarada, en azından uzak olacaklar O(d3)İkinci ızgarada. Maalesef verilen yerleştirme yalnızcaO(d3).

Ancak, bu çok önemli bir açıklama, ilk otomattan aynı mahalleyi elde edemezsiniz ve bu yüzden daha önce "biraz benziyor" dedim. Makaleyi alıntılamak için:

çok yakın hücrelerin olacağı açıktır Z3 ve [kodlamaları keyfi olarak] Z2

Bu da zamana yakışıyor: bir adımın icra süresi Z3 keyfi olarak uzun olabilir Z2. Kodlamanın daha çok bir simülasyon olduğuna dikkat edin: yazar 2B CA bile fonksiyonun hesaplanmasını simüle edert:Z3Z2.

Bir 3D CA'da çalıştırılan herhangi bir algoritmanın karmaşıklığının (zamanla), bu 3D CA'nın kodlaması bir 2D CA'ya çalıştırıldığında patlayacağını söylemek güvenli bir bahisdir. Yazar, simülasyonundaki herhangi bir işlevle bağlanamayacağını söylüyor. Ve patlamanın genel olarak en azından üstel olduğunu düşünüyorum, çünkü bilginin yayılma süresi pozisyona bağlıdır.

Hücresel otomata algoritma çalıştırma fikri benim için zaten garip görünüyor, ama bu kişisel. Ancak bu, hücresel bir otomatın silikon çip içine uygulanması fikrine kıyasla hiçbir şey değil mi, yoksa sadece ben mi?


Bağlantı için çok teşekkürler. İki düğüm arasındaki bu keyfi mesafe sorunu düşündüğümden çok daha kötü hale getiriyor. Ancak algoritmalardaki karmaşıklık kayması belki de o kadar da kötü değildir, çünkü bunları 2d'de çalıştırmak için bir 3d otomatta bir uygulamayı simüle etmeniz gerekmez. Bu, benim kullanım durumum için, genel bir çözüm bu korkunç sınırlamaya sahip olduğundan, belirli bir kodlamaya güvenmek zorunda kalacağım anlamına gelir!
Stéphane Gimenez

Oh, ve olası donanım uygulaması hakkında ;-) soralım
Stéphane Gimenez
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.