seetnieks_uz_lapu_kaudzes Posted September 24, 2007 Report Share Posted September 24, 2007 ļoti interesē, kā dators "izdomā", kuru skaitli uzrādīt, ja viņam to palūdz izdarīt ar "random" (nejaušības) funkciju. nav taču tā, ka datora kastē sēž rūķītis ar metamajiem kauliņiem? :) Link to comment Share on other sites More sharing options...
martins256 Posted September 24, 2007 Report Share Posted September 24, 2007 īstenībā parastais dators to nevar izdomāt! Ir dzirdēts, ka kvantu datori to spēšot! Cik man ir nojausma, tad viss ir saistīts ar laiku, jo reāli katrs pieprasījums tiek pieprasīts laikam noteiktā brīdī, kas var tikt uzskatīts par random skaitli! Bet precīzu atbildi nespēšu sniegt :( Link to comment Share on other sites More sharing options...
cucumber Posted September 24, 2007 Report Share Posted September 24, 2007 (edited) Man gan liekas ka tur ir iepitas taktis un laiks, bet neesmu parliecinats. http://mit.edu/answers/c/c_random_numbers.html Edited September 24, 2007 by cucumber Link to comment Share on other sites More sharing options...
Kavacky Posted September 24, 2007 Report Share Posted September 24, 2007 Paķerot kaut kādus tābrīža parametrus. Precīzāk nezinu, un, ja godīgi, nav arī īsti vajadzības zināt - tāds pseidorandoms ir gana labs randoms sadzīves vajadzībām. Link to comment Share on other sites More sharing options...
Delfins Posted September 24, 2007 Report Share Posted September 24, 2007 Visas šitās lietas ir atrodama iekš Wiki/Google: http://en.wikipedia.org/wiki/Random Respektīvi tev jāskatās šis: http://en.wikipedia.org/wiki/Pseudorandom_number_generator un http://en.wikipedia.org/wiki/Hardware_rand...umber_generator Link to comment Share on other sites More sharing options...
Grey_Wolf Posted September 24, 2007 Report Share Posted September 24, 2007 vispar jau randoms tikai nosaciiti ir randoms ;) jo vecakaas PHP versijaas randomaizeris bija japalaizj... tiiri teoretiski ja to nedariitu karu reizi buutu vieni un tie pashi skaitlji.... (kautkaads izejoskais / sakuma skaitlis kas visu laiku buutu vienaads lidzarto arii pirmie rezultaati buutu prognozejami...) inizcalizacija notiek peec iekseeja servera pulkstenja (laika) .... kas protams katru reizi ir cits..... taatad arii rez buus dazaads.... Link to comment Share on other sites More sharing options...
bubu Posted October 7, 2007 Report Share Posted October 7, 2007 (starp citu, vai tas neizklausās mazliet absurdi - aprēķināt nejaušību? :) Tāpēc jau datora "randomu" sauc par pseido-randomu. Īstu randomu datorā dabūt tikai no piesprausta ārējas iekārtas, kas, piemēram, ķer radio-viļņus un pārveido tās digitālā formātā. Viss pārējais ir izrēķināts randoms. Vienkāršs un tipisks datora randoms ir linear congruential (netulkošu latviski) ģenerators. Tas sastāv no seeda (globāla stāvokļa) un formulas. Piemēram. X(n+1) = (1664525*X(n) + 1013904223) mod 2^32. Var redzēt, ka par seedu kalpo pats outputs. Izvēloties vienu konkrētu sākuma seedu visi randomi kritīs fiksētā secībā. Piemēram, ja X0 = 0, tad: 1013904223, 1196435762, 3519870697, 2868466484, 1649599747, 2670642822, 1476291629, 2748932008, 2180890343, 2498801434. Šie skaitļi izskatās pietiekoši randomiski. Šī linear congruential ģeneratora periods ir ar kārtu 2^32. Tas nozīmē, ka paies tikai pēc ~2^32 izkritušajiem skaitļiem tie sāks atkārtoties. Acīmredzami, ja X(i) = X(j), tad X(i+1) = X(j+1). Daudz labāks randoma ģenerators ir Mersenne twister. Tā periods ir 2^19937 - 1 (šausmīgi gigantisks skaitlis - daudz daudz lielāks pat par visuma vecumu gados). Un tas ir arī ļoti ātrs. Link to comment Share on other sites More sharing options...
andrisp Posted October 8, 2007 Report Share Posted October 8, 2007 ...bez atkārtojuma bezgalīgi ilgi... Manuprāt, tad tā vairs nebūs random skaitļu ģenerēšana. Jo teorētiski, ģenerējot random skaitļus, var uzkrist arī vienāds skaitlis 10 reizes pēc kārtas. Īstu randomu datorā dabūt tikai no piesprausta ārējas iekārtas, kas, piemēram, ķer radio-viļņus un pārveido tās digitālā formātā. http://en.wikipedia.org/wiki/Urandom Link to comment Share on other sites More sharing options...
Grey_Wolf Posted October 8, 2007 Report Share Posted October 8, 2007 vai dators prot būt bezgalīgs [kādā no savām izpausmēm]? Jaa Muzigais cikls ... turpinaasies bezgaligi ilgi .... Link to comment Share on other sites More sharing options...
Delfins Posted October 8, 2007 Report Share Posted October 8, 2007 Neturpināsies vis. Tranzistoriem ir savs mūža limits. Turklāt bezgalību datorā nav iespējams iegūt, jo visi resursi ir limitēti. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted October 8, 2007 Report Share Posted October 8, 2007 Delfins --> nu bezgaliigs proces jau vispar dabaa nevar ekssisteet ;) bet soreiz ja bija domaats tiiri teoretiski, vai procesu var palaist bezgaliibaa --> un Muzigais cikls ir labs piemeers ;) Link to comment Share on other sites More sharing options...
bubu Posted October 8, 2007 Report Share Posted October 8, 2007 vai dators (kaut vai teorētiski) spēj ģenerēt skaitļus bez atkārtojuma bezgalīgi ilgi (daudz)? Jā: X(n+1) = X(n)+1. Tik tas nebūs bezgalīgi ilgi (skat nākamo rindiņu). Tas būs tikai bez atkārtojuma. vai dators prot būt bezgalīgs [kādā no savām izpausmēm]? Tikai kautkādā ciklā, kā Grey_Wolf saka - mūžīgā ciklā. Datus tas nevar izdot ārā bezgalīgi, jo atmiņas daudzums ir limitēts. Link to comment Share on other sites More sharing options...
Delfins Posted October 8, 2007 Report Share Posted October 8, 2007 nu bezgaliigs proces jau vispar dabaa nevar ekssisteet ;) Laika ass ir bezgalīga. Ja es nekļūdos, vai gaījumā kvantu datori nebūs mūžīgi un ar relatīvas `bezgalības` opciju. Visums jau pats par sevi ir viens liels randoms - N-tās zvaigznes un to paveidi rada (elektro)magnētiskos trokšņus, tādējādi iegūstot principā vienu bezgalīgu garu random-skaitli konkrētā laika punktā, ja pieņem, ka starojuma minimalā daļa atbilst 1 (0, ja konkrētā daliņa nav konkrētā vietā [kosmiskais tukšums ?]), un tas viss uz bezgalīgas laika ass. Link to comment Share on other sites More sharing options...
Recommended Posts