Forum strony www.multipasko.pl [Regulamin]


Dodaj wpis w tym temacie
Spis tematów
Login:

Hasło:
Strona: 1 2 3 ... 41 42
Wyślij wiadomość do admina

Przewiń wpisy ↓

Generator kombinacji gier liczbowych (moderator tematu: Amadeus)

2012-04-18 (00:10)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 20462

3794
wpis nr 516 953
[ CZCIONKA SPECJALNA ]

464491550 losowań 15/49

2012-04-18 (09:53)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 21426

1386
wpis nr 516 991
[ CZCIONKA SPECJALNA ]

Witam

Sinbad > no właśnie , jak się nie da do tablic ,albo zbyt czasochłonne,bo zbiory zbyt duże, to sięgamy wtedy po niego .





I ...... jeśli sprawdzić LOSOWE USTAWIENIA ,

to symulacje z bilansem czy wynikiem oczekiwania w postaci progów ,

są mniej stabilne w porównaniu do algorytmów wyboru według kryteriów,

......właściwie to są w ogóle niestabilne ... nieprzewidywalne.



pozdrawiam
2012-04-20 (20:44)

status Amadeus
Data rejestracji: 2009-04-30
Ilość postów: 820

4541
wpis nr 517 690
[ CZCIONKA SPECJALNA ]



Witam,



Generator gotowy. Wersja dla Lotto 6/49.



http://www.sendspace.com/file/sj1ypn



Sposób użycia:



genlotto.exe ilosckombinacji pliktekstowy



np.



genlotto.exe 1000000 milion.txt



Na komputerze AMD Athlon 64 3000+ z 3 GB RAM w powłoce wiersza poleceń CMD.EXE systemu Windows XP Professional generator wytwarza 100 tysięcy kombinacji na sekundę do pliku tekstowego.



Detale implementacji:



Jądrem algorytmu jest kryptograficznie bezpieczny generator ISAAC,

w wersji ISAAC+ (poprawka zasugerowana w IACR Report 2006/438)



Generator jest inicjowany wsadem z systemowego źródła losowości CryptGenRandom - na całej objętości stanu wewnętrznego.



Poprzez operację dzielenia binarnego 32-bitowe wartości wyjściowe są redukowane do 24 bitów, co powoduje, że więcej wartości wyjściowych

mieści się w zakresie kodów CSN Lotto 6/49. Jeśli wartość wyjściowa mieści

się w tym zakresie, jest konwertowana na odpowiadającą kombinację.



Pytania, uwagi?



Pozdrawiam,



Amadeus



2012-04-20 (20:58)

status geniu7
Data rejestracji: 2011-08-16
Ilość postów: 795

13148
wpis nr 517 693
[ CZCIONKA SPECJALNA ]

Amadeus. Mam zainstalowaną Vistę i nie mogę uruchomić generatora, może jakaś podpowiedź!!!
2012-04-20 (21:27)

status Molek
Data rejestracji: 2005-12-12
Ilość postów: 4791

1497
wpis nr 517 705
[ CZCIONKA SPECJALNA ]

Witam

Amadeus,działa,jest szybki.

Teraz w katalogu gdzie znajduje się program,powinien istnieć plik np."Parametry.cfg" w którym można będzie podać warunki do spełnienia.

Np.parzystość,niskie i itp.

Użytkownik sam podaje warunki w pliku i program pobiera parametry ,generuje, i szuka.

Jeśli znajdzie to zapis do txt.

Henryk
2012-04-20 (21:31)

status Molek
Data rejestracji: 2005-12-12
Ilość postów: 4791

1497
wpis nr 517 706
[ CZCIONKA SPECJALNA ]

może tak:

Np.parzystość,niskie i MAX. powtórek w zkładach już wygenerowanych itp.

Henryk
2012-04-20 (21:39)

status Amadeus
Data rejestracji: 2009-04-30
Ilość postów: 820

4541
wpis nr 517 707
[ CZCIONKA SPECJALNA ]



"Amadeus. Mam zainstalowaną Vistę i nie mogę uruchomić generatora, może jakaś podpowiedź!!!"



Na generator nie klikamy. Nie zadziała.



Wypakowujemy go do jakiegoś folderu.



Kopiujemy adres tego folderu z paska adresowego exploratora windows do schowka.



Uruchamiamy powłokę CMD.EXE (Start-Znajdź pliki lub programy: CMD.EXE).



W powłoce tej wpisujemy polecenie CD i po nim wklejamy zapamiętaną ścieżkę. Naciskamy ENTER.



Gdy CMD wyświetli nam wklejoną ścieżkę w wierszu polecenia oznacza to, że jesteśmy w folderze macierzystym generatora.



Wpisujemy polecenie genlotto.exe 100 test.txt



Jeśli w folderze powstanie plik test.txt z setką kombinacji, to dobrze.



Jeśli nie powstanie, oznacza to, że coś zrobiliśmy źle.



Pozdrawiam,



Amadeus





2012-04-20 (23:30)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 20462

3794
wpis nr 517 748
[ CZCIONKA SPECJALNA ]

Witaj Amadeus,

A gdzie można dorwać jakieś źródło ISAAC+

Pozdrawiam

2012-04-21 (11:07)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 21426

1386
wpis nr 517 807
[ CZCIONKA SPECJALNA ]

Sinbad> wejdź tu:

http://burtleburtle.net/bob/rand/isaacafa.html

http://sebsauvage.free.fr/isaac/
2012-04-21 (13:23)

status Amadeus
Data rejestracji: 2009-04-30
Ilość postów: 820

4541
wpis nr 517 851
[ CZCIONKA SPECJALNA ]



2012-04-21 (11:07) 777ch pisze:



"Sinbad> wejdź tu:

http://burtleburtle.net/bob/rand/isaacafa.html

http://sebsauvage.free.fr/isaac/"



Nie. To nie są źródła generatora ISAAC+, ale zwykłego ISAAC.



Nie spotkałem w Internecie implementacji ISAAC+, dlatego zaimplementowałem

go dla potrzeb mojego generatora samodzielnie.



Pozdrawiam,



Amadeus

2012-04-21 (13:48)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 20462

3794
wpis nr 517 858
[ CZCIONKA SPECJALNA ]

2012-04-21 (14:07)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 20462

3794
wpis nr 517 864
[ CZCIONKA SPECJALNA ]

Witam,

Wylosowanie wszystkich kombinacji 6/49 wymagało 217346956 losowań.

Użyłem zwykłego generatora ISAAC.

13983816 .. 217346956



Pozdrawiam

2012-04-21 (14:19)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 20462

3794
wpis nr 517 875
[ CZCIONKA SPECJALNA ]

Wylosowanie wszystkich kombinacji 6/49 wymagało 212692849 losowań.

Użyłem funkcji Random.

Zauważyłem, że ISAAC był wolniejszy kilkadziesiąt razy od Randoma.



13983816 .. 212692849

2012-04-21 (14:32)

status Amadeus
Data rejestracji: 2009-04-30
Ilość postów: 820

4541
wpis nr 517 879
[ CZCIONKA SPECJALNA ]

2012-04-21 (14:19) sindbad pisze:

"Zauważyłem, że ISAAC był wolniejszy kilkadziesiąt razy od Randoma."



http://sebsauvage.net/isaac/idwisaacasm.pas



Zoptymalizowana wydajnościowo wersja ISAAC.



Niezależnie od wszystkiego ISAAC będzie wolniejszy od prymitywnego randoma przez sam fakt, że składa się z wielu instrukcji.



Pozdrawiam,



Amadeus

2012-04-21 (19:40)

status Amadeus
Data rejestracji: 2009-04-30
Ilość postów: 820

4541
wpis nr 517 963
[ CZCIONKA SPECJALNA ]



Sytuacja wygląda tak, że większość produktów informatycznych jest ZATRUTA niskiej jakości procedurami pseudolosowymi (co ma szczególnie groźne efekty na polu kryptografii, patrz np. http://tinyurl.com/bmtn5dj )



Także na polu analiz statystycznych i symulacji przejawia się ta zaraza niekompetencji, co opisuję szerzej poniżej. Jeśli więc poważnie podchodzimy do analiz/symulacji Lotto, równie poważnie traktujmy jakość naszych narzędzi.



2012-04-16 (18:31) 777ch pisze:

"Chętnie wskażę losowo grupę zestawów ,np: 50-szóstek dla DL czy

50 piątek dla Mini , wykorzystując random wbudowany w excela"



Szkoda czasu na kolejny gniot "made by Microsoft". Jeżeli już ktoś musi

działać w Excelu, niech zasili się tym dodatkiem:



http://www.ntrand.com/download/



Ten generator ustępuje znacząco ISAAC'owi, ale i tak jest o wiele rzędów lepszy niż COŚ pełniącego rolę generatora w Excelu.



Poniżej dokumentuję tragiczną jakość generatora z Excela:



http://support.microsoft.com/kb/828795

"Funkcja RAND w starszych wersjach programu Excel używała algorytmu generowania liczb pseudolosowych, który nie uzyskał wymaganych wyników podczas standardowych testów losowości."



http://www.pages.drexel.edu/~bdm25/excel-rng.pdf

a b s t r a c t

Microsoft attempted to implement theWichmann–Hill RNG in Excel 2003 and failed; it did not just produce numbers between zero and unity, itwould also produce negative numbers. Microsoft issued a patch that allegedly fixed the problem so that the patched Excel 2003 and Excel 2007 now implement the Wichmann–Hill RNG, as least according to Microsoft. We show that whatever RNGit is that Microsoft has implemented in these versions of Excel, it is not the Wichmann–Hill RNG. Microsoft has now failed twice to implement the dozen lines of code that define theWichmann–Hill RNG.



http://www.pages.drexel.edu/~bdm25/excel2007.pdf

a b s t r a c t

Excel 2007, like its predecessors, fails a standard set of intermediate-level accuracy tests in three areas: statistical distributions, random number generation, and estimation. Additional errors in specific Excel procedures are discussed.Microsoft’s continuing inability to correctly fix errors is discussed. No statistical procedure in Excel should be used until Microsoft documents that the procedure is correct; it is not safe to assume that Microsoft Excel’s statistical procedures give the correct answer. Persons who wish to conduct statistical analyses should use some other package.





"The random number generator has always been inadequate. With Excel 2003, Microsoft attempted to implement the Wichmann–Hill generator and failed to implement it correctly. The fixed version appears in Excel 2007 but this fix was done incorrectly. Microsoft has twice failed to implement correctly the dozen lines of code that constitute the Wichmann–Hill generator; this is something that any undergraduate computer science major should be able to do. The Excel random number generator does not fulfill the basic requirements for a random number generator to be used for scientific purposes:



1. it is not known to pass standard randomness tests, e.g., L’Ecuyer and Simard’s (2007) CRUSH tests (these supersede Marsaglia’s (1996) DIEHARD tests—see Altman et al. (2004) for a comparison);

2. it is not known to produce numbers that are approximately independent in a moderate number of dimensions;

3. it has an unknown period length; and

4. it is not reproducible."



Pozdrawiam,



Amadeus

2012-04-21 (23:49)

status 777ch
Data rejestracji: 2005-11-07
Ilość postów: 21426

1386
wpis nr 518 036
[ CZCIONKA SPECJALNA ]

Amadeus > witam



Masz rację że random w excelu to gniot , to określenie jest pewnie jeszcze

zbyt słabe.



Random czyli dystrybucja losowa ,nie może być wykonywana

przy pomocy excela ,bez odpowiedniego turbodoładowania.



Excel potrzebuje do 600-set uruchomień dla liczby 147

i niewiele mniej uruchomień dla mniejszych wartości ,do

momentu aż wszystkie wartości zostaną wylosowane.



Dlatego ,bez podziału zbioru 13983816 na podzbiory ,nie ma mowy

o dystrybucji przy użyciu excela,jeśli random

to etapowy.



147 dzieli na --------------95128 podzbiory [1-random]

47 dzieli te [95128] na-- 2024 podzbiory [2-random]

23 dzieli te [2024] na----88 [3-random]

z 88 random ostatni wskaże jedną [4-random]



Jeśli przy użyciu tablic ,zapamiętasz wskazania 4-ech randomów,

to w ciągła dystrybucja będzie ciekawa ,bo zapamiętać możesz

co chcesz , a więc dystrybucja mimo iż losowa,nie będzie przypadkowa ,

ale to zależy od pomysłodawcy.



To powyżej to przykład , bo konfiguracje wskaźników mogą być różne,

a na pewno wszystkie kombinacje mają szanse trafić do pliku, ale

tak jak wspomniałem ,wszystko zależy od ..... pomysłu .



Faktem jest że Isaac jest ciekawy , i jak widzę generuje mi 100000 kodów

w 44 ms,

na razie testuję Isaaca

źródło: " First Delphi ISAAC implementation by Sébastien SAUVAGE (http://sebsauvage.net) w delphi



porównam sobie ,to się wypowiem ,a na razie życzę wszystkiego dobrego.

---------------------------------------------------------------------------------------------

wklejam obrazek przykładowej pierwszej 50-ki random według mojego pomysłu w excelu,

...obrazek bo by się zlały dane.

2012-04-23 (13:43)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 20462

3794
wpis nr 518 406
[ CZCIONKA SPECJALNA ]

Witaj Amadeus,

Mam pytanie odnośnie zoptymalizowanej wydajnościowo wersji ISAAC.

Czy ta wersja nadaje się do analiz Lotto? (6/49).

Jeśli nie to czy mógłbyś udostępnić mi źródło Twojej wersji ISAAC+.



Pozdrawiam,

ludwik@lottopad.pl

2012-04-23 (18:42)

status Amadeus
Data rejestracji: 2009-04-30
Ilość postów: 820

4541
wpis nr 518 470
[ CZCIONKA SPECJALNA ]



2012-04-23 (13:43) sindbad pisze:



"Mam pytanie odnośnie zoptymalizowanej wydajnościowo wersji ISAAC.

Czy ta wersja nadaje się do analiz Lotto? (6/49)."



Nadaje się bez problemu.

Na pewno lepiej niż każdy inny generator klasy "random()".

Można używać tej wersji, ale STANOWCZO i BEZWZGLĘDNIE należy zadbać

o jakość inicjalizacji generatora. Przykładowo w PHP dostępny jest silny

generator Mersenne Twister (występuje jako funkcja mt_rand() ), ale jest on inicjowany 32-bitową liczbą całkowitą. Oznacza to, że z wielkiego stanu wewnętrznego tego generatora nie ma żadnej korzyści, bo możliwych sekwencji wyjściowych będzie tylko 2^32. Jak już mówiłem, ta niekompetencja ma formę zarazy.



"Jeśli nie to czy mógłbyś udostępnić mi źródło Twojej wersji ISAAC+."



Urbi et orbi:



http://www.sendspace.com/file/0bkg8i



Polecam moją wersję generatora: raz, że implementuje ona ulepszoną wersję ISAAC, dwa, że położyłem nacisk na krytyczny element, czyli inicjalizację generatora - inicjowany jest na całej szerokości stanu wewnętrznego.



I jeszcze jedno: Żadnych redukcji modulo wartości wyjściowych do wartości kodu CSN, inaczej pojawi się bias. Poprawna metoda uwidoczniona jest w mojej implementacji w funkcji RandomLottoComb: redukcja z 32 do 24 bitów (czyli do 16 milionów kombinacji), a z tych proste filtrowanie liczb w zakresie kodów CSN dla 6/49.

Jeśli chcemy losować pojedyncze liczby, to w interfejsie biblioteki ISAACP dostępna jest funkcja ISAAC_Random().



Pozdrawiam,



Amadeus

2012-04-24 (01:27)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 20462

3794
wpis nr 518 603
[ CZCIONKA SPECJALNA ]

Dzięki Ci Amadeus.

Ale mamy materiału - fiu, fiu!



Pozdrawiam

2012-04-24 (01:29)

status sindbad
Data rejestracji: 2008-10-13
Ilość postów: 20462

3794
wpis nr 518 604
[ CZCIONKA SPECJALNA ]

| Dodaj wpis w tym temacie | Spis tematów | Wyniki lottoStrona: 1 2 3 ... 41 42
Wyślij wiadomość do admina