-
Data: 2012-04-02 14:58:08
Temat: Re: dalsza optymalizacja
Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2012-04-02 02:58, M.M. pisze:
>> To, co nazwałem 'złożeniem' polega na tym, że najpierw
>> losujemy jedną liczbę k ~ B(n,p), a następnie, mając
>> już k robimu losowanie liczby g z rozkąłdu g~B(k,q)
>> (poprzednio w obu losowaniach musiało być to samo p).
> No tak. Dzieląc jeden zbiór o liczności n na dwa
> podzbiory o liczności k i n-k, schodzimy rekurencyjnie
> w dół. Ale czemu za drugim razem jest B(k,q), a nie
> B(k,p)?
Bo podział między zbiory 'weszło' i 'nie weszło'
może być inny. Jak w przykładzie z 6 szufladkami,
najpierw dzielimy po 3, czyli jest 1/2 sanszy że wejdzie
do wyróżnionego zbioru, a następnie z tych 3 wybieramy jedną
więc szansa jest tylko 1/3.
>
> Np. mamy 11 szufladek i n kulek. Szufladki dzielimy
> mniej/więcej po równo, czyli na 5 i 6. Prawdopodobieństwo
> że kulka wleci do pierwszych pięciu to 5/11, a że do
> pozostałych 6/11. Czyli zmienną k losujemy z
> rozkładu B(n,5/11).
Tak.
> W ten sposób podzieliliśmy zbiór
> na dwa podzbiory o liczności k i n-k. Następnie schodzimy
> rekurencyjnie w dół dla "5 szufladek i k kulek" i "6 szufladek i
> n-k kulek". O to chodzi?
Tak. Podzieliliśmy te kulki między te zbiory tak, jakby każda
z osobna była losowana i z równym prawdopodobieństwem
lądowała w każdej z szuflad.
>> Okazuje się, że g ~ B (n,p*q)
> Hmmm nie wiem i nie wiem do czego to jest potrzebne. Chyba
> się gubię w symbolach p i q.
Masz swoje wylosowane k i 5 szuflad. Wybierasz szufladę
nr 2. Losujesz liczbę kul w tej szufladzie z rozkładu B(k,1/5)
Wzorek mówi, że liczba ta ostatecznie będzie (gdy zapomnimy o k)
z rozkładu B(n,1/5 * 5/11) = B (n,1/11)
więc jakbyś od razu losował dla tej jednej.
>> Ale ze wzorku g ~ B (50, 1/2*1/3) = B (50,1/6)
>> czyli tak, jakbyśmy od razu badali trafianie do
>> szuflady 1. Robienie tego (w ten sposób!) na raty
>> nie zmienia wyniku.
> Czyli można liczyć albo rekurencyjnie, albo iteracyjnie:
> k1 ~ B(50,1/6)
> k2 ~ B(50-k1,1/5)
> k3 ~ B(50-k1-k2,1/4)
> k4 ~ B(50-k1-k2-k3,1/3)
> k5 ~ B(50-k1-k2-k3-k4,1/2)
> k6 = 50-k1-k2-k3-k4-k5
> Jeśli B jest jakimkolwiek prawidłowym rozkładem to nie
> widzę powodu aby to mogło nie działać.
Tak, to jest właśnie pierwszy algorytm z postu.
>> n = N; //ile kulek jeszcze zostało.
>> for( i=0 ; i<M ; i++ )
>> {
>> int k = generuj_liczbę_losową_B ( n, 1.0/(M-i) );
>> x[i]+=k;
>> n-=k;
>> }
Tylko trzeba mieć poprawny generator.
Druga wersja, dzieląca na połowy, potrafi przy dużym n (w porównaniu
do liczby szuflad) zadowolić się przybliżeniem opartym o generator
normalny (jeśli chcesz rozkład 'podobny', a nie są to jakieś ścisłe
symulacje opierające poprzwność o ten rozkład:)
W sumie nie jest trudne przy takich warunkach 'naprawić'
to metodą eliminacji (jak ona się po angielsku nazywa?)
algo od początku zbudować swoją za pomocą metody 'alias'.
pzdr
bartekltg
Następne wpisy z tego wątku
- 02.04.12 15:00 bartekltg
- 02.04.12 15:22 M.M.
- 02.04.12 15:55 M.M.
- 02.04.12 16:16 bartekltg
- 02.04.12 17:11 M.M.
- 02.04.12 17:31 Michoo
- 02.04.12 18:25 bartekltg
- 02.04.12 18:30 M.M.
- 02.04.12 18:47 Michoo
- 02.04.12 18:49 M.M.
- 02.04.12 18:51 M.M.
- 02.04.12 19:25 Edek Pienkowski
- 02.04.12 10:52 Roman W
- 02.04.12 12:07 Roman W
- 03.04.12 17:30 bartekltg
Najnowsze wątki z tej grupy
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
Najnowsze wątki
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Czwarta doba strajku na głębokości 500 metrów. "Ministerstwo robi sobie z nas jaja"
- 2025-12-29 Kolejny kraj [WB - przyp. JMJ] zakazuje chowu klatkowego. W Polsce żyje tak 40 mln kur
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Norwegia kontra media społecznościowe
- 2025-12-28 PREZENTY OD MINISTRA FINANSÓW. SKĄD PIENIĄDZE?
- 2025-12-27 pompa CO
- 2025-12-27 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-12-27 Ewakuacja ludności
- 2025-12-26 Gdańsk => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-26 Kraków => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-12-26 Kraków => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-26 wymieniłem termostat
- 2025-12-26 Warszawa => Senior Backend Java Developer <=
- 2025-12-25 Finlandia przywraca swastykę




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]