------------------------------- -- -- -- LE PROBLEME DE LA BOITE NOIRE -- -- -- ------------------------------- L'énoncé du problème à résoudre (à l'aide de n'importe quel langage de programmation) est le suivant : Le but de ce problème est de deviner la position d'un certain nombre de bille qui sont placées dans une boîte de 8 cases sur 8. Au début de la procédure , vous spécifiez le nombre de billes que vous voulez mettre dans la boîte. L'ordinateur place chacune d'elles aléatoirement dans un des 64 compartiments de la grille. Vous pouvez obtenir des informations concernant la position des billes en tirant des rayons à travers la boîte et en étudiant la façon dont ces rayons sont déviés ou absorbés. Vous devez désigner le point de départ du rayon en entrant un nombre compris entre 1 et 32. - Un rayon qui ne s'approche pas d'une bille continue tout droit suivant une rangée ou une colonne et ressort du côté opposé de la boîte. - Par contre , si un rayon s'approche d'une bille , des occurences peuvent survenir : a) Si un rayon heurte une bille il est absorbé. b) Si un rayon passe entre 2 billes séparées par une case vide il est réfléchi jusqu'à sa source. c) Si la source du rayon est directement adjacente à une bille se trouvant sur le bord de la boîte , le rayon est réfléchi jusqu'à sa source. d) Si le rayon pénètre dans un compartiment de la grille qui touche en diagonale la position d'une bille (dans son immédiate proximité) , le rayon est dévié de 90° de sa trajectoire initiale selon une rotation anti-chronologique. L'occurence c) est PRIORITAIRE sur l'occurence d) Essayer de trouver la position des billes en composant une STRATEGIE consistant à tirer le MINIMUM de rayon possible. Quand vous êtes prêt à comparer vos hypothèses avec les positions réelles des billes dans la bôite anvoyez dans un fichier de résultat (ou bien à l'écran) : 1° La grille réelle 2° La grille supposée 3° Le nombre de rayons tirés 4° L'historique de tous les coups tirés. (orgine et issue) Bon amusement !! S.M. & X.L Exemple de grille : ~~~~~~~~~~~~~~~~~~~ Il y a 4 billes. Exemples de tirs : ~~~~~~~~~~~~~~~~~ LANCEMENT : 2 SORTIE : 23 LANCEMENT : 5 ABSORBTION ( ou boucle!! ) LANCEMENT : 16 SORTIE : 16 LANCEMENT : 31 SORTIE : 29 LANCEMENT : 6 SORTIE : 4 LANCEMENT : 10 SORTIE : 10 LANCEMENT : 26 SORTIE : 25 0 0 32 31 30 29 28 27 26 25 0 0 0 ** ** ** ** ** ** ** ** ** ** 0 1 ** 0 0 0 0 0 0 0 0 ** 24 2 ** 0 0 0 0 0 0 0 0 ** 23 3 ** 0 0 0 0 0 0 0 0 ** 22 4 ** 0 0 0 0 0 0 0 0 ** 21 5 ** 0 0 BI 0 0 0 0 0 ** 20 6 ** 0 0 0 0 0 0 0 0 ** 19 7 ** 0 0 0 0 0 0 0 0 ** 18 8 ** BI 0 0 0 0 BI BI 0 ** 17 0 ** ** ** ** ** ** ** ** ** ** 0 0 0 9 10 11 12 13 14 15 16 0 0 Explication du coup LANCEMENT : 6 SORTIE : 4 ~~~~~~~~~~~~~~~~~~~ A chaque bille correspond des diagonales d'influence DG. Les diagonales pour le bille ( 5 , 30 ) sont marquées DG. On lance en 6 et la bille continue jusqu'en ( 6 , 31 ) ou elle déviée de 90° dans le sens anti-chronologique. (voir énoncé) Puis elle continue dans la direction ( 9 , 32 ) et rencontre encore une autre diagonale de la même bille en ( 4 , 31) ou elle déviée de 90° dans le sens anti-chronologique prenat la direction ( 21 , 4 ) et sort en 4. 0 0 32 31 30 29 28 27 26 25 0 0 0 ** ** ** ** ** ** ** ** ** ** 0 1 ** 0 0 0 0 0 0 DG 0 ** 24 2 ** 0 0 0 0 0 DG 0 0 ** 23 3 ** DG 0 0 0 DG 0 0 0 ** 22 4 ** 0 DG 0 DG 0 0 0 0 ** 21 5 ** 0 0 BI 0 0 0 0 0 ** 20 6 ** 0 DG 0 DG 0 0 0 0 ** 19 7 ** DG 0 0 0 DG 0 0 0 ** 18 8 ** BI 0 0 0 0 BI BI 0 ** 17 0 ** ** ** ** ** ** ** ** ** ** 0 0 0 9 10 11 12 13 14 15 16 0 0 Explication du coup LANCEMENT : 10 SORTIE : 10 ~~~~~~~~~~~~~~~~~~~ c) Si la source du rayon est directement adjacente à une bille se trouvant sur le bord de la boîte , le rayon est réfléchi jusqu'à sa source. (l'occurence c) étant prioritaire..) Explication du coup LANCEMENT : 26 SORTIE : 25 ~~~~~~~~~~~~~~~~~~~ 0 0 32 31 30 29 28 27 26 25 0 0 0 ** ** ** ** ** ** ** ** ** ** 0 1 ** 0 0 0 0 0 0 0 DG ** 24 2 ** 0 0 0 0 0 0 DG 0 ** 23 3 ** 0 0 0 0 0 DG 0 0 ** 22 4 ** 0 0 0 0 DG 0 0 0 ** 21 5 ** 0 0 BI DG 0 0 0 0 ** 20 6 ** 0 0 DG 0 0 0 0 0 ** 19 7 ** 0 DG 0 0 0 0 0 0 ** 18 8 ** BI 0 0 0 0 BI BI 0 ** 17 0 ** ** ** ** ** ** ** ** ** ** 0 0 0 9 10 11 12 13 14 15 16 0 0 La bille est soumise à deux déviations consécutives une dans le sens anti-chronologique sous l'influence de la bille ( 5 , 30 ) [VOIR SCHEMA PRECEDENT] . Puis dévie sous l'influence de la bille (8 , 32) dont une diagonale est tracée et aboutit en (1 , 25) RAPPEL : - Les positions des billes (BI) sont aléatoires. MAIS VOUS POUVEZ VOUS LIMITER A 4 BILLES. --------------------------- ------------------- -----------