Algoritmo vincente in tempo giusto [chiuso]

0

Sto costruendo un concorso in cui puoi vincere premi aprendo scatole. Qualunque sia la casella aperta, invio una richiesta al server per verificare se l'utente ha vinto qualcosa. Dato che questo concorso non è un tipo di concorso "Registrati e disegneremo un vincitore dopo un po 'di tempo", sono un po' perplesso su quale algoritmo dovrei prendere per calcolare le possibilità di vincere.

Ho ideato in un foglio di calcolo Excel quello che io chiamo un algoritmo progressivo di vincita sotto forma di:

([Number of prizes left] / [Prizes i should have left at this time of contest]) / 4

Che mi dà una variazione percentuale approssimativa della vincita di un oggetto al di fuori del pool di articoli rimanenti di circa il 25%. Se ci sono molti vincitori entro un intervallo di tempo ravvicinato, l'algoritmo dovrebbe ridurre automaticamente le possibilità di vincere andando nella direzione opposta se lo scenario è diverso.

Ciò di cui ho paura è che non tutti i miei oggetti verranno estratti alla fine del concorso perché è un calcolo lineare dei regali attesi rimasti o temo che, per caso, la maggior parte dei miei premi saranno vinti dopo solo metà del concorso (e per caso intendo che molti giocatori ottengono davvero grandi probabilità casuali e continuano a vincere)

Quindi la mia domanda è: come devo affrontare questo tipo di scenario, quali sono i metodi già noti per questo e per favore è semplice, non sono né matematico né statistico.

Variabili da prendere in considerazione

  • 100 premi da distribuire in totale
  • Il concorso dura cinque interi giorni
  • Numero sconosciuto di partecipanti
  • Regola di partecipazione sconosciuta, ma probabilmente sarà una volta al giorno in base a una credenziale univoca come un indirizzo di posta elettronica.
  • È un concorso online in cui un utente apre una casella virtuale, nulla di fisico
posta Mathieu Dumoulin 17.06.2013 - 22:20
fonte

2 risposte

13

Stai pensando a qualcosa di arretrato. Piuttosto che calcolare le probabilità di un singolo giocatore, è molto più semplice distribuire casualmente il tempo tra i vincitori. Ad esempio, supponi di avere 10 premi e il concorso dura un'ora. Genera casualmente 10 numeri tra 1 e 3600. Questo dà un timestamp in secondi dall'inizio del contest. Il primo giocatore ad aprire la scatola dopo quella volta vince il premio.

Supponendo un flusso relativamente stabile di clienti, che distribuisce equamente i premi, aumenta effettivamente le probabilità più tempo è passato da un vincitore, regola automaticamente le quote per il numero di giocatori e garantisce che tutti i premi siano distribuiti.

    
risposta data 17.06.2013 - 22:47
fonte
1

Ho recentemente creato un algoritmo per qualcosa di simile che potrebbe essere d'aiuto - cercherò di adattarlo al tuo scenario:

Hai 100 premi da regalare in 5 giorni, quindi dividi il tempo totale (5 giorni) in 100 time-slot.

Ad un certo punto nel tempo durante ogni fascia oraria, un premio dovrebbe essere disponibile per essere vinto. Quindi, scegli numeri casuali tra 0 e 1 per mappare ogni intervallo di intervalli di tempo (0 è l'inizio di uno slot, 1 la fine) e questo sarà il tempo all'interno di ogni slot che un premio diventerà vincibile.

Man mano che il tempo progredisce, i nuovi premi diventeranno vincitori. Se le persone non hanno giocato, ci saranno più premi vincibili in piscina; quando questi si esauriscono, i premi torneranno a essere acquisibili al normale orario di uno per slot.

Ho variato le cose nella mia applicazione disegnando i tempi in cui le cose sono diventate disponibili all'interno di una fascia oraria da una distribuzione normale, in modo che le cose potessero accadere più facilmente vicino al centro dello slot. Potresti voler adottare un approccio diverso e variare le dimensioni delle fasce orarie durante il contest in modo che non siano tutte della stessa lunghezza (ad esempio più slot più piccoli nel mezzo dei 5 giorni per ottenere una maggiore concentrazione dei premi diventano disponibili durante quel periodo).

    
risposta data 17.06.2013 - 22:53
fonte

Leggi altre domande sui tag