Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-04-2007, 10:06   #1
Niggo
Senior Member
 
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 2127
[PHP] Enigma: prevedibilita' della funzione random

Ciao! Mi hanno affibbiato un bel lavoretto rognoso e spero mi possiate aiutare. In sostanza devo testare quanto prevedibile sia la funzione random usata in una pagina scritta in php, in particolare questa non fa null'altro che generare un risultato su 5 disponibili clikkando un pulsante. Io non so come sia inizializzata la funzione rand, cioe' non so se usa il srand, non so se usa lo srand con un seed particolare etc. L'unico indizio che ho e' che se clikko su 2 pc diversi nel medesimo istante ho il medesimo risultato sempre (o al 99% considerando qualche mancanza di sincronismo fisico). Questo mi fa pensare che comunque sia basata sul tempo, ma ammetto che di php non conosco nulla. Ho letto che nelle ultime versioni il seed puo' anche essere omesso nello srand e che anche il rand puo' essere usato senza lo srand, ma come posso fare per capire la prevedibilita' di questa pagina in base all'orario? La cosa piu' immediata sarebbe sceglire un risultato e clikkare segandosi l'ora ogni volta che esce quel risultato, in questo modo si potrebbe risalire al seed numerico usato, pero' non so come capire la relazione tra due seed diversi che producono il medesimo risultato (potrebbe essere l'intervallo di tempo tra i due?). Garzie per ogni scpunto e aiuto!
Niggo è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 11:21   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16212
Innanzitutto, comincia a studiare PHP. Puoi cominciare dal tutorial di W3Schools.com.
Mentre ci sei, puoi dare un'occhiata a questa miniguida alle sequenze pseudorandom. È vecchiotta e dovrei aggiornarla, magari parlando del Mersenne Twister e della batteria di test DIEHARD; ma forse dice ancora qualcosa di utile...

Poi: il comportamento mi fa pensare che il valore pseudorandom sia generato dal server. (Da quel poco che so di PHP, si tratta di un linguaggio orientato allo scripting server side.) Se è così, e se non hai modo di visualizzare il sorgente dello script sul server, la vedo dura...
Comunque: in teoria, dovresti generare una sequenza molto lunga di valori, e sottoporla a un test statistico tipo chi quadro, Kolmogorov-Smirnov o simili. Questo va fatto più volte, diciamo almeno tre. A questo punto, valuti la percentuale di successi.
Trovi qualcosa nel secondo volume di "The Art of Computer Programming" di Donald Ervin Knuth.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 11:41   #3
Niggo
Senior Member
 
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 2127
Ti ringrazio per gli spunti, vado a leggere. La prova piu' semplice che ho fatto e' quella di testare la sequenza di uscite in buon numero e ho notato che spesso (circa il 40% delle volte) due risultati uguali escono dopo un intervallo di tempo di 1 minuto e 34 secondi, molto spesso 2-3 volte di seguito, poi la volta successiva non segue piu' questo intervallo, puo' essere indicativo?
Niggo è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 11:54   #4
Niggo
Senior Member
 
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 2127
Aggiungo: c'e' un qualche link che spieghi come funziona la srand? Intendo che cosa ci fa con il suo input, come lo usa per inizializzare la sequenza randomica? grazie
Niggo è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2007, 14:20   #5
Niggo
Senior Member
 
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 2127
Alcune idee per cercare di prevedere un risultato che mi sono venute in mente. Faccio una lunga serie di prove e stabilisco una probabilita' che i 5 risultati escano, dopodiche' parto dal presupposto che si usi una srand semplice basata sull'ora, realizzo un programmino che cicla una seed con la data e un secondo in piu' del precedente e genero un risultato considerando la probabilita' di prima, mi segno la data e l'ora del risultato che mi serve (magari quello con probabilita' piu' bassa) e provo sul pc ufficiale a quell'ora precisa. A parte i problemi di sincronismo, userei il C# per fare questo programmino e temo che non sia proprio uguale al php come funzione random, pero' non cerco il 100% dei risultati, ma mi accontenterei del 50% , una prevedibilita' insomma maggiore di molto rispetto alla probabilita' calcolabile con i tentativi. Un altra miglioria potrebbe essere quella di calibrare la probabilita' di uscita del risultato che mi interessa in base all'ora che ho registrato nella realta' e usarla come seed osservando il valore che esce fuori.
Niggo è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2007, 09:52   #6
Niggo
Senior Member
 
Iscritto dal: Mar 2003
Città: Roma
Messaggi: 2127
Dunque attualmente ho fatto questa prova come accennato. Ho fatto circa 200 misurazioni e ho segnato quante volte usciva un certo risultato e da qui una stima di probabilita' , circa il 10%. Ho fatto un programmino in c# (prima ottimizzazione: usare php medesima versione con medesimo tipo e versione del webserver che ospita la pagina, sicuramente la funzione random del c# e php sara' diversa) che immettendo la data che mi dava il risultato osservato e usandola come seed mi produceva un risultato usando la funzione random in un intervallo da 1 a 200 (le 200 misurazioni), ho quindi segnato questo numero e ho fatto lo stesso per tutte le date che mi davano il risultato osservato. Alla fine ho avuto quindi circa 20 risultati, per finire ho fatto un programmino che prende la data attuale e aggiunge un secondo e usa questo valore come seed, genero un numero random tra 1 e 200 e se coincide con uno dei 20 risultati mi stampa la data: questa dovrebbe essere una probabile data utile futura. Ho provato alcune volte e i risultati sono incoraggianti, sicuramente aumentando le misurazioni potrebbe migliorare la precisione, pero' ci sono alcune incognite tipo la sincronizzazione "umana" della pressione del tasto al secondo giusto, eventuale lag del server durante l'operazione, varie ed eventuali, ma mi farebbe piacere sapere se puo' essere un approccio utile o meno prima di fare eventuali altre misurazioni.

Se poi qualcuno avesse scoperto un link su come effettivamente la funzione seed viene inizializzata attraverso il suo valore di input sarebbe meglio assai
Niggo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
SpaceX: un satellite ha fotografato il s...
36 idee regalo con offerte Amazon sotto ...
Sony assume il controllo dei Peanuts: Sn...
DJI Neo scende a 149€ su Amazon, in vers...
Scoperto un nuovo esopianeta che orbita ...
Blue Origin NS-37: successo per la missi...
Potrebbe essere stata rilevata una super...
La cometa interstellare 3I/ATLAS è...
Xiaomi 17 Ultra: l'autonomia non sarà un...
Il processo produttivo a 2 nm di TSMC è ...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:04.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v