-
Data: 2014-07-04 02:27:50
Temat: Re: Liczby losowe
Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 02.07.2014 21:22, slawek wrote:
> Problem jest natury rozrywkowej.
>
> Zadanie brzmi: "napisać program, który wypisuje 1000 liczb losowych".
> Rozwiązanie jest dokładnie takie:
>
> for n in range(0,1000):
> print("42");
>
> I teraz pytanie: jak udowodnić, że te liczby NIE są losowe? Wartość 42
> wybrano przecież przypadkowo, a to że powtarza się ona 1000 razy... no
> cóż, to też może być przypadek, prawda? Czym takie rozwiązanie jest
> gorsze od jakiegokolwiek innego? Przecież w realnym życiu też można 1000
> wygrać w kolejnych losowaniach Lotto, czyż nie?
>
> A jak się nie da udowodnić że nie są, to trzeba założyć że są, prawda
> ?!? ;)
Nie da się udowodnić, bo zawsze mona mieć takiego pecha, ale da się
policzyć, jakiego pecha trzeba by mieć.
Sytacja jest tym lepsze, jeśli mamy nie tylko 1000 liczb,
ale jak dalej piszesz, generator, który mozemy testować do woli.
Buduje się pewną funkcję zależną od tych liczb. W najprostszym
przypadku niech daje jedną liczbę rzeczywistą.
Może to być średnia, wariancja, cześć wymienionych testów stąd
http://en.wikipedia.org/wiki/Diehard_tests (pozostałe zwracają
pewien rozkład, więc trzeba porównać rozkład z oczekiwanym - znów
liczba), procent liczb parzystych, procent liczby równych 42...
Nasza liczba (powstała z funkcji nakarmionej n zmiennymi losowymi,
liczbami z naszego generatora) też jest zmienną losową.
Ma swoją wartość oczekiwaną oraz swój rozkład.
Wpuszczasz swoją próbkę liczb pierwszych w taką maszynkę,
dostajesz wynik, oddalony oczywiście od wartości oczekiwanej.
Teraz patrzymy na rozkład i odczytujemy, jakie jest
prawdopodobieństwo, że z liczb losowych dostaniemy wynik
taki lub gorszy (bardziej oddalony od wartości oczekiwanej).
Jeśli wyniki są abstrakcyjne duże, odrzucamy.
Można się przy tym podeprzeć stwierdzeniem, że bardziej
prawdopodobne jest to, że coś się popsuło albo ktoś nas w jajo robi ;-)
Zakładam, że oczekujemy rozkładu [0..100]
Test na średnią:
Średnia 50000
odchylenie (z ctg) 913
nasz wynik 42000
jesteśmy prawie 10 odchyleń standardowych za średnią (tak, to
już bardzo mocno przypomina rozkład normlany).
Przy założeniu, że liczby były losowe wynik taki lub gorszy dostajemy
z prawdopodobieństwem 1.5*10^-23.
Test na wynik równy 42. (Zmienna losowa Y =1 jeśli wylosowana
X==42, 0 w przeciwmy wypadku) Zakładamy rozkła dyskretny na [0,99].
Dostaliśmy 1000.
Przy założeniu losowości jest to rozkład dwumianowy
z p=1/100 i n=1000.
średnia = 10
odchylenie 3.1
Jesteśmy absurdalne 314 odchyleń standardowych od oczekiwanego
wyniku.
Prawdopodobieństwo tego zdarzenia to 3.6 *10^-21413
O ile pierwszy wynik sugerował wygraną w totolotka... bez grania,
po prostu znajdując kupon totalizatora sportowego na ulicy...
w Kairze podczas powodzi, to drugi wynik sugeruje kreowanie
wszechświatów za pomocą beknięcia.
:-)
> I jeszcze drobiazg: przecież nie ma pewności, że za każdym razem będą te
> same (sic!), bo może się popsuć komputer i wtedy będą inne. Więc są
> losowe! ;)
Skoro może się popsuć, to są losowe. Ale z bardzo nieprzydatnym
rozkładem skupionym na 42;-)
pzdr
bartekltg
Następne wpisy z tego wątku
- 04.07.14 03:48 A.L.
- 04.07.14 09:27 slawek
- 04.07.14 09:32 slawek
- 04.07.14 09:38 slawek
- 04.07.14 10:03 slawek
- 04.07.14 14:26 IDKrzych
- 04.07.14 14:36 IDKrzych
- 04.07.14 18:55 bartekltg
- 04.07.14 19:00 bartekltg
- 04.07.14 20:02 IDKrzych
- 04.07.14 21:28 A.L.
- 05.07.14 17:25 slawek
- 05.07.14 17:39 slawek
- 05.07.14 18:04 IDKrzych
- 05.07.14 18:05 slawek
Najnowsze wątki z tej grupy
- 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
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-02 Akumulatorki Ni-MH AA i AAA Green Cell
- 2024-12-02 Usiłowanie zabójstwa
- 2024-12-01 Rambo 2024. Co z radio-stopem
- 2024-12-01 Pijani kierowcy
- 2024-12-01 "Chciałem zamówić kurs tym"
- 2024-11-30 Windykatorzy ścigają spadkobierców z mandat nieboszczyka za przekroczenie prędkości???
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=
- 2024-11-30 Warszawa => Mid IT Recruiter <=
- 2024-11-30 Warszawa => Fullstack Developer <=