Newsgroup: it.comp.www.php
Titolo: Quale script per determinare vincite istantanee?

Ciao a tutti, dovrei realizzare uno scrip in php che una volta stabilita una 
percentuale X di vincita mi consenta di assegnare o meno il premio 
istantaneamente.
In pratica ci sono una serie di premi memorizzati in una tabella di un db, 
l'utente sceglie quello di suo gradimento e viene calcolata la percentuale 
di vincita...come potrei fare in php a determinare se ha vinto o meno?
Non so come affrontare concettualmente il problema...
Grazie per eventuali aiuti! 

 potrei fare in php a determinare se ha vinto o meno?
Potresti spiegare meglio quello che intendi?
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

di vincita...
Che cosa sarebbe la "percentuale di vincita"? Prova a fare un esempio.
Leonardo
-- 
While ordinarily valid that being widespread does not make a statement
true, I feel that the diffusion of anti-evolutionary beliefs does pose
a strong argument for Darwin having been, indeed, sorely mistaken.

 di vincita...come potrei fare in php a determinare se ha vinto o meno?
dipende se te per "percentuale di vincita" intendi semplicemente la
probabilità di estrazione o se intendi dire che vuoi pagare x premi
ogni y partecipanti. Nel primo caso è ovviamente sufficiente
un'estrazione di rand(); nel secondo è meglio se pregeneri Y risultati
di cui X vincenti e scegli uno tra questi (un po' come una pesca di
beneficenza, insomma).
bye!


Chiedo scusa, forse ho espresso male il concetto...
Per semplificare immaginiamo l'urna del lotto ma con 100 palline
anzichè 90.
Se io determino che Pippo ha X% di probabilità di vincere un dato
premio, equivale a dire che se io inserisco in una sola pallina
dell'urna un bigliettino del premio e faccio estrarre X palline sto
rispettando la percentuale prefissata... è corretto?
L'esempio dell'urna è davvero poco elegante anche se teoricamente
corretto...esiste una soluzione più elegante e come posso
implementarla in php in modo da simulare l'estrazione di cui sopra?
Grazie per la pazienza!

 implementarla in php in modo da simulare l'estrazione di cui sopra?
Non potresti scegliere un numero a caso tra 1 e 100 (estremi inclusi) e
se questo cade tra 1 e X (estremi inclusi) allora e' avvenuta una
vincita, altrimento no?


 implementarla in php in modo da simulare l'estrazione di cui sopra?
Devi prima decidere se vuoi assicurare una certa *probabilità* di
vincita o una certa *distribuzione* delle vincite. Se invece che
presentare pseudo-modelli del problema ci dici COSA vuoi fare è più
probabile che si riesca ad aiutarti...
bye!


..semplice e disarmante.. grazie!
Una sola perplessità...la generazione di numeri casuali è abbastanza
affidabile? Non essendoci una vera e propria casualità nella
generazione dei numeri non vorrei che il computer prediligesse un
range di numeri nelle sue estrazioni.
Grazie ancora per la soluzione!!!

 bye!
L'approccio proposto da Filippo Toso poco sopra mi pare vada più che
bene, comunque espongo quella che deve essere la reale applicazione...
In una sezione riservata ad alcuni utenti di un sito c'è la
possibilità di partecipare all'estrazione istantanea di alcuni premi.
L'utente ha un elenco di premi disponibili e una volta scelto quello
di suo gradimento clicca sul bottone per verificare se ha vinto o
meno. I calcoli che portano alla determinazione della probabilità è
irrilevante in questo contesto, ciò che per me era un problema era in
che modo determinare la vincita o meno in base alla probabilità.
Considera che come dati certi ho solo il numero di utenti che verranno
invitati a giocare,  ma non so quanti effettivamente giocheranno e non
so il numero di premi totali in quanto alcuni verranno aggiunti in
corso d'opera. Penso che in un contesto del genere sia il modo di
calcolare la percentuale di vincita che mi garantisce una corretta
distribuzione nel tempo dei premi (il concorso dura un anno), ma
questo esula dall'oggetto iniziale del mio post.
La soluzione fornita poco fa mi sembra funzionare...
Grazie a tutti per la disponibilità!

 distribuzione nel tempo dei premi (il concorso dura un anno),
Ma neanche per idea.
Se hai 10 premi a disposizione che vuoi far durare per un anno, come
cappero fai a valutare una probabilità di vincita? Anche se la metti
bassa, supponi allo 0.1%, trattandosi di un evento casuale nessuno può
escludere che già il primo giorno ci siano 11 visitatori che "beccano"
l'estrazione favorevole... e all'undicesimo che racconti? E come
convinci gli altri a giocare per gli altri 364 giorni?
Mi sa che ci vuole un pizzico di analisi in più che non un semplice
rand(). Anche perchè i concorsi a premi in Italia sono regolamentati
per legge, e tutto deve essere sottoponibile a controllo del ministero
delle attività produttive (cerca in rete il D.P.R. 430 del 26/10/2001
e documentati...)
bye!


Hai ragione in quello che dici, ma in virtù del fatto che gli elementi
per calcolare una probabilità nella maniera corretta non ci sono, il
modo di calcolare quest'ultima diventa paradossalmente l'unico modo
per garantire una distribuzione omogenea. Considera che ho incontrato
parecchie difficoltà per calcolare la probabilità in base a dati "non
convenzionali" tenendo conto che alcuni premi, essendo oggetti,
dureranno fine a fine concorso (salvo estrazione...) mentre altri sono
viaggi o eventi sportivi ed hanno date di scadenza con "pesi"
differenti nel calcolo.
Ti ringrazio per il riferimento citato, lo giro eventualmente al
committente.
Saluti

 range di numeri nelle sue estrazioni.
Dipende dall'algoritmo che utilizzi per il calcolo. Esistono algoritmi
dalle ottime proprieta' statistiche ed una lunghezza del ciclio
estremamente lunga (vedi, ad esempio,
http://www.taygeta.com/random.html
 ).


 committente.
Io lo girerei anche senza l'"Eventualmente"... poi fai te ;^)
bye!

Io farei così:
poiché vado ad uinvitare delle persone a partecipare al sorteggio, sai + o -
quanti saranno al giorno.... allora fai una preestrazione, cioè un
programmino che dice che cosa (e se) ha vinto il primo che prova, il
secondo, il terzo.. fino all'Xesimo stimato per la fine del consorso.
Il programma che crea la sequenza sa come deve distribuire i premi "a
scadenza" (entro l'estrazione numero Y), e il premio principale (verso il
numero X).
La parte del di "fortuna" non è più legata all'estrazione vera e propria ma
a quando riceverai la mail di invito a partecipare !
Francesco
PS: non so però se rispetta la legge !


un approccio del genere, legalità a parte, perde il suo valore proprio 
perchè non si sa nulla di quante persone giocheranno. E' un casino quando 
non si hanno dati sufficienti ;-)
Grazie per il suggerimento!