Forum strony www.multipasko.pl [Regulamin]


Dodaj wpis w tym temacie
Spis tematów
Login:

Hasło:
Strona: 1 2 ... 550 551 552 553 554
Wyślij wiadomość do admina

Przewiń wpisy ↓

moje ... oprogramowanie

2025-03-20 (14:36)

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

1386
wpis nr 1 558 412
[ CZCIONKA MONOSPACE ]

MultiTest

No to będzie co sprawdzać na moich 16-rdzeniach.
Ale jak to czy tamto skompiluję.
Wydaje mi się jednak ,że bardziej skomplikowane
procesy obliczeń nie uzyskają jakiejś spektakularnej
różnicy w czasie.

Jedną z kompilacji ,-->procedura z netu
skompilowałem dla 32b a druga dla 64b

i jest różnica obliczeń na korzyść 64

oto obrazkowe porównanie



--- wpis edytowano 2025-03-20 14:36 ---

2025-03-20 (14:43)

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

1386
wpis nr 1 558 416
[ CZCIONKA MONOSPACE ]

powyżej to kompilacje tego procesu:


unit Unit1;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, system.threading, math;



type
TForm1 = class(TForm)

Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
{ TMyThread is the class that will handle our background work }

private
{ Private declarations }
public
{ Public declarations }

end;





podziałLiczby= array[0..9] of integer;
zakresy= array[1..4] of record
dół, góra: int64
end;
wynik= array[0..9] of record
ileCyfr: integer;
liczba: int64
end;
TYPE

MyThread = class(TThread)
end;

{$R *.dfm}

var
Form1: TForm1;
hczas,hgodz,hmin,hsec,hmilsec:string;
ilerdzeni:integer;




implementation



function podzielNaZakresy(a,b: int64): zakresy;
//dzieli zakres pętli for dla rozłożenia na cztery rdzenie procesora
var
i, iloraz: int64;
wynik: zakresy;
begin
iloraz:= (b-a+1)div 4;
for i := 1 to 4 do
begin
wynik[i].dół:= (i-1)*iloraz+a;
if i<4
then
wynik[i].góra:= (i-1)*iloraz+a+iloraz-1
else
wynik[i].góra:= b;
end;
result:=wynik
end;

function rozłóżLiczbę(i: int64):podziałLiczby;
//liczy wystąpienia cyfr w liczbie
var
k,c : integer;
s: string;
temp: podziałLiczby;
begin
for k := 0 to 9 do
temp[k]:= 0;
s:=IntToStr(i);
for k:= 0 to 9 do
begin
c:= StrToInt(s[k+1]);
temp[c]:= temp[c]+1;
end;
result:= temp;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
maks: wynik;
wynikiRdzeni: array[1..4] of wynik;
zakresyRdzeni: zakresy;
tasks: array of ITask;
i,k: int64;
hours, minutes, seconds, millisec: word;
start,koniec,timeDiff: tdatetime;
begin
//ilerdzeni:=MyThread.ProcessorCount.Size;
button1.Caption:='Liczba rdzeni: '+inttostr(MyThread.ProcessorCount.Size);
start:= now;
for i:=0 to 9 do
maks[i].ileCyfr:= 0;
for i := 1 to 4 do
for k := 0 to 9 do
wynikiRdzeni[i,k].ileCyfr:=0;
Setlength(tasks ,4);
zakresyRdzeni:= podzielNaZakresy(1000000000,1800000000);

tasks[0]:= TTask.Create (procedure ()
var
temp: podziałLiczby;
i,k: int64;
begin
For i:= zakresyRdzeni[1].dół to zakresyRdzeni[1].góra do
begin
if sqr(round(sqrt(i))) = i
then
begin
temp:= rozłóżLiczbę(i);
for k:= 0 to 9 do
if temp[k]> wynikiRdzeni[1,k].ileCyfr
then
begin
wynikiRdzeni[1,k].ileCyfr:= temp[k];
wynikiRdzeni[1,k].liczba:= i
end;
end;
end
end);
tasks[0].Start;

tasks[1]:= TTask.Create (procedure ()
var
temp: podziałLiczby;
i,k: int64;
begin
For i:= zakresyRdzeni[2].dół to zakresyRdzeni[2].góra do
begin
if sqr(round(sqrt(i))) = i
then
begin
temp:= rozłóżLiczbę(i);
for k:= 0 to 9 do
if temp[k]> wynikiRdzeni[2,k].ileCyfr
then
begin
wynikiRdzeni[2,k].ileCyfr:= temp[k];
wynikiRdzeni[2,k].liczba:= i
end;
end;
end
end);
tasks[1].Start;

tasks[2]:= TTask.Create (procedure ()
var
temp: podziałLiczby;
i,k: int64;
begin
For i:= zakresyRdzeni[3].dół to zakresyRdzeni[3].góra do
begin
if sqr(round(sqrt(i))) = i
then
begin
temp:= rozłóżLiczbę(i);
for k:= 0 to 9 do
if temp[k]> wynikiRdzeni[3,k].ileCyfr
then
begin
wynikiRdzeni[3,k].ileCyfr:= temp[k];
wynikiRdzeni[3,k].liczba:= i
end;
end;
end
end);
tasks[2].Start;

tasks[3]:= TTask.Create (procedure ()
var
temp: podziałLiczby;
i,k: int64;
begin
For i:= zakresyRdzeni[4].dół to zakresyRdzeni[4].góra do
begin
if sqr(round(sqrt(i))) = i
then
begin
temp:= rozłóżLiczbę(i);
for k:= 0 to 9 do
if temp[k]> wynikiRdzeni[4,k].ileCyfr
then
begin
wynikiRdzeni[4,k].ileCyfr:= temp[k];
wynikiRdzeni[4,k].liczba:= i
end;
end;
end
end);
tasks[3].Start;

TTask.WaitForAll(tasks);

//zbieramy dane z wątków razem
for i:= 0 to 9 do
for k:=1 to 4 do
if wynikiRdzeni[k,i].ileCyfr>maks[i].ileCyfr
then
begin
maks[i].ileCyfr:= wynikiRdzeni[k,i].ileCyfr;
maks[i].liczba:= wynikiRdzeni[k,i].liczba
end;

koniec:= now;
timeDiff:= koniec - start;
DecodeTime(timeDiff, hours, minutes, seconds, millisec);
memo1.Lines.Add('godziny='+IntToStr(hours));
memo1.Lines.Add('minuty='+IntToStr(minutes));
memo1.Lines.Add('sekundy='+IntToStr(seconds));
memo1.Lines.Add('milisekundy='+IntToStr(millisec));

if hours=0 then
hgodz:='00'
else
if (hours<10)and(hours>0) then
hgodz:= '0'+IntToStr(hours)
else
if hours>=10 then
hgodz:= IntToStr(hours);


if minutes=0 then
hmin:='00'
else
if (minutes<10)and(minutes>0) then
hmin:= '0'+IntToStr(minutes)
else
if minutes>=10 then
hmin:= IntToStr(minutes);

if seconds=0 then
hsec:='00'
else
if (seconds<10)and(seconds>0) then
hsec:= '0'+IntToStr(seconds)
else
if seconds>=10 then
hsec:= IntToStr(seconds);

if millisec=0 then
hmilsec:='000'
else
if (millisec<10)and(millisec>0) then
hmilsec:= '00'+IntToStr(millisec)
else
if (millisec<100)and(millisec>=10) then
hmilsec:= '0'+IntToStr(millisec)
else
if millisec>=100 then
hmilsec:= IntToStr(millisec);
memo1.Lines.Add('');
memo1.Lines.Add('elapsed time: '+ hgodz+' '+hmin+' '+hsec+' '+hmilsec);
memo1.Lines.Add('');
for k:= 0 to 9 do
if maks[k].ileCyfr > 0
then
memo1.Lines.Add('najwięcej cyfr dla '+IntToStr(k)+' wynosi '+
IntToStr(maks[k].ileCyfr)+' dla '+IntToStr(maks[k].liczba))
end;


end.


----------------------------------------
To opracowanie z jakiejś strony w necie
z drobną modyfikacją.
2025-03-20 (14:45)

status MultiTest
Data rejestracji: 2020-08-05
Ilość postów: 5880

16235
wpis nr 1 558 417
[ CZCIONKA MONOSPACE ]

64 bitowa kompilacja, większe możliwości, większa wydajność.
2025-03-20 (14:51)

status MultiTest
Data rejestracji: 2020-08-05
Ilość postów: 5880

16235
wpis nr 1 558 418
[ CZCIONKA MONOSPACE ]

ale, jeśli szukać efektywności to nie koniecznie pokrycie może być jedynym środkiem do celu, przecież może być tak, że pokrycie pokaże że jeszcze dużo brakuje, nawet gdy rzeczywista gwarancja będzie 100 %

--- wpis edytowano 2025-03-20 14:52 ---

2025-03-20 (15:14)

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

1386
wpis nr 1 558 419
[ CZCIONKA MONOSPACE ]

wpis nr 1 558 406

Tam jest coś nie tak
2025-03-20 (15:16)

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

1386
wpis nr 1 558 420
[ CZCIONKA MONOSPACE ]

MultiTest

Ale czasem wychodzi ,
że inne procedury oraz kompilacje 32b są szybsze.
Na razie nie wiem dlaczego tak jest.
2025-03-20 (15:26)

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

1386
wpis nr 1 558 422
[ CZCIONKA MONOSPACE ]

MultiTest

ale, jeśli szukać efektywności to nie koniecznie pokrycie może być jedynym środkiem do celu, przecież może być tak, że pokrycie pokaże że jeszcze dużo brakuje, nawet gdy rzeczywista gwarancja będzie 100 %

albo gwarancja wynosi 100% albo nie wynosi 100%
oczywiście .... można pokusić się o stwierdzenie
że tak i tak zbudowany rozpis zdecydowanie daje WYNIK= cel= x/y
ale tak jak wspomniałem ,gwarancja 100% to termin konkretny.
2025-03-20 (15:29)

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

1386
wpis nr 1 558 423
[ CZCIONKA MONOSPACE ]

Poproszę o inne przykłady
ale nie konsolowe ,
i sprawdzone [Multitest]
jeśli można ,
bo jak na razie te przykłady odrobinę mało ciekawe.
2025-03-20 (17:07)

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

1386
wpis nr 1 558 430
[ CZCIONKA MONOSPACE ]

AI chat „wie”..tyle ile
jest jej udostępnione ,
nie potrafi myśleć jak człowiek,
składa jedynie
bardziej lub mniej „nieudolnie”
—> „kolaże” z „dostępnych zasobów” .
Tak to widzę.
2025-03-20 (17:27)

status kleszek
Data rejestracji: 2006-05-27
Ilość postów: 4979

2047
wpis nr 1 558 432
[ CZCIONKA MONOSPACE ]

777ch, chat to nie człowiek Jak zadasz mu pytanie, tak na nie odpowie. Im bardziej precyzyjne pytanie, tym lepsza odpowiedź. Często prosząc chat o napisanie jakiegoś makra w Vba otrzymywałem na początku makro niedziałające. Błędy typu brak użytej w makrze funcji itd. Po zgłoszeniu dla chata danego błędu, następuje błyskawiczna "naprawa" makra. Zdarzało mi się, że musiałem zgłaszać kilka razy błędy w jednym makrze, ale zawsze na końcu otrzymywałem to o co prosiłem. Chat to droga na skróty, droga czasem wyboista ale prowadząca do celu. Czasem trzeba chat-a odpowiednio prowadzić "na smyczy" aby uzyskać zamierzony cel
2025-03-20 (18:01)

status fair_play
Data rejestracji: 2016-05-12
Ilość postów: 8652

14865
wpis nr 1 558 434
[ CZCIONKA MONOSPACE ]


Kleszek>

Czy temu czatowi możesz zadawać pytania tylko z programowania, czy dowolne np. kto wygra wybory prezydenckie
2025-03-20 (18:40)

status Jacek_K1961
Data rejestracji: 2017-03-29
Ilość postów: 8638

15220
wpis nr 1 558 440
[ CZCIONKA MONOSPACE ]

fair_play
Kiedyś "gadałem z nią/nim" o nauce i medycynie ponad godzinę.
2025-03-20 (18:55)

status heme24
Data rejestracji: 2015-12-08
Ilość postów: 285

14639
wpis nr 1 558 442
[ CZCIONKA MONOSPACE ]

witam.
Kleszek pytanie zasadnicze czy wygenerowany przez chat kod robi to co chcemy? Ktoś obeznany z pythonem nie ma z tym problemu, ale laicy nie zweryfikują tego, ja miałem przypadki że kod robił nie wiadomo co a wykryłem to przypadkiem.
2025-03-20 (19:11)

status MultiTest
Data rejestracji: 2020-08-05
Ilość postów: 5880

16235
wpis nr 1 558 445
[ CZCIONKA MONOSPACE ]

"Poproszę o inne przykłady
ale nie konsolowe ,"

777ch
Czy chodzi o te przykłady od SI ?

A dlaczego nie konsolowe ?...


2025-03-20 (19:15)

status MultiTest
Data rejestracji: 2020-08-05
Ilość postów: 5880

16235
wpis nr 1 558 446
[ CZCIONKA MONOSPACE ]

AI chat „wie”..tyle ile
jest jej udostępnione ,
nie potrafi myśleć jak człowiek,
składa jedynie
bardziej lub mniej „nieudolnie”
—> „kolaże” z „dostępnych zasobów” .

777ch
Takie są też opinie większosci programistów.
2025-03-20 (19:37)

status MultiTest
Data rejestracji: 2020-08-05
Ilość postów: 5880

16235
wpis nr 1 558 453
[ CZCIONKA MONOSPACE ]

Odpowiedż Chata
===================================================
"Nieograniczony dostęp do wszystkich modeli rozumowania" może oznaczać, że na danym czacie masz możliwość korzystania z różnych sposobów analizowania, interpretowania i przetwarzania informacji.

Modele rozumowania – co to znaczy?
Modele rozumowania to różne sposoby przetwarzania informacji i wyciągania wniosków. Można je podzielić na kilka głównych kategorii:

Dedukcyjne rozumowanie – wnioski wynikają logicznie z założeń (np. jeśli wszystkie koty miauczą, a Filemon jest kotem, to Filemon miauczy).
Indukcyjne rozumowanie – wyciąganie ogólnych wniosków na podstawie ograniczonej liczby obserwacji (np. widziałem 10 białych łabędzi, więc wszystkie łabędzie mogą być białe).
Abdukcyjne rozumowanie – szukanie najbardziej prawdopodobnego wyjaśnienia dla zaobserwowanego zjawiska (np. pod samochodem jest kałuża, więc prawdopodobnie wyciekł olej).
Heurystyczne rozumowanie – stosowanie intuicyjnych skrótów myślowych i doświadczenia do szybkiego podejmowania decyzji.
Probabilistyczne rozumowanie – opieranie się na rachunku prawdopodobieństwa do przewidywania zdarzeń (np. jeśli prognoza pogody mówi o 80% szansy na deszcz, to prawdopodobnie będzie padać).
Sieci neuronowe i modele AI – korzystanie z algorytmów uczących się na danych, aby prognozować lub generować odpowiedzi.
W kontekście czatu może to oznaczać, że możesz zadawać pytania w różnych dziedzinach i w różny sposób – od ścisłych analiz logicznych, przez intuicyjne rozumowanie, aż po kreatywne i probabilistyczne podejście do problemu.
2025-03-20 (21:53)

status kleszek
Data rejestracji: 2006-05-27
Ilość postów: 4979

2047
wpis nr 1 558 493
[ CZCIONKA MONOSPACE ]

Kleszek>

Czy temu czatowi możesz zadawać pytania tylko z programowania, czy dowolne np. kto wygra wybory prezydenckie

Pytania można zadawać różne, mądre, niemądre itd. Nie wiem tylko jaką dostaniemy odpowiedź, nigdy nie zadawałem pytań tego typu.

Kleszek pytanie zasadnicze czy wygenerowany przez chat kod robi to co chcemy? Ktoś obeznany z pythonem nie ma z tym problemu, ale laicy nie zweryfikują tego, ja miałem przypadki że kod robił nie wiadomo co a wykryłem to przypadkiem.


Już pisałem, im bardziej precyzyjne pytanie, tym lepsza odpowiedź. Ja głównie prosiłem o pomoc w zakresie VBA. Kilka razy trzeba było doprecyzowac pytanie ale na koniec udawało mi się uzyskać to co chciałem. Szczególnie jestem pod wrażeniem opcji "głębokiego myślenia". Wtedy analiza problemu dla chata zajmuje więcej czasu. Chat naprawdę zagłębia się wtedy głęboko w temat, analizuje różne metody działania i wyszukuje najlepsze rozwiązanie. Działanie chatu w tym trybie widoczne jest w bocznym oknie przeglądarki i naprawdę robi to wrażenie. "Wadą" głębokiego wyszukiwaia jest to, że w trybie plus można skorzystać z tej opcji tylko 5 razy w miesiącu

cyt. "AI chat „wie”..tyle ile
jest jej udostępnione ,
nie potrafi myśleć jak człowiek,
składa jedynie
bardziej lub mniej „nieudolnie”
—> „kolaże” z „dostępnych zasobów” .

Chat to nic innego jak baza danych, gdzie po lepszym lub gorszym pytaniu, jest podawana lepsza lub gorsza odpowiedź.
2025-04-17 (07:46)

status Scenic
Data rejestracji: 2015-10-18
Ilość postów: 1646

14565
wpis nr 1 562 379
[ CZCIONKA MONOSPACE ]

WItam

Może Mi ktoś podrzucić numery losowań gdzie wystąpiła dana dwójka dla keno dla 1MLN losowań Mogę podrzucić bazę losowań.


Macie taki program aby to podał?

Dwójek jest 12415


Mozna to obliczyc w exelu ale to potrzeba dużo pamięci ram Przy 16GB exel się wysypuje.
A dla mniejszej liczby danych nie chce Mi sie robić po 100 kombinacji.


To wyjdzie koło 79tys numerów dla 1 kombinacji.

1 000 000 dzielone na 12,7

--- wpis edytowano 2025-04-17 07:48 ---

2025-04-17 (13:45)

status Lottonauta
Data rejestracji: 2012-09-03
Ilość postów: 3147

13559
wpis nr 1 562 411
[ CZCIONKA MONOSPACE ]

> Dwójek jest 12415

a jak to obliczyłeś?
2025-04-17 (14:13)

status Scenic
Data rejestracji: 2015-10-18
Ilość postów: 1646

14565
wpis nr 1 562 413
[ CZCIONKA MONOSPACE ]

Dwójek w keno jest 2415 oczywiście błąd.
| Dodaj wpis w tym temacie | Spis tematów | Wyniki lottoStrona: 1 2 ... 550 551 552 553 554
Wyślij wiadomość do admina