-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.task.gda.pl!not-for-mail
From: "AK" <n...@n...com>
Newsgroups: pl.comp.programming
Subject: Re: Błędny epsilon - this is not a bug, this is ?
Date: Tue, 6 Nov 2012 16:48:28 +0100
Organization: CI TASK http://www.task.gda.pl/
Lines: 75
Message-ID: <k7bbgo$pth$1@news.task.gda.pl>
References: <50924bb1$0$1308$65785112@news.neostrada.pl>
<k72sqt$gq$1@news.dialog.net.pl>
<509505f2$0$1317$65785112@news.neostrada.pl>
<k734vm$43g$1@news.dialog.net.pl>
<509533d1$0$26687$65785112@news.neostrada.pl>
<k797v2$t98$1@news.dialog.net.pl>
<509848c6$0$1208$65785112@news.neostrada.pl>
<k79hhh$26k$1@news.dialog.net.pl> <k7am9f$n0p$1@zeus.man.szczecin.pl>
<k7apte$eiu$1@news.task.gda.pl>
<0...@g...com>
<k7b4tp$9ke$1@news.task.gda.pl> <k7b8b5$nqq$1@node1.news.atman.pl>
NNTP-Posting-Host: ppp151185.ostnet.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: news.task.gda.pl 1352216920 26545 62.133.151.185 (6 Nov 2012 15:48:40 GMT)
X-Complaints-To: a...@n...task.gda.pl
NNTP-Posting-Date: Tue, 6 Nov 2012 15:48:40 +0000 (UTC)
In-Reply-To: <k7b8b5$nqq$1@node1.news.atman.pl>
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Windows Mail 6.0.6002.18197
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6002.18463
Xref: news-archive.icm.edu.pl pl.comp.programming:200538
[ ukryj nagłówki ]Użytkownik "bartekltg" <b...@g...com> napisał:
> Ale ujemne zero ani ujemna liczba float nie spełnia x>0!
Wiem, widzialem to. Secjalnie zostawilem.
Po prostu trzeba zrobic sqrt(max(0.0, a))
Czyli ? Jak zwykle: Myslec i "byc swiadom".
Nie ma idealnego "schematu dzialania" dla fp.
> Może problem był w tym, że ten warunek sprawdzano zbyt
> wcześnie, potem robiąc obliczenia, które gubiły dokładność.
>
>
> Ale ja nie o tym chciałem...
>
>
> > a == b fabs(a - b) <= EPS
> > a != b fabs(a - b) > EPS
>
> To trochę bez sensu.
>
> Raz a i b są rządu 10^50, za drugim razem
> rzędu 10^-30.
> I obie różnice mam badać tym samym epsylonem?
> Ale dla pierwszej pary powinien być w okolicy
> 10^36, a w drugiej 10^-44 :)
Pisalem jzu tez ze bardzo czesto w numeryce uzywa sie EPS wzglednego.
Jak juz chyba kiedys tu pisalem "prawdziwa sztuka" to niekiedy wlasnie
dobor EPS.
Czasami sam dobor kroku w metodach optymalizacyjnuych
to prawdziwa sztuka i czesto nietrywailnuy algorytm..
Zalezy on a jakze on zmian wynikow czaskowych czyli posrednio od EPS.
W primitywnych obliczeniach jednak jak najbardziej EPS moze byc staly.
Zalezny po prostu od dlugosci mantysy.
> Chyba miałeś na myśli coś w rodzaju
>
> a == b fabs(a - b) <= EPS * (a+b)
> a != b fabs(a - b) > EPS * (a+b)
Rowniez. Pisalem o wzglednosci EPSa ale przeciez chodzi o zasade
wiec nie chce zaciemniac niekiedy naprawde nietrywialna "praktyka".
Szczegolnie np. w optymalizacji "plaskich funkcji" pojawia sie
problem "kiedy przestac" i/lub kiedy wydluzyc krok.
To neikiedy wrecz decydujaco wplywa na sprawnosc, dokladnosc
czy pewnosc algorytmu.
Tu sam EPS nie wystarczy
Tu np. trzeba wpierw zrobic jakis skalowanie "teoretyczne"
we wzorze funkcji, aby otrzymywane wyniki (wartosci) nie maily
zakresu 0.00000...0001 ale przyslowiowy 1.000
Nie wystarczu skalowanie "mechaniczne" (pomozenie wyniku)
bo juz jest po stracie cyfr znaczacych mantysy.
Itp itd i tak dalej. cala poddziedzina numeryki.
PS: jeszcze pamietam, ze np w metodach optymaliacji gradientowych
(np po lbie mi chodza do dzis nazwy metod Powella, Fletchera,
Wollfa-Broydena-Davidona itd itp) poprawa kiedunku gradientu to
nie byla tylko teoria.
Czasami sprawdzaly sie malo deterministyczne dzialania zawezajace stozek
dopusczalny gradientu, czasami byly to jakies heurystyki a niekeidy pomocne
byly nawet tak z pozoru oblesne "techniki" jak kilka rzutow kostka w
MonreCarlo w poblizu "miejsca chwilowego postoju".
(ze o rownanich rozniczkowych juz nie wspomne, tam EPS i krook to wprost sedno
choc tu sie "nie znam" :)
Czy to sie wiaze z EPS ? Posrednio jak najbardziej.
Ciagle sie sprawdzalo jakis roznice, kroki itp (sorry malo co pamietam
bylo to 30 lat temy tak tak, jeszcze na Odrze :)
Zreszta Wy "numerycy" sami to wiecie :)
Pisze raczej do mniej swiadomych.
AK
Następne wpisy z tego wątku
- 06.11.12 16:56 AK
- 06.11.12 17:31 Roman W
- 06.11.12 17:32 Roman W
- 06.11.12 20:49 AK
- 06.11.12 21:03 slawek
- 06.11.12 21:06 slawek
- 06.11.12 21:07 slawek
- 06.11.12 21:13 slawek
- 06.11.12 21:17 slawek
- 06.11.12 21:22 slawek
- 06.11.12 21:26 Michoo
- 06.11.12 21:31 Roman W
- 06.11.12 21:36 Michoo
- 06.11.12 21:39 slawek
- 06.11.12 21:45 bartekltg
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-23 Riga => Specjalista ds. public relations <=
- 2024-12-23 Łódź => Specjalista ds. Sprzedaży <=
- 2024-12-23 Kraków => International Freight Forwarder <=
- 2024-12-23 Co nalezy do Cinkciarza, a co do Conotoxia ?
- 2024-12-23 Poznań => Key Account Manager <=
- 2024-12-23 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=
- 2024-12-23 Rzeszów => Spedytor Międzynarodowy <=
- 2024-12-23 Warszawa => Infrastructure Automation Engineer <=
- 2024-12-23 Białystok => Analityk w dziale Trade Development (doświadczenie z Po
- 2024-12-23 Warszawa => Site Reliability Engineer (SRE) <=
- 2024-12-23 Warszawa => DevOps Engineer <=
- 2024-12-23 Warszawa => Senior Account Manager <=
- 2024-12-23 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-23 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-12-23 Mińsk Mazowiecki => Spedytor Międzynarodowy <=