punktacja Weissmana

Wynik Weissmana to wskaźnik wydajności dla aplikacji do bezstratnej kompresji . Został opracowany przez Tsachy'ego Weissmana , profesora na Uniwersytecie Stanforda i Vinitha Misrę, absolwenta, na prośbę producentów serialu telewizyjnego HBO Dolina Krzemowa , programu telewizyjnego o fikcyjnym start-upie technologicznym pracującym nad algorytmem kompresji danych . Porównuje zarówno wymagany czas, jak i współczynnik kompresji mierzonych aplikacji z aplikacjami a de facto standard w zależności od typu danych .

Formuła jest następująca; gdzie r to współczynnik kompresji , T to czas potrzebny do kompresji, te podkreślone to te same metryki dla standardowego kompresora, a alfa to stała skalowania.

Wynik Weissmana został wykorzystany przez Daniela Reitera Horna i Mehanta Baida z Dropbox do wyjaśnienia rzeczywistej pracy nad bezstratną kompresją. Według autorów „w większości przypadków faworyzuje szybkość kompresji nad współczynnikiem”.

Przykład

Ten przykład pokazuje wynik dla danych nagrody Huttera przy użyciu paq8f jako standardu i 1 jako stałej skalowania.

Aplikacja Stopień sprężania Czas kompresji [min] punktacja Weissmana
paq8f 5.467600 300 1.000000
raq8g 5,514990 420 0,720477
paq8hkcc 5.682593 300 1.039321
paq8hp1 5.692566 300 1.041145
paq8hp2 5.750279 300 1.051701
paq8hp3 5.800033 300 1.060801
paq8hp4 5.868829 300 1.073826
paq8hp5 5.917719 300 1.082325
paq8hp6 5.976643 300 1.093102
paq8hp12 6.104276 540 0,620247
rozkład8 6.261574 540 0,63623
rozkład8 6.276295 540 0,637726

Ograniczenia

Chociaż wartość odnosi się do standardów, z którymi jest porównywana, jednostka używana do pomiaru czasu zmienia wynik (patrz przykłady 1 i 2). Wynika to z wymogu, aby argument funkcji logarytmicznej był bezwymiarowy . Mnożnik również nie może mieć wartości liczbowej 1 lub mniejszej, ponieważ logarytm z 1 to 0 (przykłady 3 i 4), a logarytm dowolnej wartości mniejszej niż 1 jest ujemny (przykłady 5 i 6); co dałoby wyniki o wartości 0 (nawet ze zmianami), niezdefiniowane lub ujemne (nawet jeśli są lepsze niż dodatnie).

Przykłady

# Sprężarka standardowa Punktowana sprężarka punktacja Weissmana Obserwacje
Stopień sprężania Czas kompresji Log (czas kompresji) Stopień sprężania Czas kompresji Log (czas kompresji)
1 2.1 2 min 0,30103 3.4 3 min 0,477121 1×(3,4/2,1)×( 0,30103 / 0,477121 )= 1,021506 Zmiana jednostki lub skali zmienia wynik.
2 2.1 120 sek 2.079181 3.4 180 sek 2.255273 1×(3,4/2,1)×( 2,079181 / 2,255273 )= 1,492632
3 2.2 1 minuta 0 3.3 1,5 min 0,176091 0 1×(3,3/2,2)×( /0,176091)= 0 Jeśli czas wynosi 1, jego dziennik wynosi 0; wówczas wynik może wynosić 0 lub nieskończoność .
4 2.2 0,667 min −0,176091 3.3 1 minuta 0 0 1×(3,3/2,2)×(−0,176091/ )= nieskończoność
5 1.6 0,5 godz −0,30103 2.9 1,1 godz 0,041393 1×(2,9/1,6)×( −0,30103 /0,041393)= −13,18138 Jeśli czas jest mniejszy niż 1, jego logarytm jest ujemny; wówczas wynik może być ujemny.
6 1.6 1,1 godz 0,041393 1.6 0,9 godz −0,045757 1×(1,6/1,6)×(0,041393/ −0,045757 )= −0,904627

Zobacz też