eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingRe: Problemik nie całkiem teoretyczny › Re: Problemik nie całkiem teoretyczny
  • X-Received: by 2002:a37:7a85:: with SMTP id v127-v6mr258621qkc.0.1533561201212; Mon,
    06 Aug 2018 06:13:21 -0700 (PDT)
    X-Received: by 2002:a37:7a85:: with SMTP id v127-v6mr258621qkc.0.1533561201212; Mon,
    06 Aug 2018 06:13:21 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.
    iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!e8-v6no
    1716156qtp.0!news-out.google.com!w13-v6ni252qto.1!nntp.google.com!e8-v6no171615
    1qtp.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 6 Aug 2018 06:13:20 -0700 (PDT)
    In-Reply-To: <pk3omv$7ir$1@news.icm.edu.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=194.9.244.13;
    posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
    NNTP-Posting-Host: 194.9.244.13
    References: <pk3omv$7ir$1@news.icm.edu.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <a...@g...com>
    Subject: Re: Problemik nie całkiem teoretyczny
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Mon, 06 Aug 2018 13:13:21 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 48
    Xref: news-archive.icm.edu.pl pl.comp.programming:212641
    [ ukryj nagłówki ]

    > Takie małe coś, akurat na wakacje:

    Skoro wakacje, to...

    > Ciąg liczb zmiennoprzecinkowych 64 bitowych powstał po pomnożeniu
    > przez niezerową stałą ciągu liczb stałoprzecinkowych 16-bitowych.
    > Czy istnieje prosta metoda kompresji, taka że nie znając tej
    > stałej, można ograniczyć liczbę przesyłanych bajtów? Tzn. przy
    > 1000 liczbach przesłać (niewiele ponad) 2000 bajtów zamiast
    > 8000?

    Chyba nie ma sensu szukać tego mnożnika, bo np. mając w ciągu liczby 10.0 i 20.0 nie
    wiemy, czy oryginałem było 1 i 2 z mnożnikiem 10.0, czy może 2 i 4 z mnożnikiem 5.0.
    Więc może wiedząc z góry, jakie jest ograniczenie na liczbę różnych wartości (16bit),
    warto je poukładać w kubełkach i przesyłać numery kubełków? Może się okazać, że
    oszczędność będzie jeszcze większa, jeśli nie wykorzystano wszystkich 2^16 różnych
    wartości a dodatkowym bonusem jest fakt, że to działa nawet wtedy, gdy skalowanie nie
    było liniowe (co obejmuje również zaokrąglenia przy skalowaniu). Oczywiście ciąg
    numerów kubełków można dalej kompresować niezależnie, np. RLE, jeśli spodziewamy się,
    że to ma sens.

    Problemem jest przesłanie słownika - czyli jaka zakodowana wartość jest w każdym
    wykorzystanym kubełku. Pełny słownik to potencjalnie 2^16*64 bity, ale jeżeli ciąg
    jest długi albo jeden słownik jest wspólny dla wielu takich ciągów, to może się
    zamortyzować.

    > Problem powstał w związku z pytaniem: czy lepiej przesyłać raw
    > data - czy wielkości przeskalowane do fizycznych jednostek (np.
    > miliamperów na hektar i węzeł)?

    To zależy. Nie wiemy, co to za dane i jaka jest wymagana wierność transmisji.
    Skalowanie zmiennoprzecinkowe sugeruje, że 100% dokładność nie jest wymagana, więc
    może jakieś znane metody stratne (zależnie od rodzaju danych) byłyby akceptowalne. Bo
    po co napinać się na dokładny transfer niedokładnych danych?

    --
    Maciej Sobczak * http://www.inspirel.com

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: