les huit reines - Programmation
Marsh Posté le 22-02-2001 à 11:01:25
Ah oui... Mais c'est un algo de back tracking la base du prog, l'intérêt d'un langage objet est limité.
Marsh Posté le 22-02-2001 à 12:58:33
c quoi les Huit Reines, histoire d'apprendre quelque chose !
Marsh Posté le 22-02-2001 à 13:39:37
Le problème des huit reines consiste à placer huit cavaliers .... non des reines évidemment (faut suivre derrière) sur un échiquier sans être en prise mutuelle.
Il y a d'ailleurs plusieurs solutions à ce problème. Pour le résoudre on utilise un algo dit de back-tracking. C'est à dire que c'est un truc méga récursif qui avant de placer une dame vérifie que la condition est respectée. Quand il trouve il s'appelle lui même pour la dame suivante. S'il ne trouve pas de solution il dépile et réssaie une autre position pour la n-1ième dame.
--Message édité par Toxin--
Marsh Posté le 22-02-2001 à 14:22:48
C un truc de taré !!!
Je vais me prendre un aspirine ...
Merci qd même, ça ma appris quelquechose !
Marsh Posté le 22-02-2001 à 15:56:18
je l'ai fait, mais avec des reines, ce que j'ai prefere dans cet exo c'est l'optimisation du code (execution en 10s contre 30min au debut) et les differentes facon de faire
mais avant tout mettez vous d'accord, c'est des reines ou des cavalier (plus chiant les cavaliers)
Marsh Posté le 23-02-2001 à 11:12:15
Tu peux essayer de le programmer en PROLOG (joke)...
Ah le prolog, de bon vieux souvenir....
Marsh Posté le 23-02-2001 à 11:56:42
c'est bien des reines, pas des cavalier, les cavaliers, y a encore plus de soluce que pour les reines
Marsh Posté le 23-02-2001 à 12:07:25
Bah la pièce n'est pas importante, seule l'écriture de l'algo est importante.
Tiens j'ai déjà entendu ça quelque part.....
Marsh Posté le 23-02-2001 à 12:57:20
ReplyMarsh Posté le 23-02-2001 à 14:26:47
si je me souviens de mes cours ( heuuuu ), je crois que l'algo en prolog donnait un truc du genre:
- pas 2 lignes identiques dans les coordonnées des reines
- idem pour les colonnes
- on n'a pas le droit, une fois les coordonnées (x0,y0) d'une reine fixée, en avoir d'autres du style (x0 + z, x0 + z), c'est à dire interdiction des prises sur les diagonales
Marsh Posté le 23-02-2001 à 14:38:39
Hé mais vous allez pas lui faire non plus ! Faut pas que ça tombe tout cuit dans le bec non plus.
Marsh Posté le 23-02-2001 à 15:20:42
ben non, il lui reste à apprendre le prolog maintenant, c plus dur
Marsh Posté le 23-02-2001 à 15:24:22
Heu le plus dur ce n'est pas le prolog en lui meme mais la compilation ...
J'adore le prolog, je l'ai decouvert au hasard dans un module d'IA quand j'étais encore étudiant. C un langage qui me laisse un sentiment d'avoir frolé l'IA ... On s'en servait pour le choix de restaurant, pour de la sémantique et de la syntaxe des phrases ...
Marsh Posté le 23-02-2001 à 15:25:43
merci à tous pour votre aide !!
je crois que je tient le bon bout là...
juste une précision comme ça en passant ... je doit pas le coder en prolog, ni en C, ni en X ou Y ...mais en Ada 95...
A+ les gens
Marsh Posté le 23-02-2001 à 15:30:43
C'est bien evidemment des reines ... sinon, tes huits cavaliers tu les alignes contre un bord, et c'est fini
Marsh Posté le 23-02-2001 à 15:45:47
ADA ? Ya j'en garde de bons souvenirs Le langage le plus typé que je connaisse.
Marsh Posté le 23-02-2001 à 15:50:16
je te le fait pas dire...
mais pour prendre de bonnes habitudes dès le départ...cé le top
Ce langage est top pour développer des composants réutilisables.
par contre pour les applis graphique....c'est le bordel...
je travail en ce moment sur une réprésentation graphique des arbres AVL avec la librairie Jewl...putain kel bronx !!
y'a aussi adagraph...mais beaucoup trop limité
Marsh Posté le 24-02-2001 à 00:03:34
Tiens les reines j'ai fait ca en debut d'annee, avec les tours de hanoi.
Sauf qu'il y avait pas huit reines mais autant qu'on voulait.
Mais c'etait pas en objet c'etait en C.
Tant pis... D
Marsh Posté le 22-02-2001 à 09:44:12
salut à tous !
si quelque à une méthode pour résoudre le problèmes des huit reines avec l'aides des techniques de la programmation orientée objet,,,, ben ce serait kool k'il me donne un coup de patte.
merci d'avance ...A+