les huit reines

les huit reines - Programmation

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+

Reply

Marsh Posté le 22-02-2001 à 09:44:12   

Reply

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


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 22-02-2001 à 12:58:33    

c quoi les Huit Reines, histoire d'apprendre quelque chose !  :??:


---------------
Gourou 2001 : vive le glandage, c ma raison d'être !!!
Reply

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


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 22-02-2001 à 14:22:48    

C un truc de taré !!!   :ouch:  
Je vais me prendre un aspirine ...
 
Merci qd même, ça ma appris quelquechose ! :sweat:


---------------
Gourou 2001 : vive le glandage, c ma raison d'être !!!
Reply

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)

Reply

Marsh Posté le 23-02-2001 à 08:41:38    

je l'ai fais aussi en cours avec des reines ...

Reply

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


---------------
Pipiru piru piru pipiru pi
Reply

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

Reply

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..... :D


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 23-02-2001 à 12:07:25   

Reply

Marsh Posté le 23-02-2001 à 12:57:20    

NAN PAS LA PROLOG!!!!! :pt1cable:


---------------
http://www.cheata.net le site qui vous donne la banane!
Reply

Marsh 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

Reply

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.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

Marsh Posté le 23-02-2001 à 15:20:42    

ben non, il lui reste à apprendre le prolog maintenant, c plus dur :D

Reply

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 ...  :D  
 
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 ...  :D On s'en servait pour le choix de restaurant, pour de la sémantique et de la syntaxe des phrases ...


---------------
Ce qui vaut la peine d'être fait vaut la peine d'être bien fait
Reply

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

Reply

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

Reply

Marsh Posté le 23-02-2001 à 15:45:47    

ADA ? Ya j'en garde de bons souvenirs :D Le langage le plus typé que je connaisse.


---------------
"If you can walk away from a landing, it's a good landing. If you use the airplane the next day, it's an outstanding landing." - Chuck Yeager. | Chaîne YT | Photos
Reply

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é

Reply

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:D:p

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed