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
        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


        • #5
          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


          • #6
            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


            • #7
              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


              • #8
                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


                • #9
                  #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


                  • #10
                    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.33 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


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

                      Commenta


                      • #12
                        xxx
                        Ultima modifica di mirapep; 19-05-2019, 10:26.

                        Commenta


                        • #13
                          nessuna novità????

                          Commenta


                          • #14
                            ciao!!! sono tutti morti non c'è armonia e ogni uno cerca di fare quello che mai esisterà solo uno potrebbe aiutarci REDMOON
                            vecchione antonio

                            Commenta


                            • #15
                              ai ragione tu ciao a te sono ancora a discutere le matrici io lo so ma non posso dirlo boooooooooooo?
                              poi pero nessuno si espone tranne tu maaaaaaaaa
                              presto penso di cancellarmiii

                              Commenta

                              Unconfigured Ad Widget

                              Comprimi

                              Ultima estrazione del lotto

                              Comprimi

                              Estrazione del lotto
                              martedì 16 luglio 2019
                              Bari
                              04
                              82
                              36
                              66
                              02
                              Cagliari
                              11
                              38
                              16
                              86
                              41
                              Firenze
                              77
                              90
                              85
                              37
                              82
                              Genova
                              01
                              37
                              03
                              69
                              47
                              Milano
                              29
                              50
                              18
                              77
                              62
                              Napoli
                              56
                              43
                              32
                              90
                              70
                              Palermo
                              70
                              27
                              43
                              49
                              10
                              Roma
                              65
                              90
                              47
                              34
                              29
                              Torino
                              28
                              04
                              58
                              64
                              69
                              Venezia
                              14
                              04
                              48
                              59
                              11
                              Nazionale
                              43
                              66
                              56
                              47
                              61
                              Sto operando...
                              X