Vedovi neri e palline esponenziali

Il forum di Base5, dove è possibile postare problemi, quiz, indovinelli, rompicapo, enigmi e quant'altro riguardi la matematica ricreativa e oltre.

Moderatori: Gianfranco, Bruno

Rispondi
ZioGiò
Livello 4
Livello 4
Messaggi: 156
Iscritto il: sab gen 14, 2006 4:30 pm
Località: Mailand (Milano)
Contatta:

Vedovi neri e palline esponenziali

Messaggio da ZioGiò »

Un saluto a tutti i basecinquini!

Approfitto della pausa estiva per riprendere i contatti con il mio forum di matematica ricreativa preferito.
Il problema che vi propongo è legato a un puzzle game a parer mio molto affascinante, conosciuto con diversi nomi (Same, Chain ecc...) e che qui trovate nella versione da me battezzata, tanto per aggiungere ulteriore confusione, ExpBall:

http://www.lyra.net/fabio/giochi/expBall.php" target="_blank

Il gioco consiste nell'eliminare quante più palline possibile nel minor numero di click. Un gruppo di due o più palline "vicine" possono essere eliminate cliccando su una delle palline facenti parte del gruppo. Per ogni gruppo eliminato viene assegnato un punteggio pari a $(x-2)^2$ dove x è il numero di palline del gruppo. Nel caso si riesca ad eliminare tutte le palline si avrà un premio bonus di 1000 punti più un'aggiunta extra in base al numero di righe e colonne componenti la schermata di gioco (il bonus è quindi una costante una volta deciso il livello di gioco).

Alcune informazioni aggiuntive:
- La tavola di gioco è generata in maniera casuale usando una funzione random di distribuzione uniforme.
- Il numero di colori delle palline varia in funzione del numero di righe e di colonne con cui si sceglie di giocare

Ho programmato interamente il gioco (che si basa tra l'altro su un'interessantissima funzione ricorsiva) ma non riesco a rispondere a queste domande:
1) Qual è l'algoritmo per giocare la partita migliore (se esiste) oppure quali regolette sperimentali interessanti si possono utilizzare per cercare di ottenere il punteggio più alto?
2) Come posso scegliere la funzione "migliore" per assegnare il numero di colori in funzione del numero di righe e di colonne? Ho notato che con le tavole più grandi (come la 20*20) i punteggi tendono a mantenersi abbastanza bassi... Quindi credo di aver messo troppi colori... A me interesserebbe mantenere una certa uniformità nel crescere dei punteggi... Ma un 20*20 con tre colori sarebbe troppo facile, mi pare.

Credo che siano necessarie considerazioni statistiche ma non riesco a tirar fuori niente di più di cose banali come:
1) Per essere risolto il gioco richiede almeno n click dove n è il numero di colori delle palline
2) E' sempre meglio aggiungere una pallina a un gruppo facendone esplodere uno più piccolo perchè il punteggio varia in maniera esponenziale. Ma anche questo non è sempre vero...

Questo è il problema, sono graditi interventi e considerazioni!
Un caro saluto a tutti!
ZioGiò

P.S. e OT
Ricordo che ormai qualche anno fa (πάντα ῥεῖ, sigh) in un topic si discuteva su cosa fosse base5 per ognungo di noi. Grazie a un amico che me li ha consigliati e alla pausa estiva che mi ha dato il tempo di leggerli, mi sono imbattutto nei casi dei "Vedovi Neri", una serie di gialli scritti dal mitico Isaac Asimov, della quale ignoravo l'esistenza (niente a che vedere con il colosso delle Fondazione, ma sono racconti brevi e gradevoli, adatti al clima di stravacco estivo). Le storie sono ambientate in un club nel quale sono ammessi solo uomini (da cui il nome di Vedovi Neri) che, a turno, invitano un ospite con un quesito misterioso, immancabilmente risolto, spesso con l'aiuto della biblioteca del club e delle domande dei partecipanti, dal cameriere Henry. Aldilà del clima più rilassato e dell'apertura al fantastico mondo femminile del nostro base5Forum non ho potuto fare a meno di ritrovare qualche somiglianza tra noi e loro :)
"Voi mi considerate un uomo sanza lettere, ma siete degli stolti perché le mie cose sono date dall'esperienza non dalle parole."
Leonardo Da Vinci

Immagine

Gianfranco
Supervisore del sito
Supervisore del sito
Messaggi: 1708
Iscritto il: ven mag 20, 2005 9:51 pm
Località: Sestri Levante
Contatta:

Re: Vedovi neri e palline esponenziali

Messaggio da Gianfranco »

Ciao Zio Giò,

complimenti per il gioco!

Purtroppo non so rispondere alle tue domande tecniche, sia per i miei limiti sia perché ho poco tempo a disposizione.

Ci ho giocato un po', solo livello 8x8, e ho capito che per fare punteggi alti bisogna:
a) individuare il colore che ha più palline e raggrupparle TUTTE;
b) per il finale, lasciare il maggior numero possibile di palline di un altro dei due colori;
c) ovviamente MAI rimanere con una sola pallina di un colore.

Un'altra strategia che utilizzo è quella di osservare bene lo schema, affidarlo al mio inconscio e lasciare che sia lui a risolverlo. E' divertente e istruttivo stare a vedere che cosa succede. L'inconscio è potentissimo ma spunta solo quando ne ha voglia!

Anch'io ho notato che tra i nuovi iscritti al forum ci sono diverse ragazze che si aggiungono alle validissime Elena, Ivana, Daniela, Ricciele, Roberta, ..., già presenti fin dall'inizio o comunque da molto tempo.
Bene! Questa presenza mi rallegra e sono certo che gioverà al nostro "club". Un bicchiere di moscato virtuale a tutti!

Vi saluto cordialmente
Gianfranco
Pace e bene a tutti.
Gianfranco

ZioGiò
Livello 4
Livello 4
Messaggi: 156
Iscritto il: sab gen 14, 2006 4:30 pm
Località: Mailand (Milano)
Contatta:

Re: Vedovi neri e palline esponenziali

Messaggio da ZioGiò »

Ciao Gianfranco e grazie a tutti per i test!

In effetti il problema di determinare il massimo punteggio raggiungibile è importante al fine di assegnare un punteggio "giusto". Con uno schema facile si fanno più punti che con quello difficile e il tutto dipende dalla funzione random con cui vengono colorate le palline. Il punteggio che un giocatore ottiene dovrebbe essere diviso per il punteggio massimo ottenibile con quella configurazione di gioco in modo da avere una graduatoria "corretta". Purtroppo la stesura del codice per calcolare il punteggio (che sembra essere un problema risolvibile) sta prendendo più tempo del necessario, anche perchè tendo a lavorare di forza bruta con un ciclo for ricorsivo. Ma se qualche basecinquino avesse un'intuizione su come trattare il problema più matematicamente e quindi evitare o comunque ridurre il numero di iterazioni non esiti a postare :)

Un caro saluto!
"Voi mi considerate un uomo sanza lettere, ma siete degli stolti perché le mie cose sono date dall'esperienza non dalle parole."
Leonardo Da Vinci

Immagine

0-§
Livello 6
Livello 6
Messaggi: 454
Iscritto il: ven nov 18, 2005 10:33 pm
Località: Bologna

Re: Vedovi neri e palline esponenziali

Messaggio da 0-§ »

Zio, prima che me ne dimentichi: quale sarebbe detta funzione ricorsiva?
Lo scopo principale di una dichiarazione DATA è quello di dare dei nomi alle costanti; anziché inserire ogni volta 3.141592653589793 come valore di $\pi$, con una dichiarazione DATA si può assegnare tale valore alla variabile PI che può essere poi usata per indicare la costante. Ciò rende anche più semplice modificare il programma, qualora il valore di $\pi$ dovesse cambiare.

-Da un vecchio manuale FORTRAN della Xerox

Pasquale
Livello 12
Livello 12
Messaggi: 2853
Iscritto il: mer mag 25, 2005 2:14 am

Re: Vedovi neri e palline esponenziali

Messaggio da Pasquale »

Al momento rilevo i seguenti inconvenienti:

fino alla penultima mossa, si vedono i punti effettuati fino a quel momento, ma con l'ultima, se non fai a tempo a dare una sbirciata veloce, sparisce tutto, compare l'elenco dei record e non sai quanti punti hai fatto; quindi inserirei un'opzione da scegliere, in modo che il gioco resti fermo all'ultima mossa

quando termina il gioco, se scegli di continuare, il gioco si predispone sul quadrato 15x15, ma si presuppone che si voglia ripetere il gioco precedente e quindi sarebbe bene che il gioco ripartisse dal quadrato dell'ultima scelta

Inoltre, mi è capitato, con le palline rosse in gruppo, tutte cancellabili in un colpo, che ponendo il mouse su una di esse, lampeggiavano tutte, meno quella nell'angolo alto a destra, la quale lampeggiava insieme alle altre solo se ponevo il mouse sulla stessa.
_________________

$\text { }$ciao Immagine ciao
E' la somma che fa il totale (Totò)

Rispondi