Dodaj wpis w tym temacie
Spis tematów | Strona: 1 2 ... 323 324 325 ... 554 555 Wyślij wiadomość do admina |
Przewiń wpisy ↓ | moje ... oprogramowanie |
2020-04-28 (18:02)![]() Data rejestracji: 2006-05-27 Ilość postów: 4979 ![]() | wpis nr 1 288 889 [ CZCIONKA MONOSPACE ] Dobrym testem będzie porównanie makra fair_play'a z programem Wheeling Systems Validator. Nie mam co prawda pełnej wersji programu, ale czas działania programu mogę chyba sprawdzić. Validator ma jakieś ograniczenia w ilosci [V] i [K] ale jakies testy porównawcze mogę zrobić. Jak znajdę chwilę czasu, to zrobię takie testy. --- wpis edytowano 2020-04-28 18:02 --- |
2020-04-28 (18:12)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 891 [ CZCIONKA MONOSPACE ] ale.......... w procesie budowy czyli poprawiania covera bardzo rzadko wykonuje się sprawdzenie gwarancji....... do końca bo odniesieniem jest [ hit brakujących ] i tylko przy lepszym 'rozdaniu" jest gwarancja wykonana --> do końca i wtedy hit brakujących jest zmieniony na --> lepszy czyli mniejszy brak ![]() po prostu proces sprawdzania gwarancji jest przerwany i następuje próbkowanie innej linii dla innej liczby czy par czy trójek ![]() a kiedyś na pewno spróbuje te stare obliczenia --> ulepszyć ............jeśli będę miał na to ochotę. |
2020-04-28 (18:28)![]() Data rejestracji: 2016-05-12 Ilość postów: 8724 ![]() | wpis nr 1 288 894 [ CZCIONKA MONOSPACE ] 777ch> ![]() Podejrzewam, że kleszek zrobi to w sekundę ![]() |
2020-04-28 (19:01)![]() Data rejestracji: 2006-05-27 Ilość postów: 4979 ![]() | wpis nr 1 288 896 [ CZCIONKA MONOSPACE ] 00,9218750sek. ![]() |
2020-04-28 (19:31)![]() Data rejestracji: 2006-05-27 Ilość postów: 4979 ![]() | wpis nr 1 288 902 [ CZCIONKA MONOSPACE ] cyt."Jak znajdę chwilę czasu, to zrobię takie testy." Validator jest oczywiście szybszy. Korzysta z wszystkich rdzeni procesora, a excel tylko z jednego. Dla systemu C(60,15,6,6)= 38496 gwarancję liczył niecałe 7 sekund. Makro fair_play'a potrzebowało do tego 143 sekundy co i tak jest świetnym rezultatem |
2020-04-28 (19:34)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 903 [ CZCIONKA MONOSPACE ] mój czas : 53,9155395499746 ms w sekundach to --> 0.053s ![]() -->a więc 17 razy szybciej niż kleszka czas --- wpis edytowano 2020-04-28 19:41 --- |
2020-04-28 (19:38)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 904 [ CZCIONKA MONOSPACE ] taki czas pozwala na podmianę wszystkich -->30 liczb ze sprawdzeniem gwarancji ![]() w czasie sumarycznym 1.6 sekundy excel się nie nadaje tam gdzie potrzebna jest prawdziwa szybkość --- wpis edytowano 2020-04-28 19:40 --- |
2020-04-28 (19:47)![]() Data rejestracji: 2006-05-27 Ilość postów: 4979 ![]() | wpis nr 1 288 907 [ CZCIONKA MONOSPACE ] cyt. "excel się nie nadaje tam gdzie potrzebna jest prawdziwa szybkość" Makro fair_play'a to pomysł na obliczenia w excelu. Nie znam się na tym, ale domyślam się, że da się ten pomysł ( algorytm ) zamienić na aplikację .exe Sam nie tak dawno pisałeś cyt."."I wespół w zespół, wespół w zespół" itp. itd ![]() |
2020-04-28 (19:49)![]() Data rejestracji: 2016-05-12 Ilość postów: 8724 ![]() | wpis nr 1 288 908 [ CZCIONKA MONOSPACE ] 777ch> Te gwarancje liczysz w Pascalu ? |
2020-04-28 (19:55)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 911 [ CZCIONKA MONOSPACE ] oczywiście ,tylko w paskalu w jedną sekundę z małym haczykiem to przeliczam jak poniżej : 357 ≤ C(99,25,4) ≤ 566 https://ljcr.dmgordon.org/cover/show_cover.php?v=99&k=25&t=4 -- Gwar.4 if [4] -- . Brak real {0} ...{- blef =0} Sprawdzono zbiór = 1581580 kombinacji Gwar..[4]= 100 % x1: [0] x=8: [0] x=14: [0] x2: [0] x=9: [0] x=15: [0] x3: [0] x=10: [0] x>=16: [1581580] x4: [0] x=11: [0] x5: [0] x=12: [0] x6: [0] x=13: [0] x=7: [0] Nr:0 ..1->2.. 19:50:16 Pula liczb: 0 hit min: 80 Time calculated : 1449,99079315524 ms czas sprawdzenia gwarancji w sekundach--- 1.449s sprawdź kleszek Validatorem |
2020-04-28 (19:59)![]() Data rejestracji: 2006-05-27 Ilość postów: 4979 ![]() | wpis nr 1 288 913 [ CZCIONKA MONOSPACE ] Nie da się. Validator ma [K] tylko do 15 liczb |
2020-04-28 (20:00)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 914 [ CZCIONKA MONOSPACE ] kleszek "prawie"......wszystko się da ,ale na wszystko potrzeba czasu+chęci ![]() ja mam inne pomysły ,które na razie zawodzą ale jeszcze nie podjąłem próby wywołania np 20 =tu robotników dla przeliczeń jednej gwarancji przecież inne programiki w on create zgarną dane bieżące i policzą swoje ..części a każdy może zrobić zapis dla programu -->"matki" czy "ojca" ![]() czasu+chęci ![]() --- wpis edytowano 2020-04-28 20:01 --- |
2020-04-28 (20:48)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 929 [ CZCIONKA MONOSPACE ] ale walka....... gratulacje wszystkim, a ja poległem..... ![]() |
2020-04-28 (20:52)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 933 [ CZCIONKA MONOSPACE ] ciągle na 14-tu stoję .... ![]() |
2020-04-28 (20:58)![]() Data rejestracji: 2016-05-12 Ilość postów: 8724 ![]() | wpis nr 1 288 936 [ CZCIONKA MONOSPACE ] 777ch> Sprawdzasz w swojej procedurze wszystkie możliwe szóstki ? |
2020-04-28 (21:00)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 937 [ CZCIONKA MONOSPACE ] w tej starej procedurze -->tak procedure TForm1.gwar6nospeed6(Sender: TObject); var i,k, v, traf,s, r, cof, g, os, ST, l1, l2, l3, l4, l5,L9,l10, l6,l7,l8,lmam,BRAK5,BRAK6,mandat,nex : Integer; Freq, TimeStart, TimeEnd: Int64; btr2,btr3,btr4,btr5,btr6,btr7,btr8,btr10, dubel,hitdubel,wyp,maxdub,hitproc,hicior,MAXTR :integer; paskuda,tabest,tahitowa,reply4,Nazwa:string; gw106,gw105,gw104,gw103,gw102,gw109,gw108,gw107,gw1010: Real; brak2,brak3,brak4,brak7,brak8,brak9,brak10,brak:integer; i2, u,j,k2,l,fx,suma,pp,ih,tr,t,rw:integer; pok4,brakreal,tma4,mask4:longint; gwreal:real; wsptot, przel,zakład:string; label dalej; label brekuj; begin Spis := TStringList.Create; // Przed użyciem tworzymy TStringList brakreal:=0; brak4:=0; MAXTR:=0; brak4:=0; ST := 1; g := spinedit1.value; os := spinedit3.value; // konwersja ilegen:=spinedit2.Value; if os<6 then form1.memo8.Lines.Add('vmax<6....'); if os<6 then exit; pok4:= Combination(os,6); QueryPerformanceCounter(TimeStart); for l1 := 1 to os - 5 do begin p[1] := l1; for l2 := l1 + 1 to os - 4 do begin p[2] := l2; for l3 := l2 + 1 to os - 3 do begin p[3] := l3; for l4 := l3 + 1 to os-2 do begin p[4] := l4; for l5 := l4 + 1 to os - 1 do begin p[5] := l5; for l6 := l5 + 1 to os do begin p[6] := l6; MAXTR:=0; i:=1; repeat // if tabrand[i, 1]> p[1] then maxtr:=ilegen; // if tabrand[i, 2]> p[2] then maxtr:=ilegen; //if tabrand[i, 3]> p[3] then maxtr:=ilegen; // if tabrand[i, 4]> p[4] then maxtr:=ilegen; //if tabrand[i, 5]> p[5] then maxtr:=ilegen; //if tabrand[i, 6]> p[6] then maxtr:=ilegen; if ((tabbest[i, p[1]]<>0)and (tabbest[i, p[2]]<>0) and (tabbest[i, p[3]]<>0) and (tabbest[i, p[4]]<>0) and (tabbest[i, p[5]]<>0) and (tabbest[i, p[6]]<>0))and(maxtr<ilegen ) then break else inc(maxtr); inc(i); until( maxtr>=ilegen) ; if maxtr=ilegen then inc(brak4); if (bestbrak<brak4-1)and(hallo=2) then goto brekuj; end; end; end; end; end; end; brekuj: QueryPerformanceCounter(TimeEnd); brakreal:=brak4; gwreal := (pok4-brak4)/pok4*100 ; gw104:= (pok4-brak4)/pok4*100 ; gwnow:=gw104; brakact:=brak4; edit8.text:=INTTOSTR(brakreal); Application.ProcessMessages; przel:=floattostr(gwnow); wsptot:=copy(przel,0,11); //jeżeli mniejsza po podmianie to przywracamy if (gwnow < hitgw) and(s1>0) then tabbest[strand][lw1]:=0; if (gwnow < hitgw) and(s1>0) then tabbest[strand][s1]:=s1; //if (gwnow < hitgw) and(s1=0)and(lw1>0) then tabbest[strand][lw1]:=lw1; if (gwnow < hitgw) and(s2>0) then tabbest[strand][lw2]:=0; if (gwnow < hitgw) and(s2>0) then tabbest[strand][s2]:=s2; //if (gwnow < hitgw) and(s2=0)and(lw2>0) then tabbest[strand][lw2]:=lw2; if (gwnow < hitgw) and(s3>0) then tabbest[strand][lw3]:=0; if (gwnow < hitgw) and(s3>0) then tabbest[strand][s3]:=s3; // if (gwnow < hitgw) and(s3=0) then tabbest[strand][lw3]:=lw3; if (gwnow < hitgw) and(s4>0) then tabbest[strand][lw4]:=0; if (gwnow < hitgw) and(s4>0) then tabbest[strand][s4]:=s4; //if (gwnow < hitgw) and(s4=0) then tabbest[strand][lw4]:=lw4; if (gwnow < hitgw) and(s5>0) then tabbest[strand][lw5]:=0; if (gwnow < hitgw) and(s5>0) then tabbest[strand][s5]:=s5; //if (gwnow < hitgw) and(s5=0) then tabbest[strand][lw5]:=lw5; if (gwnow < hitgw) and(s6>0) then tabbest[strand][lw6]:=0; if (gwnow < hitgw) and(s6>0) then tabbest[strand][s6]:=s6; // if (gwnow < hitgw) and(s6=0) then tabbest[strand][lw6]:=lw6; if (gwnow < hitgw) and(s7>0) then tabbest[strand][lw7]:=0; if (gwnow < hitgw) and(s7>0) then tabbest[strand][s7]:=s7; //if (gwnow < hitgw) and(s7=0) then tabbest[strand][lw7]:=lw7; Application.ProcessMessages; if gwnow <= hitgw then begin fx:=0; for t:=1 to os do begin if tabbest[strand][t]>0 then begin inc(fx); tabrand[strand][fx]:= tabbest[strand][t]; end; end; end; if gwnow <hitgw then goto dalej; memo6.Lines[0]:=('-- Gwar.6 if [6] --'); //memo6.Lines[1]:=('GwMask.[4]= '+floattostr(gw104)+' %'); memo6.Lines[2]:=('Brak real {'+INTTOSTR(brakreal)+'} ...{- blef =')+INTTOSTR(brakreal-blef)+'}'; memo6.Lines[3]:=('Sprawdzono zbiór = '+inttostr(pok4)+' kombinacji'); memo6.Lines[4]:=('Gwar..[6]= '+floattostr(gwreal)+' %'); memo6.Lines[12]:=('Time calculated : ' + FloatToStr(((TimeEnd - TimeStart) / 1000)) + ' ms'); mandat:= strand; if (spinedit33.value<>mandat)and(spinedit34.value<>mandat)and(spinedit35.value<>mandat)and(spinedit42.value<>mandat) and(spinedit36.value<>mandat)and(spinedit37.value<>mandat)and(spinedit40.value<>mandat)and(spinedit41.value<>mandat) and(spinedit44.value<>mandat)and(spinedit45.value<>mandat)and(spinedit46.value<>mandat)then begin nex := random(11)+1; if (nex=0)or(nex>11) then nex:=11; case nex of 1: spinedit33.value:=mandat ; 2: spinedit34.value:=mandat ; 3: spinedit35.value:=mandat ; 4: spinedit36.value:=mandat ; 5: spinedit37.value:=mandat ; 6: spinedit40.value:=mandat ; 7: spinedit41.value:=mandat ; 8: spinedit42.value:=mandat ; 9: spinedit44.value:=mandat ; 10: spinedit45.value:=mandat ; 11: spinedit46.value:=mandat ; end; Application.ProcessMessages; end; if gwnow >= hitgw then gw:=gwnow; // // if gwnow >= totalhit then form1.memo8.Text:=memo6.Text; if gwnow >= hitgw then begin gw:=gwnow; bestbrak:=brak4-blef; //StaticText7.Caption:=' best Gw.['+inttostr(maxdop)+']= '+floattostr(gw)+' %'; for ih := 1 to ilegen do begin zakład:=''; fx:=0; for tr := 1 to os do begin if (tabbest[ih][tr]>0)and(length(inttostr(tabbest[ih][tr]))=2) then zakład:=zakład+inttostr(tabbest[ih][tr])+ ' '; if (tabbest[ih][tr]>0)and(length(inttostr(tabbest[ih][tr]))=1) then zakład:=zakład+'0'+inttostr(tabbest[ih][tr])+ ' '; tabzak [ih][tr]:=tabbest[ih][tr]; if gwnow > totalhit then tabhit [ih][tr]:=tabbest[ih][tr]; if tabbest[ih][tr]>0 then begin inc(fx); tabrand[ih][fx]:= tabbest[ih][tr]; end; end; if length(zakład)>2 then Spis.Add(zakład); end; if totalhit < gwnow then Spis.SaveToFile('Plik.TXT'); // Spis.Free; if totalhit < gwnow then memo4.Lines.LoadFromFile('Plik.TXT'); if hitgw <= gw then begin if totalhit < gwnow then memo1.Lines.Clear; if totalhit < gwnow then memo1.Text:=memo4.Text; hitgw:=gw; edit3.Text:= wsptot; edit5.Text:='[-'+inttostr(bestbrak) +']'; end; Application.ProcessMessages; end; dalej: Spis.Free; end; |
2020-04-28 (21:04)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 941 [ CZCIONKA MONOSPACE ] trzeba by tą procedurę .........mocno zoptymalizować ale zaraz ...."wyspa dębów" albo co innego anie mam dobrego pomysłu dla obróbki danych bez tablic...... albo ciekawego pomysłu dla .....alokacji pamięci |
2020-04-28 (21:06)![]() Data rejestracji: 2016-05-12 Ilość postów: 8724 ![]() | wpis nr 1 288 942 [ CZCIONKA MONOSPACE ] możesz z grubsza opisać słowami sam sposób sprawdzania ? |
2020-04-28 (21:10)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 944 [ CZCIONKA MONOSPACE ] for l1 := 1 to os - 5 do begin p[1] := l1; for l2 := l1 + 1 to os - 4 do begin p[2] := l2; for l3 := l2 + 1 to os - 3 do begin p[3] := l3; for l4 := l3 + 1 to os-2 do begin p[4] := l4; for l5 := l4 + 1 to os - 1 do begin p[5] := l5; for l6 := l5 + 1 to os do begin p[6] := l6; MAXTR:=0; i:=1; repeat // if tabrand[i, 1]> p[1] then maxtr:=ilegen; // if tabrand[i, 2]> p[2] then maxtr:=ilegen; //if tabrand[i, 3]> p[3] then maxtr:=ilegen; // if tabrand[i, 4]> p[4] then maxtr:=ilegen; //if tabrand[i, 5]> p[5] then maxtr:=ilegen; //if tabrand[i, 6]> p[6] then maxtr:=ilegen; if ((tabbest[i, p[1]]<>0)and (tabbest[i, p[2]]<>0) and (tabbest[i, p[3]]<>0) and (tabbest[i, p[4]]<>0) and (tabbest[i, p[5]]<>0) and (tabbest[i, p[6]]<>0))and(maxtr<ilegen ) then break else inc(maxtr); inc(i); until( maxtr>=ilegen) ; if maxtr=ilegen then inc(brak4); if (bestbrak<brak4-1)and(hallo=2) then goto brekuj; end; to zasadnicze linie lecimy szóstki od pierwszej do ostatniej os to zmienna dla v=np.= 80 ilegen to liczb linii w coverze za niedługo muszę kończyć ............... tabbest to tablica 0 albo 1-jedynkowa tabrand to tablica kolejnych liczb w coverze |
2020-04-28 (21:12)![]() Data rejestracji: 2005-11-07 Ilość postów: 22656 ![]() | wpis nr 1 288 946 [ CZCIONKA MONOSPACE ] if ((tabbest[i, p[1]]<>0)and (tabbest[i, p[2]]<>0) and (tabbest[i, p[3]]<>0) and (tabbest[i, p[4]]<>0) and (tabbest[i, p[5]]<>0) and (tabbest[i, p[6]]<>0))and(maxtr<ilegen ) then break jeżeli napotkam sytuację gdy sześć tablic <> 0 to przerywam ale to za mało ......szybkie jest |
| Dodaj wpis w tym temacie | Spis tematów | Wyniki lotto | Strona: 1 2 ... 323 324 325 ... 554 555 Wyślij wiadomość do admina |