Uzay-zaman değişimleri üzerindeki bazı sonuçların erken tarihi?


14

Genel amaçlı uzay-zaman ödünleşimleri hakkında yayınlanan sonuçların erken tarihiyle ilgileniyorum. Özellikle, veri akışı grafiğinin derinliği (genişlik değil) ile orantılı boşluk kullanarak derece O (1) ile rasgele bir veri akışı grafiğine sahip bir hesaplamayı değerlendirmek için aşağıdaki algoritma türünü kimin ilk açıkladığını bilmek istiyorum. Grafiğin basit bir derinlik-ilk değerlendirmesini yaparak. Daha ayrıntılı olarak:

Veri akışı grafiğinin G = (V, E) olmasını sağlayın; burada V, hesaplama köşeleri (O (1) boyutlu veri değerleri) kümesidir ve E, ardıl değeri olacak şekilde kenarlar kümesidir (v_p, v_s). v'deki v_s \ vertex hemen V'deki önceki v_p \ değerine bağlıdır. v_f, hesaplamanın nihai sonucunu temsil eden ardılları olmayan köşe noktası olsun. Kanonik olarak sıralı girdi köşeleri kümesi olalım (öncekiler olmadan), i \ in I için x (i) değeri verilir. S'deki diğer \ v köşeleri için değerleri x (v) = F_v (x (P (v))) ile tanımlanır; burada P (v) v öncüllerinin standart olarak sıralanmış bir listesidir, x (P (v)) değerlerinin karşılık gelen listesi ve F_v, tepe noktasının, seleflerinin değer listesinin bir işlevi olarak değerini belirleyen işlevidir.

Bu kurulum göz önüne alındığında, söz konusu algoritma oldukça açık ve önemsiz:

def eval(v):     (v can be any vertex in the graph)
   let P := P(v), the list of v's predecessors  (has O(1) elements by assumption)
   let val[] := uninitialized array of |P| data values
   for each predecessor p[i] in P (i.e. for i from 1 to |P|):
      if p[i] is in I then
         val[i] = x(p)      (look up a given input)
      else
         val[i] = eval(p[i])   (recursive call)
   return F_v(val[])        (apply vertex's function to list of predecessor values)

Bu, O (d) özyineleme düzeylerini alır; burada d, veri akışı grafiğinin derinliğidir ve veri akışı grafiğinin derecesinin sabit olduğu ve boyutunun sabit olduğu varsayımları nedeniyle her düzeydeki yığın alanı sabittir. veri değerleri sabittir. (Burada basitlik için, | V | 'de gerçekten logaritmik olmalarına rağmen, köşe referanslarının boyutunu sabit olarak da ele alıyorum.) Böylece, toplam alan kullanımı O (d + | I |). Veri akışı grafiğinin maksimum genişliği bundan daha büyük olabilir, bu nedenle en iyi durumda bu teknik, örneğin grafiğin açgözlü bir ileri değerlendirmesine kıyasla oldukça aşırı yer tasarrufu sağlayabilir. adımda, yalnızca değerleri zaten bilinen köşelere doğrudan bağlı olan tüm köşeleri değerlendirin,

Her neyse, en azından geçmişe bakıldığında oldukça açık bir teknik ve kesinlikle uzun zamandır biliniyor, ancak literatürün ne kadar geriye gittiğini merak ediyordum. Herkes bu tür sonuçların erken tarihini biliyor (bu terimlerle veya diğer benzerleriyle tanımlanmış olsun) ve bu konuyu araştırmak için iyi bir referans ne olurdu?

Çok teşekkürler, -Mike Frank

Yanıtlar:


10

İlk olay olup olmadığını bilmiyorum, ama yapı Borodin'in [Bor77] Lemma 1'inin bir Boolean devresini değerlendirmenin alan karmaşıklığı hakkındaki kanıtında görünür. (Uzay karmaşıklığını O ( D log S ) bitlerinden O ( D + log S ) bitlerine daha da azaltmak için özyinelemeli değerlendirme fikrinden biraz daha fazlasını içerir , burada D devrenin derinliği ve S , devre.)

[Bor77] Allan Borodin. Zaman ve mekanı boyut ve derinlikle ilişkilendirme üzerine. SIAM Bilişim Dergisi , 6 (4): 733–744, Aralık 1977. DOI: 10.1137 / 0206054 .

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.