Aiuto! Gioco e Matematica

eledriel
Ciao a tutti voi matematici,
Avrei bisogno di una mano per un gioco che sto progettando.
Senza tediarvi coi particolari, si tratta di un sistema basato sulla risoluzione di Quests (obiettivi).
Ho bisogno di stabilire le difficoltà di ogni obiettivo (un cosiddetto indice di difficoltà, che può essere una % o un numero finito non importa).

Vi faccio un esempio di obiettivo:

Resolution: 5
Dadi a disposizione: 10 dadi da 6 facce
Indizi:4

Resolution sta per il numero di volte che devo fare 6 con un singolo dado.
Dadi a disposizione sono il numero di dadi a 6 facce che tirerò (o tutti insieme o uno alla volta, immagino sia irrilevante).
Indizi, Posso spenderli per ritirare X dadi ed eventualmente aggiungerli ai successi già ottenuti

Tiro i miei 10 dadi e faccio 3 successi.
Di seguito i risultati nel dettaglio:
1 dado = 4
2 dado =6
3 dado =1
4 dado =4
5 dado= 3
6 dado =2
7 dado =2
8 dado= 6
9 dado =6

10 dado =5

Mi servono altri 2 successi per completare l'obiettivo resolution = 5.
Posso utilizzare i miei Indizi per ritirare un massimo di 4 dadi, oppure posso scegliere di ritirare tutta la sequenza.
Ritirare tutta la sequenza ovviamente avrà un costo, quindi non si potrà fare per infinite volte.

Quello che mi serve per creare degli obiettivi equilibrati e calibrarne il livello di difficoltà è: capire qual'è il rapporto fra Resolution, dadi a disposizione, indizi.
Avrei bisogno di un modello in Excel in cui, al variare dei 3 parametri di cui sopra, vari anche il cosiddetto indice di difficoltà dell'obiettivo.

Per ogni domanda la mia mail è eledriel ( a.t.) gmail.com, o su +LaStregona

E' assicurata una menzione speciale sul gioco (che se tutto va bene uscirà su piattaforma Android).

Grazie a tutti!


LaStregona

Messaggi: 1
Iscritto il: lun 11 feb 2013, 14:48
Gruppo: Utenti registrati

Risposte
kobeilprofeta
Ciao. Ti posso subito dare questa formula: $[P(E)]^(k)*[P(\bar(E))]^(n-k)*((n!)/((k!)*(n-k)!))$. Praticamente questa formula dà la probabilità che un evento $E$ (nel nostro caso uscita del sei in un lancio), con probabilità $P(E)$ (nel nostro caso $1/6$) accada $k$ volte (nel nostro caso resolution) in $n$ tentativi (nel nostro caso 10 lanci di un dado, o un lancio di 10 dadi, che tanto è uguale), $P(\bar(E))$ è la probabilità che non accada $E$ cioè è $1-P(E)$. 
A questo punto, dopo aver verificato la probabilità che avvenga un obiettivo, gli si può dare un punteggio $W$ in questo modo: $W=1/G$, dove $G$ è il risultato della formula in alto e $W$è il punteggio da dare all'obiettivo.

Al resto devo ancora pensarci ma questo è tutto senza gli indizi che sinceramente non ho capito benissimo.
Dimmi se ti piace il modello matematico che poi magari lo elaboriamo meglio.

Ps) da quanto ho capito io ad ogni obiettivo nella formula aggiungiamo ad $n$ il numero $i$ di indizi, quindi $n=m+i$, dove $m$ sono il numero di dadi senza indizi e $i$ il numero di indizi ancora a disposizione. Ma da questa modifica risulta che $W$ dipende sempre dal numero di indizi, senza prendere in considerazione il fatto che vengano usati o meno. Una possibile modifica sarebbe inserire un controllo (credo che si chiami if, ma non so il tuo linguaggio di programmazione) che dopo aver visto il numero di sei uscito, chiede se si vogliono utilizzare gli indizi, e solo ora si mette la formula nel programma distinguendo i due casi:
-se non si vogliono utilizzare, rimane la prima, con $n=m$
-se si utilizzano, diventa $n=m+i$

Dimmi se non hai capito qualcosa...

eledriel
Ciao Kobe!
Le indicazioni che mi hai dato sono perfette grazie mille!
Vorrei approfittare della tua disponibilità per una variante che sto pensando di implementare per far utilizzare gli indizi in un modo diverso dal momento che, come mi fai notare tu matematicamente, così diventano solo un tiro di dado in più.

Vorrei permettere di aggiungere gli indizi al dado che non è andato a segno (invece che usarli per fare un altro tiro).

Ripropongo il mio esempio "mutatis mutandis".

Resolution: 5
Dadi a disposizione: 10 dadi da 6 facce
Indizi:4

Resolution sta per il numero di volte che devo fare 6 con un singolo dado.
Dadi a disposizione sono il numero di dadi a 6 facce che tirerò (o tutti insieme o uno alla volta, immagino sia irrilevante).
Indizi, Posso spenderli per aggiungerli al risultato.

Tiro i miei 10 dadi e faccio 3 successi.
Di seguito i risultati nel dettaglio:
1 dado = 4
2 dado =6
3 dado =1
4 dado =4
5 dado= 3
6 dado =2
7 dado =2
8 dado= 6
9 dado =6
10 dado =5

Utilizzo i 4 indizi e li aggiungo al dado 10, e al dado 5, trasformandoli così in 2 successi.

A questo punto immagino che le probabilità di successo aumentino all'aumentare del numero di indizi a disposizione. Come inserisco questa variante per ricalcolare la probabilità di raggiungere la resolution?
Grazie ancora per l'aiuto!

kobeilprofeta
Ciao. Innanzitutto vorrei specificare una cosa che forse non ti era chiara. Ti ho dato la formula e ti ho detto che quella è la probabilità che un evento accada $k$ volte e NON che accada almeno $k$ volte!! È una cosa diversa!! Io penso che se resolution sia $5$, vada bene anche che esca 6 o 7 volte il numero sei sul dado e non per forza 5 volte, giusto? Ecco in questo caso basta sommare la probabilità che esca $k$ volte + la probabilità che esca $k+1$ volte + la probabilità che esca $k+2$ volte e via così fino alla probabilitá che esca $n$ volte (che se ci pensi con $n$ dadi è il massimo). Per farlo ti consiglio sul programma di fare un ciclo {ti faccio l'esempio in C++, se non conosci il linguaggio dimmelo}:
es:
y=0; (dichiaro una variabile che sarà la somma delle probabilità)
x=n;  (dichiaro una variabile e la metto prima del ciclo uguale ad $n$, cioè al numero di dadi)
do
{
y=y+*formula con al posto di $k$ la variabile nuova chiamata arbitrariamente $x$
x=x-1;
}
while (x>k);


Te lo spiego brevemente: dichiaro due nuove variabili (oltre a n e k che già esistevano) e le chiamo y ed x.
X inizialmente lo metto uguale ad n. Gli dico di fare la seguente operazione per un po' di volte (ciclo): l'operazione consiste nell'aggiungere a y (che inizialmente vale 0) una quantità data dalla formula che ti scritto all'inizio del post precedente e questa nuova quantita data dalla somma di y e la formula, diventa la nuova y. L'unica cosa è che nella formula al posto di utilizzare k, uso x. Poi faccio diminuire la x di 1. 

Ripeto questa operazione finchè la x rimane maggiore di k. In questo modo, il valore che la y assumerà alla fine del ciclo è uguale alla probabilità cercata, cioè che assuma valori da $k$ ad $n$.

Il senso è di sommare la formula con al posto della k, dei valori da k ad n, o da n a k che è uguale.




Poi per usare gli indizi facciamo così:
(sempre nel linguaggio, io te lo dico a parole)

Conta quante volte è uscito il sei, poi:
Se è uscito $k$ volte, obiettivo superato
Se non è uscito $k$ volte chiedo quanti indizi vuole usare (e chiamo $q$ il numero di indizi che si intende usare). Poi se $q=0$, niente. Se $q$>0, faccio un ciclo per $q$ volte gli chiedo dove vuole aggiungere un numero al punteggio. Alla fine rifaccio un controllo per vedere se l'obiettivo è stato superato.
Variante: al posto di fargli scegliere dove usarli, se non si può (io non conosco il gioco), lo faccio scegliere al computer e lo metto dove ne ho di più, in modo da riuscire ad arrivare a 6 di punteggio.

NB) 
-serve ovviamente un controllo affinche $q$ non sia maggiore degli indizi a disposizione
-in questo modo la probabilità, e quindi anche il punteggio da attribuire all'obiettivo, non cambia in base al numero di indizi posseduti, ma in questo caso si può fare una roba del genere: io devo fare piu obiettivi (es.) tre obiettivi, al primo ho a disposizione 4 indizi e ne uso 2, al secondo me ne rimangono 2 (piu gli eventuali aggiunti automaticamente dal computer) ed al terzo quelli del secondo meno quelli che uso. Questo è l'unico modo affinchè il numero di indizi a disposizione non vada ad incidere sul punteggio dell'obiettivo, perche in caso contrario non sarebbe assolutamente facile modificare la formula.


Sempre se non ti è chiaro o vuoi modificare qualcosa dimmelo.

eledriel
Ciao Kobe,
Grazie per la risposta. Purtroppo io sono una persona credente nella Matematica, ma non praticante (come quasi tutti quelli del Marketing :smt012 ). Per questo magari non riesco a spiegarmi bene nel linguaggio tecnico.

Nel mio piccolo, si, avevo capito che la formula (giustamente) mi dava la probabilità che l'evento accada k volte. Quindi se resolution è 5 va bene anche che esca 6 o 7 volte il numero sei sul dado e non per forza 5 volte, come correttamente dici anche tu.
Ma nella mia ingenuità pensavo si potesse tirar fuori una formula relativamente semplice da inserire nel mio bel foglio Excel che al variare dei miei bei 3 parametri mi faceva variare anche il valore del cosiddetto "indice di difficoltà dell risoluzione della quest" che non era altro che la probabilità di risolvere la Quest rapportando Clues, resolution e n. di dadi (o di tiri) a disposizione.

A prima vista (ripeto, sono una profana della pratica), mi sembra che mi suggerisci un metodo "brute force" come si suol dire in programmazione.
Giro la tua risposta al mio ingegnere programmatore, (che per ovvie ragioni) è anche un praticante di Matematica e vedo com'è l'applicazione tecnica della tua formula e se grazie ad essa si possa tirare fuori un programmino che mi calcoli il famoso "indice di difficoltà".

Ti ringrazio davvero tanto ti farò sapere quando il gioco sarà scaricabile (con tanto di credits :-) )

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.