SORU
8 EYLÜL 2012, CUMARTESİ


Nasıl HyperLogLog çalışma algoritması mu?

Ben öğrenme hakkında farklı algoritmalar boş vaktimde son zamanlarda ve ben rastladım ki öyle görünüyor çok ilginç denir HyperLogLog algoritma - tahminleri kaç benzersiz öğeleri bir liste.

Bu özellikle ilginç olduğu için benim MySQL geri getirdi çünkü beni görünce gün "Önem" değeri tahmin ettim hesaplanmamış olduğunu her zaman yakın zamana kadar kabul.

Kaç benzersiz öğeleri bir dizi vardır hesaplayabilecek O(n) bir algoritma yazmayı biliyorum. Javascript ile bunu yazdım

function countUniqueAlgo1(arr) {
    var Table = {};
    var numUnique = 0;
    var numDataPoints = arr.length;
    for (var j = 0; j < numDataPoints; j  ) {
        var val = arr[j];
        if (Table[val] != null) {
            continue;
        }
        Table[val] = 1;
        numUnique  ;
    }
    return numUnique;
}

Ama sorun(n) ise benim algoritması, Bellek (Table değerleri depolama) çok kullanır.

O liste(n) çiftleri sefer sayısı hakkında bu kağıt okuma ve en az bellek kullanarak oldum. http://algo.inria.fr/flajolet/Publications/FlFuGaMe07.pdf

Ve bit falan karma sayarak belirli bir olasılık (liste eşit olarak dağıtılır varsayarak) içindeki bir listede benzersiz öğe sayısını tahmin edebilirsiniz açıklar.

Gazeteyi okudum, ama bunu anlamak için görünmüyor olabilir. Birinin adını duymadım daha bir açıklaması olan var mı? Karma ne olduğunu biliyorum, ama bu HyperLogLog algoritma nasıl kullanılacağını anlamıyorum.

CEVAP
25 EKİM 2012, PERŞEMBE


HyperLogLog algoritma oldukça yoğun altyapımızı kullanıyoruz. Sonuç olarak geliştiriciler için yöneticilerinden herkese anlatmaya çalışıyoruz end. Hayatımızı biraz daha kolaylaştırmak için, blog post koymak zorundayız ve bunu göstermek için bir simülasyon D3 yazılı dahil. Yardımcı olur umarım!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ABC News (Australia)

    ABC News (Au

    9 HAZİRAN 2008
  • kylelandry

    kylelandry

    9 AĞUSTOS 2007
  • Paulo Bautista

    Paulo Bautis

    21 Aralık 2008