Dodaj wpis w tym temacie
Spis tematów | Strona: 1 2 ... 9 10 11 ... 30 31 Wyślij wiadomość do admina |
Przewiń wpisy ↓ | Turbo Pascal dla zielonych |
2010-05-20 (04:20) Tajemniczy Don Pedro Data rejestracji: 2009-04-18 00:00:00 Ilość postów: 722 | wpis nr 326 016 [ CZCIONKA MONOSPACE ] Kurko, w związku z Twoimi ostatnim pytaniem chyba potrzeba zapytać specjalistów od szyfrowania. To - na marginesie - jest ostatnio niebezpieczny politycznie temat. Chyba kol. Amadeus coś o tym gdzieś na forum pisał w swoim czasie. Osobiście jestem w stanie ręcznie znaleźć sekwencje nietypowe dla losowań bębnowych maszyn losujących, ale to wymaga dość czasochłonnych obliczeń. Natomiast kłopot powstaje wówczas, gdy generator nie wyłamuje się z pewnego zakresu zdarzeń. Wtedy człowiek nie potrafi odróżnić maszyny bębnowej od generatora. Czytałem w literaturze tematu, iż nawet programy przeznaczone do automatycznego wyławiania pseudolosowości mają kłopot. Ale w rozwoju technologii postęp jest tak szybki, że być może już rzecz jest dawno rozwiązana. Pytanie, czy nam tu jest potrzebna aż taka dokładność. Bo myślałem, że assembler załatwia sprawę i można ustawić dowolny zakres precyzji. Dobrej Nocy, bo już świta a jutro też jest dzień |
2010-05-20 (11:05) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 067 [ CZCIONKA MONOSPACE ] TDP, zapewne Amadeus mógłby powiedzieć co sądzi o takim rozwiązaniu : Pobieram znacznik czasowy procesora następnie wykonuje jakąś instrukcje i znów pobieram znacznik. Różnica w młodszym słowie znacznika (starsze się nie zdąży zmienić bo to krotki okres czasu) jest rzędu 1500 ale nie jest ona stała. Podczas wykonywania tej operacji raz wynosi 1351 a następnym 1428 i non stop jest inna. Jeżeli odczyt jest wykonany po sobie raz, za razem to różnica jest stała i zapewne w zależności od procesora będzie wynosić różną wartość rzędu np 50. Mam w ten sposób nie obliczoną przyszłą wartość na podstawie wcześniejszej , a odczytaną z procesora ,wynikającą z tego że czas wykonywania instrukcji nie jest idealnie stały i różni się . Przykładowe następujące po sobie różnice wyświetlone przez program: 1392 1337 1425 1352 1355 1361 1384 1364 1413 |
2010-05-20 (20:09) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 204 [ CZCIONKA MONOSPACE ] Może ktoś przetestuje generator. http://wrzucacz.pl/file/1561274378800 losuje 6 z 49 , ograniczenie do 1 000 000 losowań , losuje zadaną ilość razy, wyniki losowania w 6-ciu kolumnach w pliku tekstowym Generator.txt |
2010-05-20 (21:40) kleszek Data rejestracji: 2006-05-27 00:00:00 Ilość postów: 4903 | wpis nr 326 232 [ CZCIONKA MONOSPACE ] KURKA, sprawdziłem Twój program. Na komputerze z procesorem Intel Core i7 CPU860 @ 2,80 GHz, 1 mln. zestawów program generował około 6 min. 30 sek. Plik wynikowy zajmuje 17 MB. Wszystko działa OK! Gratulacje ! |
2010-05-20 (23:01) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 270 [ CZCIONKA MONOSPACE ] Chodzi mi o opinie, czy jest losowy ??? Nie wiem jak zachowa się na innych kompach, powinien na wszystkich tak samo działać, jedynie szybciej lub wolniej. Nie stosuje tam funkcji random i dlatego na razie wydajność tragiczna , ale mam nadzieje że jakość będzie lepsza, nie pseudolosowa. Przy użyciu Random to 1 mln losuje się w 1 sekundę - może 2s. Myślę że teraz spróbuję zrobić nieco szybciej ale raczej to \"główny spowalniacz\" który powoduję różnicę czasu i wygląda na to że dość losową , w wykonywaniu się tych samych , zapętlonych instrukcji, - jest nie bardzo do przeskoczenia. Może uda się od razu generować Licznik , a nie 6 kulek, co powinno 6-cio krotnie przyśpieszyć program , ale może odbić się na jakości. |
2010-05-20 (23:09) kleszek Data rejestracji: 2006-05-27 00:00:00 Ilość postów: 4903 | wpis nr 326 274 [ CZCIONKA MONOSPACE ] Kurka, jestem laikiem w tych sprawach. Jak rozpoznać czy wygenerowane zestawy są losowe czy też pseudolosowe? Czym się charakteryzują zestawy losowe? Na co zwrócić uwagę przy analizie zestawów z programu? |
2010-05-20 (23:43) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 280 [ CZCIONKA MONOSPACE ] Można to wytłumaczyć na prostym przykładzie: Generator zawsze jednakowo wylicza liczby i powiedzmy że ustawia je w 40 pozycjach : początek...1,4,9,0,2,5,3,5,6,6,1,0 i tak dalej ...9,7,0,1,3...koniec teraz wyobraź sobie , że początek i koniec tego łańcucha o 40 oczkach ,gdzie jest 4 oczka w każdym kolorze a kolorów mamy 10 (od 0 do 9) są połączone. Jak połączymy początek z końcem , to mamy łańcuch zapięty i nie ma już ani początku , ani konca. Randomize na podstawie czasu systemowego ustala sobie początek - które oczko będzie jako pierwsze. Powiedzmy że ustalił pierwsze oczko a jest nim : początek...1,4,9,0,2,5 - ta piątka (5) , po niej będzie 6,6,1,0,itak dalej...9,7,0,1,3,1,4,9,0,2, i tu dochodzimy do miejsca gdzie rozpoczął się odczyt oczek . Jeżeli losujemy 50 razy to na 100% od 40 losowanie wszystko się powtórzy. Random ma 4miliardy 300 milionów oczek w łańcuchu , i te oczka zawsze są w tym samym miejscu , tylko odczyt - miejsce startu się zmienia. Przy dużych ilościach losowań taki generator jest do .... Ale jest szybki , tylko że szybkość to nie jedyny parametr a nawet nie najważniejszy . |
2010-05-21 (00:16) Tajemniczy Don Pedro Data rejestracji: 2009-04-18 00:00:00 Ilość postów: 722 | wpis nr 326 288 [ CZCIONKA MONOSPACE ] Kleszek, Można to jeszcze napisać tak: Jeśli generator jest pseudolosowy, to można dzięki znajomości pewnej ilości początkowych wyrazów ciągu uzyskać matematyczny wzór tego ciągu i w ten sposób z góry przewidzieć jakie będą następne wyrazy ciągu, czyli co będzie wylosowane. |
2010-05-21 (01:21) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 326 289 [ CZCIONKA MONOSPACE ] KURKA, Jak sprawdzałaś ten generator? |
2010-05-21 (12:04) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 368 [ CZCIONKA MONOSPACE ] W zasie tworzenie generatora ustawiam sobie zakres na 100 czy 200 losowań i tworzę pary z wylosownych (x,y) które są współrzędnymi na ekranie. Od razu widzę czy punktuje ekran równomiernie czy rysuje mi jakieś wzorki To jest test graficzny - taki wizualny trochę . Testów jest ponad 10. Nie wiem które są bardziej miarodajne , ja robię te które jest mi najwygodniej (najprościej zrobić) , ale brak czasu niestety nie pozwala na razie na powtórzenie i tych prostych testów np :test równomierności. Ale są też proste testy jak test serii który mówi : Generator jest OK jeżeli (musimy liczby 1-49 zamienić na bity 0,1) kolejne bity nie tworzą serii dłuższych od 25. To jest dla nie niezrozumiałe, zgodnie z RP to przy takiej ilości losowań jak 1mld x 6 liczb w każdym losowaniu i zamiana na bity to w takim ciągu bitów spokojnie seria 25 bitów=0 lub =1 może się zdarzyć. Nie wiem które testy warto spróbować przeprowadzić, może Amadeusz ma narzędzia do testowania ? |
2010-05-21 (12:31) Robal_36 Data rejestracji: 2010-02-28 00:00:00 Ilość postów: 4885 | wpis nr 326 377 [ CZCIONKA MONOSPACE ] KURKA>> Czemu, ma nie być \"dłuższej serii\" ?Co znaczy dłuższe? Czemu akurat 25 ? I czym ma się różnić losowy od pseudolosowego ? Kto o tym decyduje? Czy przy, bez urazy, \"zabawie\" w 6/49 ma NIE BYĆ 14mln coś tam powtórzeń - (minus) efekty tunelowe, brzegowe itd itp No, niby z jednej strony to (te 14xxxxxx) byłoby wynikiem IDEALNYM... Jak to pytania, że tak powiem - nie za bardzo , nie ten poziom, bo piaskownica i przedszkole etc, to fuknij ale delikatnie proszę |
2010-05-21 (12:34) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 379 [ CZCIONKA MONOSPACE ] Random ponoć ma najdłuższą serię = 17 a jest 32bitowy Irand48 ma najdłuższa serię = 19 , jest chyba 48 bitowy To od razu mówi, że przy użyciu tych generatorów nie uzyskamy ciągu 20 Orłów, choćbyśmy losowali do końca świata i jeden dzień dłużej Do zastosowań edukacyjnych wystarcza generator jaki oferuje TurboPascal, ale jeżeli ktoś by chciał uczyć się dalej i pomagać sobie w walce z losem to jednak musi wiedzieć by nie wyciągać zbyt daleko idących wniosków. |
2010-05-21 (14:22) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 425 [ CZCIONKA MONOSPACE ] Niestety ale jeden z testów mówi że wynik ma mieścić się w granicy od 9725 do 10275 a jest : zero = 10088 jeden = 9912 zero = 10163 jeden = 9837 zero = 10096 jeden = 9904 zero = 10176 jeden = 9824 zero = 10153 jeden = 9847 zero = 10351 jeden = 9649 zero = 10152 jeden = 9848 zero = 10185 jeden = 9815 zero = 10190 jeden = 9810 zero = 10135 jeden = 9865 Na 10 prób jedna nie mieści się. Po drugie wynik ten ma stałą tendencję , zer jest zawsze więcej. Spróbuje przerobić nieco program. |
2010-05-21 (14:28) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 426 [ CZCIONKA MONOSPACE ] zero = 10047 jeden = 9953 zero = 10062 jeden = 9938 zero = 9919 jeden = 10081 zero = 10094 jeden = 9906 zero = 9940 jeden = 10060 zero = 9967 jeden = 10033 zero = 9882 jeden = 10118 zero = 10154 jeden = 9846 zero = 9940 jeden = 10060 zero = 10072 jeden = 9928 Teraz jest super a to ciekawe ponieważ procedura LOS jest taka sama (natomiast zmieniłam mod49 na mod100) i ilość parzystych i nieparzystych w losowaniu z 49 liczb to był poprzedni test a obecny to ilość parzystych /nieparzystych w losowaniu z 100 liczb. |
2010-05-21 (14:33) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 427 [ CZCIONKA MONOSPACE ] No to już sobie odpowiedziałam dlaczego pierwszy test wydał się zły Na razie wygląda na to że proste testy generator przejdzie pomyślnie. Nie wiem jakie testy próbować zrobić . przykład z testem na długość serii do mnie nie przemawia, nie wiem dlaczego ktoś określił, że nie może być dłuższej serii niż 25 Orłów |
2010-05-21 (15:37) starak Data rejestracji: 2005-09-29 00:00:00 Ilość postów: 141 | wpis nr 326 449 [ CZCIONKA MONOSPACE ] Witaj,Ktoś ustalił z sufitu, ponieważ 2 do 24 wyczerpuje bez powtórzeń z górą 13 983816 a reszta bezkrytycznie powtarza.Pozdrawiam |
2010-05-21 (18:12) KURKA Data rejestracji: 2009-01-23 00:00:00 Ilość postów: 2551 | wpis nr 326 478 [ CZCIONKA MONOSPACE ] Wyjaśniło się odnośnie tych 25 orłów Chodzi o to że w próbie 20 000 losowań nie może być 25 lub więcej orłów Wyniki testowania generatora za pomocą najłatwiejszych testów: http://wrzucacz.pl/file/5271274458025 |
2010-05-21 (18:33) Robal_36 Data rejestracji: 2010-02-28 00:00:00 Ilość postów: 4885 | wpis nr 326 482 [ CZCIONKA MONOSPACE ] KURKA>> 2^23 >16 cośtamcośtam, o rety rety Hmmm aż, sztuk pobrań, hmmm raz hmmm będzie lepiej, a przynajmniej,podobno ma być Czy TurboP, to te narzędzie, które znać mogę z poczciwego dos-a ? Jakieś komendy typu powtórz, stos, przesunięcie, to ta bajka ? Czy konfabuluje coś ? |
2010-05-21 (18:44) Tajemniczy Don Pedro Data rejestracji: 2009-04-18 00:00:00 Ilość postów: 722 | wpis nr 326 483 [ CZCIONKA MONOSPACE ] Brak czasu nie pozwala zbadać mi większej próbki. Na próbce kilkudziesięciu pierwszych losowań generator ma tendencję wynajdywania niszowych /rzadkich w jakimś zakresie/ kombinacji. Czyli jakby nieco udziwnia swój wybór w porównaniu z bębnowym /właściwie, to nie oglądałem losowań kilka lat i nie wiem, jaka obecnie jest maszyna/. Potrzeba by przeliczyć większą próbkę i porównać, bo na takiej małej próbce test jest mocno niemiarodajny. Udostępniłaś plik wykonywalny a nie ma pliku \".pas\".. |
2010-05-22 (01:28) sindbad Data rejestracji: 2008-10-13 00:00:00 Ilość postów: 20519 | wpis nr 326 614 [ CZCIONKA MONOSPACE ] Moim zdaniem funkcja random() jest wystarczająca do zabawy z Lotto i nigdy nie szukałem innego generatora. |
| Dodaj wpis w tym temacie | Spis tematów | Wyniki lotto | Strona: 1 2 ... 9 10 11 ... 30 31 Wyślij wiadomość do admina |