View Full Version : il random attuale fa schifo.
Non espongo le argomentazioni che portano a questa mia tesi, anche perchè sono molte e sono stanco :asd:
tuttavia, penso che molti di voi abbiano notato che qualsiasi sistema attuale per determinare numeri casuali sia una reale ciofeca. Faccio solo alcuni esempi: winamp. riproduce sempre le solite canzoni usando lo shuffle. Programma per simulare gli esami teorici per la patente: escono sempre gli stessi quiz. Random della mia calcolatrice scientifica: escono sempre gli stessi numeri.
In pratica i sistemi attuali per determinare la casualità portano con maggiore probabilità dati numeri, o numeri vicini a questi numeri. Io non ho mai visto il random perfetto, eppure se si riuscisse a sfruttare i moti quantici...
Anni fa vidi la pubblicità di una scheda PCI interamente dedicata al random quantistico: c'erano 3 quantum generator o qualcosa di simile: non chedetemi come ma secondo la pubblicità sta scheda riusciva a usare i moti quantici per determinare la casualità perfetta. Dopo anni sono venuto alla conclusione che, SE non è una ciofeca, DEVO avere questa scheda... :muro:
Non so che funzioni per generare numeri random usino winamp e programmi vari, ma in genere funzioni random con periodicità di 2^32 sono più che sufficienti per gli usi che hai elencato, che poi è la periodicità della funzione crand del c se non erro.
Sempre via software ci sono algoritmi altamente efficienti, come il twister mersenne che ha una periodicità di 2^19937.
Ovvero prima di notare numericamente (non ad occhio) che il generatore sta estraendo numeri che possono dipendere da quelli già estratti devono essere stati estratti circa 2^19937 numeri, una bella cifra.
Per quanto riguarda i sistemi quantici, non conosco il sistema in particolare usato dalla scheda a cui fai riferimento. Si tratta forse dei qbit? Ma ne dubito.
Non so che funzioni per generare numeri random usino winamp e programmi vari, ma in genere funzioni random con periodicità di 2^32 sono più che sufficienti per gli usi che hai elencato, che poi è la periodicità della funzione crand del c se non erro.
Sempre via software ci sono algoritmi altamente efficienti, come il twister mersenne che ha una periodicità di 2^19937.
Ovvero prima di notare numericamente (non ad occhio) che il generatore sta estraendo numeri che possono dipendere da quelli già estratti devono essere stati estratti circa 2^19937 numeri, una bella cifra.
Per quanto riguarda i sistemi quantici, non conosco il sistema in particolare usato dalla scheda a cui fai riferimento. Si tratta forse dei qbit? Ma ne dubito.
purtroppo nn ricordo niente di quella pubblicità, so solo che la vidi 2 o più anni fa... era basata sui moti quantici, di più non so :(
Per quanto riguarda il random, c'è un sistema per implementare al sistema un random un po' migliore? se non erro il random si basa sulla rilevazione casuale di un qualcosa dal processore, non mi pare sia un random software...
tuttavia, penso che molti di voi abbiano notato che qualsiasi sistema attuale per determinare numeri casuali sia una reale ciofeca.
Considera che tutti i sistemi di generazione pseudocasuale, per quanto sofisticati, non sono casuali ma semplicemente imitano alcune proprietà delle distribuzioni casuali (esempio, varianza e correlazione), cioè significa che dopo un po' di addestramento sei in grado di scovare i pattern ricorrenti :D
Inoltre considera che la mente tende ad trovare correlazioni anche quando non ce ne sono (clustering illusion (http://en.wikipedia.org/wiki/Clustering_illusion)) e questo riduce ulteriormente la sensazione di casualità.
Inoltre per finire ci sono gli effetti di selezione, cioè tendi a ricordare più facilmente le coincidenze sospette (ad esempio nel mio caso quando winamp becca di fila due canzoni che mi piace ascoltare spesso). (Confirmation bias (http://en.wikipedia.org/wiki/Confirmation_bias) ;) )
I sistemi che si basano su precise funzioni di un chip possono produrre numeri praticamente casuali; normali transistor vanno benissimo, basta che siano progettati in modo che, a differenza di quanto si fa di solito, il rumore influenzi la commutazione.
basta che siano progettati in modo che, a differenza di quanto si fa di solito, il rumore influenzi la commutazione.
Bisogna dirlo a Ripamonti :D
Ziosilvio
11-10-2005, 17:44
penso che molti di voi abbiano notato che qualsiasi sistema attuale per determinare numeri casuali sia una reale ciofeca. Faccio solo alcuni esempi: winamp. riproduce sempre le solite canzoni usando lo shuffle. Programma per simulare gli esami teorici per la patente: escono sempre gli stessi quiz. Random della mia calcolatrice scientifica: escono sempre gli stessi numeri.
Quando si usa il generatore pseudorandom, ci si ricorda di inizializzare il seme in maniera opportuna?
i sistemi attuali per determinare la casualità portano con maggiore probabilità dati numeri, o numeri vicini a questi numeri.
Se da un generatore uniforme su N valori ne ricavi uno su K valori con K che non è un divisore di N, una cosa del genere è abbastanza comune.
Io non ho mai visto il random perfetto
Né mai lo vedrai, almeno sulla lunga distanza.
eppure se si riuscisse a sfruttare i moti quantici...
In che modo?
Ti ricordo che, secondo la meccanica quantistica, l'osservazione influenza il risultato dell'esperimento.
Ragion per cui: ammesso che si riesca a realizzare un generatore random quantistico, come si fa a essere sicuri che il risultato di una sua osservazione sia ancora random?
Anni fa vidi la pubblicità di una scheda PCI interamente dedicata al random quantistico: c'erano 3 quantum generator o qualcosa di simile: non chedetemi come ma secondo la pubblicità sta scheda riusciva a usare i moti quantici per determinare la casualità perfetta. Dopo anni sono venuto alla conclusione che, SE non è una ciofeca, DEVO avere questa scheda... :muro:
E tu sei proprio sicuro che 'sta pubblicità non fosse la solita bufala per invogliare la gente a spenderci sopra un sacco di soldi?
Considera che tutti i sistemi di generazione pseudocasuale, per quanto sofisticati, non sono casuali ma semplicemente imitano alcune proprietà delle distribuzioni casuali (esempio, varianza e correlazione), cioè significa che dopo un po' di addestramento sei in grado di scovare i pattern ricorrenti :D
Inoltre considera che la mente tende ad trovare correlazioni anche quando non ce ne sono (clustering illusion (http://en.wikipedia.org/wiki/Clustering_illusion)) e questo riduce ulteriormente la sensazione di casualità.
Inoltre per finire ci sono gli effetti di selezione, cioè tendi a ricordare più facilmente le coincidenze sospette (ad esempio nel mio caso quando winamp becca di fila due canzoni che mi piace ascoltare spesso). (Confirmation bias (http://en.wikipedia.org/wiki/Confirmation_bias) ;) )
I sistemi che si basano su precise funzioni di un chip possono produrre numeri praticamente casuali; normali transistor vanno benissimo, basta che siano progettati in modo che, a differenza di quanto si fa di solito, il rumore influenzi la commutazione.
winamp penso che sia un caso a parte, ti faccio un tipico esempio. Ho circa 2000 mp3 in lista di riproduzione che ultimamente ascolto in random perchè non ho nulla di particolare da ascoltare:
Su MOST PLAYED ci sono 800 mp3.
Su NEVER PLAYED ci sono 1000 mp3. Ora, è una presa per il culo oppure il random di winamp fa particolarmente schifo :asd:
sempre su most played si può notare che quasi tutte le canzoni sono state riprodotte più di 3 volte.
@Ziosilvio: è probabile che sia stata una bufala, mi stupii già allora... Cmq c'era la foto...
Ah ecco, l'ho pure trovata :D :D
http://download.messe-muenchen.de/media_pub/mediacenter/gb3portale.messe-muenchen.de/global-electronics.net/aa-beitraege/quantis-new-quantum-random.jpg
http://www.idquantique.com/products/quantis.htm
LA generazione di numeri casuali e' sempre stata il punto debole di tutta la storia della programmazione , infatti alla fine si e' evitato di insistere con il software e si e' preferito ricorrere alla via Hardware.
La prima apparizione e' stata nel chipset intel 810 che in alcune versioni integrava un Random Generator... poi diffuso in quasi tutti i chipset successivi
La versione definitiva e' pero' codificata dalle specifiche TCPA che implementano un robusto Random Generator per rendere sicura la criptazione dei dati.
In entrambi i casi si tratta di uno o piu' transistor che amplificano il "rumore bianco" , questo rumore dipende dall' agitazione termica delle singole molecole e da eventi esterni come raggi cosmici o radioattivita' ambientale quindi e' un ottimo generatore random.
Precedentemente per avere degli ottimi dati random (ad esempio con PGP) si chiedeva all' utente di muovere il mouse a caso per lo schermo e si registrava il tutto sotto forma di numero.
ah già, il rumore bianco... miticuz :D I sistemi di randomizzazione attuale si basano sul rumore bianco? ora che ci penso è la migliore idea (forse) per avere un random molto buono...
cmq che ne pensate della scheda che ho postato? funziona secondo voi?
cmq che ne pensate della scheda che ho postato? funziona secondo voi?
Da quello che ho capito contiene componenti ottiche per rivelare fotoni con alta precisione, e sfruttando le loro caratteristiche quantistiche (esempio fotone polarizzato attraverso un filtro a 45° rispetto alla sua polarizzazione) generare numeri casuali.
Tuttavia mi sembra un modo molto elaborato per avere numeri casuali... anche il rumore bianco dei transistor ha una componente quantistica, quindi vedo pochi vantaggi. Penso sia utile per chi ha bisogno di una sequenza di numeri casuali con distribuzione particolarmente pura.
ok grazie :D
i moderni pc usano il rumore bianco per il random?
Da quello che ho capito contiene componenti ottiche per rivelare fotoni con alta precisione, e sfruttando le loro caratteristiche quantistiche (esempio fotone polarizzato attraverso un filtro a 45° rispetto alla sua polarizzazione) generare numeri casuali.
Tuttavia mi sembra un modo molto elaborato per avere numeri casuali... anche il rumore bianco dei transistor ha una componente quantistica, quindi vedo pochi vantaggi. Penso sia utile per chi ha bisogno di una sequenza di numeri casuali con distribuzione particolarmente pura.
Beh certo, per fare il random della playlist è esagerato... forse :D
Ziosilvio
12-10-2005, 14:55
Visto il link ai produttori della scheda.
Navigato anche un po' sul Web: pare che abbia superato l'intera batteria di test DIEHARD (http://www.stat.fsu.edu/pub/diehard/), che è un banco di prova standard per i generatori pseudorandom.
A proposito: Wikipedia parla anche di generatori random hardware (http://en.wikipedia.org/wiki/Hardware_random_number_generator), e accenna anche alla scheda Quantis --- che pare essere in giro dal 2001.
Per finire: quanto costa 'sta scheda?
Per finire: quanto costa 'sta scheda?
Dal mio grossista non ce l'hanno :sofico:
Ho letto che anche il Mersenne Twister ha superato la batteria di Bruce Willis, alias Die Hard..Giusto per completezza!
Ziosilvio
14-10-2005, 12:51
Ho letto che anche il Mersenne Twister ha superato la batteria di Bruce Willis, alias Die Hard..Giusto per completezza!
In effetti, a quanto si sa, il Mersenne Twister è il miglior generatore pseudorandom classico esistente.
In effetti, a quanto si sa, il Mersenne Twister è il miglior generatore pseudorandom classico esistente.
cos'è? :D
Ziosilvio
14-10-2005, 17:55
cos'è? :D
Un generatore pseudorandom aritmetico, che però ha delle proprietà statistiche molto ma molto buone.
Non posso fare qui tutta la teoria, ma Wikipedia ne parla qui (http://en.wikipedia.org/wiki/Mersenne_twister).
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.