"Böl ve fethet" veri akışı algoritmaları


12

Büyük veri akışları üzerinde çalışan ve sonuçları oldukça küçük olan ve sonuçları bir şekilde birleştirerek iki akışın bir karışımı için sonucu hesaplayabilen hangi yararlı algoritmalar var?

Birkaç isim verebilirim:

  • Toplam, min, maks, sayım, top-K vb.
  • Histogramlar, farklı öğeleri sayma veya nicelikleri hesaplama için yaklaşık "çizim tabanlı" akış algoritmaları

Başka neler var?

(İlgileniyorum çünkü yararlılığı doğrudan bu tür algoritmaların kullanışlılığı ile belirlenen dağıtılmış sistemleri izlemek için bir hobi projesi yazıyorum)


Ben "bölmek ve fethetmek" / ilişkisel olmayan herhangi bir akış algoritması düşünmek çok daha zor buluyorum. Belki bir çeşit haddeleme hash fonksiyonu ... Böyle bir akış algoritmasına ait doğal örnekleriniz var mı?
Thomas Ahle

Yanıtlar:


9

Guha ve diğ. '03 , akış modelinde k-medyan kümeleme için bir yaklaşım algoritması verir. Algoritmaları verileri ayrık parçalara böler, her ayrık parça için O (k) merkezlerini bulur ve ardından k merkezlerini elde etmek için sonuçları birleştirir. Bu aradığınız algoritma türü gibi görünüyor.


7

Kağıt Bagchi, Chaudhary, Eppstein ve Goodrich hesaplanması için temel bir alt yordam kullanılarak geometrik problemleri akışı, bir dizi çözer -nets ve ε -approximations uygun olarak seçilmiş bir aralık boşlukların. Bu alt-rutinde sanal burada bunları (hesaplamak için hiyerarşik bir plan geliştirerek bu nesnelerin katkı yapısı kullanmaktadır I inci düzey akışı sanal bloklar agrega ( I - 1εεith(i1)thdüzeyli akış ve düzey 0 orijinal akıştır). Bu aslında bir bölme ve fethetme stratejisinin aşağıdan yukarıya oluşturulmasıdır. özyineleme ağacının "kenarı" boyunca güncelleştirmelerle. Yapıda, Lev tarafından belirtilen Guha ve ark.


6

Akışın frekans dağılımının her fonksiyonunun birleştirilebilir (birleştirme işlemi için açık ve verimli bir yapı vermese de ) yazan bir kağıt ( "Frekansa Bağlı Veri Akışı Hesaplamaları Dağıtma" ) buldum . Ve kanıt, bazı halka teorilerini içeren çok ilginç görünüyor. Aynı yazarın önceki makalesini okumanız gerekiyor (Ana sonucu bunun temeli olarak kullanılan "Veri akışlarının frekans tahmininde daha düşük sınırlar" ) .

Bu bana Üçüncü Homomorfizm Teoremini hatırlatıyor ...


Ganguly belgesinin bir bölme ve fethetme stratejisinin akış için işe yarayacağını ima ettiğini düşünmüyorum. Bu model, veriler üzerinde birden fazla geçişin olabileceği Mapreduce / MUD modeline indirgenmiş gibi görünüyor.
Suresh Venkat

Okuduktan sonra bana birden fazla geçiş kullanmadığı anlaşılıyor.
jkff

4

Sürekli akış sorgu dilleri üzerinde yapılan araştırmalar bazı bilgiler sağlayabilir. Böyle bir dil, Oracle tarafından kabul edildiğine inandığım CQL . Diller, fonksiyonların akışın kayan pencereleri üzerinde hesaplanmasına izin verir (1 boyutundaki pencereler dahil). Bu lisans tezi , bazı örnekler de dahil olmak üzere, dile yakın bir genel bakış sunmaktadır. Bu yazı , diğer ilgili araştırmalara bağlantılar bulmak için yararlı olması gereken bazı akış işleme dillerine genel bir bakış sunmaktadır.

Bunun sorunuza doğrudan cevap vermediğini biliyorum, ancak aynı başlangıç ​​noktasından hareket eden insanlar tarafından yapılan araştırmalarla sizi temas ettirmelidir.


4

Bu soru benim için biraz dairesel görünüyor. Sorun istediğiniz özelliğe sahipse, bunun için çizim ve birleştirme tabanlı algoritma vardır. Yukarıda belirtildiği gibi, size bunu sağlayan kümeleme, yaklaşıklıklar ve korseler üzerinde çalışmalar vardır. Ayrıca, çoğu akış algoritması bir akışı diğerine (kavramsal olarak) birleştirerek akışları birleştirmeye izin verir.

Ayrıca, top-k akış algoritmalarının birleştirilebilir olduğundan emin değilim - ama yanlış olabilirim.


Top-k önemsiz bir şekilde birleştirilebilir: k öğelerinin iki listesini birleştirmek için onları birleştirir ve sonucun son öğelerini alırsınız :) Ancak, belki de "en üst k en sık" demek istediniz, ama bunu (yani yararlı bir sorun, örneğin, facebook duvarı gibi bir şeyin dağıtılmış olarak hesaplanması için)
jkff 17:10

3

Bu konuda necromancing için üzgünüm, ancak akışları dağıtılmış sürekli izleme üzerinde bazı çalışmalara bakmak isteyebileceğinizi düşündüm, burada birkaç akış verildi ve hedef, iletişimi en aza indirirken merkezi bir izleme sitesinde bazı toplu istatistikleri izlemek. Model bana motivasyonunuzla yakından ilgili geliyor. Muthu kitabındaki referanslara bakın . Bir kağıt bu .

Ganguly'nin gazetesi de çok ilginç.

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.