abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Komunita

    Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.

    Ladislav Hagara | Komentářů: 2
    včera 20:33 | IT novinky

    Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Komunita

    MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 0
    13.9. 17:33 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.

    Ladislav Hagara | Komentářů: 0
    13.9. 01:33 | IT novinky

    Microsoft se vyhnul pokutě od Evropské komise za zneužívání svého dominantního postavení na trhu v souvislosti s aplikací Teams. S komisí se dohodl na závazcích, které slíbil splnit. Unijní exekutivě se nelíbilo, že firma svazuje svůj nástroj pro chatování a videohovory Teams se sadou kancelářských programů Office. Microsoft nyní slíbil jasné oddělení aplikace od kancelářských nástrojů, jako jsou Word, Excel a Outlook. Na Microsoft si

    … více »
    Ladislav Hagara | Komentářů: 10
    12.9. 14:00 | Nová verze

    Samba (Wikipedie), svobodná implementace SMB a Active Directory, byla vydána ve verzi 4.23.0. Počínaje verzí Samba 4.23 jsou unixová rozšíření SMB3 ve výchozím nastavení povolena. Přidána byla podpora SMB3 přes QUIC. Nová utilita smb_prometheus_endpoint exportuje metriky ve formátu Prometheus.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (7%)
     (3%)
     (3%)
     (4%)
     (2%)
    Celkem 183 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    Rozcestník

    Dotaz: Algoritmus na náhodné rozdělení dle gaussovy křivky

    Jakub Lucký avatar 26.7.2009 23:06 Jakub Lucký | skóre: 40 | Praha
    Algoritmus na náhodné rozdělení dle gaussovy křivky
    Přečteno: 3026×
    Programuji si takovou netriviální diskrétní simulaci a potřeboval bych poradit s jedním algoritmem.

    Součástí mé simulace je odchod lidí z práce na oběd. Ten probíhá v přesně ohraničeném časovému úseku (dejme tomu 11:00 - 14:00) se špičkou ve 12:30... Tím nám vzniká jakási (dejme tomu symetrická) křivka, podle které bych potřeboval generovat náhodné časy odchodu na oběd.

    Stručně řečeno: Potřebuji vygenerovat X náhodných čísel v nějakém intervalu, které při poskládání vytvoří gaussovu křivku... Jak na to?

    Doufám, že je vysvětlení jasné, už mi z toho jde trochu hlava kolem...

    Díky za pomoc
    If you understand, things are just as they are; if you do not understand, things are just as they are.

    Odpovědi

    26.7.2009 23:34 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Hledej implementaci generatoru nahodnych cisel, ktery dokaze generovat podle nastaveneho rozlozeni. Pro C++ to umi napriklad Boost.
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    Jakub Lucký avatar 27.7.2009 00:34 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    To mě ani nenapadlo, že bych dělal "reinventing the wheel"...

    Má někdo tip na nějakou Python knihovnu která tohle umí?
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    27.7.2009 09:40 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky

    Řekněme, že chci vygenerovat deset hodnot s normálním rozdělením, střední hodnotou pět a "sigmou" (odmocninou z rozptylu) jedna:

     

    >>> from scipy import *
    >>> random.normal(5,1,10)
    array([ 4.17654928,  5.42693759,  2.65380726,  6.30024096,  5.91105815,
            6.26047915,  3.8240613 ,  5.48209872,  5.05101277,  3.30617717])
    

    A je to :-)

    27.7.2009 06:48 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Stačí když použijete normální generátor náhodných čísel od 0 do 1 a výsledek pošlete jako parametr do kvantilové funkce. U gausse je tato funkce poměrně složitá, popis algoritmu a implementace lze najít např http://home.online.no/~pjacklam/notes/invnorm/
    In Ada the typical infinite loop would normally be terminated by detonation.
    27.7.2009 09:30 ivan
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky

    Hmm, a nestacilo by vygenerovat n cisel, secist je a pak vydelit n?.

     

    27.7.2009 09:49 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Průměr n náhodných čísel bude mít zase stejný tvar rozdělení, jako původních n čísel, ne?
    27.7.2009 10:12 x22
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Nie.
    27.7.2009 10:39 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    No jo, ona náhodná čísla vygenerovaná v počítači asi budou patřit do nějakého omezeného intervalu…
    27.7.2009 23:56 Martin | skóre: 10 | blog: Nádraží Perdido
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Důvod pro normální rozdělení průměrů posloupností stejně rozdělených náhodných veličin je v něčem jiném.
    27.7.2009 10:28 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Pokud si pamatuju dobře tak střední hodnota (="průměr") má normální rozdělení, takže by to asi tak šlo: vezmete např 1000 čísel s uniformním rozdělením od N do M (=rand()), spočtete střední hodnotu, máte jedno náhodné číslo s normálním rozdělením, vezmete dalších 1000, spočtete stř. h., máte další náhodné č., ... postupně vám vyjde gauss s mí=(M+N)/2 a sigma užnevímkolik.

    Ale spotřebuje to nepoměrně víc náhodných čísel než kvantilová funkce, přes kterou se to obvykle dělá.
    In Ada the typical infinite loop would normally be terminated by detonation.
    27.7.2009 10:48 Martin | skóre: 10 | blog: Nádraží Perdido
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    To záleží na tom, co by ta čísla generovalo. Třeba takové rand() % n by bylo pro výše uvedenou simulaci pravděpodobně nepoužitelné. To by asi chtělo použít nějaký propracovanější generátor.

    Pokud by nezáleželo až tak na jazyku, udělal bych to v R. Tam je aspoň trochu jistota, že to bude dávat rozumné hodnoty pro různá rozdělení, má to i vlastní programovací jazyk, dělá to grafy... Na simulace ideální věc. Na Pravděpodobnosti a statistice jsme v něm dělali zápočtový projekt, taky diskrétní simulaci.
    27.7.2009 10:52 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Třeba takové rand() % n by bylo pro výše uvedenou simulaci pravděpodobně nepoužitelné.
    Proč?
    In Ada the typical infinite loop would normally be terminated by detonation.
    27.7.2009 11:10 Martin | skóre: 10 | blog: Nádraží Perdido
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Když jsem si s tím kdysi hrál, tak mi to nedávalo dostatečně rovnoměrně rozdělené hodnoty. Ale možná to tehdy bylo jenom nějaké zkriplené.

    Určitě ale existují třeba pro takové C++ mnohem lepší a spolehlivější generátory.
    27.7.2009 11:17 Martin | skóre: 10 | blog: Nádraží Perdido
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    (Samozřejmě záleží hlavně na tom, jak moc seriózní tu simulaci člověk potřebuje.)
    27.7.2009 12:59 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    IMHO stačí číst z /dev/urandom (na Linuxu).
    In Ada the typical infinite loop would normally be terminated by detonation.
    27.7.2009 23:57 Martin | skóre: 10 | blog: Nádraží Perdido
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Je to možné, takhle jsem to zatím nikdy nezkoušel. Ani vlastně nevím, jak /dev/urandom přesně funguje. Otestuju to a zkusím porovnat.
    27.7.2009 12:33 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    V dokumentaci výslovně varují před použitím modulo. Když už, tak rand() * N / RAND_MAX

    27.7.2009 12:59 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    To je ale jen v nějaké referenční implementaci.
    In Ada the typical infinite loop would normally be terminated by detonation.
    27.7.2009 13:56 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Pravda, záleží na algoritmu a "Linux C Library use the same random number generator as random() and srandom(), so the lower-order bits should be as random as the higher-order bits"

    27.7.2009 10:08 Vojtěch Horký | skóre: 39 | blog: Vojtův zápisník | Praha
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Tohle by mělo jít bez problémů simulovat v R (a přihodím ještě odkaz s obrázkem).
    I am always ready to learn although I do not always like to be taught. (W. Churchill)
    27.7.2009 13:09 Radovan
    Rozbalit Rozbalit vše Dotaz nematematika

    Jak je velký rozdíl v průběhu mezi Gaussovou křivkou a obyčejnou sinusoidou?

    hodnota=int(maxvyska*(1-cos(index*pi/limit)))

    X
    X
    XXXX
    XXXXXXXXX
    XXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXX
    XXXXXXXXX
    XXXX
    X
    X

    27.7.2009 13:44 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Dotaz nematematika
    Rozdíl je přesně 1 :D (Za předpokladu, že normální rozložení bereme od −∞ do ∞ a sinus od 0 do π.)
    27.7.2009 23:45 Radovan
    Rozbalit Rozbalit vše Re: Dotaz nematematika

    Mě šlo o tvar té křivky, ne o přesná čísla, interval toho mého grafu je <0;2π> Jen tak od oka bych totiž řekl, že ty průběhy jsou stejné...

    28.7.2009 08:30 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Dotaz nematematika
    Tak to je opravdu jen od oka ;)
    In Ada the typical infinite loop would normally be terminated by detonation.
    28.7.2009 09:24 Radovan
    Rozbalit Rozbalit vše Re: Dotaz nematematika

    Právě proto se ptám :-D

    28.7.2009 09:58 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Dotaz nematematika

    Tato debata je naprosto mimo původní téma. Ale když máme tu okurkovou sezónu ...

    Místo "sinusovky" jsem použil kosinus na druhou (neptej se proč). Nakreslím-li to do stejného grafu spolu s Gaussovkou, dostanu tohle:

    kf.fyz.fce.vutbr.cz/pub/gauss_cos2.png

    A na co že ses vlastně ptal?

     

    28.7.2009 11:37 Radovan
    Rozbalit Rozbalit vše Re: Dotaz nematematika

    Jo, je to trochu off-topic, takže díky. Ta moje "kosinusovka" je nejen otočená a posunutá, ale i roztažená, takže ve vrcholech se s gaussovkou potkává. Ptal jsem se na tu spodní část, na tom tvém obrázku je ten rozdíl už vidět.

    Jakub Lucký avatar 28.7.2009 12:16 Jakub Lucký | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Všem děkuji za návrhy...
    If you understand, things are just as they are; if you do not understand, things are just as they are.
    28.9.2012 15:10 Wrunx
    Rozbalit Rozbalit vše Re: Algoritmus na náhodné rozdělení dle gaussovy křivky
    Možná už to je OT, ale: #Python 2.7 gaussian_values = [random.gauss(1, .5) for i in range(1000)]

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.