Šta je novo?

Hanojske kule :)

ToxiC

Čuven
Učlanjen(a)
12.12.2002
Poruke
2,560
Poena
679
Napravih mali programcic koji racuna vreme koje je potrebno da se odradi zadatak Hanojskih kula!

E, sad ko zna sta su Hanojske kule ne treba mu objasnjavati, ko ne zna moze da u programu pod sekcijom "O programu" procita sta je to!

Sve u svemu problem se svodi na duuuuuboku rekurziju!
za pocetak ja sam stavio 32 (to je broj "diskova" koji se koriste u problemu resavanja") , a moze se po potrebi staviti i bilo koji drugi broj!

Elem, stavljanje brojeva veceg od 35 moze se zapoceti iteracija koja ce trajati i vise sati, pa budite oprezni :)

Ako vam nije tesko skinite programcic i recite koji su vama vremenski rezultati, pogotovo "vi" sa jacim makinama :d

Mani na Bartonu (200x11) za broj 32 treba ~44 sek
za broj 30 treba ~11 sek
:wave:
 

Prilozi

  • hanojske.zip
    204.6 KB · Pregleda: 320
Masina sa posla A64 3000+(S754) 2.5GHz (250X10):
- za broj 32: 39.109s
- za broj 30: 9.75s
 
Za 30: 9.625s
Za 32: 38.562s

Newcastle 2.5GHz (250x10), memorija 250MHz (2.5/3/3/8)

POZ :wave:
 
Poslednja izmena:
za 32 1 minut 33 sekunde na Pentiumu 4 NW @1.8 Ghz :d ,a za 30 je 22.234 sec :)
 
Na poslu: P4 2.6GHz poprlicno opterecen:
za 32: 1:02.094
za 30: 20.000sec okruglo
 
khmmm..nesto mi mirise da je sa memory bandwith-om u direktnoj sprezi izvrsavanje?!?
a ja mislio da je FSB/clock direktno odgovoran :)
 
Prescott @ 3.6GHz

Za 32 36.906s
Za 30 09.250s
 

Prilozi

  • hanoj30.jpg
    hanoj30.jpg
    10.7 KB · Pregleda: 173
  • hanoj32.jpg
    hanoj32.jpg
    10.4 KB · Pregleda: 118
Poslednja izmena:
Radi se samo o transformacijama na stack-u (ako je radjeno pomocu njega), ili sa prostijom lineranom strukturom (array) nema tu neke matematike za CPU, samo "pretakanja" po memoriji.

Uzgred za P4 @ 1.6
32 elementa: : 1m 49s za
30 elementa : 0m 26,172s
 
Evo malo arhaicnosti, cisto radi poredjenja arhitektura, P3 866, i815EP, 512MB, WXP_Pro:
za 32: 02:30.186
za 30: 00:48.970
 
Sempron (XP) @ 1962 Mhz

za 32 - 00:54:422
za 30 - 00:13:594
 
Poslednja izmena:
Prescott @ 3.5GHz

Za 32 39.047s
Za 30 11.203s
 
Izgleda da memorijska setovanja ne uticu mnogo na vreme izvrsavanja.

Kod mene menjanjem CMD rate-a sa 1T na 2T na A64 ne produzava izvrsenje programa skoro nista, dok se ista promena u SuperPi-ju jos kako vidi.
 
probaj da se igras malo vise sa memorijom! latenciju zatezi, i frekvenciju podizi!!! pogledaj kod Ji4tze-a rezultate :)
 
1:01:937 za n=32
0:15:515 za n=30

U pitanju je masina iz potpisa znaci celeronD 2.4 ne o/c sa memorijom na 166MHz cas 2.5-4-4-8 sa par aktivnih programa...
 
Poslednja izmena:
Prescott 3.24GHz (15x216Mhz, 2.5-3-3-8)

n=32 : 41.375 sec.
n=30 : 10.329 sec.
 
Pogledajte i sami.Rec je o AMD Athlonu 1800+ (i 256 PC400 RAMA ako nesto znaci)
I jedno pitanje, ja sam procitao pricicu o ovome, ali nisam skapirao konacni obrazac po kome se rade ove kule.Jel moze izfinisirano da napise toxic :).
 

Prilozi

  • HK N=30.jpg
    HK N=30.jpg
    32.4 KB · Pregleda: 121
  • HK N=32.jpg
    HK N=32.jpg
    32.2 KB · Pregleda: 111
ToxiC je napisao(la):
probaj da se igras malo vise sa memorijom! latenciju zatezi, i frekvenciju podizi!!! pogledaj kod Ji4tze-a rezultate :)

Ji4tze menja frekvenciju procesora... Ali ako nju fiksiramo i samo menjamo latenciju, nema puno promena (<1% od naboljeg do najgoreg rezultata), sto znaci ili da sve manje vise stane u interni 512KB kes (verovatnije), ili da je algoritam CPU/FPU limited i da mnogo vise vremena provodi krckajuci brojeve nego trange-frange sa memorijom (manje verovatno).
 
M_M je napisao(la):
.... sto znaci ili da sve manje vise stane u interni 512KB kes (verovatnije) ....

100%
:p
 
Barton2600+@2300MHz(200X11,5 ; 2,5-3-3-11)
32=42,954
30=10,750
 
Evo i ja da postujem svoje rezultate Intel Celeron [email protected](jezgro Northwood:D ) 32 za 54sek. a 30 za 13sek.
 
Wolfman je napisao(la):
I jedno pitanje, ja sam procitao pricicu o ovome, ali nisam skapirao konacni obrazac po kome se rade ove kule.Jel moze izfinisirano da napise toxic :).
moram da ti nacrtam :d , no offence ;)


barem na ovoj platformi (K7) nema nekih velikih pomaka igranjem sa memorijom/FSB-om :smash:
 

Prilozi

  • 200.jpg
    200.jpg
    58.4 KB · Pregleda: 91
  • 205.jpg
    205.jpg
    58.1 KB · Pregleda: 83
Poslednja izmena:
ToxiC je napisao(la):
khmmm..nesto mi mirise da je sa memory bandwith-om u direktnoj sprezi izvrsavanje?!?
a ja mislio da je FSB/clock direktno odgovoran :)
Meni mirise da nisi u pravu.... pogledaj rezultate za Venice S939 i Newcastle S754. Pre bih rekao da je latencija u pitanju, a najvise ima veze klok procesora i FPU, posto su rezultati na K7 i K8 masinama na istom taktu prakticno isti, jer su im i FPU jedinice prakticno iste.
 
Poslednja izmena:
Thnx, sve mi jasno.Mada nisi morao da crtas :d
 
Celeron ( Northwood ) @ 3.1 GHz

n=32 : 52.8 s
n=30 : 12.6 s
 
Prescott @ 3.6 (240x15, 2-3-3-7)

32 - 36.359s
30 - 09.063s
 
drfedja je napisao(la):
Meni mirise da nisi u pravu.... pogledaj rezultate za Venice S939 i Newcastle S754. Pre bih rekao da je latencija u pitanju, a najvise ima veze klok procesora i FPU, posto su rezultati na K7 i K8 masinama na istom taktu prakticno isti, jer su im i FPU jedinice prakticno iste.

FPU? Kakve veze to sad ima. Posto, se radi na steku (64k max) - to staje u kesh memoriju procesora mozda cak u L1, tako da ni latencija nema veze - znaci samo procesor vrti par integera do besvesti.
 
3500 mHz:
n-32; t=41,719 s
n-30; t=10,438 s
3200mHz:
n-32; t=46,266 s
n-30; t=11,516 s
 
Anti Patriota je napisao(la):
FPU? Kakve veze to sad ima. Posto, se radi na steku (64k max) - to staje u kesh memoriju procesora mozda cak u L1, tako da ni latencija nema veze - znaci samo procesor vrti par integera do besvesti.
Ok, onda ALU, posto program radi sa celobrojnim operacijama. Program staje u kes, ali ne znam koliki su operandi sa kojima radi. Ukoliko je dataset sa kojim radi veci onda itekako ima uticaj i latencija i bandwidth.
 
Poslednja izmena:
sa olabavljenom memorijom na 333MHz i "labavim" latencama (3,3,3,8), program izvrtim sa brojem 32 za oko pola sekunde sporije! a kada stavim FSB na 205 i 210 (sinhrono sa mem.) tu dobijem za oko pola sek. bolji rezultat! tako da sam ja zakljucio (doduse na Bartonu se to i nevidi "ko iz aviona" :D) da je do FSB-a i puke brzine u GHz! Ali me opet bunu ovi Inteli, koji na vecim GHz-ima imaju slabije rezultate!
 
Nazad
Vrh Dno