annuncio

Comprimi
Ancora nessun annuncio.

Lessicografico

Comprimi
X
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • Lessicografico

    xxxx
    Ultima modifica di mirapep; 19-05-2019, 10:18.

  • #2
    ciao!!! grande MIRAP complimenti veri per questa geniale impostazione sperando che ci sia qualcuna che possa aiutarti ti faccio i miei complimenti ciao!!!
    vecchione antonio

    Commenta


    • #3
      ciao Mirap volentieri ti darei un aiuto ma della programmazione sono completamente al buio, spero che qualcuno ti aiuti perchè in questa tecnica che hai scoperto vedo un ottima riuscita speriamo bene
      vecchione antonio

      Commenta


      • #4
        B
        uon giorno per altrettante buon prosieguo di settimana,

        Sentiti sinceri complimenti anche da parte mia; accodandomi però con immenso dispiacere del non disporre di possibili utility a favore di un serio programmare. Volevo invece sottoporre alla sua attenzione qualcosa cui ritrovo attrazione quale possibile aggiunta al suo pacchetto di informazioni che sta cercando in merito a questo progetto. Vengo al dunque; sappiamo che gli ambi in cifra si caratterizzano in doppia firma e fin qua nulla di nuovo, in alternativa chiedevo se ad esempio l'impostando una possibile matrice in modo diverso la stessa possa emanare riscontri favorevoli, in una delle sottostanti alternative

        1° evidenziato punto di riferimento considerare la sua tripla consecutiva es fosse di cifra 2 = 2 3 4 5
        2° partendo quale punto di riferimento capo 1 si applichi teoria riferenti alla triade simm. di passo 3 oltre il rispettivo lat. mag e min
        3° Selezionando i pari o i dispari dai valori ricavati dall'applicazione del punto 1.

        Se mi è consentito ancora riportare un piccolo riferimento trovo spunto informarla che nonostante la mia incompetenza nel programmare riservando scelta per il solo estratto in più circostanze creando percorso di stile effetto salvadanaio a scalare e impostando valori sulle imposte di montanti sembri che possibili imput per tali scelte rispecchino in pieno quanto dichiarato. Particolarmente se nel solo rapporto d'inizio partita si applichino sequenze a triplico per i ricchi raddoppi per gli scettici o semplicemente martingalando per quanti non volessero troppo esporsi o semplicemente scettici.

        Previo sempre medesima teoria particolarmente applicando vedute a chiusure sistemistiche per masse super ridotte oltre al limite del consentito per reali speculi fissati in masse come ad 9 15 16 18 elementi o in alternativa volendo lavorare su grandi masse faremo uso di 27 elementi, sembri si presti ugualmente quale accetta resa. Che ne pensa? Siccome se resta di suo gradimento nessun problema nel postare qualche simulo e non tanto per esiti statistici meccanici o che sia ma a semplice veduta ottica.

        Di cuore Gradisca ancora i miei più vivi complimenti per questa nuova avventura
        salve
        Romperò a chi Rompe!

        Commenta


        • #5
          Complimenti per l'idea mirapep, seguo solo per curiosità in quanto purtroppo per adesso non saprei come programmare in alcun modo quanto hai palesato comunque con dovizia di particolari. In sostanza, correggimi se sbaglio, tu vorresti cercare di trasformare e analizzare quindi solo i numeri 0,1,2,3,4,5,6,7,8,9 che sono 10 numeri ad una cifra soltanto rispetto alle coppie normali dei 43 milioni e passa di formazioni generabili dai 90 totali tramite questo nuovo tuo sistema "lessicografico" che riconvertirebbe dopo alla fine dell'analisi statistica semplificata cui aspiri la formazione a 8 cifre in cinquine "standard". Giusto? Io in passato avevo pensato a scomporre semplicemente ogni valore delle 5 caselle possibili in valore sinistro (sx) e destro (dx) ottenendo (mettendo sempre anche lo 0 davanti ai numeri naturali) sempre 2x5= 10 caselle da analizzare... ma per adesso ho interrotto gli studi e le ricerche in tal senso... Sarebbe simile come concetto o no? Ciao
          Ultima modifica di lotto_tom75; 15-05-2019, 17:56.
          NON SI GARANTISCE ALCUNA VINCITA. Giocare sempre con estrema moderazione perchè la Fortuna è Geka... ma la Sfiga ci vede benissimo! Presente.. in ogni dove... anche su faccialibro - " Non stare davanti a me potrei non seguirti, non stare dietro di me potrei non esserti di guida, ma sta al mio fianco e sii semplicemente mio amico/a " (Albert Camus). Cerca... Lotto IncMax e Good Luck Everybody! Namastè!

          Commenta


          • #6
            Buongiorno mirapep , semplificando al massimo il suo ragionamento come sarebbe considerando solo l'ambo?
            Parafrasando "Ogni estrazione ha una sua posizione tra le 43.949.268. La posizione nr. 43949268 è l'ultima possibile ed individua la seguente combinazione:86.87.88.89.90."........
            con "Ogni estrazione ha una sua posizione tra le 4005. La posizione nr. 4005 è l'ultima possibile ed individua la seguente combinazione:89.90." per capire come proseguo?

            Commenta


            • #7
              OK 2 alla terza= 8 , 8 x3= 24 . Questi 24 cosa sarebbero ambi o cinquine? nel caso che hai prospettato potresti dare una spiegazione così come fatto al # 2 con tanto di sviluppo così capirei meglio


              Commenta


              • #8
                Grazie mirapep chiedevo degli ambi perchè anche se il premio per l'ambo non è paragonabile a quello della cinquina è pur sempre più equo e abbordabile per un gioco che non implica il ricorso a società .Per quanto riguarda il programma sarebbe molto graditoP.S: visto che si tratta di sviluppare 24 ambi con le 10 cifre del pronostico penso si possa fare anche con Excel ma credo che lei lo voglia fare con Vb6
                Ultima modifica di fillotto; 17-05-2019, 19:44.

                Commenta


                • #9

                  Buon fine settimana e principalmente copiose vincite per tutti.



                  Sig. mirapep in questo intervento rivolgo alla sua attenzione 3 punti cui per quanto io possa esserle di aiuto mi appaiono molto interessanti oltre da focalizzare maggiormente qualora realmente vengano presi in serio esame, vengo al dunque.



                  Se come appreso dovesse presentarsi occasione che la nuova ritenuta d'acconto sulle vincite sarà pari all'11% credo d'avvero che a breve assisteremo al declino e sicura se non certa moria anche del gioco del lotto italiano. A tal proposito mi chiedevo non sarebbe meglio focalizzare in questo suo progetto prima un possibile spunto sull'estratto e posizionato?


                  Volendo anche a più numeri e posizioni (MAX 3) stabilisca lei l'eventuale scelta.


                  Per il secondo punto invece resto convinto che con le ultime per quanto attraente possa presentarsi il gioco dell'ambo secco sia ormai prossimo al tramonto visto gli immensi alti



                  squilibri statistici e ripetività che ultimamente stiamo assistendo, fatta eccezione qualora dovessimo far uso dei parametri d'archivi mirati come ad esempio per il solo mart giov e sab o alternandoli in modo rotatorio fra essi con riferimento alle tre fasce in oggetto.





                  In merito invece a ciò che sostiene quando rispondendo ad un convenuto leggo:



                  Una buona prospettiva la intravedo nel 10 e lotto ogni 5 minuti, ove giocando su 3 numeri il ritorno è del 71,2%.


                  Le chiedo cosa ne Pensa se applicando teoria per il gioco dell'estratto a 2 o 3 elementi si possa trarne spunto di speculo? Come pure secondo lei in quanti valori o formazioni andrebbero fissati i termini massimi per centrare il successo? In quanto per come io la veda stabiliti parametri non oltre (a seconda della posta scelta) un ora di gioco quindi 14 colpi oltre

                  a riferimenti di fasce orarie mirate, tralasciando ingestibili dati statistici, per a seguito impostare quadrati di tipo 3x3 per un massimo di 3 formazioni in più circostanze appare presentarsi gradito evento per possibili reali speculi, particolarmente se a vedute d'ambo secco fissati per un massimo di 3 o in alternativa variante di 7 formazioni concorda?




                  In risposta al sig. Filotto invece, cui sostiene esser un gioco troppo veloce, la soluzione la si potrebbe trovare convergendo applicando possibili valorizzi stabiliti come dicevo a studi mirati di fasce orarie singole o multiple per ricavare dati rispetto la tipologia di gioco a seguire oltre l'aggiunta in parallela dell'abbonamento



                  Velocemente provo a spiegarVI; valorizzando un massimo di 9 terzine e ipotizzando una sola delle 3 in tesi, mirando ad esempio al solo ambo in 14 colpi tali manovre verrebbero a presentarsi di facile gestione particolarmente mirando a seguiti di schema meccanico previo quanto scelto a seguire.



                  Se per lei resta cosa gradita le chiedo cortesemente aprire altro topic per a seguito valorizzarne mirata attenzione con premessa per possibili TESI e non status a gettito continuo di previsioni.


                  Salve.
                  Romperò a chi Rompe!

                  Commenta


                  • #10
                    Ebbene sig. mirapep visto che rimuoverà la discussione ed è un enorme peccato mi consenta solo soffermarmi su 3 brevi punti:
                    per quanto chiami in causa i lotto esteri che poi son definite lotterie purtroppo quella da lei indicata non risulta giocabile in filiali stanleybet quindi non disponibili su tutto il territorio per tali motivi se per caso fosse fatto riferimento a società di tipo africane ect necessita ricordare che essendo illegali si è passibile di reato e con le ultime sembri che non si scherzi.

                    Quindi facciamo passo! per eco di cronaca presso le agenzie e filiali stanleybet resta possibile giocare alla lotteria PA o comunemente detta pensylvania ove appare abbastanza equa rispetto sia la quantità di numeri massimi stabiliti in 30 che per i premi esposti una sola colonna vincente fissata in unica estrazione al giorno per 365 all'anno e per giunta si può speculare con l'estratto! Concludo riportando che i valori del 10 elotto visto che ha evaso la storia in merito alla mia proposta per estratto e posizionato qualora gestiti al minimo di utili come da lei indicato tende si ad ottenere un guadagno minimo ma con forte esigenza di manovre per quanto riguardano eventuali imposte di utili crescenti quindi quanto avvale la pena?

                    Convergendo invece su possibili vedute in merito a percorsi chiamanti in causa mirate vedute appare che il lessico di maggior interesse poggi tesi sulla quantità delle formazioni scelte cui rapportando un valore massimo fissato in 7 ambi può rendere accetti utili previo 3 cicli a multiplo di 7 colpi che rapportati a massimali di 21 qualora la teoria in uso sia tarata magari a me regala accetti speculi poi ogni uno ne tragga giusta percorrenza a secondo di personali vedute.
                    Nel salutarla
                    trovo spunto informarla che se lei rimuoverà la discussione cui poteva apparire di largo interesse per nuovi orizzonti io tornerò nel far uso di un ferreo silenzio rispondendo a chi merita rispetto ma principalmente ponendo freddi riferimenti in quanto mi consenta ancora una volta affermare che davvero il settore ormai divenuto assurdo in tutte le sue parti sembri davvero far acqua e per giunta di odore fecale davvero oltre il consentito. Peccato tutti ma proprio tutti nessuno escluso hanno contribuito nel commettere omicidio ammazzando quando un tempo rappresentava un patrimonio invidiabile in tutto il mondo, altro che il pubblico come sostiene qualcuno è ritornato a giocare se pur per provata passione.

                    perdoni il divulgo forse fuori tema ma richiesto per atto dovuto Saluti
                    Romperò a chi Rompe!

                    Commenta


                    • #11
                      Tranquillo e sereno carissimo, come nn detto
                      Romperò a chi Rompe!

                      Commenta


                      • #12
                        buon giorno mirapep non riesco a capire per qual motivo si vuole cancellare il post,lo scarso apporto su che cosa,. e passato dalla cinquina,
                        all
                        dieci e lotto restituire un esadecimale ad una combinazione per poi??? esempio l'estrazione di bari del 13 aprile 2019

                        09.61.34.63.66

                        Come unità abbiamo

                        9.1.4.3.6

                        Se noi avessimo giocato un sistema prevedendo per ognuna delle 5 posizioni due numeri:

                        Posizione 1___________8.9
                        Posizione 2___________1.4
                        Posizione 3___________0.1
                        Posizione 4___________3.7
                        Posizione 5___________2.6


                        se avessimo giocato la dec del 6 del 3 e 1 avremmo la cinquina con 1000 combinazioni
                        sia più concreto nel presentare unprogetto

                        Commenta


                        • #13
                          #include<iostream.h> // Header file for receiving input and generating output.
                          #include<stdlib.h> // Header file containing C++ standard libraries.
                          #include<iomanip.h> // Header file for manipulating output.
                          #include<fstream.h> // Header file for using files.
                          #include<time.h> // Header file for calculating iteration times.
                          #include<math.h> // Header file for mathematical functions.
                          #include<stl.h> // Header file for Standard Template Library (STLs) <set, multiset>.
                          // Fitness of playing set is given by: fitness = # vertices dominated by candidate
                          # vertices in graph = `(m; n; k)

                          long double fact (const int &);
                          long int round (const long double);
                          bool ValidTicket (const short int *, const short int &, const short int &);
                          // Compute the factorial of n (i.e. n!).
                          long double fact (const int &n) f if (n < 2) return 1; // Stop recursion.
                          else return n * fact(n - 1); // (n > 1).
                          g// Rounds a number off to the nearest integer to avoid possible numerical truncation errors.
                          long int round (const long double n) f long int flrnum = (long int)floor(n);
                          if (n - flrnum < 0.5) return flrnum;
                          else return (long int)ceil(n); // (n - flrnum >= 0.5)
                          g// Determine whether a ticket (n-set) is valid (ticket contains no double numbers).
                          bool ValidTicket(short int *ticket, const short int &m, const short int &n) f multiset<short int, less<short int> > index;
                          multiset<short int, less<short int> >::iterator i;
                          for (short int counter = 0;counter < n;counter++) f index.insert(ticket[counter]); // Add number to index.
                          if (index.count(ticket[counter]) > 1) return false; // Ticket is invalid.
                          gi
                          = index.begin(); // Arrange ticket elements lexicographically.
                          for (short int counter = 0;i != index.end();ticket[counter++] = *i++);
                          return true; // Ticket is valid.
                          gint main () f short int m, n, k, L, p = 1, cMutate = 1, gMutate = 1; // Parameters for the lottery <m,n;k>, playing set size (L),
                          population size (p), candidate mutate size (cMutate < p), mutate set size (gMutate < L).
                          long int t, gen, iter=1; // Time limit (t), generation limit (gen), number of iterations on the same parameters (iter).
                          cout << endl << \nt GENETIC ALGORITHM (GA)" << endl;
                          cout << \Please specify the following parameters for the lottery hm,n;ki:" << endl;
                          cout << \m = "; cin >> m;
                          cout << \n = "; cin >> n;
                          cout << \k = "; cin >> k;
                          // If the user specified invalid lottery parameters.
                          if ((n > m-1) || (k > n-1) || (m < 3) || (n < 2) || (k < 1)) f cout << endl << \Invalid lottery parameters entered." << endl;
                          return 0; // Exit program.
                          gconst long int NumTickets = round(fact(m)/(fact(n)*(fact(m-n))));
                          cout << endl << \The order of the lottery graph Gh" << m << \," << n << \;" << k << \i is " << NumTickets << \." << endl;
                          cout << endl << \Please specify the following GA parameters:" << endl;
                          cout << \Playing set size = "; cin >> L;
                          do f if (gMutate >= L)
                          cout << \Mutation set size must be strictly less than the playing set size (" << L << \)." << endl;
                          cout << \gMutation set size = "; cin >> gMutate;
                          g while (gMutate >= L);
                          while (floor(p/2) < ((double)p/2)) f cout << \Population size = "; cin >> p;
                          if (floor(p/2) < ((double)p/2)) cout << \Population size needs to be a multiple of 2." << endl;
                          gdo f if (cMutate >= p)
                          cout << \# of candidates to mutate per generation must be strictly less than the population size (" << p << \)." << endl;
                          cout << \cMutation set size = "; cin >> cMutate;
                          g while (cMutate >= p);
                          cout << \Generation limit = "; cin >> gen; cout << \Time limit (in sec) = "; cin >> t;
                          // If the user specified invalid GA parameters.
                          if ((L < 2) || (L > (NumTickets-1)) || (p < 2) || (gen < 2) || (t < 2) || (cMutate < 1) ||
                          (gMutate < 1) || (iter < 1)) f cout << endl << ``Invalid GA parameters." << endl; return 0; // Exit program.
                          gshort int Population[p][L][n], TempInt, CurrentNumber = n, CurTicket[n], dcounter, tcounter, Intersect = 0,
                          candidate1, candidate2; // A GA population (of size p) consisting of playing sets (of size L).

                          oat GAPopFit[p], selection, ccandidate, fitnessmin, fitnessavg, fitnessmax; // Vector for storing fitness of candidate
                          playing sets (GAPopFit), values used for determining crossover partners (fitnesssum, selection, ccandidate), generation
                          minimum fitness (fitnessmin), generation average fitness (fitnessavg), generation maximum fitness (fitnessmax).
                          time t StartTime; // Trace execution time.
                          long int NumDominated, fitnesssum, UniquelyDominated[p+1][L], curgen = 0, NewFitness[L];
                          set<short int> CrossoverIndex, CrossoverGenes; // (Integrity) Check for crossover procedure (CrossoverIndex), check genes
                          used during crossover procedure (CrossoverGenes).
                          struct Fitness f long int fitness; // Fitness of generation candidate (given by the number of dominated vertices.
                          bool used, changed; // Candidate has been used and/or changed for crossover during a previous crossover procedure.
                          short int number; // Generation candidate indentification number.
                          Fitness *next; // Pointer to next fitness information of nextcandidate in linked-list.
                          g;
                          Fitness *FitnessList = new Fitness, *TempFitness, *TempFitness2;
                          fstream GAFitnessFile(\GAFitness.txt", ios:ut); // Open \GAFitness.txt" for output of GA fitness information.
                          if (!GAFitnessFile) f // Check whether the file \GAFitness.txt" could be opened.
                          A.7. Intelligent genetic algorithm (Algorithm 7) 169
                          cerr << \The le n\GAFitness.txtn" could not be opened." << endl;
                          exit(1); // Exit program.
                          gfstream GAPopulationFile(\GAPopulation.txt", ios:ut); // Open \GAPopulation.txt" for output of GA population info.
                          if (!GAPopulationFile) f // Check whether the file \GAPopulation.txt" could be opened.
                          cerr << \The le n\GAPopulation.txtn" could not be opened." << endl;
                          exit(1); // Exit program.
                          gGAPopulationFile << \GA for h" << setw(2) << m << `,' << setw(2) << n << `;' << setw(2) << k << \i :" << endl;
                          GAFitnessFile << \GA for h" << setw(2) << m << `,' << setw(2) << n << `;' << setw(2) << k << \i :" << endl << endl;
                          cerr << endl << \Initialising GA with " << p << \ random playing set candidates, please wait. . . ";
                          GAFitnessFile << \GA Parameters:" << endl
                          << \Playing set size = " << setw(5) << L << endl
                          << \gMutation set size = " << setw(5) << gMutate << endl
                          << \Population size = " << setw(5) << p << endl
                          << \cMutation set size = " << setw(5) << cMutate << endl
                          << \Generation limit = " << setw(5) << gen << \ generations" << endl
                          << \Time limit = " << setw(5) << t << \ seconds" << endl << endl;
                          GAFitnessFile << \Initialising GA population. . . ";
                          srandom(StartTime = time(NULL)); // Initialise execution time & pseudo random number generator.
                          for (short int i = 0;i < p;i++) // Initialise GA with random population consisting of (p) playing set candidates.
                          for (short int j = 0;j < L;j++)
                          do
                          for (short int l = 0;l < n;l++)
                          Population[i][j][l] = ((short int)(((random())/(
                          oat)RAND MAX)*m)+1); // Generate random ticket.
                          while (!ValidTicket(Population[i][j],m,n)); // Check whether generated ticket is valid.
                          GAFitnessFile << \OK! (" << time(NULL)-StartTime << \ s)" << endl << \Initialising GA tness. . . ";
                          StartTime = time(NULL); // Re-initialise execution time.
                          fitnessmax = fitnesssum = 0; fitnessmin = 1; TempFitness = FitnessList;
                          for (short int PopNum = 0;PopNum < p;PopNum++) f NumDominated = 0;
                          for (short int i = 0;i < n;i++) CurTicket[i] = i+1; // Initialise ticket to [1,2,...,n]
                          for (long int counter = 1;counter <= NumTickets;counter++) f Intersect = 0; // Check whether current ticket is dominated.
                          for (short int DomTicketNum = 0;(DomTicketNum < L) && (Intersect < k);DomTicketNum++) f Intersect = dcounter = tcounter = 0;
                          while ((dcounter < n) && (tcounter < n) && (Intersect < k))
                          if (Population[PopNum][DomTicketNum][dcounter] < CurTicket[tcounter])
                          dcounter++;
                          else if (Population[PopNum][DomTicketNum][dcounter] > CurTicket[tcounter])
                          tcounter++;
                          else f // (Population[PopNum][DomTicketNum][dcounter] == CurTicket[tcounter])
                          Intersect++; dcounter++; tcounter++; // Tickets intersect in 1 element.
                          g if (Intersect == k) NumDominated++; // Check whether current ticket is dominated by candidate playing set.
                          gCurTicket[CurrentNumber-1]++; // Generate next ticket in lexicographic sequence.
                          if (CurTicket[CurrentNumber-1] > m) f CurTicket[CurrentNumber-1]--;
                          while ((CurrentNumber > 0) && (CurTicket[CurrentNumber-1] == m-(n-CurrentNumber))) CurrentNumber--;
                          CurTicket[CurrentNumber-1]++;
                          for (short int i = CurrentNumber;i < n;i++) CurTicket[i] = CurTicket[i-1] + 1;
                          CurrentNumber = n;
                          g
                          gGAPopFit[PopNum] = (
                          oat)NumDominated/(
                          oat)NumTickets; // Store playing set candidate fitness.
                          TempFitness->next = new Fitness; TempFitness = TempFitness->next;
                          TempFitness->fitness = NumDominated; // Store playing set candidate fitness.
                          TempFitness->number = PopNum; TempFitness->next = NULL; TempFitness->used = false;
                          if (GAPopFit[PopNum] > fitnessmax) fitnessmax = GAPopFit[PopNum]; // Store maximum fitness of generation.
                          if (GAPopFit[PopNum] < fitnessmin) fitnessmin = GAPopFit[PopNum]; // Store minimum fitness of generation.
                          fitnesssum += NumDominated;
                          gfitnessavg = fitnesssum/p; // Store average fitness of generation.
                          cerr << \nished!" << endl;
                          GAFitnessFile << \OK! (" << time(NULL)-StartTime << \ seconds)" << endl << endl;
                          cerr << \Genetic algorithm initialised, running. . . (generation limit " << gen << \ generations, time limit " << t << \s)" << endl;
                          StartTime = time(NULL); // Re-initialise execution time.
                          GAFitnessFile << \ 0"; // Output initial GA population fitness.
                          for (TempFitness = FitnessList;TempFitness->next != NULL;TempFitness = TempFitness->next)
                          GAFitnessFile << setw(9) << setprecision(4) << setiosflags(ios::fixed|ios::showpoint) << TempFitness->next->fitness;
                          GAFitnessFile << endl;
                          short int inputgene1, outputgene1, inputgene2, outputgene2, curcandidate, TempArray[L];
                          long int newcandidate1fitness, newcandidate2fitness;
                          while ((time(NULL)-StartTime < t) && (curgen++ < gen)) f // Start GA.
                          GAPopulationFile << \Generation " << setw(4) << curgen << \:" << endl; // Write GA Population to file.
                          for (short int i = 0;i < L;i++) f for (short int j = 0;j < p;j++) f GAPopulationFile << `f' << Population[j][i][0];
                          for (short int l = 1;l < n;l++) GAPopulationFile << `,' << Population[j][i][l];
                          GAPopulationFile << \g ";
                          gGAPopulationFile << endl;
                          g
                          GAPopulationFile << endl;
                          for (TempFitness = FitnessList,fitnesssum = 0;TempFitness->next != NULL;TempFitness = TempFitness->next) f TempFitness->next->used = TempFitness->next->changed = false; // Candidate has not been used nor changed during
                          crossover operation/procedure.
                          fitnesssum += TempFitness->next->fitness; // Determine fitness range.
                          g // CROSSOVER procedure (mating) relative to fitness of chromosomes (candidate playing sets).
                          for (short int cocounter = 0;cocounter < p/2;cocounter++) f // Find crossover partners for 1
                          2 of population.
                          // Determine crossover partners for crossover procedure.
                          ccandidate = (((random())/(
                          oat)RAND MAX)*(
                          oat)fitnesssum/(
                          oat)NumTickets); // First mating candidate.
                          selection = 0; TempFitness = FitnessList;
                          while (selection < ccandidate) f // Search for chosen first candidate.
                          while (TempFitness->next->used) TempFitness = TempFitness->next;
                          selection += (
                          oat)TempFitness->next->fitness/(
                          oat)NumTickets; TempFitness = TempFitness->next;
                          gcandidate1 = TempFitness->number; // Store first crossover candidate.
                          TempFitness->used = true; // Candidate has been used for crossover during this crossover procedure.
                          fitnesssum -= TempFitness->fitness; // Remove chosen first candidate from fitness list by rescaling fitness range
                          for next candidate.
                          ccandidate = (((random())/(
                          oat)RAND MAX)*(
                          oat)fitnesssum/(
                          oat)NumTickets); // Second mating candidate.
                          selection = 0; TempFitness2 = FitnessList;
                          while (selection < ccandidate) f // Search for chosen second candidate.
                          while (TempFitness2->next->used)
                          TempFitness2 = TempFitness2->next;
                          selection += (
                          oat)TempFitness2->next->fitness/(
                          oat)NumTickets; TempFitness2 = TempFitness2->next;
                          gcandidate2 = TempFitness2->number; // Store second crossover candidate.
                          TempFitness2->used = true; // Candidate has been used for crossover during this crossover procedure.
                          fitnesssum -= TempFitness2->fitness; // Remove chosen second candidate from fitness list by rescaling fitness range
                          for next candidate.
                          // Check which single gene exchange from different crossover candidates would yield fitness increase.
                          curcandidate = candidate1;
                          docrossover:
                          if (curcandidate == candidate2) f // Store evolving maximum fitness.
                          fitnessmax = (
                          oat)(TempFitness2->fitness)/(
                          oat)NumTickets;
                          candidate2 = candidate1; candidate1 = curcandidate; inputgene2 = -1; // Exchange between crossover candidates.
                          gelse f // (curcandidate != candidate2) || (curcandidate == candidate1)
                          fitnessmax = (
                          oat)(TempFitness->fitness)/(
                          oat)NumTickets; inputgene1 = -1;
                          gfor (short int i = 0;i < L;i++) f // First check if input gene is equivalent to any gene in crossover candidate.
                          Intersect = 0;
                          for (short int j = 0;(j < L) && (Intersect < k);j++) f dcounter = tcounter = 0; Intersect = k;
                          while ((dcounter < n) && (tcounter < n) && (Intersect == k))
                          if (Population[candidate1][j][dcounter] == Population[candidate2][i][tcounter]) f dcounter++; tcounter++;
                          gelse Intersect = 0; // (Population[candidate1][j][dcounter] != Population[candidate2][i][tcounter])
                          gif (Intersect < k) f // Input gene is distinct from all genes in first candidate.
                          for (short int j = 0;j < L;j++) f for (short int l = 0;l < n;l++) f TempArray[l] = Population[candidate1][j][l]; Population[candidate1][j][l] = Population[candidate2][i][l];
                          gNumDominated = 0; // Recalculate chromosome fitness with new gene.
                          for (short int l = 0;l < n;l++) CurTicket[l] = l+1; // Initialise ticket to [1,2,...,n]
                          for (long int counter = 1;counter <= NumTickets;counter++) f Intersect = 0; // Check whether current ticket is dominated.
                          for (short int DomTicketNum = 0;(DomTicketNum < L) && (Intersect < k);DomTicketNum++) f Intersect = dcounter = tcounter = 0;
                          while ((dcounter < n) && (tcounter < n) && (Intersect < k))
                          if (Population[candidate1][DomTicketNum][dcounter] < CurTicket[tcounter]) dcounter++;
                          else if (Population[candidate1][DomTicketNum][dcounter] > CurTicket[tcounter]) tcounter++;
                          else f // (Population[candidate1][DomTicketNum][dcounter] == CurTicket[tcounter])
                          Intersect++; dcounter++; tcounter++; // Tickets intersect in 1 element.
                          g if (Intersect == k) // Check whether current ticket is dominated by candidate playing set.
                          NumDominated++;
                          gCurTicket[CurrentNumber-1]++; // Generate next ticket in lexicographic sequence.
                          if (CurTicket[CurrentNumber-1] > m) f CurTicket[CurrentNumber-1]--;
                          while ((CurrentNumber > 0) && (CurTicket[CurrentNumber-1] == m-(n-CurrentNumber))) CurrentNumber--;
                          CurTicket[CurrentNumber-1]++;
                          for (short int l = CurrentNumber;l < n;l++) CurTicket[l] = CurTicket[l-1] + 1;
                          CurrentNumber = n;
                          g
                          gif (((
                          oat)NumDominated/(
                          oat)NumTickets) > fitnessmax) f // Store specific gene exchange information.
                          fitnessmax = (
                          oat)NumDominated/(
                          oat)NumTickets;
                          if (curcandidate == TempFitness->number) f inputgene1 = j; outputgene1 = i; newcandidate1fitness = NumDominated;
                          g
                          A.7. Intelligent genetic algorithm (Algorithm 7) 171
                          else f // (curcandidate != TempFitness->number) || (curcandidate == TempFitness2->number)
                          inputgene2 = j; outputgene2 = i; newcandidate2fitness = NumDominated;
                          g
                          g // Copy gene information back to candidate.
                          for (short int l = 0;l < n;l++) Population[candidate1][j][l] = TempArray[l];
                          g
                          g
                          gif (curcandidate != TempFitness2->number) f // Repeat crossover procedure for other crossover candidate.
                          curcandidate = candidate2; goto docrossover;
                          g // If an exchange in genes is considered reasonable (causes fitness increase).
                          if (inputgene1 > -1) f // Change first crossover candidate.
                          TempFitness->fitness = newcandidate1fitness; // Change candidate 1 fitness.
                          TempFitness->changed = true; // Candidate was changed during crossover operation/procedure.
                          for (short int j = 0;j < n;j++) f TempArray[j] = Population[candidate2][inputgene1][j];
                          Population[TempFitness->number][inputgene1][j] = Population[TempFitness2->number][outputgene1][j];
                          g
                          gif (inputgene2 > -1) f // Change second crossover candidate.
                          TempFitness2->fitness = newcandidate2fitness; // Change candidate 2 fitness.
                          TempFitness2->changed = true; // Candidate was changed during crossover operation/procedure.
                          if (inputgene1 == outputgene2)
                          for (short int j = 0;j < n;j++) Population[TempFitness->number][inputgene2][j] = TempArray[j];
                          else // (inputgene1 != outputgene2)
                          for (short int j = 0;j < n;j++)
                          Population[TempFitness2->number][inputgene2][j] = Population[TempFitness->number][outputgene2][j];
                          g
                          gfor (short int i = 0;i < cMutate;i++) f // MUTATE (gMutate) elements of cMutate candidates of the population (p).
                          candidate1 = (short int)((random()/(
                          oat)RAND MAX)*p); TempFitness = FitnessList;
                          while (TempFitness->next->number < candidate1) // Search for selected mutation candidate.
                          TempFitness = TempFitness->next;
                          for (short int j = 0;j < gMutate;j++) f candidate2 = (short int)((random()/(
                          oat)RAND MAX)*L);
                          do // Move current domination ticket to nearest neighbour (maybe further).
                          Population[candidate1][candidate2][(short int)((random()/(
                          oat)RAND MAX)*n)] =
                          ((short int)(((random())/(
                          oat)RAND MAX)*m)+1);
                          while (!ValidTicket(Population[candidate1][candidate2],m,n)); // Check whether generated ticket is valid.
                          gNumDominated = 0; // Recalculate mutated chromosome fitness.
                          for (short int j = 0;j < n;j++) CurTicket[j] = j+1; // Initialise ticket to [1,2,...,n].
                          for (long int counter = 0;counter < NumTickets;counter++) f Intersect = 0;
                          // Check whether current ticket is dominated.
                          for (short int DomTicketNum = 0;(DomTicketNum < L) && (Intersect < k);DomTicketNum++) f Intersect = dcounter = tcounter = 0;
                          while ((dcounter < n) && (tcounter < n) && (Intersect < k))
                          if (Population[candidate1][DomTicketNum][dcounter] < CurTicket[tcounter]) dcounter++;
                          else if (Population[candidate1][DomTicketNum][dcounter] > CurTicket[tcounter]) tcounter++;
                          else f // (Population[candidate1][DomTicketNum][dcounter] == CurTicket[tcounter])
                          Intersect++; dcounter++; tcounter++; // Tickets intersect in 1 element.
                          g if (Intersect == k) NumDominated++; // Check whether current ticket is dominated by candidate playing set.
                          gCurTicket[CurrentNumber-1]++; // Generate next ticket in lexicographic sequence.
                          if (CurTicket[CurrentNumber-1] > m) f CurTicket[CurrentNumber-1]--;
                          while ((CurrentNumber > 0) && (CurTicket[CurrentNumber-1] == m-(n-CurrentNumber))) CurrentNumber--;
                          CurTicket[CurrentNumber-1]++;
                          for (short int j = CurrentNumber;j < n;j++) CurTicket[j] = CurTicket[j-1] + 1;
                          CurrentNumber = n;
                          g
                          gTempFitness->next->fitness = NumDominated; // New fitness of mutated candidate.
                          gGAFitnessFile << setw(3) << curgen; // Write population fitness to file.
                          for (TempFitness = FitnessList;TempFitness->next != NULL;TempFitness = TempFitness->next)
                          GAFitnessFile << setw(9) << TempFitness->next->fitness;
                          GAFitnessFile << endl; cerr << `.';
                          if ((long int)(curgen/20) == (
                          oat)curgen/20) cerr << \ (" << setw(4) << curgen << \/" << gen << \)" << endl;
                          gGAFitnessFile << \GA simulation time: " << time(NULL)-StartTime << \s." << endl;
                          GAFitnessFile.close(); // Close the Genetic Algorithm (GA) Fitness file.
                          GAPopulationFile.close(); // Close the Genetic Algorithm (GA) Population file.
                          cout << endl;
                          return 0; // Exit program.
                          g
                          se le puo essere utile

                          Commenta


                          • #14
                            Originariamente inviato da mirapep Visualizza il messaggio
                            Buongiorno,
                            considerando la casualità delle estrazioni, escludendo difetti delle Venus, i sistemi lotto possono avere come labile ausilio solo la statistica, ma occorre esaminare 90 numeri, da 1 a 90, per 5 posizioni.
                            E se i numeri fossero 10, da 0 a 9, per 8 posizioni? Con 90 numeri e 5 estratti, le possibili combinazioni sono 43.949.268. Ad ogni estrazione, ordinata dall'estratto più basso al più alto, possiamo abbinare un indice lessicografico. L'estrazione 1-2-3-4-5 avrà indice 00000001. L'estrazione 86-87-88-89-90 avrà indice 43949268. Ogni indice ha 8 posizioni in cui possono presentarsi numeri compresi tra 0 e 9, ad esclusione della prima posizione il cui massimo è il numero 4.
                            Se ci sono persone interessate, soprattutto esperti in programmazione, si può continuare, altrimenti senza collaborazione..............
                            Saluti
                            _______________________________________
                            SPMT vers. 1.6.31_Agg.Web e relativo plugin SVP vers. 1.0.56 e Plugin_FTP vers. 1.0 e SpazioScript vers.1.0.9
                            ======================
                            Ciao mirapep ,
                            ======================
                            bellissima idea
                            ti seguo con molto interesse.
                            Speriamo che qualche bravo programmatore (…e ce ne sono)
                            trova il tempo e la voglia di aiutarti nella programmazione
                            di questo bellissimo progetto.
                            Auguri.
                            Buon sabato a tutto il forum.
                            ======================
                            A presto
                            Silop
                            Ultima versione attiva SPMT 1.6.32 scarica su lottoced [il programma seguendo la guida] qui > http://forum.lottoced.com/forum/lott...a-spaziometria ......e sul mio NUOVO sito v.1.6.31. penultima
                            ________________________
                            SPAZIOSCRIPT
                            scarica su lottoced qui > https://forum.lottoced.com/forum/lot...5-spazioscript

                            Commenta


                            • #15
                              a ok e scusa fare uno script????

                              Commenta

                              Unconfigured Ad Widget

                              Comprimi

                              Ultima estrazione del lotto

                              Comprimi

                              Estrazione del lotto
                              sabato 18 maggio 2019
                              Bari
                              30
                              25
                              06
                              27
                              24
                              Cagliari
                              84
                              52
                              29
                              14
                              38
                              Firenze
                              28
                              84
                              72
                              14
                              74
                              Genova
                              62
                              28
                              55
                              56
                              06
                              Milano
                              52
                              28
                              61
                              72
                              16
                              Napoli
                              65
                              35
                              24
                              22
                              79
                              Palermo
                              16
                              45
                              28
                              44
                              57
                              Roma
                              56
                              01
                              22
                              08
                              42
                              Torino
                              23
                              88
                              54
                              62
                              49
                              Venezia
                              11
                              15
                              75
                              02
                              49
                              Nazionale
                              90
                              15
                              09
                              38
                              43
                              Sto operando...
                              X