IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

[Défi n° 2] Un résolveur de grilles de Sudoku : les résultats !


Sujet :

Lazarus Pascal

  1. #21
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par FullSpeed Voir le message

    Pour la vitesse j'ai une certaine experience. Darryl
    si tu veux je peux t'aider: calcul des possibles pour chaque case par exemple...
    Jérôme
    Jerome
    J'accepte volontier. je suis actuellement entrain de rechercher d'eventuel bug dans mon programme qui contient dejà environ 9 unités apres quoi je te ferai signe.

    Pour ce qui de la conversion delphi vers lazarus, dans le menu Outils de lazarus, il y a plusieurs options concernant la conversion des unites, projets, paquets delphi vers lazarus.

  2. #22
    Inactif
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 182
    Points : 212
    Points
    212
    Par défaut Aude
    Surtout
    tu n'hesite pas et c'est sur pas besoin dASM

    jojpa54 je te rassures moi il n'y a pas des grilles que je n'arrive pas a finir: j'en ai jamais fini une!
    Par contre des solveurs j'en ai ecris...
    Si tu veux des pistes avant de demarrer...
    Jerome
    Papy

    Nul ne pourra jamais vous empêchez d'être libre.

  3. #23
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Meeuuhhh non, le Topic sur le Forum Delphi est pas tourné compet' !! C'est juste que c'est interdit (et c'est logique) de donner du code !


    jojpa54 > Pour te prouver que l'asm ne fait pas tout : Mon code ne contient pas une seule ligne d'asm, je n'ai pas un niveau tres élevé en programmation (je viens juste d'apprendre sur les pointeurs), et pourtant, mon solveur LOGIQUE résoud 5000 grilles tres difficiles a la seconde (10 000 pour des faciles). Il ne les résoud pas toutes, mais en faisant un solveur BruteForce, tu pourras toutes les résoudres tres facilement (le temps par contre est a optimiser). La comparaison avec la résolution a la main n'est pas tres juste : La tu vois la difficulté d'un solveur logique, pas bruteforce. Donc je te conseilles de te lancer !!!


    Citation Envoyé par FullSpeed
    Il n'existe pas de méthode dite logique qui permettent de résoudre TOUTES les grilles
    ah ca ... on sait pas encore !


    darrylsite > 9 unités ? He ben ! Ca en fait du code (je suis a 4 unités dont 2 tres petites )


    Pourriez vous dire quelle solution vous preferez et/ou vous utilisez dans vos solveur (BruteForce ou Logique, aux sens larges des termes) ?

  4. #24
    Inactif
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 182
    Points : 212
    Points
    212
    Par défaut Question bete N°1
    J'ai converti mon projet et mes sources en Lazarus
    Par contre j'obtiens un mystérieux message
    Mais j'ai vu apparaitre un message disant que pour les debutants il fallait mettre une application Lazarus dans le dossier projet.

    Et je la prends où?
    J'ai le meme message quand j'essaye de construire les samples
    Merci pour l'info ASM Mac
    A ce sujet la syntaxe est la meme en D qu'avec Lazarus?
    Jerôme
    Papy

    Nul ne pourra jamais vous empêchez d'être libre.

  5. #25
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par mick605 Voir le message
    darrylsite > 9 unités ? He ben ! Ca en fait du code (je suis a 4 unités dont 2 tres petites )


    Pourriez vous dire quelle solution vous preferez et/ou vous utilisez dans vos solveur (BruteForce ou Logique, aux sens larges des termes) ?
    ouais ça fait deja beaucoup . Le truc c'est que je suis un adepte de la programmation orientée objet, alors je modelise tout avec des classes. En plus je prefere separer systematiquement la vue des donnees et du traitement c'est ce qui fait croitre le nombre de lignes de code de mon projet. Bien que je crois que la poo reduit la vitesse de calcul, du moment ou on doit compter le temps de creation/destruction des objets, appel multiple de methodes,...

    Je prefere le solveur logique. Le but de ma participation est d'abord de m'amuser en apprenant un max de truc. Alors faire un solveur force brute me parait pas tres compliqué : Je pense que je suis de ceux qui aime dire "pourquoi faire simple si on peut faire compliqué"

    Vu que j'ai encore le temps, je crois que je vais peut etre combiner les deux selon le schema:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     if not canSolveWithLogic() then
     solveWithForceBrut();

  6. #26
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    Je prefere le solveur logique. Le but de ma participation est d'abord de m'amuser en apprenant un max de truc. Alors faire un solveur force brute me parait pas tres compliqué : Je pense que je suis de ceux qui aime dire "pourquoi faire simple si on peut faire compliqué"

    Vu que j'ai encore le temps, je crois que je vais peut etre combiner les deux selon le schema:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     if not canSolveWithLogic() then
     solveWithForceBrut();
    +1 ! Je suis tout a fait d'accord !
    Bon donc comme tu fais dans la logique, pourrais tu me dire quelles sont les méthodes de résolution que tu as déja codées ?
    Moi j'ai codé :
    Candidat unique
    Emplacement unique
    Candidats doubles, triples, quadruples ...
    Paires, triplets, quadruplets, etc. cachés
    Interaction

    (cette question s'applique a toutes les personnes qui tentent un solveur logique )

    Aurais tu des chronos aussi ?

  7. #27
    Inactif
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 182
    Points : 212
    Points
    212
    Par défaut Solveur universel
    Mick
    Quand je dis qu'il n'existe pas de soldeurs universel cela ne veut pas dire qu'ilk n'en existera pas un demain. Mais aujourd'hui il n'y en a pas et il y a quand meme quelques cerveaux qui se penchent dessus (hormis les nôtres)

    Mon solveur Brute force est loin de faire des milliers de grilles a le seconde je reste toujours stupéfait..

    Jerome
    Papy

    Nul ne pourra jamais vous empêchez d'être libre.

  8. #28
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par mick605 Voir le message
    +1 ! Je suis tout a fait d'accord !
    Bon donc comme tu fais dans la logique, pourrais tu me dire quelles sont les méthodes de résolution que tu as déja codées ?
    Moi j'ai codé :
    Candidat unique
    Emplacement unique
    Candidats doubles, triples, quadruples ...
    Paires, triplets, quadruplets, etc. cachés
    Interaction

    (cette question s'applique a toutes les personnes qui tentent un solveur logique )

    Aurais tu des chronos aussi ?
    J'ai deja codé toutes tes methodes , mais j'ai aussi ma boite secrete qui contiennent des methodes de resolutions que j'ai moi meme developpé. Mais les methodes x-swing, formations en etoiles,... je n'y ai pas encore touché. Il y a quelques erreurs dans mon programmes actuelles que je traque encore, apres je vais essayer de coder ces methodes.

    Je n'ai pas encore mis de chronos. A vrai dire je ne suis pas un pro de lazarus, je ne sais meme pas encore comment il faut le faire. Comme quoi, nous sommes tous des debutants

    Participes tu aussi au defi avec lazarus?

  9. #29
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    J'ai deja codé toutes tes methodes , mais j'ai aussi ma boite secrete qui contiennent des methodes de resolutions que j'ai moi meme developpé. Mais les methodes x-swing, formations en etoiles,... je n'y ai pas encore touché. Il y a quelques erreurs dans mon programmes actuelles que je traque encore, apres je vais essayer de coder ces methodes.
    Bah ca va alors. Moi je suis sur le solveur BruteForce. Va sur le forum Delphi, vers les dernieres pages, tu trouvera plusieurs grilles (7 pour etre précis). Peut tu me dire quelles grilles tu arrive a résoudre (par la logique de ton solveur) ?

    Citation Envoyé par darrylsite Voir le message
    Je n'ai pas encore mis de chronos. A vrai dire je ne suis pas un pro de lazarus, je ne sais meme pas encore comment il faut le faire. Comme quoi, nous sommes tous des debutants

    Participes tu aussi au defi avec lazarus?
    Non, je n'y participe pas Je viens sur le forum juste pour parler du défi

    Edit : FullSpeed > Mon solveur brute force tout moche et pas optimisé pour un sou, bien qu'il contienne un gros bug, arrive a résoudre une grille en 890 µs Je te conseille d'utiliser PRO Delphi pour voir ou tu perds du temps

  10. #30
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 136
    Points
    136
    Par défaut
    Citation Envoyé par mick605 Voir le message
    Non, je n'y participe pas Je viens sur le forum juste pour parler du défi
    Dommage ...

  11. #31
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par mick605 Voir le message
    Bah ca va alors. Moi je suis sur le solveur BruteForce. Va sur le forum Delphi, vers les dernieres pages, tu trouvera plusieurs grilles (7 pour etre précis). Peut tu me dire quelles grilles tu arrive a résoudre (par la logique de ton solveur) ?
    J'arrive à resoudre les grilles suivantes : grille 1- grille 2- grille 6- grille 7.
    je vois que j'ai encore du boulot
    Arrives tu avec ta logique a toutes les resoudre?

  12. #32
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Si j'y arrivais, mais je me ferais du pognon la dessus !
    Parce que la grille 4 est AI Escargot, la grille la plus difficile du monde !
    Et la 5 est Easter Monster, une grille treeeees dure, peut etre plus que AIE !
    Mais par contre la 3 est juste une grille diabolique trouvée sur un site !!
    C'est en fait celle la que j'aurais aimé savoir si tu la résolvais...

    Tiens, si ca t'interresse, retourne sur le Forum Delphi, je viens de poster un message avec des chronos détaillés !

    Citation Envoyé par jojpa54
    Dommage ...
    Je ne participe par parce que je programme seulement en Delphi . Ce n'est pas pour autre chose ...
    Et toi tu y participes alors ??

  13. #33
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 136
    Points
    136
    Par défaut
    Bonjour

    Citation Envoyé par mick605 Voir le message
    Je ne participe par parce que je programme seulement en Delphi . Ce n'est pas pour autre chose ...
    Et toi tu y participes alors ??
    Derrière Delphi il y a Pascal et derrière Lazarus il y FreePascal. Donc je pense que ça ne doit pas etre trop dur de transposer de Delphi vers Lazarus.

    Participer moi ? .... Heu je ne sais pas encore, j'ai déja du mal à faire l'algo du jeu de morpion... mais j'y réfléchis quand même histoire de dire.. Je serais sans doute très près du zéro mais ça ne serait pas un drame.

  14. #34
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par mick605 Voir le message
    Si j'y arrivais, mais je me ferais du pognon la dessus !
    Parce que la grille 4 est AI Escargot, la grille la plus difficile du monde !
    Et la 5 est Easter Monster, une grille treeeees dure, peut etre plus que AIE !
    Mais par contre la 3 est juste une grille diabolique trouvée sur un site !!
    C'est en fait celle la que j'aurais aimé savoir si tu la résolvais...
    Je viens d'ajouter un niveau d'intelligence a mon solveur et il a pulveriser la grille 3. Il ne reste que le IAE et le ester Monster.
    Je sais integrer le chrono a mon solveur, et je t'en ferai part.

    Citation Envoyé par jojpa54
    Participer moi ? .... Heu je ne sais pas encore, j'ai déja du mal à faire l'algo du jeu de morpion... mais j'y réfléchis quand même histoire de dire.. Je serais sans doute très près du zéro mais ça ne serait pas un drame.
    Voici un lien qui te donnera plien de details sur la resolution logique :
    http://vincent.planete.org/sudoku/
    Sinon, pour ce qui est de lazarus, tu peux faire ton programme pascal traditionnel, ensuite une fois au point tu peux le tranferer vers lazarus qui n'interviendra que pour l'interface, et quelques petits trucs.

  15. #35
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    Je viens d'ajouter un niveau d'intelligence a mon solveur et il a pulveriser la grille 3. Il ne reste que le IAE et le ester Monster.
    Je sais integrer le chrono a mon solveur, et je t'en ferai part.
    Bravo ! J'espere juste que ce n'est pas la pose d'hypothese ce fameux niveau d'intelligence

    Le lien que tu as donné, c'est marrant, parce que c'est la dessus que je prends mes techniques ... Le "niveau d'intelligence" fait il partit d'une de ces techniques ?

  16. #36
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    j'ai finalement opté pour une version logique-force brute qui offre la possibilité de résoudre les grilles les plus difficiles avec un chrono résonable. j'ai de meilleurs chronos pour les grilles 4 et 5. je posterai les chronos une fois le code optimisé.

  17. #37
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Alors, cette optimisation, ca avance ??

  18. #38
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Le premier candidat à nous envoyer un projet complet est Le Seynois.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  19. #39
    Membre actif

    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Points : 287
    Points
    287
    Par défaut Défi Sudoku
    Merci de noter ma participation au défi !

    Mon projet est bien avancé, solution presque instantanée des grilles les plus difficiles, mais il me reste quelques friandises à travailler, + l'aide, + ini,... le tout sous Delphi 2006/Windows ; je crains d'être pris par le temps (déplacements...).
    A la rigueur, est-ce que je pourrais vous laisser le soin de tout basculer sur Lazarus, si ne n'ai pas eu le temps de le faire avant le 31 octobre...?

    A moins que 15 jours supplémentaires soient envisageables ?



  20. #40
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 417
    Points
    59 417
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par dimanche2003 Voir le message
    Merci de noter ma participation au défi !
    C'est noté

    Citation Envoyé par dimanche2003 Voir le message
    A moins que 15 jours supplémentaires soient envisageables ?
    C'est tout-à-fait envisageable, une autre demande a été faite par MP.
    Une nouvelle date limite sera communiquée incessamment.
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

Discussions similaires

  1. Résoudre grille de Sudoku
    Par Dimitri_87 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 29/08/2006, 11h43
  2. [VB6]Afficher une grille de Sudoku
    Par epaminondas dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/03/2006, 17h36
  3. Dessiner un grille de sudoku
    Par etranger dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 17/02/2006, 09h24
  4. générer grille de sudoku sans disjoncteur
    Par javatwister dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/12/2005, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo