algoloto
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 36

algoloto



  1. #1
    bobi26

    algoloto


    ------

    Bonjour,
    J'ai essayé de m'intéresser à créer un algo pour jouer au loto mais beaucoup trop difficile pour moi ayant un petit niveau batch lol.

    Bref comme beaucoup de topic déjà créé à ce sujet, j'aimerais donc un programme qui (choix perso) :
    1. énumére toutes les combinaisons possible des 49 sans les doublons ( 1.2.3.4.5 / 1.2.4.3.5 )
    2. élimine les combinaisons qui ont une suite de 3,4 et 5 nombre.
    3. élimine les combinaisons qui n'ont que des nombres pairs et les combinaisons qui n'ont que des nombres impairs.


    Je sais bien que qu'il restera beaucoup de combinaison mais je ne prends ce sujet au sérieux, ça reste pour le fun , voir les combinaisons restantes et faire un choix.

    Pour les férus de math logique programmations... merci d'avance

    -----

  2. #2
    CM63

    Re : algoloto

    Bonjour,

    Pourquoi veux-tu enlever les combinaisons de types 2 et 3? Elles ont exactement autant de chances de sortir que les autres. La combinaison 1 2 3 4 5 a autant de chance de sortir que 5 15 16 32 48.

    Personnellement je me base sur les statistiques : je joue les numéros qui ne sont pas sortis depuis longtemps. Mais ça aussi c'est nul : les numéros qui sont sortis la semaine dernière ont autant de chance de ressortir cette semaine que ceux qui ne sont pas sortis depuis six mois.
    Dernière modification par CM63 ; 18/07/2016 à 10h09.

  3. #3
    bobi26

    Re : algoloto

    Salut CM63

    Comme je l'ai préciser entre parenthèse , par choix personnel.

    Merci

  4. #4
    CM63

    Re : algoloto

    Alors OK, ton choix est aussi nul que le mien

  5. A voir en vidéo sur Futura
  6. #5
    bobi26

    Re : algoloto

    Citation Envoyé par CM63 Voir le message
    Alors OK, ton choix est aussi nul que le mien
    D'avoir répondu à mon sujet ? lol

    Comme je l'ai dit ça reste un sujet pas très sérieux et pour le "fun".

    Et en même temps ça me permettra "d'étudier" la programmation sur un sujet qui m'intéresse.

  7. #6
    CM63

    Re : algoloto

    Ok, le sujet est intéressant, tu en tireras certainement un enseignement en termes de programmation. Un bon moyen pour compter des objets sans compter le même plusieurs fois : utiliser les "dictionnaires" (improprement nommés parfois "tables de hachage" , cette dernière expression ne désignant qu'une certaine implémentation des dictionnaires).

  8. #7
    minushabens

    Re : algoloto

    Vu que tu as plusieurs contraintes un peu compliquées, je pense que le plus simple est d'engendrer toutes les combinaisons de façon systématique (dans l'ordre lexicographique) et de tester à chaque fois si la nouvelle combinaison vérifie les contraintes.

  9. #8
    bobi26

    Re : algoloto

    Merci pour vos réponses que je vais "étudier"

    Merci

  10. #9
    Bluedeep

    Re : algoloto

    Bonjour

    Question subsidiaire : tu comptes programmer ton algo avec quel langage ?

  11. #10
    polo974

    Re : algoloto

    Citation Envoyé par CM63 Voir le message
    Bonjour,
    ...
    Personnellement je me base sur les statistiques ...
    Le problème est que fdj ne publie que les statistiques inutiles...
    : je joue les numéros qui ne sont pas sortis depuis longtemps. Mais ça aussi c'est nul : les numéros qui sont sortis la semaine dernière ont autant de chance de ressortir cette semaine que ceux qui ne sont pas sortis depuis six mois.
    Perso, je crois (au sens croyance, sans démo, ni rien...) que:
    • les gens jouent beaucoup des dates.
    • n'aiment pas jouer des suites (ça semble trop improbable (et pourtant...))

    donc les rares fois où je joue, c'est des suites au-delà de 31 pour "augmenter" mes chances de ne pas avoir à partager mes gains (probablement toujours aussi faibles)...

    (me..e, je ne vais plus être le seul... )
    Jusqu'ici tout va bien...

  12. #11
    muskar

    Re : algoloto

    Bonjour,

    A l'époque où il n'y avait qu'un tirage par semaine, et où on pouvait télécharger tous les tirages depuis l'origine du Loto, en dBase, j'avais fait un programme dans lequel j'entrais les résultats de chaque tirage et qui comptait depuis l'origine du Loto :
    - le nombre de sortie de 1 nombre, 2 nombres ensembles, 3 nombres ensembles, 4, 5, 6 et 6 nombres + le complémentaire
    - les écarts entre 2 sortie pour ces groupes.

    Au bout d'un moment j'arrivait régulièrement à avoir trois nombres gagnants ce qui me remboursait mes jeux mais jamais plus. Une chose qui était certaine (je ne sais pas si ça l'est toujours) c'est qu'aucune combinaison gagnante n'était sortie 2 fois depuis l'origine du loto.
    Cordialement

  13. #12
    CM63

    Re : algoloto

    Effectivement, c'est le seul calcul qui vaille : jouer telle type de combinaison que l'on pense rarement joué, afin d'augmenter le gain éventuel.

  14. #13
    CM63

    Re : algoloto

    Bonjour,

    Citation Envoyé par muskar Voir le message
    ..aucune combinaison gagnante n'était sortie 2 fois depuis l'origine du loto.
    Même ce résultat est inexploitable: ça peut très bien arriver la semaine prochaine.

    Mais tout ceci est hors sujet par rapport au post initial.

  15. #14
    bobi26

    Re : algoloto

    Bonjour ,

    Citation Envoyé par CM63 Voir le message
    Bonjour,



    Même ce résultat est inexploitable: ça peut très bien arriver la semaine prochaine.

    Mais tout ceci est hors sujet par rapport au post initial.
    Oui retournons à nos moutons

    Citation Envoyé par Bluedeep Voir le message
    Bonjour

    Question subsidiaire : tu comptes programmer ton algo avec quel langage ?
    Avec Python je pense.

    Mais bon cela sera + de l'apprentissage sur le tas avec google .

    J'ai vu ceci qui me paraît intéressant http://python.jpvweb.com/mesrecettes...d=permutations

  16. #15
    CM63

    Re : algoloto

    AH quelle chance tu as! Il y a trois langages ou assimilé que j'ai appris de cette façon, en fouinant sur le web, et ce fut un réel plaisir : Python, Java et html+css (ah et VB aussi) (Ah et Ruby aussi )

  17. #16
    Noress

    Re : algoloto

    Salut,
    Citation Envoyé par bobi26 Voir le message
    Bonjour,
    J'ai essayé de m'intéresser à créer un algo pour jouer au loto mais beaucoup trop difficile pour moi ayant un petit niveau batch lol.

    Bref comme beaucoup de topic déjà créé à ce sujet, j'aimerais donc un programme qui (choix perso) :
    1. énumére toutes les combinaisons possible des 49 sans les doublons ( 1.2.3.4.5 / 1.2.4.3.5 )
    2. élimine les combinaisons qui ont une suite de 3,4 et 5 nombre.
    3. élimine les combinaisons qui n'ont que des nombres pairs et les combinaisons qui n'ont que des nombres impairs.
      Salut


    Je sais bien que qu'il restera beaucoup de combinaison mais je ne prends ce sujet au sérieux, ça reste pour le fun , voir les combinaisons restantes et faire un choix.

    Pour les férus de math logique programmations... merci d'avance
    http://forums.futura-sciences.com/ma...binaisons.html

    La discussion en lien peut peut-être t'aider.

    Cdt

  18. #17
    bobi26

    Re : algoloto

    Bonjour,

    Citation Envoyé par Noress Voir le message
    Salut,

    http://forums.futura-sciences.com/ma...binaisons.html

    La discussion en lien peut peut-être t'aider.

    Cdt
    Merci c'est sympa, mais cette discussion(même si elle pourra peut-être m'aider dans l'avenir) est d'un niveau assez balèze lol


    Je fais des test et j'aimerai savoir la méthode la plus simple que vous utilisez pour enregistrer les résultats d'une commande dans un fichier txt.

    (Je trouve ça bien complexe pour simplement renvoyer les résultats d'une commande dans un fichier txt.

    Y'a pas comme en batch : **** >resultats.txt )

    Merci

  19. #18
    bobi26

    Re : algoloto

    dsl j'ai oublié de préciser, je fais des test en Python.

    Merci

  20. #19
    Ludwig1

    Re : algoloto

    Citation Envoyé par bobi26 Voir le message
    Bonjour,
    J'ai essayé de m'intéresser à créer un algo pour jouer au loto mais beaucoup trop difficile pour moi ayant un petit niveau batch lol.

    Bref comme beaucoup de topic déjà créé à ce sujet, j'aimerais donc un programme qui (choix perso) :
    1. énumére toutes les combinaisons possible des 49 sans les doublons ( 1.2.3.4.5 / 1.2.4.3.5 )
    2. élimine les combinaisons qui ont une suite de 3,4 et 5 nombre.
    3. élimine les combinaisons qui n'ont que des nombres pairs et les combinaisons qui n'ont que des nombres impairs.


    Je sais bien que qu'il restera beaucoup de combinaison mais je ne prends ce sujet au sérieux, ça reste pour le fun , voir les combinaisons restantes et faire un choix.

    Pour les férus de math logique programmations... merci d'avance

    Salut,

    Il te faut faire une distribution Gaussienne sur les résultats des dix dernières années par exemple. tu trouveras un numéro qui est le plus sorti et ainsi de suite
    Dans cette distribution tu pourras choisir les dix nombres les plus sortis.
    Ou les 12 nombres etc...
    Cette combinaisons peut arriver demain matin comme dans 50 ans, mais elle va arriver.
    Conseil, au lieu de jouer au Loto met chaque semaine 10 € dans la tirelire puis à Noel fait toi un cadeau.

    Cordialement

    Ludwig

  21. #20
    bobi26

    Re : algoloto

    Salut

    Citation Envoyé par Ludwig1 Voir le message
    Salut,

    Il te faut faire une distribution Gaussienne sur les résultats des dix dernières années par exemple. tu trouveras un numéro qui est le plus sorti et ainsi de suite
    Dans cette distribution tu pourras choisir les dix nombres les plus sortis.
    Ou les 12 nombres etc...
    Cette combinaisons peut arriver demain matin comme dans 50 ans, mais elle va arriver.
    Dsl c'est pas ce que je recherche .

    Conseil, au lieu de jouer au Loto met chaque semaine 10 € dans la tirelire puis à Noel fait toi un cadeau.
    Je ne suis pas entrain d'essayer d'assouvir une addiction lol. Je joue très rarement au loto , peut-être 4 ou 5 fois par an (et 2 voir 4 € pas plus).

    De plus ce genre de conseil me fait .

    C'est quand même grave de se dire j'vais mettre 10€ par semaine dans mon petit cochon et à noël je me ferai un cadeau de 500 balles (Mais quelle vie menons nous). J'me vois bien dire ça à Ribery lol.

    Enfin bref c'est hors sujet

    Merci quand même.

  22. #21
    Ludwig1

    Re : algoloto

    Citation Envoyé par bobi26 Voir le message
    Salut



    Dsl c'est pas ce que je recherche .



    Je ne suis pas entrain d'essayer d'assouvir une addiction lol. Je joue très rarement au loto , peut-être 4 ou 5 fois par an (et 2 voir 4 € pas plus).

    De plus ce genre de conseil me fait .

    C'est quand même grave de se dire j'vais mettre 10€ par semaine dans mon petit cochon et à noël je me ferai un cadeau de 500 balles (Mais quelle vie menons nous). J'me vois bien dire ça à Ribery lol.

    Enfin bref c'est hors sujet

    Merci quand même.

    Salut,

    Excuse moi, en fait j'ai pas vraiment compris ce que tu cherches

    Cordialement

    Ludwig

  23. #22
    Dynamix

    Re : algoloto

    Salut

    Citation Envoyé par bobi26 Voir le message
    2. élimine les combinaisons qui ont une suite de 3,4 et 5 nombre
    C' est redondant :
    Si tu élimines les suites de 3 , tu élimines en même temps les suites de 4 et de 5 .

  24. #23
    bobi26

    Re : algoloto

    Bonjour,

    Y'a un quelques trucs que je pige pas avec Python.

    Si je fais ça :

    from itertools import combinations
    for v in range(1,47,1):
    l1 = (v, v+1, v+2, v+3, list(combinations (range (1, 10), 1,)))
    print (l1)

    Le résultat dans le shell me donne ça :

    (1, 2, 3, 4, [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
    (2, 3, 4, 5, [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
    (3, 4, 5, 6, [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
    (4, 5, 6, 7, [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
    (5, 6, 7, 8, [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
    (6, 7, 8, 9, [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
    (7, 8, 9, 10, [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])
    (8, 9, 10, 11, [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])

    etc...

    Mais si je renvoi le résultat dans un fichier txt :

    from itertools import combinations
    for v in range(1,47,1):
    l1 = (v, v+1, v+2, v+3, list(combinations (range (1, 10), 1,)))


    f = open ("tet.txt" , "w")
    f.write(str(l1))
    f.close
    f = open("tet.txt" , 'r')


    J'ai ça :

    (46, 47, 48, 49, [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)])

    Pouvez vous m'éclairer. Merci

  25. #24
    CM63

    Re : algoloto

    Bonjour,

    Qu'est-ce que tu fais après le deuxième open, celui qui est fait en lecture? Tout dépend de là. Pour qu'un read réinstancie les objets de la même façon qu'ils étaient au moment du write, il y a certaines précautions à prendre. Et le str() que tu utilises lors du write ne me dit rien de bon.

    Explique plutôt ce que tu veux faire et comment tu l'as fait, et en mettant des balises code. Parce que là dans les explications on va se perdre dans ce que fait le write et ce que fais le read, et ce n'est pas ton problème.
    Dernière modification par CM63 ; 07/08/2016 à 17h42.

  26. #25
    Médiat

    Re : algoloto

    Bonjour,

    Voilà en SQL une solution qui donne les combinaisons respectant les règles du message #1

    Code:
    with LISTE as (select rownum as N from DUAL connect by rownum <= 49),
         RESUL (N, LST, NB, ECART, parite) 
               as (select N, ' ' || N || ' ', 1, 0, mod(n,2) from LISTE
              union all
                   select B.N, a.LST || B.N || ' ', a.NB + 1, 
                          case when abs(a.n - b.n) = 1 then 1
                               else 0
                          end,
                          case when a.parite = -1 then -1
                               when a.parite = mod(b.n, 2) then a.parite
                               else -1
                          end
                   from RESUL a inner join LISTE B on a.LST not like '% ' || B.N || ' %'
                                                  and a.n < b.n
                                                  and a.ecart*case when abs(a.n - b.n) = 1 then 1
                                                                   else 0
                                                              end != 1)
    select *
    from RESUL 
    where nb     = 5
      and parite = -1;
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  27. #26
    Bluedeep

    Re : algoloto

    Citation Envoyé par Médiat Voir le message
    Bonjour,

    Voilà en SQL une solution qui donne les combinaisons respectant les règles du message #1
    Elégante utilisation des CTE récursives

    par contre, la syntaxe ne passe qu'avec les SGBD exposant la table "DUAL".

  28. #27
    Médiat

    Re : algoloto

    Bonjour,

    On peut facilement remplacer la requête "LISTE" pour des BD ne proposant pas de table DUAL ni de connect by (ORACLE, donc) par un select quelconque dans une table dictionnaire (ayant au moins 49 lignes)

    On peut améliorer les performances :

    Code:
    with LISTE as (select rownum as N from DUAL connect by rownum <= 49),
         RESUL (N, LST, NB, ECART, parite) 
               as (select N, ' ' || N || ' ', 1, 0, mod(n,2) from LISTE
              union all
                   select B.N, a.LST || B.N || ' ', a.NB + 1, 
                          case when abs(a.n - b.n) = 1 then 1
                               else 0
                          end,
                          case when a.parite = -1 then -1
                               when a.parite = mod(b.n, 2) then a.parite
                               else -1
                          end
                   from RESUL a inner join LISTE B on a.LST not like '% ' || B.N || ' %'
                                                  and a.n < b.n
                                                  and a.ecart*case when abs(a.n - b.n) = 1 then 1
                                                                   else 0
                                                              end != 1
                                                  and a.NB <= 4)
    select *
    from RESUL 
    where NB     = 5
      and parite = -1;
    Dernière modification par Médiat ; 08/08/2016 à 08h46.
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  29. #28
    bobi26

    Re : algoloto

    Citation Envoyé par CM63 Voir le message
    Bonjour,

    Qu'est-ce que tu fais après le deuxième open, celui qui est fait en lecture? Tout dépend de là. Pour qu'un read réinstancie les objets de la même façon qu'ils étaient au moment du write, il y a certaines précautions à prendre. Et le str() que tu utilises lors du write ne me dit rien de bon.

    Explique plutôt ce que tu veux faire et comment tu l'as fait, et en mettant des balises code. Parce que là dans les explications on va se perdre dans ce que fait le write et ce que fais le read, et ce n'est pas ton problème.
    Bonjour

    Pour l'instant après le deuxième open je fait rien , c'est juste un essai pour écrire le résultat dans un fichier txt.

    Le code que j'ai mis sur mon précédent message combine des suite de 4 nombre + 1 nombre entre 1 et 10 .

    Je voulais faire la liste des combinaison qui comporte 3,4, et 5 nombre qui se suivent, pour ensuite les éliminer parmi toute les combinaisons possible du loto.

    Normalement c'est :

    Code:
    from itertools import combinations
    for v in range(1,47,1):
               l1 = (v, v+1, v+2, v+3, list(combinations (range (1, 50), 1,)))
               print (l1)
    Résultat:

    Code:
    1 2 3 4 [(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,), (10,), (11,), (12,), (13,), (14,), (15,), (16,), (17,), (18,), (19,), (20,), (21,), (22,), (23,), (24,), (25,), (26,), (27,), (28,), (29,), (30,), (31,), (32,), (33,), (34,), (35,), (36,), (37,), (38,), (39,), (40,), (41,), (42,), (43,), (44,), (45,), (46,), (47,), (48,), (49,)]
    etc...
    Dernière modification par bobi26 ; 10/08/2016 à 10h05.

  30. #29
    CM63

    Re : algoloto

    Bonjour Bobi26,

    Désolé, je ne peux pas te répondre, j'ai un problème basique avec Python, je n'y comprends rien.

  31. #30
    satinas

    Re : algoloto

    Salut, ouvre le fichier en "w" avant la boucle, ou en "a" à l'intérieur de la boucle.
    "w" pour effacer puis écrire
    "a" pour ajouter
    f.write(str(l1)+'\n')
    Dernière modification par satinas ; 10/08/2016 à 10h55.

Page 1 sur 2 1 DernièreDernière