Pripad NEvylosovania sa da predsa osetrit ale hlavne - je menej problematicky ako "NEFEROVOST".
Ošetřit se dá všechno možné. To, jestli je to přijatelné a jestli je to méně problematické, než neférovost, je součást zadání – proto jsem se ptal, jaké přesně je zadání.
- Dam si vygenerovat 150 CHAR dlhy string 0 a 1 (1,4 x 10 na 45!)
- Pevna dlzka preto aby zaciatok mohol byt 00001.... a nuly sa mi nestratili
- 500 CHAR 0 a 1 mi pokryje naprikald: 0 az 1000 000 000 000 (bilion) celkovo 1,4 x 10 na 33!
Teda tohle rozluštit… 45! neznamená 45 faktoriál, ale prostě jen 45, aha. Psal jste o deseti miliardách, pro jejich pokrytí potřebujete 2
34. Z těch 150 bitů tedy uděláte (150/34=) 4 kola losování.
Takze vdaka tomuto mozem rolovat extremne vela krat, sanza ze by to stale nepadlo je MINIMALNA a pre mna nedolezita - lebo sa to proste nestane. Mat tak vela '1' vedla seba je nahoda tak mala ze ju mozem zanedbat.
4 kola losování, to podle mne není „extrémně vela“. Jak psal Mirek Prýmek, pravděpodobnost, že v jednom kole nikoho nevylosujete, je 1/2. Za čtyři kola tedy ta pravděpodobnost bude 1/2
4, tedy 1/16. To není minimální pravděpodobnost, to je sakra vysoká pravděpodobnost. Když se to bude hrát 16 hodin denně a každou hodinu se bude jednou losovat, jednou denně nikdo nevyhraje.
- nahodny generator cisel pouzivame HW samozrejme
To je fajn, ale uvědomte si, že budete mít hodně velkou spotřebu náhodných čísel. Abyste měl slušnou pravděpodobnost, že vám ta čísla nedojdou, potřebujete zásobu na desítky opakování, takže nepočítejte se 150 bity, ale s tisíci až desetitisíci bitů.
- stale nevidim problem ani v overeni toho stringu nejakym sposobom (napriklad : je tam 0?) a ak nie je tak pevnaDlzka +1 a dam dalsie nahodne cislo, a znova - je tam 0? a Znova a znova? Takze je to nahodna postupnost 0 a 1 ktora ma urctu vlastnost - takze by som mohol dokonca aj ten pripad jednotiek ( 1...11111...1) eliminovat uplne nie?
To vaše „ověření“ znamená, že byste vyházel hodnoty, které se nemohou použít. Jenže které hodnoty nepřipadají v úvahu víte až v okamžiku, kdy víte, kolik se prodalo lístků. Pokud byste eliminoval třeba ty „samé jedničky“, způsobíte, že při prodeji počtu lístků, který odpovídá mocnině dvou, nemůže ten poslední kupující vyhrát (protože jeho číslo odpovídá právě těm samým jedničkám). To nevypadá moc férově… To, že vám číslo skládající se binárně ze samých jedniček připadá zajímavé, je jenom klam – z hlediska pravděpodobnosti je úplně stejně pravděpodobné, jako kterékoli jiné číslo.
A to je na tom celém to nejdůležitější. Pokud chcete ten systém mít opravdu 100% férový, musíte opravdu dobře vědět, co děláte, jaké jsou charakteristiky komponent, které používáte, jaké mají předpoklady. A všechny ty pravděpodobnosti (např. jak často nikdo nevyhraje) si pak můžete velice snadno spočítat. Pokud to budete brát takhle intuitivně, že čísla 2
n jsou nějaká divná a můžete je vyškrtnout, a nějakou pravděpodobnost intuitivně odhadnete na „prostě nestane“ (a ono je to pak 1/16), nebude ten váš systém férový ani omylem.