CITAZIONE (lifeforwin @ 21/3/2017, 21:27)
Ciao Stef72.
Veramente un bel programma. Complimenti!
Io mi sono sempre arrangiato con excel, spendendo nottate intere e con scarsi risultati!
Grazie!
Se posso permettermi, dall'alto della mia "gnorantia",
potrebbe essere utile un'Opzione di Ricerca,
che permetta di escludere alcuni numeri dalla ricerca stessa.
Ovviamente il "Affancuffia" Voucher puoi spederlo anche con me!
Ancora Complimenti!
Chi vuole provare la
versione Beta con le modifiche per i vincoli sui numeri della soluzione?
Mi sembra funzioni tutto.
Certamente è già possibile farla funzionare, in un modo o nell'altro, per ottenere i risultati desiderati.
Si tratta di verificare i casi particolari di input di un utente distratto (diciamo così), nel senso che alcune verifiche preliminari dovrà farle il programma.
Mi spiego: io ho immaginato un utente il quale, non avendo afferrato bene la finalità del programma, inserisce richieste non coerenti tra loro. Ad esempio, se si avvia la ricerca dopo aver inserito numero obbligatorio = 39 e numero vietato = 39...Il programma si chiede: " ma questo mi sta pigliando per scemo?" e il programma scemo non è! E' figlio mio :-)
Quindi, senza neanche venire da me ad avvertire, spiaccica direttamente a schermo un messaggio col quale, gentilmente, comunica il probabile refuso da verificare. Perdonatelo, è una delle poche cose che ha imparato a fare.
Se, a quel punto l'utente, magari già mezzo irritato da cotanta arroganza (al posto di sottomessa determinazione secondo la quale avrebbe dovuto cercare una soluzione col numero 39 e la stessa però non avrebbe assolutamente dovuto,al contempo, contenerlo), dicevo a quel punto
l'utente ci riprova e inserisce, come estrazioni sulle quali effettuare la ricerca, due sole combinazioni le quali contengono,diciamo, una trentina di numeri in tutto...E chiede di estrapolare una soluzione che necessariamente contenga il 62 (in quanto il suo istinto spiccato glielo suggerisce , ma non si sa perché e non vuole neanche rivelarlo a nessuno e non si sa neppure questo motivo, e aggiungerei che ce ne frega poco).
Però il 62 NON E' presente tra le estrazioni da lui indicate (vuoi perchè ha cliccato dove non doveva cliccare o semplicemente perchè ha scelto delle sue combinazioni x (ics) nelle quali il 62 non c'è!).
A quel punto il programma, comunica con un messaggio che potrà sembrare astruso e superfluo...
Vi faccio vede due prove d'esempio con le quali ho portato avanti la prima fase di rodaggio (e, se non ho sbagliato, potete evitare di ripeterle e quindi passare ad altri test sul funzionamento) con questi due piccoli quadratini nuovi che ho disegnato sulla finestrella che avevo già pronta:
nei due esempi qui di seguito ho selezionato un file con al suo interno soltanto quattro combinazioni da 20 numeri, sulle quali effettuare la ricerca. Le quattro estrazioni sono le seguenti:
06 07 11 14 18 31 37 40 41 42 48 55 56 57 62 65 80 82 85 86
01 09 13 24 25 33 39 41 56 57 61 62 68 69 71 72 74 76 80 86
01 03 08 17 27 31 32 34 40 46 48 49 51 61 63 68 71 72 79 89
01 02 03 08 09 14 16 23 27 34 41 42 44 54 56 62 64 79 81 85
in queste quattro ventine, come potete constatare, i numeri appaiono con le seguenti frequenze:
Numeri con 3 presenze (q.tà #04) = 1 41 56 62
Numeri con 2 presenze (q.tà #19) = 3 8 9 14 27 31 34 40 42 48 57 61 68 71 72 79 80 85 86
Numeri con 1 presenza (q.tà #30) = 2 6 7 11 13 16 17 18 23 24 25 32 33 37 39 44 46 49 51 54 55 63 64 65 69 74 76 81 82 89
sono quindi un
totale di 53 numeri e ciò significa che 37 numeri (tra i 90 possibili) non appaiono in queste estrazioni.
Fate caso che il 38 NON è presente, mentre il 71 e il 72 sono prenti.
La prima prova consiste nel lanciare la ricerca
imponendo:
il 38 e il 72 come numeri
obbligatori fissi (che devono fare necessariamente parte della soluzione finale, indipendentemente dal tempo concesso per l'elaborazione)
Mentre il 71 è inserito come numero
Proibito (non lo vogliamo all'interno degli 11 numeri della soluzione fornita)
Un primo messaggio ci avvisa di un'incongruenza (la quale non è del tutto palese a priori):
e mi pare di constatare che tutto fili liscio.
La seconda prova che ho effettuato è la seguente:
soltanto il 72 deve obbligatoriamente far parte della soluzione,
mentre il 38 diventa, assieme al 71 un numero Proibito al calcolatore per il calcolo della soluzione
(ho quindi spostao il 38, inesistente tra le estrazioni, da Obbligatorio a Vietato)
Un altro messaggio simile, ma non esattamente uguale a quello dell'avviso di prima ci avvisa del malinteso e chiede se può risolvere da se:
Forse avrete già notato l'
apparente banalita dell'intelligenza artificiale nascosta dietro i quadratini, la quale ha perspicacemente notato che
nel primo caso è assolutamente illogico, viste le formazioni esaminate, specificare e forzare l'inserimento del numero 38 come numero obbligatorio (poichè il programma può essere fatto girare per il calcolo della copertura migliore e solo a fine elaborazione deciderà l'utente se
appiccicare il 38 a quello che ha calcolato la macchina)
Similmente, nel
secondo caso, è assolutamente inutile proibire al computer di scegliere il numero 38 in quanto è impossibilitato a farlo per definizione (dell'algoritmo di calcolo) quindi, tanto vale non inserilo neppure.
Quindi se trovate 5 o 6 minuti del vostro tempo per cercare di capire dove possa aver sbagliato con delle prove di stress, magari cambiando le estrazioni su cui lanciare la ricerca e ciascuno degli altri fattori, penso sia tempo dedicato all'intera comunità di questo forum e potremmo trarne vantaggio insieme.
----------------------------------------------------------------------------------------------------------------------------------
PS= allegato rimosso in quanto questa versione è stata corretta e migliorata. Vedi post più avanti (del 27.giu.2017)
----------------------------------------------------------------------------------------------------------------------------------
Edited by stef72 - 27/6/2017, 12:13