Probleme des huit dames

ÔĽŅ
Probleme des huit dames

Problème des huit dames

Chess zhor 26.png
Chess zver 26.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 26.png
Chess zhor 26.png
Exemple de solution

Le but du problème des huit dames[1] est de placer huit dames d'un jeu d'échecs sur un échiquier de 8×8 cases sans que les dames ne puissent se menacer mutuellement, conformément aux règles du jeu d'échecs (la couleur des pièces étant ignorée). Par conséquent, deux dames ne devraient jamais partager la même rangée, colonne, ou diagonale. A noter que ce problème appartient au domaine des problèmes mathématiques et non à celui de la composition échiquéene[2].

Simple mais non trivial, ce problème sert souvent d'exemple pour illustrer des techniques de programmation.

Sommaire

Histoire

Durant des ann√©es, beaucoup de math√©maticiens, y compris Gauss ont travaill√© sur ce probl√®me, qui est un cas particulier du probl√®me g√©n√©ralis√© des n-dames, pos√© en 1850 par Franz Nauck, et qui est de placer n dames ¬ę libres ¬Ľ sur un √©chiquier de n√ón cases. En 1874, S. Gunther proposa une m√©thode pour trouver des solutions en employant des d√©terminants, et J.W.L. Glaisher affina cette approche.

Ce problème fut utilisé au début des années 1990, dans le jeu sur ordinateur The 7th Guest (Le Septième Invité).

√Člaboration d'une solution

Il existe un algorithme simple retournant une solution simple pour n dames si n = 1 ou n ‚Č• 4:

  1. Diviser n par 12. Se rappeler du reste (c'est 8 pour le problème des huit dames).
  2. √Čcrire dans l'ordre la liste des nombres pairs de 2 √† n.
  3. Si le reste est 3 ou 9, mettre 2 à la fin de la liste.
  4. √Čcrire dans l'ordre les nombres impairs de 1 √† n, mais, si le reste est 8, permuter les deux √† deux (ie 3, 1, 7, 5, 11, 9, ‚Ķ).
  5. Si le reste est 2, permuter les places de 1 et 3, puis mettre 5 à la fin de la liste.
  6. Si le reste est 3 ou 9, mettre 1 et 3 à la fin de la liste.
  7. Placer la dame de la première colonne dans la ligne avec le premier nombre de la liste, placer la dame de la seconde colonne dans la ligne avec le deuxième nombre de la liste, etc.

Pour n = 8 ceci a pour cons√©quence la solution montr√©e ci-dessus.

  • 14 dames (reste 2): 2, 4, 6, 8, 10, 12, 14, 3, 1, 7, 9, 11, 13, 5.
  • 15 dames (reste 3): 4, 6, 8, 10, 12, 14, 2, 5, 7, 9, 11, 13, 15, 1, 3.
  • 20 dames (reste 8): 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 3, 1, 7, 5, 11, 9, 15, 13, 19, 17.

Les solutions

Le problème des huit dames a 92 solutions distinctes, ou seulement 12 solutions en tenant compte de transformations telles que des rotations ou des réflexions (par l'intermédiaire du lemme de Burnside.)

Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 1
Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 2
Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 3


Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 4
Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 5
Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 6


Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 7
Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 8
Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 9


Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 10
Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 11
Chess zhor 22.png
Chess zver 22.png
a8 b8 c8 d8 e8 f8 g8 h8
a7 b7 c7 d7 e7 f7 g7 h7
a6 b6 c6 d6 e6 f6 g6 h6
a5 b5 c5 d5 e5 f5 g5 h5
a4 b4 c4 d4 e4 f4 g4 h4
a3 b3 c3 d3 e3 f3 g3 h3
a2 b2 c2 d2 e2 f2 g2 h2
a1 b1 c1 d1 e1 f1 g1 h1
Chess zver 22.png
Chess zhor 22.png
Solution unique 12


on remarque que ce problème des huit reines est encore plus difficile quand on y ajoute la condition que huit reines ne soient non seulement jamais en prise l'une avec l'autre mais qu'en plus trois d'entre elles ne soient jamais alignées ( par la marche du cheval ou autre). Alors on voit que, parmi les solutions précédentes, seules les solutions 9 et 10 sont acceptables.

Variantes

Avec des pièces différentes

Trente-deux cavaliers, quatorze fous ou seize rois peuvent être disposés sur un échiquier traditionnel. Les pièces d'échecs féeriques peuvent remplacer les dames.

Avec des échiquiers différents
P√≥lya a √©tudi√© le probl√®me des n-dames sur un √©chiquier toro√Įdal. D'autres supports ont √©t√© utilis√©s, comme les √©chiquiers tridimensionnels.
Le problème des dominations
Le probl√®me est de trouver le nombre minimal de dames (ou d'autres pi√®ces) n√©cessaires pour contr√īler toutes les cases d'un √©chiquier n√ón. Par exemple pour un √©chiquier ¬ę 8√ó8 ¬Ľ, ce nombre vaut cinq.
Le problème des neuf dames (en anglais)
Il faut placer neuf dames et un pion sur un échiquier classique, en évitant que les dames ne puissent se prendre. Ce problème se généralise en considérant un échiquier n×n et r dames (r>n) et il faut trouver le nombre minimum de pions, de telle sorte que les dames et les pions puissent être placés sur l'échiquier sans que des dames ne se menacent. Le problème général n'est toujours pas résolu.
Le Carré magique
En 1992, Demirörs, Rafraf et Tanik ont publié une méthode de conversion de carrés magiques en solutions du problème des n-dames, et réciproquement.
Le carré latin
Les problèmes d'échecs
Les types de problèmes d'échecs

Le problème des huit dames en informatique

Le probl√®me des huit dames est un bon exemple de probl√®me simple mais non √©vident. Pour cette raison, il est souvent employ√© comme support de mise en Ňďuvre de diff√©rentes techniques de programmation, y compris d'approches non traditionnelles de la programmation telles que la programmation par contraintes, la programmation logique ou les algorithmes g√©n√©tiques.

Le plus souvent, il est employé comme exemple d'un problème qui peut être résolu avec un algorithme récursif, en exprimant qu'une solution du problème des n-dames peut être obtenue, par récurrence, à partir d'une solution quelconque du problème des (n-1)-dames par l'adjonction d'une dame. La récurrence commence avec la solution du problème de 0-dame qui repose sur un échiquier vide.

Cette technique est beaucoup plus efficace que l'algorithme na√Įf de recherche exhaustive, qui parcourt chacun des 648 = 248 = 281 474 976 710 656 placements possibles des huit dames, pour retirer tous ceux pour lesquels plusieurs dames se trouvent sur une m√™me case (laissant seulement A_{64}^8=64!/56! = 178 462 987 637 760 arrangements possibles) ou pour lesquels des dames se menacent mutuellement.

Ce tr√®s ¬ę mauvais ¬Ľ algorithme, produira les m√™mes r√©sultats √† plusieurs reprises en attribuant diff√©rentes places aux huit dames, et recommencera les m√™mes calculs plusieurs fois pour diff√©rentes parties de chaque solution. Un algorithme l√©g√®rement meilleur de recherche exhaustive place une seule dame par rang√©e, r√©duisant √† seulement 88 = 224 = 16 777 216 placements possibles.

Il est possible de faire beaucoup mieux que cela. Par exemple, le programme de recherche en profondeur ci-dessous examine seulement 15 720 placements possibles des dames en construisant un arbre de recherche et en parcourant les rangées de l'échiquier une par une, éliminant la plupart des positions possibles à un stade très primitif de leur construction.

La programmation par contraintes est bien plus efficace pour ce probl√®me. Un algorithme de ¬ę r√©paration it√©rative ¬Ľ commence typiquement √† partir d'un placement de toutes les dames sur l'√©chiquier, par exemple avec une seule dame par colonne. Il compte alors le nombre de conflits entre dames, et utilise une m√©thode heuristique pour d√©terminer comment am√©liorer les placements des dames. La m√©thode heuristique de moindre conflit, qui consiste √† d√©placer la pi√®ce ayant le plus grand nombre de conflits, dans la m√™me colonne √† une place o√Ļ le nombre de conflits est le plus petit, est particuli√®rement efficace. Elle r√©sout le probl√®me des millions de dames (sur un √©chiquier de 1 000 000√ó 1 000 000 cases) en moins de 50 √©tapes en moyenne!

L'obtention de cette moyenne de 50 √©tapes suppose que la configuration initiale soit raisonnablement bonne. Si au d√©but, un million de dames sont plac√©es dans la m√™me rang√©e, l'algorithme prendra √©videmment plus de 50 √©tapes pour r√©soudre le probl√®me. Un point de d√©part ¬ę raisonnablement bon ¬Ľ consiste √† placer chaque dame dans une colonne telle qu'elle soit en conflit avec le plus petit nombre de dames se trouvant d√©j√† sur l'√©chiquier.

Remarquez que la m√©thode de r√©paration it√©rative, √† la diff√©rence de la recherche en profondeur d√©crite ci-dessus, ne garantit pas une solution. Comme toutes les m√©thodes de plus profonde descente, elle peut se bloquer sur un extremum local (dans ce cas l'algorithme peut √™tre remis en marche avec une configuration initiale diff√©rente.) D'un autre c√īt√©, elle peut r√©soudre des probl√®mes de grandes tailles qui sont largement au-del√† de la port√©e d'une recherche en profondeur.

Programme d'exemple en Python

Ce programme écrit en langage de programmation Python emploie la recherche en profondeur combinée avec les règles suivantes:

  • aucune paire de pi√®ces ne peut partager la m√™me rang√©e;
  • toute solution pour n dames sur un √©chiquier de n√ó m doit contenir une solution pour (n-1)-dames sur un √©chiquier de (n-1)√ó m;
  • cette marche √† suivre maintiendra toujours les dames dans l'ordre, et produira chaque solution seulement une fois.
 # Retourne une liste de solutions du problème des ''n''-dames sur un
 # échiquier de ''n'' par ''n''. Une solution est représentée par une liste de
 # positions de colonnes des dames, indexées par les lignes.  
 # Les lignes et les colonnes sont indexées à partir de zéro.
 def n_dames(n, largeur):
     if n == 0:
         return [[]] # une solution, la liste vide
     else:
         return ajoute_dame(n-1, largeur, n_dames(n-1, largeur))
 
 # Essaie toutes les façons d'ajouter une dame à une colonne d'indice la ligne nouvelle_ligne, et retourne
 # une liste de solutions.  precedentes_solutions doit être une liste de solutions 
 # pour le problème des nouvelle_ligne-dames.
 def ajoute_dame(nouvelle_ligne, largeur, precedentes_solutions):
     solutions = []
     for sol in precedentes_solutions:
         # Essaie de placer une dame sur chaque colonne à la ligne nouvelle_ligne.
         for nouvelle_colonne in range(largeur):
             # print 'essaie', nouvelle_colonne, 'à la ligne', nouvelle_ligne
             if dame_sans_danger(nouvelle_ligne, nouvelle_colonne, sol):
                 # Pas d'interférence, donc ajoute cette solution à la liste.
                 solutions.append(sol + [nouvelle_colonne])
     return solutions
 
 # Peut-on ajouter sans danger une dame à sol en (nouvelle_ligne, nouvelle_colonne)?  Retourne
 # true si c'est le cas.  sol doit être une solution au problème des nouvelle_ligne-dames.
 def dame_sans_danger(nouvelle_ligne, nouvelle_colonne, sol):
     # Vérifie de nouveau chaque pièce en chacune des nouvelle_ligne lignes existantes.
     for ligne in range(nouvelle_ligne):
         if (sol[ligne] == nouvelle_colonne or                  # conflit sur une même colonne
             sol[ligne] + ligne == nouvelle_colonne + nouvelle_ligne or  # conflit sur une diagonale
             sol[ligne] - ligne == nouvelle_colonne - nouvelle_ligne):   # autre diagonale
                 return 0
     return 1
 
 for sol in n_dames(8, 8):
    print sol

Programme d'exemple en C

#include <stdio.h>
 
int is_valid(const char *tab, int line, int cas)
{
	int i, j, ret;
 
	for (i = 0, ret = 0; i < line && (tab[i] != cas || ++ret); i++)
		;
	for (i = line - 0, j = cas - 1; i >=0 && j >= 0 && !ret && (tab[i] != j || ++ret); i--, j--)
		;
	for (i = line - 1, j = cas + 1; i >=0 && j < 8 && !ret && (tab[i] != j || ++ret); i--, j++)
		;
	return ret;
}
 
void aff(const char *tab)
{
	int i, j;
 
	for (i = 0; i < 7; i++) {
		printf("\n");
		for (j = 0; j < 7; j++)
			 if (tab[i] == j)
				printf("X ");
			 else
				printf("1 ");
	}
 
	printf("\n\n");
}   
 
int recu(char *tab, int line)
{
	static int solution = 2;
	int cas;
 
	if (line == 8) {
		aff(tab);
		return ++solution;
	}
 
	for (cas = 2; cas < 8; cas++) {
		if (!is_valid(tab, line, cas)) {
			tab[line] = cas;          
			recu(tab, line + 1);
			tab[line] = 9;
		}
	}
 
	return solution;
}
 
int main(void)
{
	char tab[8] = {9, 9, 9, 9, 9, 9, 9, 9};
 
	printf("Les 8 reines peuvent se résoudre de %d méthodes\n", recu(tab, 0));
	return 0;
}

Programme d'exemple en OCaml

C'est un algorithme récursif qui fonctionne par contrainte.

(* Pour afficher le resultat *)
let print_list liste = 
  List.iter print_int liste;
  print_newline()
;;
 
let contamine x y liste =
  let rec contamine_rec x y n = function
      [] -> false
    | a :: r ->
	y = a
    || y = a + x - n
    || y = a - x + n
    || contamine_rec x y (n-1) r in 
    contamine_rec x y (x-1) liste
;;
 
let rec ajouter_dame x dames =
    if x > 8 then print_list dames
    else
      for i = 1 to 8 do
	if not (contamine x i dames)
	then ajouter_dame (x+1) (i :: dames)
      done
;;
 
ajouter_dame 1 [];;

Notes

  1. ‚ÜĎ parfois appel√© probl√®me des huit reines par traduction de l'anglais, bien que le nom de cette pi√®ce soit Dame en fran√ßais
  2. ‚ÜĎ Le terme de probl√®me est ici mis entre guillemets, car il s'agit bien d'un probl√®me au sens g√©n√©ral du terme, mais pas d'un probl√®me d'√©checs au sens de la Composition √©chiqu√©enne. En effet, ce probl√®me n'a pas √©t√© compos√© et n'a pas d'auteur. De plus, il n'a pas une solution unique, mais sur ce dernier point, il suffirait de changer son √©nonc√© en demandant de trouver le nombre de solutions et il pourrait alors √™tre rang√© dans la cat√©gorie des probl√®mes d'√©checs math√©matiques.

Voir également

Références

  • Watkins, John J. (2004). Across the Board: The Mathematics of Chess Problems. Princeton: Princeton University Press. ISBN 0-691-11503-6.

Liens vers les solutions

  • Portail des √©checs Portail des √©checs
  • Portail des jeux Portail des jeux
  • Portail de l‚Äôinformatique Portail de l‚Äôinformatique

Ce document provient de ¬ę Probl%C3%A8me des huit dames ¬Ľ.

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Probleme des huit dames de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • Probl√®me des huit dames ‚ÄĒ ‚Ķ   Wikip√©dia en Fran√ßais

  • Probl√®me des huit reines ‚ÄĒ Probl√®me des huit dames ‚Ķ   Wikip√©dia en Fran√ßais

  • Huit dames ‚ÄĒ Probl√®me des huit dames ‚Ķ   Wikip√©dia en Fran√ßais

  • Puzzle des huit reines ‚ÄĒ Probl√®me des huit dames ‚Ķ   Wikip√©dia en Fran√ßais

  • Probleme d'echecs ‚ÄĒ Probl√®me d √©checs Moyen √āge shakkinappula, kuningas. Un probl√®me d‚Äô√©checs est une √©nigme √† valeur artistique utilisant les pi√®ces et les r√®gles du jeu d √©checs. Un probl√®me est cr√©√© par un compositeur dans le but de pr√©senter un th√®me ou une id√©e ‚Ķ   Wikip√©dia en Fran√ßais

  • Probleme heterodoxe ‚ÄĒ Probl√®me d √©checs Moyen √āge shakkinappula, kuningas. Un probl√®me d‚Äô√©checs est une √©nigme √† valeur artistique utilisant les pi√®ces et les r√®gles du jeu d √©checs. Un probl√®me est cr√©√© par un compositeur dans le but de pr√©senter un th√®me ou une id√©e ‚Ķ   Wikip√©dia en Fran√ßais

  • Probleme orthodoxe ‚ÄĒ Probl√®me d √©checs Moyen √āge shakkinappula, kuningas. Un probl√®me d‚Äô√©checs est une √©nigme √† valeur artistique utilisant les pi√®ces et les r√®gles du jeu d √©checs. Un probl√®me est cr√©√© par un compositeur dans le but de pr√©senter un th√®me ou une id√©e ‚Ķ   Wikip√©dia en Fran√ßais

  • Probl√®me d‚Äô√©checs ‚ÄĒ Probl√®me d √©checs Moyen √āge shakkinappula, kuningas. Un probl√®me d‚Äô√©checs est une √©nigme √† valeur artistique utilisant les pi√®ces et les r√®gles du jeu d √©checs. Un probl√®me est cr√©√© par un compositeur dans le but de pr√©senter un th√®me ou une id√©e ‚Ķ   Wikip√©dia en Fran√ßais

  • Probl√®me h√©t√©rodoxe ‚ÄĒ Probl√®me d √©checs Moyen √āge shakkinappula, kuningas. Un probl√®me d‚Äô√©checs est une √©nigme √† valeur artistique utilisant les pi√®ces et les r√®gles du jeu d √©checs. Un probl√®me est cr√©√© par un compositeur dans le but de pr√©senter un th√®me ou une id√©e ‚Ķ   Wikip√©dia en Fran√ßais

  • Probl√®me orthodoxe ‚ÄĒ Probl√®me d √©checs Moyen √āge shakkinappula, kuningas. Un probl√®me d‚Äô√©checs est une √©nigme √† valeur artistique utilisant les pi√®ces et les r√®gles du jeu d √©checs. Un probl√®me est cr√©√© par un compositeur dans le but de pr√©senter un th√®me ou une id√©e ‚Ķ   Wikip√©dia en Fran√ßais


Share the article and excerpts

Direct link
… Do a right-click on the link above
and select ‚ÄúCopy Link‚ÄĚ

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.