Programme de résolution selon la méthode Fridrich

Discussions relatives aux méthodes spécifiques de speedcubing (Fridrich, Petrus, Fish, ...)
COLL | PLL | OLL | F2L | 1ère croix | PLL OH | Ryan Heise
Avatar du membre
sakd0
Passe sa journée ici. Et dort ici, aussi
Messages : 811
Enregistré le : sam. juil. 22, 2006 1:05 pm
Localisation : Reims

Message par sakd0 »

oui j'avais pensé à incorporer des préoll pour orienter la croix avec la dernière paire des f2l mais j'ai pas encore eu la foi de le faire ...

sinon pour transformer tout ça en langage C++ ... l'élaboration du prog a pris plusieurs mois, il a au moins une bonne cinquantaine de page de code si ce n'est pas 2 donc ... faudrait vraiment avoir du temps pour s'occuper de ça, sinon le code n'est pas très compliqué, que des if, des boucles et des listes d'éléments
Bannière atoutcubes.com
Avatar du membre
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm
Localisation : Par GPS
Contact :

Message par deadalnix »

Et qu'as tu fait de l'approche objet du tout ?

D'autant que mapple le permet, et que ca t'aurais moins fait galerer.
Avatar du membre
sakd0
Passe sa journée ici. Et dort ici, aussi
Messages : 811
Enregistré le : sam. juil. 22, 2006 1:05 pm
Localisation : Reims

Message par sakd0 »

euh je vois pas du tout de quoi tu veux dire

ça m'aurait moins fait galérer pour faire l'étape de la croix ?
Avatar du membre
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm
Localisation : Par GPS
Contact :

Message par deadalnix »

Non, dans ta programation en general. Ca taurais evité de faire des if partout et eventuellement d'avoir le tout a debugguer (ce qui est souvent pas tres facile).
Modifié en dernier par deadalnix le mer. févr. 06, 2008 4:14 pm, modifié 1 fois.
Avatar du membre
sakd0
Passe sa journée ici. Et dort ici, aussi
Messages : 811
Enregistré le : sam. juil. 22, 2006 1:05 pm
Localisation : Reims

Message par sakd0 »

mais ça consiste en quoi l'approche de l'objet du tout ?
Avatar du membre
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm
Localisation : Par GPS
Contact :

Message par deadalnix »

Faire des objets, de l'heritage, du polymorphisme, tout ca quoi :P

Les merveilles des outils de programation moderne. Va voir le code de mon imagecube pour te faire une idée. (qui d'ailleur n'est pas a jour, faut que j'edite ca).
Avatar du membre
sakd0
Passe sa journée ici. Et dort ici, aussi
Messages : 811
Enregistré le : sam. juil. 22, 2006 1:05 pm
Localisation : Reims

Message par sakd0 »

ouai j'avoue que c'est un peu préhistorique comme code mais j'avais des impératifs et pas le temps d'apprendre à programmer ! donc j'ai fait avec ce que les 2h par semaine d'info m'ont apporté après 6mois de prépa...

c'est clair que là je me retrouve coincé avec un code inutilisable et très dur à reprendre parce qu'il doit y avoir une bonne centaine de sous programme qui utilise chacun plein d'objet avec des noms parfois très exotiques... donc pour s'y retrouver, savoir qui est quoi et à quoi il sert... c'est un vrai casse-tête !
Avatar du membre
sakd0
Passe sa journée ici. Et dort ici, aussi
Messages : 811
Enregistré le : sam. juil. 22, 2006 1:05 pm
Localisation : Reims

Message par sakd0 »

ça me motive bien en y pensant de faire un beau logiciel condensé en un petit ficher exécutable avec une fenêtre graphique, le patron du cube, l'option de résoudre à partir d'un mélange, du choix de la face de départ, de choisir la méthode de résolution voulu (blindfold pourquoi pas), choisir le type de résolution : afficher rapidement une solution plutôt courte ou rechercher vraiment la plus courte possible suivant telle ou telle méthode. Il pourrait afficher plein d'informations genre nb de mouvement pour chaque étape : croix, f2l, oll, pll, info si skip ou pas, % de skip sur l'ensemble des solutions trouvées etc

si quelqu'un à une autres idée qui pourrait être intéressante et motivante pour un tel projet, et surtout si quelqu'un pourrait me dire quel langage serait le plus adapté/efficace/assez facile d'accès, (deadalnix si tu mécoutes, tu avais l'air calé là dedans, de même que cyril et pianoman : j'ai eu le plaisir de relire un vieux topic à l'époque où tu commençais ton prog deadalnix, ça papotait sévère niveau programmation)
Avatar du membre
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm
Localisation : Par GPS
Contact :

Message par deadalnix »

Je te dirait bien C++ si le temps de calcul est long. Sinon java est plus facile, mais moins rapide.

Dans tous les cas, la premiere chose a faire est de modeliser ton appli avec un formalisme tel qu'UML (diagramme de classes).
Avatar du membre
Spols
Le belge du Magic
Messages : 5466
Enregistré le : jeu. août 18, 2005 2:44 pm
Localisation : Sur mon clavier ou dans mon lit
Contact :

Message par Spols »

C'est pas mal comme idée, mais c'est vraiment un prog de triche pour fmc ça? bon on arriverait probablement pas au niveau des meilleurs mais en petrus ou en roux (d'aprés son site on peut arriver à 28 en cherchant bien et en optimisant à fond)
Ce nouveau forum valait bien une nouvelle signature
Avatar du membre
deadalnix
Unix Cube
Messages : 7316
Enregistré le : sam. nov. 11, 2006 10:44 pm
Localisation : Par GPS
Contact :

Message par deadalnix »

L'ordinateur est meilleur au FMC que l'homme, il n'empeche que ca n'a aucun interret de demander a la machine de faire le FMC a ta place. c'est comme utiliser les codes dans un jeu video.

De totue faocn, si quelqu'un se met a utiliser ca, il va falloir transformer en compet', sinon ca va tourner au syndrome gaetan guimond
Schtroumpf
VIP au club des 1000
Messages : 1352
Enregistré le : ven. juil. 06, 2007 2:37 pm

Message par Schtroumpf »

Spols a écrit :C'est pas mal comme idée, mais c'est vraiment un prog de triche pour fmc ça? bon on arriverait probablement pas au niveau des meilleurs mais en petrus ou en roux (d'aprés son site on peut arriver à 28 en cherchant bien et en optimisant à fond)
28 avec des mouvements de tranches internes.
Et dans des conditions très différentes, car ce n'est pas une solution linéaire.
Je veux dire par là que faire un programme qui trouve les meilleures séquences étape après étape, même en fusionnant les étapes en détectant les retours, ça n'optimise pas complètement.
Car peut-être qu'une étape n1 mal optimisée va générer un saut de l'étape n2 (n1<n2), mais ce n'est pas prévisible à moins d'une optimisation globale.
Avatar du membre
Spols
Le belge du Magic
Messages : 5466
Enregistré le : jeu. août 18, 2005 2:44 pm
Localisation : Sur mon clavier ou dans mon lit
Contact :

Message par Spols »

petite question qui me tarrôde encore

ton programme, imaginons qu'il trouve une croix en 3 mouvement, 2 en 5 une en 6 et 2 en 7,

s'arrète t il à la croix en 3 et il cherche le meilleur F2L ou il garde les 6 croix en parallèle car il se peut qu'une croix en 7 fasse déja 2 F2L??
Ce nouveau forum valait bien une nouvelle signature
Avatar du membre
sakd0
Passe sa journée ici. Et dort ici, aussi
Messages : 811
Enregistré le : sam. juil. 22, 2006 1:05 pm
Localisation : Reims

Message par sakd0 »

oui il l'est garde 'en parallèle' et non (plus précisémment) il ne les garde pas en parallèle, il teste une solution jusqu'au bout, ça donne un premier 'nb de coup' pour cette solution, il teste une 2eme solution, si elle fait moins de coup il garde celle-là, si un moment dans la résolution il atteint le nb de coup précédent mais qu'il n'a pas fini le cube alors il s'arête et passe à une autre solution. Donc à chaque fois le programme teste toutes les possibilités, en fridrich ça met 5minutes (3500 possibilités), en fish il y 3x + de possiblités en moyenne (12000, à cause du LL en 3étape qui offre plusieurs résolutions différentes) et il met 12minutes.

donc meme si il a une cross en 12moves mais qu'au final il a oll+pll skip bah il gardera oll+pll skip si c'est moins long globalement qu'une résolution qui commence par une croix en 1 move !

sinon je fais pas du tout ce programme pour du FMC, à la base c'est une question : quelle est la résolution la plus courte si on cherche parmi toutes les possibilités de résolution d'après une méthode sur un même cube de départ. Pis bah maintenant ça peut tjrs faire un programme de résolution basique, qui suit une méthode, mais qui peut aussi donné la plus courte suivant cette méthode.
je n'ai peut-être pas tous les algo (oll surtout) les plus courts, mais pour l'instant la réponse est 40-41 moves suivant une méthode cross+f2l+LL (même nb pour fridrich ou fish). J'aurais espéré que fridrich serait mieux mais non, peut-être une méthode coll le sera ? :D
Avatar du membre
Spols
Le belge du Magic
Messages : 5466
Enregistré le : jeu. août 18, 2005 2:44 pm
Localisation : Sur mon clavier ou dans mon lit
Contact :

Message par Spols »

d'un autre coté, avoir tous les OLL les plus courts n'est pas la solution, si un OLL plus long fait un PLL skip, la solution sera meilleur. d'où l'utilisation possible des formules du LL disponible sur le net
Ce nouveau forum valait bien une nouvelle signature
Répondre