eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingszybki logarytm › Re: szybki logarytm
  • X-Received: by 10.140.101.165 with SMTP id u34mr9596qge.15.1407766252659; Mon, 11 Aug
    2014 07:10:52 -0700 (PDT)
    X-Received: by 10.140.101.165 with SMTP id u34mr9596qge.15.1407766252659; Mon, 11 Aug
    2014 07:10:52 -0700 (PDT)
    Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!news.glorb.com!h18no18192014igc.0!news-out.
    google.com!j6ni34691qas.0!nntp.google.com!v10no6207120qac.1!postnews.google.com
    !glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 11 Aug 2014 07:10:52 -0700 (PDT)
    In-Reply-To: <53e88159$0$2140$65785112@news.neostrada.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=80.54.0.14;
    posting-account=CvUQzQoAAABvVQmR58QmR6N4Cev1qhAS
    NNTP-Posting-Host: 80.54.0.14
    References: <lqh403$k4t$1@node2.news.atman.pl> <lqmenj$s69$1@node2.news.atman.pl>
    <d...@g...com>
    <lqrkpc$r7t$1@node2.news.atman.pl> <lqs3ng$aps$1@node2.news.atman.pl>
    <a...@n...v.pl>
    <lrol5k$pvu$1@node2.news.atman.pl>
    <a...@n...v.pl>
    <53e072f9$0$2226$65785112@news.neostrada.pl>
    <a...@n...v.pl>
    <53e083a0$0$2146$65785112@news.neostrada.pl>
    <d...@g...com>
    <a...@n...v.pl>
    <53e88159$0$2140$65785112@news.neostrada.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <8...@g...com>
    Subject: Re: szybki logarytm
    From: bartekltg <b...@g...com>
    Injection-Date: Mon, 11 Aug 2014 14:10:52 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:206587
    [ ukryj nagłówki ]

    W dniu poniedziałek, 11 sierpnia 2014 10:39:50 UTC+2 użytkownik slawek napisał:

    > IMHO, jeżeli a[n] jest bliskie 1, np. dla każdego n = 1,2, ..., m mamy 0.99
    > < a[n] < 1.01, to w pesymistycznym przypadku można spodziewać się błędu
    > m*epsilon.

    Nie.
    Pomyśl raz jeszcze.

    W każdym kroku popełniasz błąd rzędu epsylon,
    ale błąd ten ma losowy znak, bo i zaokrąglenie
    podczas każdego działania jest do najbliższego
    reprezentanta, (można udowodnić, że obcinając
    kilka początkowych cyfr liczb w ciągu geometrycznym
    pozostałości mają rozkład bardzo bliski jednostajnemu).

    Z tego mamy coś bardzo przypominającego realizację
    błądzenia losowego. A wtedy skumulowany błąd zachowuje
    się jak ~sqrt(n).


    Zresztą, można znów po prostu popatrzeć na eksperyment.
    https://www.dropbox.com/sh/kaau8744yye8xhs/AADt6ikWb
    AQ-ZERllRQfONawa
    100 000 000 kroków i dwie liczby

    'oryginalna' 1.000000001;
    i nieco większa 1.0000100001;

    Tym razem porównywane do wartości bezpośredniego potęgowania.

    Pierwsza bardzo słabo miesza, więc wzrost przewidywany
    poniżej zaczyna się z opóźnieniem. Druga idealnie wg teorii.
    Ciągłe linie to err = c*sqrt(N).


    > Dlaczego tak? Bo przy mnożeniu "z grubsza" dodają się błędy względne, a te

    Jak widzisz, nie.

    > Względny błąd jest ok, ale reguła 27*epsilon po prostu nie działa.

    Jaka znowu reguła. To wynik dla konkretnych liczb.
    Przeczytaj poprzedni post raz jeszcze, nie jest trudny.

    BTW. ogólna uwaga jest słuszna, lepiej liczyć coś szybko
    niż wolno.
    ;-)


    pzdr
    bartekltg

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: