PDA

View Full Version : Fase di pescata...


Shenron Duxshea
19-12-2007, 13:57
pur di non studiare programmazione avanzata a volte mi metto a spulciare la conference in lungo e largo :D


poco fa ho trovato un messaggio che diceva:

Moreover, the pool of talents is updated every day. It might therefore also be wise to call your scout later in the week as most users tend to call their scouts as fast as possible after the economic update.

è una risposta di HT-Tjecken a uno che gli chiedeva che senso aveva cambiare la regione di pescata degli scout






In pratica sarebbe conveniente spesso pescare nn il sabato ma a settimana inoltrata?
Con meno pescate complessive secondo voi la possibilità di pescare ottimi giocatori sale?

Zaratustra
19-12-2007, 14:26
premetto che uso le vecchie ma io credo che convenga anche pescare in luoghi in cui pescano poche squadre

<-Spam Rulez->
19-12-2007, 20:36
Come si fa a determinare dove le squadre pescano di più e dove di meno?

Tu lo sai?

Helker
20-12-2007, 02:39
Avevo scritto in Conference Italia questo thread: 10348361.1

In particolare: 10348361.42

Per togliermi la curiosità mi sono calcolato empiricamente come varia la probabilità di pescare un "buono".

Ho scritto un piccolo programmino in C che mi simulasse le pescate, e ho messo tutto su di un grafico.

Ecco le premesse:
- Ogni regione ha un "pool" di giocatori pregenerati con una piccola percentuale di buoni giocatori e il resto giardinieri
- I giocatori che vengono chiamati vengono rimossi dal pool

Ecco le mie ipotesi:
- Per ciascun utente è disponibile 1 giovane da pescare
- La quantità di giocatori buoni è pari al 5% del totale

Ecco il programma in C così potete verificare se ho fatto errori, e potete provare voi stessi.

#include
#include
#include

int main(void) {
int i=0;
int total_players, good_players, bad_players;
double percentuale_attuale, pescata;
FILE *of;

if ((of = fopen("output_file", "w")) == NULL)
fprintf(stderr, "Cannot open %s\n", "output_file");

printf("Quanti giocatori normali in totale?");
scanf("%d", &bad_players);
printf("Quanti giocatori buoni in totale?");
scanf("%d", &good_players);

/*
* - Calcola la probabilità di pescare un giocatore buono
* - Stampa il numero di pescate precedentemente fatte e la percentuale calcolata
* - Pesca un giocatore e lo toglie dal pool di giocatori corrispondente
*/

total_players = good_players + bad_players;

/* fprintf(of, "%15s%15s%15s%15s\n\n", "Pescati", "Buoni", "Mediocri", "Percentuale"); */

while(total_players > 0) {

percentuale_attuale = (double)good_players / total_players;

fprintf(of, "%15d%15d%15d%15.4f\n", i, good_players, bad_players, percentuale_attuale*100);

/* Pesca un giocatore */
pescata = (double)(rand() % total_players) / total_players;

if(good_players > 0 && pescata <= percentuale_attuale)
--good_players;
else
--bad_players;

total_players = good_players + bad_players;
++i;
}

fclose(of);

/* Termina il programma */
return 0;
}


In questa simulazione ho preso in considerazione la regione Lombardia che ha circa 12000 squadre. verrebbero quinti 11400 giardinieri e 600 buoni giocatori. Questo è il risultato: http://img45.imageshack.us/img45/6936/lazio12k005hr5.png

Si può notare come la percentuale rimanga pressochè costante fino a circa 8000 pescate (2/3 del totale), poi ha forti inflessioni verso il basso. Alla fine tuttavia ha un picco alto.


Ho fatto la stessa simulazione con la regione del Lazio che ha circa 6000 utenti (5700 giardinieri e 300 buoni). Ecco il risultato: http://img45.imageshack.us/img45/3765/roma6k005ht5.png

Si può notare facilmente che con il minor numero di giocatori disponibili le oscillazioni sono molto più accentuate, e il periodo di stabilità è molto minore. Tuttavia, presenta lo stesso picco alla fine.

Spinto dalla curiosità, ho fatto anche una simulazione con un pool di 100.000 giocatori (90.000 + 10.000, per questo ho usato il 10%). Il comportamento è molto simile... http://img254.imageshack.us/img254/5740/screenshotnp5.png



In conclusione, questa è solo una curiosità con poche applicazioni pratiche non potendo sapere quanti hanno pescato prima di te... Quello che si può dedurre è che è meglio chiamare scout da una regione numerosa, e chiamarlo presto. In questo modo si ha una probabilità abbastanza costante di trovare un giocatore degno. Più si aspetta, più diventa difficile trovarlo; benchè ci sia qualche picco di probabilità verso l'alto, sono molto più frequenti i picchi verso il basso.

Per una volta gli ccatì hanno detto una cosa giusta: Non conviene pescare il sabato quando pesca il 90% degli utenti...

Zaratustra
20-12-2007, 02:44
a vedi io per deduzione avevo pensato tutto il contrario :awk:

ps per spam nelle regioni con meno squadre

Shenron Duxshea
20-12-2007, 12:45
Originally posted by Helker
Avevo scritto in Conference Italia questo thread: 10348361.1

In particolare: 10348361.42

Per togliermi la curiosità mi sono calcolato empiricamente come varia la probabilità di pescare un "buono".

Ho scritto un piccolo programmino in C che mi simulasse le pescate, e ho messo tutto su di un grafico.

Ecco le premesse:
- Ogni regione ha un "pool" di giocatori pregenerati con una piccola percentuale di buoni giocatori e il resto giardinieri
- I giocatori che vengono chiamati vengono rimossi dal pool

Ecco le mie ipotesi:
- Per ciascun utente è disponibile 1 giovane da pescare
- La quantità di giocatori buoni è pari al 5% del totale

Ecco il programma in C così potete verificare se ho fatto errori, e potete provare voi stessi.


In questa simulazione ho preso in considerazione la regione Lombardia che ha circa 12000 squadre. verrebbero quinti 11400 giardinieri e 600 buoni giocatori. Questo è il risultato: http://img45.imageshack.us/img45/6936/lazio12k005hr5.png

Si può notare come la percentuale rimanga pressochè costante fino a circa 8000 pescate (2/3 del totale), poi ha forti inflessioni verso il basso. Alla fine tuttavia ha un picco alto.


Ho fatto la stessa simulazione con la regione del Lazio che ha circa 6000 utenti (5700 giardinieri e 300 buoni). Ecco il risultato: http://img45.imageshack.us/img45/3765/roma6k005ht5.png

Si può notare facilmente che con il minor numero di giocatori disponibili le oscillazioni sono molto più accentuate, e il periodo di stabilità è molto minore. Tuttavia, presenta lo stesso picco alla fine.

Spinto dalla curiosità, ho fatto anche una simulazione con un pool di 100.000 giocatori (90.000 + 10.000, per questo ho usato il 10%). Il comportamento è molto simile... http://img254.imageshack.us/img254/5740/screenshotnp5.png



In conclusione, questa è solo una curiosità con poche applicazioni pratiche non potendo sapere quanti hanno pescato prima di te... Quello che si può dedurre è che è meglio chiamare scout da una regione numerosa, e chiamarlo presto. In questo modo si ha una probabilità abbastanza costante di trovare un giocatore degno. Più si aspetta, più diventa difficile trovarlo; benchè ci sia qualche picco di probabilità verso l'alto, sono molto più frequenti i picchi verso il basso.

Per una volta gli ccatì hanno detto una cosa giusta: Non conviene pescare il sabato quando pesca il 90% degli utenti...


devi modificare il programma in questo senso:

- Sei partito dal presupposto che, se in una data regione ci siano X iscritti, il numero di giocatori generati (il pool) sia proprio quel X.
Secondo me ne devi creare almeno 2-3 volte tanto (poichè, ad esempio, io che sono nel Lazio posso pescare anche in altre regioni, quindi ogni regione dovrebbe contenere giornalmente un numero potenziale di giocatori pari a tutti gli iscritti in Italia, o no? E' un caso estremo ma rientra nella logica delle probabilità)
- Ogni giorno il pool viene resettato, mentre tu hai creato il tuo pool ad inizio settimana (dopo l'aggiornamento economico del sabato) e prosegui tutta la settimana con quello. E' sbagliata la logica in questo caso, non i numeri. Dovresti introdurre altre variabili come la percentuale di giocatori che pescano il lunedi, il martedi, ecc.. Poi scalare tale valore al numero totale dei pescanti di giorno in giorno in quella data regione e ricostituire ogni giorno il pool di giocatori creati


ho detto quale boiata? :look:

Helker
20-12-2007, 13:54
Il primo fattore che hai indicato in realtà non influisce. Il comportamento è praticamente lo stesso. Il terzo grafico ha preso in considerazione 100000 giovani da pescare, dubito che ce ne siano più di quelli per regione :p

Il secondo aspetto in realtà è considerato. Mi accorgo ora che alla fine mi sono espresso male. Con chiamarlo presto intendo presto nella giornata, non nella settimana :)

Altra precisazione: Non è possibile sapere nè quanti giocatori pescano in una data regione, nè quanti giocatori sono già stati pescati.
Quel grafico non è in funzione all'ora del giorno o al giorno della settimana, ma a quanti giocatori sono stati pescati prima.

Andando a naso, puoi dire che se peschi nelle prime ore della giornata sei molto probabilmente nella parte sinistra del grafico, mentre se peschi la sera tardi sei nella parte destra.