Açık cs.stackexchange İstediğim algebird onlar soyut cebir paketi gerekebilir neden spekülasyon, github scala kütüphanesine.
Github sayfasının bazı ipuçları var:
Bloom filtresi, HyperLogLog ve CountMinSketch gibi ilginç yaklaşım algoritmaları için Monoid uygulamaları. Bunlar, sayıları yapabileceğiniz gibi bu karmaşık işlemleri düşünmenizi ve güçlü istatistikler ve analizler oluşturmak için bunları hadoop veya çevrimiçi olarak eklemenizi sağlar.
ve GitHub sayfasının başka bir bölümünde:
Başlangıçta Scalding'in Matrix API'sının bir parçası olarak geliştirildi, burada Matrisler Monoidler, Gruplar veya Halkaların öğeleri olan değerlere sahipti. Daha sonra, kodun Scalding içinde ve Twitter'daki diğer projelerde daha geniş bir uygulamaya sahip olduğu açıktı.
Twitter'dan Oskar Boykin bile şöyle konuştu:
Temel cevap, yarı grup yapısından yararlanarak, temeldeki işlemi bilmeden doğru bir şekilde paralelleşen sistemler oluşturabilmemizdir (kullanıcı ilişkilendirme vaat ediyor).
Monoidleri kullanarak, sparlılıktan yararlanabiliriz (bazı Monoidlerde neredeyse tüm değerlerin sıfır olduğu birçok seyrek matrisle ilgileniriz).
Halkaları kullanarak, sayılar dışındaki şeyler üzerinde matris çarpımı yapabiliriz (ki bu arada yaptık).
Cebir kuşağı projesinin kendisi (ve ayrıca sorun geçmişi) burada neler olup bittiğini oldukça açık bir şekilde açıklıyor: büyük veri kümelerinin toplanması için çok fazla algoritma oluşturuyoruz ve işlemlerin yapısından yararlanmak, sistem tarafında bize bir kazanç sağlıyor (1000 düğüm üzerinde algoritmalar üretmeye çalışırken genellikle ağrı noktasıdır).
Herhangi bir Semigroup / Monoid / Group / Ring için sistem sorunlarını bir kez çözün ve sonra Memcache, Hadoop, Storm vb.
Bloom filters
/ hyperloglog
/ countminsketch
Like numaraları nasıl ?
Veritabanı toplamalarının monoidal bir yapısı nasıl olur?
Bu monoid neye benziyor? Hiç grup yapıları var mı?
Literatür referansları faydalı olacaktır.