Forum strony www.multipasko.pl [Regulamin]


Dodaj wpis w tym temacie
Spis tematów
Login:

Hasło:
Strona: 1 2 ... 9 10 11 ... 18 19
Wyślij wiadomość do admina

Przewiń wpisy ↓

C++ od niechcenia

2018-06-15 (10:05)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 172 992
[ CZCIONKA MONOSPACE ]

Sindbad, ale istotą zaproponowanej analizy nie jest "co ile występuje", ale "co po czym ile występuje".



"Własność Markowa – własność procesów stochastycznych polegająca na tym, że warunkowe rozkłady prawdopodobieństwa przyszłych stanów procesu są zdeterminowane wyłącznie przez jego bieżący stan, bez względu na przeszłość. Ściślej: przyszłe stany procesu są warunkowo niezależne od stanów przeszłych".



Nie interesuje nas historyczna ilość wystąpień a określenie prawdopodobieństwa określonego zdarzenia, np. prawdopodobieństwo wystąpienia kombinacji z dwiema liczbami parzystymi gdy ostatni wynik losowania zawierał 5 liczb parzystych. O to mi chodziło, a taką matrycę.
2018-06-15 (11:00)

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

3794
wpis nr 1 173 000
[ CZCIONKA MONOSPACE ]

Dla wystąpienia znaczących różnic do rozkładu, który podałem, jest potrzebny krótki szereg czasowy.

Milion losowań da wynik zbliżony do rozkładu.

Analizować krótki okres losowań.



//Sindbad, ale istotą zaproponowanej analizy nie jest "co ile występuje", ale "co po czym ile występuje".



Coś wystąpi po czymś częściej, jeśli będzie miało większą gęstość od czegoś innego.

Od tego jest jedna ucieczka - krótki szereg czasowy (mała ilość losowań).



Matrycę zrobimy.

2018-06-17 (14:59)

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

3794
wpis nr 1 173 346
[ CZCIONKA MONOSPACE ]

Hej



//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int x,parzysta=0,poprzednia_parzysta=0,v=0;

int tab[43];

int macierz[6][6];

Memo1->Lines->Add("Czekaj!");

memset(tab, 0, 43 * sizeof(int));

memset(macierz, 0, 6 * 6 * sizeof(int));

UprzypadkowijMT();

for(int i=1;i<=5;i++)

{

do

{

x = (MersenneTwister() % (42)) +1;

}

while (tab[x]>0);

tab[x]=1;

if (x%2 == 0) poprzednia_parzysta++;

}

do{

memset(tab, 0, 43 * sizeof(int));

v++;

parzysta = 0;

for(int i=1;i<=5;i++)

{

do

{

x = (MersenneTwister() % (42)) +1;

}

while (tab[x]>0);

tab[x] = 1;

if (x%2 == 0) parzysta++;

}

macierz[poprzednia_parzysta][parzysta]++;

StringGrid1->Cells[parzysta+1][poprzednia_parzysta+1] =

Format("%d", ARRAYOFCONST((macierz[poprzednia_parzysta][parzysta])));

poprzednia_parzysta = parzysta;

}

while (v<1000000);

Memo1->Clear();

Memo1->Lines->Add("Koniec");

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

Memo1->Clear();

StringGrid1->ColCount = 7;

StringGrid1->RowCount = 7;

for(int i=0;i<=5;i++)

{

StringGrid1->Cells[0][i+1] = Format("%d", ARRAYOFCONST((i)));

StringGrid1->Cells[i+1][0] = Format("%d", ARRAYOFCONST((i)));

}

}

//---------------------------------------------------------------------------

2018-06-17 (15:28)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 173 349
[ CZCIONKA MONOSPACE ]

Sindbad, dzięki. Mam jakieś problemy z uruchomieniem, jakieś błędy.

Mógłbyś zrobić jak poprzednio - plik projektu zawiesić do ściągnięcia?

Twoje pliki mi odpalają, a wyklejanki nie.
2018-06-17 (16:39)

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

3794
wpis nr 1 173 359
[ CZCIONKA MONOSPACE ]

http://bit.ly/2Mz1mPY
2018-06-17 (21:03)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 173 398
[ CZCIONKA MONOSPACE ]

Działa! super! Lotto Ci zapłać dobry człowieku!
2018-06-17 (21:13)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 173 402
[ CZCIONKA MONOSPACE ]

Sindbad, upewnię się, czy dobrze czytam:



pierwsza kolumna (0-5) to analizowana liczba wyjściowa, a liczby(0-5) w pierwszym wierszu, będące tytułami kolejnych kolumn, to oznaczenia stanu kolejnego ciągnienia?



Np. w pierwszej kolumnie, w wierszu 4 jest liczba 2 (2 liczby parzyste w kombinacji 5ciu liczb ML), czyli analizujemy jak często padają takie same lub inne układy (ilość) liczb parzystych w zbiorze miliona losowań.

I tak w jednym przykładzie po wylosowaniu kombinacji (5 liczb) z 2-oma liczbami parzystymi kolejną kombinacja była kombinacja o ilości liczb parzystych:

0 - 7757 razy

1 - 48662 razy

2 - 108168 razy

3 - 107869 razy

4 - 48800 razy

5 - 7828 razy



Dobrze to czytam?

2018-06-18 (21:13)

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

3794
wpis nr 1 173 572
[ CZCIONKA MONOSPACE ]

Dobrze
2018-06-19 (18:05)

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

3794
wpis nr 1 173 690
[ CZCIONKA MONOSPACE ]

Hej!



Zwróć uwagę na rozkład trafień, który podałem i porównaj % trafień w Twoim przykładzie.



Rozkład:

0 = 20349 = 2,39%

1 = 125685 = 14,77%

2 = 279300 = 32,83%

3 = 279300 = 32,83%

4 = 125685 = 14,77%

5 = 20349 = 2,39%



Przykład:

0 - 7757 razy = 2,36%

1 - 48662 razy = 14,79%

2 - 108168 razy = 32,87%

3 - 107869 razy = 32,78%

4 - 48800 razy = 14,83%

5 - 7828 razy = 2,38%

--- wpis edytowano 2018-06-19 18:05 ---

2018-06-19 (21:29)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 173 712
[ CZCIONKA MONOSPACE ]

Zwróciłem uwagę

Porobiłem sobie wiele takich testów porównawczych między różnymi zbiorami. Przy dużych próbach faktycznie wszystko się "zlewa". Przede mną zabawa ilością kombinacji w próbce.
2018-06-22 (21:23)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 174 187
[ CZCIONKA MONOSPACE ]

Sindbad, kolejne wyzwanie dla Ciebie

Jeśli to nie kłopot i nie problem to bardzo pomożesz przyłączając się do zbadania problemu "oboków" (termin spopularyzowany przez Robin Hooda, oznaczający liczbę obok liczby obserwowanej, w tym przypadku liczby o najwyższym ONT).



1. Odpalamy generator i generujemy np. 100.000 kombinacji Mini Lotto (5 liczb)

2. Tworzymy tablicę na 42 liczby x ilość losowań (np. 100.000) i wpisujemy w nią liczbe ONT danej liczby (każdej z 42) po każdym losowaniu. Trafienie zaznaczamy wpisując 0 (zero) i na nowo licząc ONT.

3. Zaczynając np. od setnego losowania poruszamy się po tablicy w górę (do najnowszych losowań) szukając w każdym losowaniu liczby o najwyższym ONT.

4. Mając wytypowanego ONTa obserwujemy, czy liczby obok (n-1 i n+1) nie wypadną wcześniej. Pamiętamy o odpowiednim zabezpieczeniu liczb 1 i 42 (tylko 1 obok). Wynik zapisujemy do tablicy (może być jednowymiarowa, na ilość losowań, z oznaczeniem np. 1 to "obok" trafiony przed ONTem, 2 - ONT trafiony przed "obokiem").

5. Podanie wyniku końcowego (ONT vs "oboki").



Dałbyś radę czy za trudne?



2018-06-22 (22:08)

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

3794
wpis nr 1 174 200
[ CZCIONKA MONOSPACE ]

Hej



MLRandom, jeśli chodzi o wyzwanie dla mnie, to musisz się bardziej starać.



Zajmę się tym tylko od niechcenia.



Pozdrawiam
2018-06-22 (22:15)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 174 202
[ CZCIONKA MONOSPACE ]

Mistrzu, wybacz to nietaktowne zachowanie

Obiecuję, że pomyślę o wyzwaniu godnym poświęcenia czasu tak czcigodnych paluszków na stukanie w klawisze klawiatury
2018-06-23 (12:42)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 174 275
[ CZCIONKA MONOSPACE ]

Sindbad, to może w trosce, o to by zabawa była nieco większym wyzwaniem dla Twych szarych komórek, pokusiłbyś się o rozbudowanie tego programiku?



Proponuje w drugim kroku przebudowanie programiku, by badał:



1. KIEDY DANY ONT WCHODZI DO GRY? Przykładowo w losowaniu 223 liczbą z najwyższym ONT jest 31, powiedzmy ma ONT=26. Czyli odnotowujemy w tabeli start z wartością 26.



2. ILE DANY ONT POZOSTAJE W GRZE (PO ILU LOSOWANIACH JEST TRAFIONY)? Nasz przykladowy ONT, czyli liczba 31, zostaje wylosowana po 13 losowaniach, czyli wpisujemy w tabelę albo 13 albo punkt startu plus 13 (26+13=39).



3. PO ILU LOSOWANIACH OD WEJŚCIA DANEGO ONTA DO GRY JEGO PIERWSZY "OBOK" (N-1) ZOSTAŁ TRAFIONY? Sprawdzamy czy wylosowano "lewego oboka" (n-1) i przy jakim stanie naszego onta to nastąpiło. Przykładowo liczbę 30 (31-1=30) wylosowano w 8-m losowaniu od wejścia liczby 31 do gry. Czyli wpisujemy w tabelę albo 8 albo 26+8=32.



4. PO ILU LOSOWANIACH OD WEJŚCIA DANEGO ONTA DO GRY JEGO DRUGI "OBOK" (N+1) ZOSTAŁ TRAFIONY? Sprawdzamy czy wylosowano "prawego oboka" (n+1) i przy jakim stanie naszego onta to nastąpiło. Przykładowo liczbę 32 (31+1=32) wylosowano w 11-m losowaniu od wejścia liczby 31 do gry. Czyli wpisujemy w tabelę albo 11 albo 26+11=37.



5. EKSPORT WYNIKÓW (TABELI) DO PLIKU TEKSTOWEGO. Potem to można wczytać do excela i obrabiać tabelą przestawną.



W przypadku startu z kilkoma liczbami o tym samym ONT, możemy przyjąć, że bierzemy pierwszą liczbę od lewej (najmniejszą).







Dasz radę?



2018-06-23 (15:44)

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

3794
wpis nr 1 174 306
[ CZCIONKA MONOSPACE ]

Graba!



Jeśli moje chcenie będzie większe od niechcenia to dam radę, ale w czasie mistrzostw mam mało czasu na rozrywki.
2018-06-23 (18:29)

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

3794
wpis nr 1 174 323
[ CZCIONKA MONOSPACE ]

2. Tworzymy tablicę na 42 liczby x ilość losowań (np. 100.000) i wpisujemy w nią liczbe ONT danej liczby (każdej z 42) po każdym losowaniu. Trafienie zaznaczamy wpisując 0 (zero) i na nowo licząc ONT.



Nie ma ONT z wartością 0.

Jeśli tablica ma zawierać szereg ONT to powinien on wyglądać w ten sposób:

1,2,3,4,5,1,2,3,4,5,6,7,1,2,1,2,3,4..itd.
2018-06-23 (18:43)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 174 325
[ CZCIONKA MONOSPACE ]

Może być i 1. Ja u siebie zerem oznaczam trafienia. Kwestia umowna (liczenie z dołu vs liczenie z góry). Możesz pisać 1, jeśli tak wygodniej
2018-06-23 (19:44)

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

3794
wpis nr 1 174 341
[ CZCIONKA MONOSPACE ]

Mamy ONT = 5



1 2 3 4 5



Tak wygląda szereg czasowy.



A jak wygląda z zerem?
2018-06-23 (20:41)

status MLRandom
Data rejestracji: 2016-01-16
Ilość postów: 553

14699
wpis nr 1 174 346
[ CZCIONKA MONOSPACE ]

wg tej logiki to 0 (trafienie) 1 2 3 4
2018-06-23 (20:52)

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

3794
wpis nr 1 174 347
[ CZCIONKA MONOSPACE ]

Projekt otwarty.

Tablice utworzone

Zakłady losowane

I jedziemy dalej.

| Dodaj wpis w tym temacie | Spis tematów | Wyniki lottoStrona: 1 2 ... 9 10 11 ... 18 19
Wyślij wiadomość do admina