Forum strony www.multipasko.pl [Regulamin]


Dodaj wpis w tym temacie
Spis tematów
Login:

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

Przewiń wpisy ↓

Generator kombinacji gier liczbowych (moderator tematu: Amadeus)

2012-04-26 (14:03)

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

3794
wpis nr 519 183
[ CZCIONKA SPECJALNA ]

Witaj Amadeus,

Twoja modyfikacja znacznie przyśpieszyła generator.



ISAAC+ (24 bit)

Wykonanie obliczeń zajęło: 33,63 s

225069047 / 13983816



Random

226802752 / 13983816

Wykonanie obliczeń zajęło: 27,74 s



Czas zając się porównaniem wyników analiz Lotto.



Pozdrawiam

2012-04-26 (14:50)

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

1386
wpis nr 519 199
[ CZCIONKA SPECJALNA ]

Sindbad> jeśli mogę prosić na maila o zmodyfikowaną przez Ciebie wersję

.....potrzebuję trochę pozmieniać [w projekcie].



potrzeba mi:

assignFile(plik, 'Leo.txt');

bo szóstki pobieram do sprawdzania jedynie z tego pliku

no i potrzebuję format { jeśli użyłeś StringList}



aa.Add('%d %d %d %d %d %d',

[l1, l2, l3, l4, l5, l6]));





bo sprawdzam pliki w excelu wykorzystując :





Do Until objFile.AtEndOfStream

strLine = objFile.ReadLine

arrLine = Split(strLine, " ")

i = i + 1





l1 = arrLine(0)

l2 = arrLine(1)

l3 = arrLine(2)

l4 = arrLine(3)

l5 = arrLine(4)

l6 = arrLine(5)



'formuły sprawdzajace

Loop



pozdrawiam
2012-04-26 (15:05)

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

1386
wpis nr 519 205
[ CZCIONKA SPECJALNA ]

Nieważne czy nadpisywanie pliku ,czy zapis stringlist do pliku ,

byle nazwa pliku i format danych były takie jak pobiera mi excel,

bo do analiz tylko excela wykorzystuję, a jak na razie nie ruszyłem

z ostatnim generatorem Amadeusa, no i jakoś brak przekonania do zastosowania

random do gry ,ale to coś nowego i szybkiego ,więc może warto

się tym pobawić trochę.
2012-04-27 (10:27)

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

3794
wpis nr 519 386
[ CZCIONKA SPECJALNA ]

Witaj Leo,

Aplikacja command-line, jaką udostępnił nam Amadeus spełnia Twoje warunki (separatorem jest spacja).



Const Tab : Array[1..49] Of Arr3 =

('01 ','02 ','03 ','04 ','05 ','06 ','07 ','08 ','09 ','10 ','11 ','12 ',

'13 ','14 ','15 ','16 ','17 ','18 ','19 ','20 ','21 ','22 ','23 ','24 ',

'25 ','26 ','27 ','28 ','29 ','30 ','31 ','32 ','33 ','34 ','35 ','36 ',

'37 ','38 ','39 ','40 ','41 ','42 ','43 ','44 ','45 ','46 ','47 ','48 ','49 ');



Wystarczy wpisać "genlotto.exe 10 Leo.txt" i gitara.

Mamy 10 losowań w pliku Leo.txt



03 10 16 23 34 35

11 18 22 30 33 40

17 20 21 22 41 44

03 12 24 34 38 42

12 17 31 36 41 45

01 02 08 10 28 43

08 14 20 24 47 49

17 22 24 33 40 48

03 14 15 26 29 43

19 23 35 38 46 47



Powodzenia

2012-04-27 (10:38)

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

1386
wpis nr 519 395
[ CZCIONKA SPECJALNA ]

sindbad> tej ostatniej wersji jeszcze nie tknąłem ,dzięki.
2012-04-27 (10:52)

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

3794
wpis nr 519 401
[ CZCIONKA SPECJALNA ]

Jest jedna wersja "genlotto.exe".

Następne pliki to źródła, o które prosiłem i otrzymaliśmy je wszyscy "Urbi et orbi".

2012-04-27 (13:08)

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

1386
wpis nr 519 429
[ CZCIONKA SPECJALNA ]

Sindbad



na to generuję z tego genlotto.exe ,raz po raz .....

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

procedure TForm1.Button1Click(Sender: TObject);

begin

memo1.lines.clear;

WinExec('C:\Documents and Settings\leo\genlotto.exe 100 leo.txt', SW_SHOW);

memo1.Lines.LoadFromFile('leo.txt');

end;

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

Ale..... jak podsumować skuteczność......

,na bazie tego co generator "wypluł" ?



Jaka liczba losowań sprawdzanych?,jaka liczba generowanych zestawów?

Jak to widzisz Sinbad ?





2012-04-27 (14:03)

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

3794
wpis nr 519 450
[ CZCIONKA SPECJALNA ]

Mnie interesuje różnica między generatorem ISAAC a Random w temacie gier liczbowych.

Używałem do tej pory funkcji Random, ale jeśli ISAAC da mi lepsze wyniki to zmienię generator na ISAAC.

Na razie nie mam czasu zająć się tą konfrontacją.

Lecę do pracy.

2012-04-28 (22:15)

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

3794
wpis nr 519 851
[ CZCIONKA SPECJALNA ]

Witam

Sprawdziłem skuteczność generatorów na odcinku 1000 losowań.



ISAAC - z wynikiem 14708672.574 > RP(13983816).

Random - z wynikiem 13571275.099 < RP.







Pozdrawiam

2012-04-29 (09:03)

status Tajemniczy Don Pedro
Data rejestracji: 2009-04-18
Ilość postów: 722

4474
wpis nr 519 918
[ CZCIONKA SPECJALNA ]

Amadeus i Sindbad,



odezwijcie się proszę do mnie /z nickami, żebym wiedział od kogo/ na poniższy adres:



wjd11o2.pl



albo podajcie jakiś kontakt do Was.



Mam prośbę do Was w związku z nietypowym zastosowaniem Amadeusowego generatora, ale nie jest to dokładnie w temacie bardzo interesującego wątku, więc nie chcę zaśmiecać.



Generator Amadeusa jest wspaniały i nadaje się do znacznie większej ilości zastosowań, aniżeli widać na pierwszy rzut oka. Nawet w grach losowych można robić z nim różne badania.



Oczywiście największa zaleta silnego generatora może być w niektórych zastosowaniach nieprzydatna, bowiem wylosowane przez niego następstwa są bardziej zbliżone do wycinka teoretycznego nieskończonego ciągu niż losowania słabszych generatorów. Innymi słowy silniejszy generator jest w stanie dawać więcej "niespodzianek" w postaci rzadkich następstw, aniżeli słaby, a prymitywne generatory są w ogóle takich rzeczy pozbawione.

Dla krótkich ciągów jest to niekoniecznie korzystne, dla dużych statystyk jest to bezcenne.



Gratuluję Amadeus !



Wszystkiego Dobrego Wszystkim

2012-04-29 (09:06)

status Tajemniczy Don Pedro
Data rejestracji: 2009-04-18
Ilość postów: 722

4474
wpis nr 519 919
[ CZCIONKA SPECJALNA ]

Errata:



Oczywiście jeszcze małpa: wjd11@o2.pl



Zagapiłem się w ten generator, przepraszam.
2012-04-29 (17:49)

status Kurka
Data rejestracji: 2009-01-23
Ilość postów: 2551

4098
wpis nr 520 074
[ CZCIONKA SPECJALNA ]

Sindbad pamiętasz może temat gdzie sprawdzałeś generatorem Random grę 6z90 (czy coś w tym stylu) .

chodziło o to ile trzeba wygenerować losowań aby pojawiły się wszystkie możliwe szóstki i po 4mld z hakiem generator generator kończył pracę gdyż 32bitowy Random to 2^32 więc 4miliardy z ogonkiem.



Sprawdźmy generator czy jest w stanie wyrzucić monetą 50 razy z rzędu na Orle ?

Ile potrzeba na to serii rzutów (bądź rzutów).

Random 32bit nie wyrzuci 50 orłów bo wynika to z jego konstrukcji.

Być może random 64bit jest w stanie wyrzucić 50 orłów .



Albo ile razy trzeba losować by wylosowań dwa razy z rzędu ten sam wynik 6z49 - bułgarski przypadek.



Do badania takich zdarzeń potrzeba generatorów szybkich ale o dużej liczbie możliwych wyników (64bitowych czy większych)



Dlatego Random w excelu nie nadaje się do pewnych rzeczy a wystarczający jest do innych . Odpowiednie narzędzie do problemu.

Kopać można łyżeczką, łopatą , koparką .

napić można się z kieliszka , szklanki i wiaderka





2012-04-29 (19:48)

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

4541
wpis nr 520 113
[ CZCIONKA SPECJALNA ]

2012-04-29 (09:03) Tajemniczy Don Pedro napisał:



"Mam prośbę do Was w związku z nietypowym zastosowaniem Amadeusowego generatora, ale nie jest to dokładnie w temacie bardzo interesującego wątku, więc nie chcę zaśmiecać."



Witam,



Założyłem temat o generatorze, nie widzę problemu, by pisać w tym wątku także o jego zastosowaniach do badań, eksperymentów, analiz.



Tak więc zapraszam do dyskusji i wymiany pomysłów w temacie "generatorowym" w tym wątku.



Niezależnie od tego skontaktowałem się z Tobą mailowo.



Pozdrawiam,



Amadeus

2012-04-29 (21:33)

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

3794
wpis nr 520 138
[ CZCIONKA SPECJALNA ]

Kurka - pamiętam ten temat.

Ale z tymi orłami(50) to chyba przesada.

Na mój nos to gdyby zacząć liczyć od dziś to wynik będzie dopiero po Euro 2012 albo i później.

2012-04-29 (23:03)

status Kurka
Data rejestracji: 2009-01-23
Ilość postów: 2551

4098
wpis nr 520 179
[ CZCIONKA SPECJALNA ]

Wiemy że 32bitowy Random fałszuje już przy 32 rzutach monetą , przy grze 6z90 (chyba włoskie lotto) itp - to znaczy nie ma na tyle "mocy" by był w stanie wygenerować bardzo rzadkie lecz rzecz jasna możliwe zdarzenia , jak 33 orły z rzędu.

"mocniejsze" generatory mają tą granice wyżej , ale zawsze gdzieś jest granica.



Badamy jakieś zjawisko i wiemy, widzimy, mamy świadomość, że przyrząd mierniczy ma wpływ na wynik pomiaru i staramy się użyć takiej metody pomiaru , takiego narzędzia by fakt pomiary miał znikomy , pomijalnie mały wpływ na odczytywany wynik.



I tak np ustrój pomiarowy miernika (niech będzie Voltomierz) ma 100Mom a mierzony obwód ma 10kom więc wpływ jest znikomy , a w pamięci DDRAM pomiar stanu komórki pamięci (czy kondensator jest naładowany czy nie) powoduje utratę blisko połowy ładunku i po odczycie natychmiast komórka musi być odświeżona (doładowana) inaczej ponowny pomiar będzie już fałszywy (w przypadku gdy kondensator przed pomiarami miał ladunek - po pomiarach nie będzie go posiadał a powinien).





Teraz analogicznie do badania losu zastosujemy"technikę voltomierza" to możemy przyjąć że uchyb można pominąć , ale jeśli zastosujemy "technikę z odczytu pamięci DDRAM " to musimy wiedzieć że są tu pewne ograniczenia .



I tak wlaśnie przykład z grą 6z90 i zastosowaniem Random 32bit to wygenerowania ciągu który będzie zawierał wszystkie możliwe 6z90 będzie nam generował błędną odpowiedź.





Z innej strony:

chcemy losowo wybrać 10 kart z talii i jeśli mamy jedną talię to nie możemy liczyć na to iż wśród 10 wybranych kart będzie 10 asów !

Ale jeśli będziemy mieć 5 talii kart to możemy liczyć że kiedyś wybierzemy 10 asów. Jeżeli wybieramy tylko 3 karty to jedna talia wystarcza .

jedna talia do random 32 a 5 talii to niech będzie random64







2012-04-29 (23:17)

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

3794
wpis nr 520 181
[ CZCIONKA SPECJALNA ]

Nie zwracałem uwagi na czas, ale można przyjąć, że program pracował godzinę.

W ciągu tej godziny wykonał około 130 miliardów losowań i doszedł do ciągu numer 37.

To by się miej więcej zgadzało(2^37), ale 2^50 to nie jest osiągalne w tym roku chyba, że mam tak cienki sprzęt.



2012-04-29 (23:20)

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

3794
wpis nr 520 183
[ CZCIONKA SPECJALNA ]

Zmierzam do tego, że absurdalne pomysły należy wykluczać i stosować proste i szybkie rozwiązania.



2012-04-29 (23:26)

status Kurka
Data rejestracji: 2009-01-23
Ilość postów: 2551

4098
wpis nr 520 184
[ CZCIONKA SPECJALNA ]

Sindbad , chciałam zwrócić uwagę na to o co pytałeś :



"""""""""""

Mnie interesuje różnica między generatorem ISAAC a Random w temacie gier liczbowych.

Używałem do tej pory funkcji Random, ale jeśli ISAAC da mi lepsze wyniki to zmienię generator na ISAAC.



"""""""""""



W zależności od tego co robimy to musimy dostosować narzędzie.



Nawet w przykładzie talii kart widać że fizycznie nie da się wyciągnąć 10 kart i by wszystkie 10 były asami.

musimy mieć wiecej talii , druga sprawa to fakt że ilość prób jaką trzeba wykonać by wyciągnąć 10 asów na 10 kart wymaga określonego czasu .



dlatego z jednej strony szybki generator a z drugiej "mocny" jest potrzebny do pewnych zadań gdzie jest wymóg stosowania astronomicznych ilości generowanych losowań np 50 orlów z rzędu

2012-04-30 (22:19)

status Kurka
Data rejestracji: 2009-01-23
Ilość postów: 2551

4098
wpis nr 520 454
[ CZCIONKA SPECJALNA ]

Jeśli ktoś ma wiedzę na temat budowy procesora , budowy i działania oraz wiedzę programistyczną w zakresie zastosowania asemblera w innych językach , to wydaje się że najszybszy algorytm , najbardziej wydajny przy zachowaniu "mocy" generatora można napisać pod konkretne procesory.

Być może nie aż pod konkretny model procesora , ale pod procesory 2 rdzeniowe będzie inny a pod 4 rdzeniowe może być inny (jednordzeniowce można dzisiaj sobie odpuścić ) .

Stan rejestrów rdzeni jest daną zmienną i jeżeli przyjąć że program główny uruchomiony jest na rdzeniu nr 0 to wartości różnych rejestrów rdzenia nr1 są niezależne od pracy rdzenia nr 0 . Również z rdzenia nr 0 można odczytać dane rejestrów i mamy na tyle dużo różnych zmiennych w każdym cyklu maszynowym że z tego spokojnie w szybki sposób zrobić można generator losowy .

Nie musimy stosować długich rozkazów (długo wykonywujących się) a szybkie przesunięcia bitów o stan z rejestru innego rdzenia .

Przy 4 rdzeniach można tak zamotać że powinna się robić sieczka totalna - nie do przewidzenia (znając budowę programu i stan początkowy) co wygeneruje się za kilka milisekund . Szybkość generowania jednej danej losowej może być porównywalna z taktem zegarowym. Przy zastosowaniu przetwarzania potokowego w ciągu godzimy można spodziewać się nie 130mld a około 1- 2 mld na sekundę czyli do 7 000 miliardów na godzinę.

Przy założeniu że generowanie trwa 2 takty zegarowe i szybkość procesora to 2GHz mamy 3,6 biliona wyników losowych przy 3,8GHz będzie blisko 7 bilionów.



2012-04-30 (23:26)

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

3794
wpis nr 520 482
[ CZCIONKA SPECJALNA ]

Witam

Kurka - jak mogę porównać i ocenić dwa generatory w grze Lotto.



Pozdrawiam,

sindbad

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