Intelligence Artificielle Distribuée. Dossier technique. IAD TeamZ

Dimension: px
Commencer à balayer dès la page:

Download "Intelligence Artificielle Distribuée. Dossier technique. IAD TeamZ"

Transcription

1 Intelligence Artificielle Distribuée Dossier technique IAD TeamZ 29 mai 2004

2 Table des matières 1 Introduction Historique d Othello Othello But du jeu Support Algorithmique Fonction d évaluation MinMax et Alpha Beta L algorithme MinMax Alpha Beta ou MinMax amélioré Codage de l othellier Algorithmique distribuée le maître l esclave Amélioration LAM/MPI Introduction à LAM/MPI Installation de LAM/MPI Avec les sources Sous Debian Parc Informatique EPITA Configuration problèmes communs problèmes liés au PIE IAD compilation Paramètres environnement du PIE le./configure Configuration Spécification automatique Spécification avancee Exécution LAM/MPI plusieurs esclaves sur une seule machine Autres modes

3 6 Résultats Résultats techniques XMPI Webographie 24 3

4 1 Introduction Le but de ce projet était de réaliser une version d othello avec une IA utilisant efficacement plusieurs ordinateurs. 1.1 Historique d Othello Le jeu d Othello 1 sous sa forme actuelle a été commercialisé pour la première fois au Japon en Toutefois, ce jeu est très proche d un jeu anglais vieux d une centaine d années, connu sous le nom de Reversi. Qui a inventé le Reversi alors? Il est difficile de répondre à cette question. Deux gentlemen anglais, Lewis Waterman et John W. Mollett, se disputent la paternité de ce jeu dans les années 1880 et se traitent mutuellement d escrocs. A la fin des années 1880, où le Reversi était extrêmement populaire en Angleterre, les deux protagonistes avaient publié des livrets de règles et soutenaient des fabricants rivaux. Le plus vieil article de presse sur le jeu connu à ce jour est paru dans "The Saturday Review" daté du 21 août Le jeu est peu diffusé jusqu à ce que l auteur de jeux Walter H. Peel écrive au printemps 1888 une série d articles publiés dans "The Queen", un magazine spécialisé dans "des sujets intéressant les dames". Plusieurs livrets sont alors publiés mais le jeu perd de sa popularité au début du siècle. On trouve tout au long du vingtième siècle des références au jeu de Reversi mais celui-ci reste très confidentiel malgré une diffusion en Europe Centrale et aux Etats-Unis. Othello a été inventé en 1971 au Japon par Goro Hasegawa. Son père, professeur de littérature anglaise, suggéra le nom Othello par analogie avec les rebondissements de la pièce de Shakespeare. Il y a seulement deux différences avec Reversi : une seule position de départ est autorisée, et on peut emprunter des pions à l adversaire s il est obligé de passer. Dès 1973, le jeu devient un succès commercial au Japon et le premier championnat national est organisé. En 1976 le jeu d Othello envahit les Etats-Unis et l Angleterre. Parallèlement àà ce succès, des fédérations nationales se créent ; le premier championnat du monde est ainsi organisé en 1977 sur une base annuelle. En 1980, pour la première fois, le titre n est pas remporté par un Japonais : le joueur américain Jonathan Cerf bat le champion asiatique Takuya Mimura en finale. Le jeu d Othello apparaît en France à la fin des années 70 tandis que le premier championnat de France est organisé en En 1983, la Fédération 1 Othello est une marque déposé, on préférera le terme "Reversi" 4

5 Française d Othello est créée et va monter en puissance grâce, notamment, au journal "Jeux & Stratégie" qui fait du jeu un de ses "Grands Classiques". En 1984, Paul Ralle, alors âgé de 16 ans, devient le premier Français (et le deuxième non- Japonais) à remporter le titre suprême. La seconde moitié des années 80 voit un développement lent mais constant de la pratique du jeu. Toujours parmi les meilleurs au niveau mondial, l équipe de France remporte en 1990 le titre par équipe (performance qu elle rééditera en 1994 et 1998), tandis que Marc Tastet devient en 1992 le deuxième champion du monde français. 1.2 Othello Othello est un jeu de stratégie à deux joueurs : Noir et Blanc. Il se joue sur un plateau unicolore de 64 cases, 8 sur 8, appelé othellier. Ces joueurs disposent de 64 pions bicolores, noirs d un côté et blancs de l autre. Par commodité, chaque joueur a devant lui 32 pions mais ils ne lui appartiennent pas et il doit en donner à son adversaire si celui-ci n en a plus. Un pion est noir si sa face noire est visible et blanc si sa face blanche est sur le dessus. Pour jouer, il faut poser un pion sur une case vide, de manière à encadrer une ou plusieurs rangées de pions adverses qui sont alors retournées et qui nous appartiennent. 1.3 But du jeu Avoir plus de pions de sa couleur que l adversaire à la fin de la partie. Celle-ci s achève lorsque aucun des deux joueurs ne peut plus jouer de coup légal. Cela intervient généralement lorsque les 64 cases sont occupées. 1.4 Support Le projet est sous licence GPL 2 et est hébergé sur GNA 3 ici 4. Il sera bientôt téléchargeable en tar.bz2 ici 5. En attendant un accès au CVS en anonyme est proposé : cvs co iad https://gna.org/projects/iad 5 5

6 2 Algorithmique Nous avons implementé un minimax et un minimax_alpha_beta non-distribué de référence pour que chaque membre du groupe puisse comprendre l algorithme facilement. On peut jouer contre l ordinateur sans distribuer l algorithme (option -IA). 2.1 Fonction d évaluation Les algorithmes doivent être capables d évaluer une situation, c est a dire la valeur d un échiquier par rapport à un coup considéré. Ainsi à un echiquier dans une certaine configuration est associé une note pour un joueur consideré. Plus la note est grande plus le coup est pertinent et permettra de se diriger vers une victoire. C est la fonction d évaluation qui fournie cette note en évaluant une situation selon plusieurs critères : Les pions positionnés Il s agit des pions définitif groupés autour d un angle. Les pions C-X Les 3 pions autour d un angle sont les 3 pions C-X (les 2 du bord sont les pions C et celui en diagonale est le X) Les pions insérés Il s agit d un groupe de pions entièrement cernés par des pions adverses (cheval de troie) Les pions incrustés C est une invention maison : c est moins bien noté que les pions insérés : en fait les pions insérés sont tous incrustés Il s agit de pions complètement entourés, avec possibilité d avoir des voisins enemis. La mobilité Plus un coup laisse de possibilités a l adversaire, plus il aura statistiquement de chances de jouer un bon coup, il faut donc réduire ses possibilités avec la technique dite du bétonnage. Tous ces critères sont évalués par la suite pour donner une note au coup joué. pour un même critère, une note peut être positive ou négative selon la situation : un pion X est souvent malheureux mais dans certaines situations, cela peut-être très rentable. 6

7 L algorithme va chercher à trouver les coups maximisants sa note et minimisant la note du joueur adverses. Les valeurs d évaluation des différentes stratégies décrites ci-dessus ont été modifiées par bon sens et tâtonnement, et en jouant de nombreuses parties, soit contre un humain, soit contre le générateur aléatoire. 2.2 MinMax et Alpha Beta L algorithme MinMax Son principal atout est de tester tous les coups possibles jusqu à une certaine profondeur, y compris donc les coups tels que les sacrifices, etc..., qui paraissent dans un premier temps mauvais. Son principal défaut est, à l inverse, d être très lent : le nombre de configurations à tester évolue exponentiellement en fonction de la profondeur de réflexion, et donc le temps de réflexion également. La stratégie minmax suppose tout d abord que chacun des joueurs joue son meilleur coup (par rapport aux valeurs calculées par l algorithme) à chaque fois ; ça paraît discutable, mais ça n a pas l air de marcher si mal que ça : si l adversaire ne joue pas son meilleur coup, alors par définition c est qu il arrivera à une position moins forte qu il n aurait pu (toujours par rapport aux valeurs calculées par l algorithme lui-même). On commence donc par développer l arbre des coups possibles jusqu à la profondeur maximale. Pour cela on regarde l échiquier et on calcule les positions jouables pour le joueur courant (l ordinateur). Pour ce début de partie : Si c est "à l algorithme" de jouer en premier il a quatre coups possibles : C3, D2, F4, E5. Supposons qu il joue C3, au coup suivant l adversaire à trois coups possibles C2, E2 et C4 : Ainsi de suite. On aura donc un "arbre" des coups possibles comme celui visible sur la figure 3 page 9. Après chaque coup, on obtient une position : après le coup C3, une position dans laquelle c est à l adversaire de "l algorithme" de jouer, après la suite C3 - C2, c est à nouveau à l algorithme de jouer, et ainsi de suite. Après chaque suite de trois coups, notamment (donc aux feuilles de l arbre), c est à l adversaire de l algorithme de jouer. La fonction coût devient alors primordiale : c est elle qui va decider de la meilleur branche, c est a dire celle menant à un score le plus élevé possible. 7

8 FIG. 1 Début de partie FIG. 2 Après un premier coup 8

9 FIG. 3 Arbre de l algorithme MinMax Cela est notamment necessaire du fait qu on ne peut pas calculer absolument tous les coups possibles mais qu on doivent se limiter à une certaine profondeur d arbre selon les ressources allouées (nombre de nodes,...). L algorithme MiniMax, dû à Von Neumann, est très simple : on visite l arbre de jeu pour faire remonter à la racine une valeur (appelée "valeur du jeu") qui est calculée récursivement. On peut aller à n importe quelle profondeur de réflexion, en gardant bien à l esprit cependant que ce n est pas très rapide (on regarde tout l arbre, dont la taille croit exponentiellement en fonction de la profondeur). Pour être sûr d aller jusqu a la fin de la partie il faut compter une profondeur au moins égale au nombre de case sur l échiquier (dans le cas fictif ou l on passerait tout le temps). Il faut également garder à l esprit que cette stratégie dépend énormément de la qualité de la fonction d évaluation (on peut par exemple lorsque l on detecte que l on va gagner la partie à coup sur dans une certaine branche lui donner plus de poid). Le pseudo code de l algorithme est le suivant : minimax(in game board, in int depth, in int max_depth, out score chosen_score, out score chosen_move) begin 9

10 if (depth = max_depth) then chosen_score = evaluation(board); else moves_list = generate_moves(board); if (moves_list = NULL) then chosen_score = evaluation(board); else for (i = 1 to moves_list.length) do best_score = infinity; new_board = board; apply_move(new_board, moves_list[i]); minimax(new_board, depth+1, max_depth, the_score, the_move); if (better(the_score, best_score)) then best_score = the_score; best_move = the_move; endif enddo chosen_score = best_score; chosen_move = best_move; endif endif end Alpha Beta ou MinMax amélioré On observe que l algorithme MINIMAX effectue l évaluation pour tous les noeuds de l arbre de jeu d un horizon donné. Mais il existe des situations dans lesquelles, pour déterminer la valeur MiniMax associée à la racine, il n est pas nécessaire de calculer les valeurs associées à tous les noeuds de l arbre. On peut remarquer une telle situation dans la figure suivante, où la racine a un fils avec la valeur maximale possible (+100), donc les valeurs des autres fils n importent pas : elles ne peuvent pas changer la valeur MiniMax : La valeur 100 du fils central permet d éviter d explorer les autres branches : elle ne pourront pas changer la valeur MiniMax L algorithme alpha-beta est une optimisation du MiniMax, qui "coupe" des sous-arbres dès que leur valeur devient inintéressante aux fins du calcul de la valeur MiniMax du jeu. Cette optimisation permet souvant de diviser par deux le temps de calcul, sur le jeu othello le gain est de 30%. De plus en pratique ce gain permet de doubler la profondeur de l arbre. 10

11 FIG. 4 Nécessité d utiliser alpha-beta Le nom de l algorithme vient du nom donné a des valeurs portées par les noeuds dans le cas où il est utilisé : 1. alpha d un noeud : est une approximation par le bas de la vraie valeur du noeud. Elle est égale à la valeur sur les feuilles, et est initialisée à inf ailleurs. Ensuite, sur les noeuds joueur elle est maintenue égale à la plus grande valeur obtenue sur les fils visités jusque là, et elle est égale à la valeur alpha de son prédécesseur sur les noeuds opposant. 2. beta d un noeud : c est une approximation par le haut de la vraie valeur du noeud. Elle est égale à la valeur sur les feuilles, et est initialisée à +inf ailleurs. Ensuite, sur les noeuds opposant elle est maintenue égale à la plus petite valeur obtenue sur les fils visités jusque là, et elle est égale à la valeur beta de son prédécesseur sur les noeuds joueur. Le pseudo code de l algorithme est le suivant : minimax (in game board, in int depth, in int max_depth, in boolean alpha_beta, in score black_best, in score white_best, out score chosen_score, out score chosen_move) begin : 11

12 end. : minimax(new_board, depth+1, max_depth, alpha_beta, black_best, white_best, the_score, the_move); if (alpha_beta) then if (to_move(black) and (the_score > black_best)) if (the_score > white_best) break; /* alpha_beta cutoff */ else black_best = the_score; endif endif if (to_move(white) and (the_score < white_best)) if (the_score < white_best) break; /* alpha_beta cutoff */ else white_best = the_score; endif endif endif : : Codage de l othellier L othellier est de taille variable, le choix intervenant à la compilation. Ceci permet de tester plus facilement l algorithme et nécessite plus de puissance de calcul. 3 Algorithmique distribuée Il y a principalement deux manière de distribuer minmax : 1. Méthode du split : le maitre execute le corps de l algorithme et chaque exclave ne fait qu évaluer des positions avec la fonction coût 6. 6 cf Principle Variation Splitting (Marsland, Olafsson, and Schaeffer, 1986) 12

13 2. Méthode du depth : le maître évalue le premier niveau et répartit sur les esclaves les calculs à faire. Chaque esclaves s occupant lui même des sous niveaux de l algorithme (chaque esclave execute MinMax mais en commençant à une profondeur différente). Ces deux méthodes ont leurs points faibles et leurs avantages : Pour la méthode du split : + Tous les esclaves travaillent en permanence + Si un esclave meurt on peut facilement redistribuer - Beaucoup de transfert réseau Pour la méthode du depth : + Peu de transfert réseau + Fiabilité : à chaque coup on envoi uniquement aux esclaves "vivants" - Si un esclave meurt on devra peut être refaire beaucoup de calcul en fonction de son niveau. - Certains esclaves peuvent ne pas travailler pour certains coups. Nous avons choisis la deuxième méthode. Notre minimax est distribué de la sorte : le maître Calcul de la liste des coups possibles Traitement des cas triviaux (un ou zero coups possibles) Creation des jobs 7 par le dispatcher Envoi des jobs aux processus esclaves Recuperation des meilleurs coups et comparaison Renvoi du meilleur coup Pour jouer en distribuant l algorithme il faut utiliser l option NETWORK l esclave Réception d une situation à tester Algorithme alpha beta dessus Renvoi au maître du meilleur coup trouvé et de sont coût 7 Un job un est un noeud de l arbre à évaluer 13

14 3.0.6 Amélioration En faisant cela on se rend vite compte que au dela de 6 esclaves (le nombre moyen de coup jouables) beaucoups ne servent que très peu ou pas du tout. Par exemple si au premier coup on a 5 possibilités et 20 esclaves le maitre n enverra des jobs que à 5 esclaves. La solution est d envoyer en même temps que les situation une liste d esclaves utilisable pour chaque exclaves. Par exemple dans le cas précédents si les esclaves sont numérotés de 1 à 20 on aura : esclave 1 : évalue cout de position 1 avec les esclaves 6,7,8 esclave 2 : évalue cout de position 2 avec les esclaves 9,10,11 esclave 3 : évalue cout de position 3 avec les esclaves 12,13,14 esclave 4 : évalue cout de position 4 avec les esclaves 15,16,17 esclave 5 : évalue cout de position 5 avec les esclaves 18,19,20 4 LAM/MPI 4.1 Introduction à LAM/MPI LAM/MPI est une bibliothèque de calcul parallèlle. MPI signifie Message Passing Interface et est un standard qui nous permet d écrire des applications distribuées portables. Il en existe plusieurs implémentations. Nous avons choisi LAM, qui est disponible sur toutes les distributions dignes de ce nom, et pour laquelle nous disposions d une documentation de qualité. LAM/MPI 8 est un environnement de programmation MPI développé par Ohio Supercomputer Center 9. Il permet à la fois le débuggage des applications MPI grace à des démons (comme PVM) et l éxécution performante des codes en courtcircuitant ces démons lorsque l application est testée

15 4.2 Installation de LAM/MPI Avec les sources Les sources de la version utilisée sont disponibles depuis l url suivante : Une fois les sources récupérée on compile les binaires :./configure --prefix=~/lam/ --without-romio make make install Sous Debian Pour compiler IAD, vous aurez besoin du paquet lam4-dev. Le problème est que ce paquet contient la version 7 de LAM, non compatible avec les versions inferieures (ou du moins posant suffisamment de problèmes de deploiment). Ceci venant de format de message incompatibles et d une liaison avec une version précise lors de la compilation. Pour eviter les problèmes d execution en cas de communication avec les machines du PIE, mieux vaut compiler LAM a partir des sources 10 afin d uniformiser les versions utilisées. Pour les autres distributions. Attention aux problèmes des versions. Utilisez bien la et pas les 7.*.* Parc Informatique EPITA Choix de la version de LAM : Nous n avons pas pu compiler les dernières versions de LAM sur le PIE, et nous sommes donc rabattus sur des versions anterieures : la Ceci ne devrait pas être pénalisant étant donné l usage que l on compte en faire. Une version compilée se trouve ici : " cessie_g/www/lam_install.tar.bz2". ou Lieu de l installation : Il faut que les binaires soient accessibles à toutes les machines participant a la distribution. Il faut donc installer les binaires sur votre compte ou sur le sgoinfre en cas de problème de quotas. 10 cf section

16 4.3 Configuration problèmes communs Clefs ssh : Lorsque vous lancez lamboot, il ne doit y avoir aucune sortie standard, c est à dire que aucune confirmation ou action ne doit être nécessaire. Ainsi vos clefs ssh ne doivent pas vous demander de mot de passe. deux solutions, soit vous creez vos clefs sans passphrase (non securisé), soit vous utilisez ssh-agent comme suit : eval ssh-agent -s ssh-add qui lorsque la passphrase sera demandé la renverra automatiquement problèmes liés au PIE environnement avoir un.mytcshrc comme celui qui suit (remplacer bien sur cessie_g par votre login ;), ne rien laisser d autre et la dernière ligne est indispensable!) : setenv PATH /u/a2/cessie\_g/lam/bin:/u/a2/cessie\_g/iad/bin\${path} setenv LAMHOME /u/a2/cessie\_g/lam/ setenv LAMRSH "ssh -x" alias. echo Je ne buggerais plus N.B : même si vous utilisez zsh, bash ou autre d habitude cela concerne toujours le.mytcshrc qui est utilisé par lamboot pour les vm. En effet lors du lancement des machines virtuelles sur les différents noeuds du réseau le shell par défaut est obligatoirement utilisé. En l occurence à l école le shell tcsh 11. Le PATH et LAHMOME permettent aux machines virtuelles de trouver LAM, LAMRSH indique que l on utilise ssh et pas rsh. Enfin l alias résoud un problème spécifique au PIE. Les machines virtuelles pourront alors être lancées sur des pcs distants

17 5 IAD 5.1 compilation Paramètres Les seuls paramètres intéressants à modifier sont : BOARD_SIZE : Dans board.h qui représente la taille de la board. MAX_LEVEL : La profondeur d évaluation de l algorithme (dans minmax_othello.h) ELAGUEUR : La puissance des cut-offs de l algorithme alpha-beta (dans minmax_othello.h) environnement du PIE Pour génerer le configure, il vous faut une version correcte des autotools : export PATH=/u/prof/yaka/bin/:\$PATH./autogen.sh NB : n utilisez surtout pas ceux d akim avec lesquels j ai eu de nombreux problèmes! le./configure Pour compiler IAD avec MPI il faut faire : CC=mpicc./configure --prefix=\$home/iad && make all install pour compiler avec le débuggage : CC=mpicc./configure --prefix=\$home/iad --enable-debug && make all install cela definira : IAD_DEBUG : macro a utiliser : IAD_DEBUG(command) ; IAD_DEBUG_FLAG : define a utiliser avec un #ifdef./configure --help vous donnera plus d informations. La compilation abouti à deux exécutables dans le répertoire src/ : iad et iadslave. L exécutable iad s occupe de l affichage graphique et de l envoi de données aux esclaves, alors que iadslave s occupe uniquement de retourner les coups (en utilisant minmax) pour une position et une profondeur donnée. 17

18 5.2 Configuration Spécification automatique Le "./configure" genère "/tmp/lamhosts" automatiquement avec la machine sur laquelle vous etes en premier (le maître) et une liste de nodes listés dans le fichier lamnodes. Ensuite on lance la vm sur les différents noeuds avec la commande : lamboot /tmp/lamhosts -vd Les deux dernieres lignes du résultat de la commande précédente doivent être les suivantes : topology done lamboot completed successfully Les machines virtuelles sont alors lancées sur les différents noeuds en attente de travaux Spécification avancee On peut mettre plus de travaux sur un pc avec l option CPU, le fichier lamhosts ressemblant alors à : localhost machine1 CPU=2 machine2 CPU=1 Le nom (ou l ip) de sa propre machine doit toujours être en debut de liste. 5.3 Exécution Il faut ensuite faire un fichier add.shema qui précise ce qui est lancé sur chaque noeud du réseau : n0 iad -b NETWORK n1 iadslave Ici on a indiqué que le noeud 0 fait tourner iad et le noeud 1 l éxecutable iadslave. NB : verifiez votre PATH pour qu il comprenne bien iad et iadslave. Ensuite pour lancer IAD qui utilisera tous les noeuds du réseau on lance sur le maître la commande : 18

19 mpirun add.schema NB : Attention bien distinguer les messages affichés par le maître et les esclaves car ils sont tous affichés sur le maître LAM/MPI plusieurs esclaves sur une seule machine Il suffit de changer les fichiers précédents avec : $ cat add.schema n0 iad -b NETWORK n0 -np X iadslave $ cat lamhosts localhost Remplacer X par le nombre d esclaves voulu. Ensuite le mpirun add.schema les utilisera tous sur le pc courant Autres modes Iad supporte de nombreuses options : Usage: iad [-h] [-b <input>] [-w <input>] [-o <output>] -h Help -b Input player (Black) [GRAPHIC] -w Input player (White) [GRAPHIC] -o Output [GRAPHIC] I/O values: TEXT GRAPHIC PIPE IA NETWORK RANDOM text mode graphic mode pipe mode (interface) EXPERIMENTAL! computer (input only) computer (input only) random mode (input only) Par exemple pour jouer contre l IA sans distribution on peut faire :./iad -b IA Ou pour tester la distribution de l algorithme contre un random :./iad -b NETWORK -w RANDOM 19

20 6 Résultats 6.1 Résultats techniques Malgré la distribution de l algorithme le jeu reste jouable (environ une seconde entre chaque coup pour une profondeur de 9 avec 15 esclaves 12 ). Les parties ont été testées contre de nombreux autres jeux d othello de niveaux conséquents 13 et les resultats semblent bons. Une procédure de test intensive à été mise au point en utilisant une IA random et l ordinateur gagne à 100% (environ 300 parties testées). Seulement deux points sont à améliorer : MPI ne gère pas facilement la mort des esclaves : si un esclave meurt (sigkill par exemple) la partie s arrete sans alternative : Lamboot stop directement tous les noeuds du réseau y compris le programme maitre. La redistribution des travaux en cas de problèmes ou d esclave inocupés n a pas été faite (problème avec la communication MPI qui ne permet pas d envoyer facilement des types complexes 14 ) Débug MPI du de l envoi et de la réception des coups et coûts : DEBUT MPI Je suis le maitre et il y a 13 process (moi compris). Master: debut create jobs: J ai 12 esclaves, chaque esclave va faire AU MIN 1 jobs parmis les 12. job numero 11 [pour player 2] Liste des coup a tester: 53, job numero 10 [pour player 2] Liste des coup a tester: 54, job numero 9 [pour player 2] Liste des coup a tester: 62, job numero 8 [pour player 2] Liste des coup a tester: 63, job numero 7 [pour player 2] Liste des coup a tester: 64, job numero 6 [pour player 2] Liste des coup a tester: 65, job numero 5 [pour player 2] Liste des coup a tester: 70, job numero 4 [pour player 2] Liste des coup a tester: 71, job numero 3 [pour player 2] Liste des coup a tester: 74, 12 Simulé sur un seul ordinateur Les structs par exemple 20

21 FIG. 5 Capture d écran en cours de partie job numero 2 [pour player 2] Liste des coup a tester: 76, job numero 1 [pour player 2] Liste des coup a tester: 78, job numero 0 [pour player 2] Liste des coup a tester: 79, Master: fin create job: 12 jobs crees. Master: debut de l envoi des donnees: Master: send jobs 11 to slave number 1 Master: send jobs 10 to slave number 2 Master: send jobs 9 to slave number 3 Master: send jobs 8 to slave number 4 Master: send jobs 7 to slave number 5 Master: send jobs 6 to slave number 6 Master: send jobs 5 to slave number 7 Master: send jobs 4 to slave number 8 Master: send jobs 3 to slave number 9 Master: send jobs 2 to slave number 10 Master: send jobs 1 to slave number 11 Master: send jobs 0 to slave number 12 21

22 Master: fin envoi des donnees. Master: debut reception des donnees sur 13 proc. * slave 1: La board recue contient 1 positions a tester pour le player 2. * slave 1: Envoi la meillleure position 53 (coutant 229) au maitre * slave 1: Fin envoi. Attente next job * slave 2: La board recue contient 1 positions a tester pour le player 2. * slave 2: Envoi la meillleure position 54 (coutant 234) au maitre * slave 2: Fin envoi. Attente next job * slave 3: La board recue contient 1 positions a tester pour le player 2. * slave 3: Envoi la meillleure position 62 (coutant 212) au maitre * slave 3: Fin envoi. Attente next job * slave 4: La board recue contient 1 positions a tester pour le player 2. * slave 4: Envoi la meillleure position 63 (coutant 221) au maitre * slave 4: Fin envoi. Attente next job * slave 5: La board recue contient 1 positions a tester pour le player 2. * slave 5: Envoi la meillleure position 64 (coutant 220) au maitre * slave 5: Fin envoi. Attente next job * slave 6: La board recue contient 1 positions a tester pour le player 2. * slave 6: Envoi la meillleure position 65 (coutant 231) au maitre * slave 6: Fin envoi. Attente next job * slave 7: La board recue contient 1 positions a tester pour le player 2. * slave 7: Envoi la meillleure position 70 (coutant 229) au maitre * slave 7: Fin envoi. Attente next job * slave 8: La board recue contient 1 positions a tester pour le player 2. * slave 8: Envoi la meillleure position 71 (coutant 221) au maitre 22

23 * slave 8: Fin envoi. Attente next job * slave 9: La board recue contient 1 positions a tester pour le player 2. * slave 9: Envoi la meillleure position 74 (coutant 227) au maitre * slave 9: Fin envoi. Attente next job * slave 10: La board recue contient 1 positions a tester pour le player 2. * slave 10: Envoi la meillleure position 76 (coutant 236) au maitre * slave 10: Fin envoi. Attente next job * slave 11: La board recue contient 1 positions a tester pour le player 2. * slave 11: Envoi la meillleure position 78 (coutant 228) au maitre * slave 11: Fin envoi. Attente next job * slave 12: La board recue contient 1 positions a tester pour le player 2. * slave 12: Envoi la meillleure position 79 (coutant 230) au maitre * slave 12: Fin envoi. Attente next job Master: a recut la position 53 avec le cout 229 Master: a recut la position 54 avec le cout 234 Master: a recut la position 62 avec le cout 212 Master: a recut la position 63 avec le cout 221 Master: a recut la position 64 avec le cout 220 Master: a recut la position 65 avec le cout 231 Master: a recut la position 70 avec le cout 229 Master: a recut la position 71 avec le cout 221 Master: a recut la position 74 avec le cout 227 Master: a recut la position 76 avec le cout 236 Master: a recut la position 78 avec le cout 228 Master: a recut la position 79 avec le cout 230 Master: fin reception des donnees Master: Le coup choisi est FIN MPI resultat:

24 FIG. 6 XMPI 6.2 XMPI Une des caractéristiques les plus intéressantes de LAM est la possibilité d exploiter les traces générées avec l option -ton de LAM mpirun. Le script lamjob appelle automatiquement lamtrace qui collecte ces traces dans le fichier lamjob.lamtr. L application XMPI 15 permet d exploiter les traces produites. A la fin de l exécution du code on lance xmpi sur le noeud maitre. On observe sur la figure 6 page 24 en vert les temps d activité (calcul), en rouge l inactivité et en jaune la communication. 7 Webographie

Algorithmique et Programmation Projets 2012/2013

Algorithmique et Programmation Projets 2012/2013 3 Dames 3. Objectif Il s agit d écrire un programme jouant aux Dames selon les règles. Le programme doit être le meilleur possible. Vous utiliserez pour cela l algorithme α β de recherche du meilleur coup

Plus en détail

Introduction à la théorie des jeux à deux

Introduction à la théorie des jeux à deux Introduction à la théorie des jeux à deux Table des matières 1 Arbres d évaluation 2 A) Minimax...................................... 2 B) α-β......................................... 3 2 Variantes et

Plus en détail

Projet de programmation Java Puissance 4

Projet de programmation Java Puissance 4 Projet de programmation Java Puissance 4 Juliusz Chroboczek et Gabriel Scherer Version du 13 novembre 2014 Le but de ce projet est d implémenter en Java un jeu de plateau qui s appelle Puissance 4. Votre

Plus en détail

1 Introduction. 2 Algorithmes sans élagage. 2.1 Minimax. Chapitre 3 : Jeux (Février 2007, Pierre Gançarski)

1 Introduction. 2 Algorithmes sans élagage. 2.1 Minimax. Chapitre 3 : Jeux (Février 2007, Pierre Gançarski) Chapitre 3 : Jeux (Février 2007, Pierre Gançarski) 1 Introduction Quatre caractérisques pour les jeux étudiés : jeux à deux : deux adversaires eectuent alternativement des coups, chaque défaillance de

Plus en détail

Les Jeux. Plan. Introduction. Le minimax. Le minimax α / β. Bilan

Les Jeux. Plan. Introduction. Le minimax. Le minimax α / β. Bilan Les Jeux Plan Introduction Qu est-ce qu un jeu? Pourquoi les jeux et quels jeux? Aperçu historique Informatisation Complexité Le minimax Création d un arbre ET / OU Fonction d évaluation Version simplifiée

Plus en détail

Intelligence Artificielle Jeux

Intelligence Artificielle Jeux Intelligence Artificielle Jeux Bruno Bouzy http://web.mi.parisdescartes.fr/~bouzy bruno.bouzy@parisdescartes.fr Licence 3 Informatique UFR Mathématiques et Informatique Université Paris Descartes Programmation

Plus en détail

Antoine Cornuéjols AgroParisTech

Antoine Cornuéjols AgroParisTech Antoine Cornuéjols AgroParisTech antoine.cornuejols@agroparistech.fr http://www.lri.fr/~antoine Cours IA 1. Introduction 2. Cas des jeux entièrement explorables 3. L algorithme du MinMax 4. Amélioration

Plus en détail

V Recherche dans les arbres de jeux

V Recherche dans les arbres de jeux V Recherche dans les arbres de jeux Damien Olivier Damien.Olivier@univ-lehavre.fr Faculte des Sciences et Techniques du Havre Maitrise d informatique - Intelligence Artificielle p.1/30 Plan 1. Quels jeux?

Plus en détail

Mini-Projet : Tournoi de Dames

Mini-Projet : Tournoi de Dames Mini-Projet : Tournoi de Dames L objectif du projet est de programmer un jeu de dames de façon à ce que votre programme puisse jouer une partie de dames avec les programmes des autres étudiants. 1 Organisation

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Rendu de travaux I, Algo - langage C

Rendu de travaux I, Algo - langage C IFIP 33 avenue de la République 75011 PARIS Rendu de travaux I, Valérie Amiot RP 50 2001-2002 SOMMAIRE I. Pourquoi sous C? II. Présentation du jeu 1) But du jeu III. Analyse fonctionnelle IV. Fonctionnalités

Plus en détail

Puissance 4 intelligent I3 Algorithmique

Puissance 4 intelligent I3 Algorithmique Puissance 4 intelligent I3 Algorithmique Nicol Delestre Puissance 4. v2.0 1 / 29 Plan 1 Force brute 2 Analyse 3 Conception préliminaire 4 Conception détaillée 5 Développement 6 Conclusion Puissance 4.

Plus en détail

Projet 2A STI : Supervision et audit de la sécurité système dans un réseau

Projet 2A STI : Supervision et audit de la sécurité système dans un réseau Projet 2A STI : Supervision et audit de la sécurité système dans un réseau Jeremy Briffaut,??? 8 septembre 2014 1 Objectifs Ce projet vous permettra de mettre en pratique vos connaissances acquises dans

Plus en détail

1 Force brute. 2 Analyse. 3 Conception préliminaire. 4 Conception détaillée. 5 Développement. 6 Conclusion. Architecture des Systèmes d Information

1 Force brute. 2 Analyse. 3 Conception préliminaire. 4 Conception détaillée. 5 Développement. 6 Conclusion. Architecture des Systèmes d Information Plan Puissance 4 intelligent I3 Algorithmique Nicol Delestre 1 Force brute 2 Analyse 3 Conception préliminaire 4 Conception détaillée 5 Développement 6 Conclusion Puissance 4. v2.0 1 / 29 Puissance 4.

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

Dossier projet isn 2015 par Victor Gregoire

Dossier projet isn 2015 par Victor Gregoire Dossier projet isn 2015 par Victor Gregoire Plan: I) But du projet: créer un jeu de blackjack fonctionnel et le poster sur une page web mise en ligne. Le jeu sera developpé en C++ a l'aide de code blocks.

Plus en détail

Sujet Projets 2 nd Semestre

Sujet Projets 2 nd Semestre Sujet Projets 2 nd Semestre Seuls les appels systèmes vus en cours sont autorisés. L usage d autres fonctions doit impérativement être validé par l enseignant. La date d ouverture pour l assignation de

Plus en détail

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt

Procédure pas à pas de découverte de l offre. Service Cloud Cloudwatt Procédure pas à pas de découverte de l offre Service Cloud Cloudwatt Manuel Utilisateur 03/07/2014 Cloudwatt - Reproduction et communication sont interdites sans autorisation 1/45 Contenu 1. Introduction...

Plus en détail

LES OUTILS DE LA GESTION DE PROJET

LES OUTILS DE LA GESTION DE PROJET LES OUTILS DE LA GESTION DE PROJET PROJET : «ensemble des actions à entreprendre afin de répondre à un besoin défini dans des délais fixés». Délimité dans le temps avec un début et une fin, mobilisant

Plus en détail

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

SNAKE. Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp. Copie d écran du jeu

SNAKE. Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp. Copie d écran du jeu SNAKE Programmation du jeu SNAKE sur la console Windows en C sous l IDE Devcpp Copie d écran du jeu Principe de fonctionnement du jeu : le serpent avance automatiquement, le joueur ne peut agir que sur

Plus en détail

Représentation de la Connaissance. Complément Pratique 7 novembre 2006

Représentation de la Connaissance. Complément Pratique 7 novembre 2006 Représentation de la Connaissance Les jeux en Prolog Introduction Complément Pratique 7 novembre 2006 Nous nous intéressons aux jeux à deux joueurs pour lesquels la situation du jeu est connue des deux

Plus en détail

Prendre un bon départ

Prendre un bon départ Chapitre A Prendre un bon départ 1 - Avant-propos Un ordinateur sait très bien faire deux choses : Calculer, d oùle nomcomputer en anglais que l on pourrait traduire par calculateur. Placer des données

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (2eme session) durée 2h Tous documents et calculatrices autorisés. Le sujet comporte 6 pages Le temps approximatif ainsi que le barème

Plus en détail

Série d exercices N 9 Arbres

Série d exercices N 9 Arbres Série d exercices N 9 Arbres Exercice 1 a) Ecrire une fonction ARBIN creerarbreentiers() qui permet de créer et de renvoyer l arbre d entiers suivant : b) Ecrire une fonction int feuilles(arbin a) qui

Plus en détail

Installation de Virtual Box & VM ware

Installation de Virtual Box & VM ware SCHMITT Année 2012/2014 Cédric BTS SIO Installation de Virtual Box & VM ware Description : Ce projet a pour but de définir la virtualisation, de comparer deux solution (Virtual Box & VMware), de les installer

Plus en détail

EXAMEN I31, 2015. La clarté et la concision de vos réponses est essentielle. Lisez l énoncé avant de répondre.

EXAMEN I31, 2015. La clarté et la concision de vos réponses est essentielle. Lisez l énoncé avant de répondre. EXAMEN I, 05 La clarté et la concision de vos réponses est essentielle. Lisez l énoncé avant de répondre. Euclide et Bézout Pour a = a 0 = 0,b = b 0 =. Première question. Calculez le PGCDg deaetb, ainsi

Plus en détail

LOGICIEL version pro Nouvelle version 2.0

LOGICIEL version pro Nouvelle version 2.0 LOGICIEL version pro Nouvelle version 2.0 Présentation : Avec le logiciel CHEVALENOR vous aurez l outil indispensable pour analyser et pour bien gérer vos mises sur les pronostiques quinté+ du site http://www.lechevalenor.fr/.

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1

DOCUMENTATION MISE A JOUR ANTIBIOGARDE. V4.0 en v4.1 DOCUMENTATION MISE A JOUR ANTIBIOGARDE V4.0 en v4.1 Version d Antibiogarde 4.1 Version du document 1.0 Date dernière mise à jour du document 15/06/2010 Retrouvez cette doc à jour sur : http://www.antibiogarde.org/activation/

Plus en détail

Preuve de la correction de l algorithme alpha-bêta

Preuve de la correction de l algorithme alpha-bêta I02 ÉPREUVE COMMUNE DE TIPE 2013 - Partie D TITRE : Preuve de la correction de l algorithme alpha-bêta Temps de préparation :.. 2 h 15 minutes Temps de présentation devant les examinateurs :.10 minutes

Plus en détail

TotEM. Guide d installation de l application. Décembre 2012 R006

TotEM. Guide d installation de l application. Décembre 2012 R006 TotEM Guide d installation de l application Décembre 2012 R006 TotEM Guide d installation de l application 1. Introduction 3 2. Installer le serveur (autonome) 10 3. Installer le serveur (application War)

Plus en détail

Sujet 4 : Jeu en réseau en Java / Swing. Auteur : Thomas JGENTI I072545

Sujet 4 : Jeu en réseau en Java / Swing. Auteur : Thomas JGENTI I072545 Projet Interfaces Homme-Machine Demi-valeur 16874 Année 2002-2003 Sujet 4 : Jeu en réseau en Java / Swing Auteur : Thomas JGENTI I072545 http://jgenti.free.fr/cnam Table de matières Table de matières...2

Plus en détail

Mettre en place sa plateforme de veille avec Netvibes

Mettre en place sa plateforme de veille avec Netvibes Mettre en place sa plateforme de veille avec Netvibes Karine Pasquier 6 mai 2011 HEG, Genève 1 Sommaire 1. Introduction... 3 1.1 Qu est-ce que c est... 3 1.2 A quoi ça sert pour la veille?... 3 1.3 Netvibes

Plus en détail

Leçons d échecs 8 ans et plus

Leçons d échecs 8 ans et plus Partenaire de la Fédération Française des Echecs Leçons d échecs ans et plus Leçon Le but du jeu Les échecs se jouent à deux sur un plateau carré de cases blanches (ou claires) et noires (ou foncées) qu

Plus en détail

Administration via l'explorateur WebSphere MQ

Administration via l'explorateur WebSphere MQ Ce document présente l utilisation de l Explorateur WebSphere MQ, et en particulier sa capacité à administrer des Queue Manager distants. Il aborde également les problèmes de sécurité liés à l administration

Plus en détail

Introduction à l utilisation d Occigen

Introduction à l utilisation d Occigen Introduction à l utilisation d Occigen Vous avez obtenu des heures de calcul sur un supercalculateur national! Ce petit guide va vous permettre de démarrer en quelques minutes. Avant de commencer, il vous

Plus en détail

BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4

BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4 MIETLICKI Pascal 3 MIC C2 BUREAU D ETUDES INFORMATIQUE JOUEUR DE PUISSANCE 4 1. Mode Console... 2 2. Mode Graphique... 2 3. Architecture de notre logiciel... 3 4. Manuel d utilisation... 5 5. Aide au joueur...

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Lancement de la simulation SIMBA

Lancement de la simulation SIMBA Lancement de la simulation SIMBA Sommaire Nature du document... 1 Présentation de l architecture réseau... 1 Configuration poste élève... 3 Configuration confxml... 3 Installation du service SimulationSIMBA...

Plus en détail

Programmation avancée en C

Programmation avancée en C Département Informatique Nom : Prénom : Année scolaire : 2007 2008 Date : 23 juin 2008 Module INF446 Session de juin Programmation avancée en C Contrôle de connaissance 1 de 45 minutes ÅERCI de répondre

Plus en détail

les outils de la gestion de projet

les outils de la gestion de projet les outils de la gestion de projet Sommaire Objectifs de la gestion de projet Les étapes du projet Les outils de gestion de projets Paramétrage de l outil PROJET : «ensemble des actions à entreprendre

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

MÉRÉ Aurélien FIIFO1. Pathfinder

MÉRÉ Aurélien FIIFO1. Pathfinder MÉRÉ Aurélien FIIFO1 AMC Pathfinder 1 Sommaire Préambule... 3 Modélisation de l espace... 4 Modélisation des cases δ, α... 4 Interface en mode texte... 5 Modélisation du robot... 8 1 ) Le type Robot...

Plus en détail

Afficher le contenu du script au fur et à mesure de son exécution.

Afficher le contenu du script au fur et à mesure de son exécution. 5 Commandes, variables et utilitaires système Ns avons étudié en détail les structures offertes par le langage de programmation des scripts shell, ainsi que les mécanismes d évaluation des expressions.

Plus en détail

Série 2 Premiers programmes

Série 2 Premiers programmes Licence pro. GTSBD 2013-2014 Structures de données, langage Python Série 2 Premiers programmes Programmes avec des affectations, des lectures et des écritures Exo 2.1 Le problème de la machine qui rend

Plus en détail

Projet OpNet. Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET

Projet OpNet. Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET Projet OpNet Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET 1Présentation...3 1.1Le besoin de mobilité...3 1.2Le protocole IP Mobile...4 1.3Opnet...5 1.4Le projet...6 2La réalisation du

Plus en détail

Sylvain Archenault Yves Houpert. Projet Informatique : Langage Java : Jeu De Dames en Java

Sylvain Archenault Yves Houpert. Projet Informatique : Langage Java : Jeu De Dames en Java Sylvain Archenault Yves Houpert Projet Informatique : Langage Java : Jeu De Dames en Java Projet GM3 Mai 2005 Chapitre 1 INTRODUCTION Le projet qui nous a été confié est de réaliser un jeu de dames en

Plus en détail

MarioUS Plombier génétique. IFT615 Intelligence artificielle. IFT630 Processus concurrents et parallélisme

MarioUS Plombier génétique. IFT615 Intelligence artificielle. IFT630 Processus concurrents et parallélisme MarioUS Plombier génétique IFT615 Intelligence artificielle IFT630 Processus concurrents et parallélisme Présenté par Gabriel P. Girard 07 173 738 Marc-Alexandre Côté 07 166 997 Simon Renaud-Deputter 07

Plus en détail

Ligne de commande Linux avancée et scriptage bash (Linux 201)

Ligne de commande Linux avancée et scriptage bash (Linux 201) Ligne de commande Linux avancée et scriptage bash (Linux 201) laurent.duchesne@calculquebec.ca maxime.boissonneault@calculquebec.ca Université Laval - Septembre 2014 1 2 Se connecter à Colosse ssh colosse.calculquebec.ca

Plus en détail

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI

Chapitre 6. Modélisation en P.L.I. 6.1 Lien entre PL et PLI. 6.1.1 Approximation de la PLI Chapitre 6 Modélisation en P.L.I. 6.1 Lien entre PL et PLI (P) problème de PL. On restreint les variables à être entières : on a un problème de PLI (ILP en anglais). On restreint certaines variables à

Plus en détail

LA GESTION D ASTREINTE White Paper

LA GESTION D ASTREINTE White Paper LA GESTION D ASTREINTE White Paper GENERALITES SUR LA GESTION D ASTREINTE :... 2 POURQUOI METTRE EN PLACE UNE GESTION D ASTREINTE AUTOMATISEE?... 2 LA TRANSMISSION DE L INFORMATION, LE NERF DE LA GESTION

Plus en détail

Comment mesurer les temps de calcul de vos programmes? Bonne pratique et pièges à éviter

Comment mesurer les temps de calcul de vos programmes? Bonne pratique et pièges à éviter Comment mesurer les temps de calcul de vos programmes? Bonne pratique et pièges à éviter Caroline Prodhon (carolineprodhon@hotmail.com) Philippe Lacomme (placomme@isima.fr) Ren Libo (ren@isima.fr) Remerciements

Plus en détail

Configurer Apache STORM. Version 1.0. avec plusieurs nœuds esclaves

Configurer Apache STORM. Version 1.0. avec plusieurs nœuds esclaves Configurer Apache STORM avec plusieurs nœuds esclaves Version 1.0 Rédacteur : Philippe Lacomme (placomme@isima.fr) Date : 24 aout 2015 Liste des modifications / Installation réalisée sur : Ubuntu 15.04

Plus en détail

Installation et utilisation de SSH. .et

Installation et utilisation de SSH. .et Installation et utilisation de SSH.et.soumission de travail SSH est un protocole de communication qui permet de communiquer à distance entre deux ordinateurs. Pour cela, il faut qu un des deux ordinateurs

Plus en détail

Algorithmique et programmation avec Java (NFA002)

Algorithmique et programmation avec Java (NFA002) Algorithmique et programmation avec Java (NFA002) Deuxième session 13 septembre 2012 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : listes (4 points) Etudiez le programme

Plus en détail

Les modèles technologiques de la localisation

Les modèles technologiques de la localisation Les modèles technologiques de la localisation Les modèles technologiques de la localisation Cécile Martin Université Rennes 2 Avant d entrer en détails dans les modèles technologiques de la localisation,

Plus en détail

Le voyageur de commerce

Le voyageur de commerce Université de Strasbourg UFR Maths-Informatique Licence 3 - Semestre 6 Le voyageur de commerce Jonathan HAEHNEL & Marc PAPILLON Strasbourg, le 3 mai 2012 Table des matières 1 Etat des lieux 4 1.1 Fonctionnalités..............................

Plus en détail

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG GUIDE UTILISATION POINT DE VENTE INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE SOMMAIRE 1 Créer une tâche de sauvegarde... 4 1.1 Paramètres de la tâche... 4 1.1.1 Nommer la tâche... 4 1.1.2 Emplacement

Plus en détail

LE CONTENU DU JEU : LA NOTATION :

LE CONTENU DU JEU : LA NOTATION : Dames Classiques Les jeux de pions et de plateau datent de la plus haute antiquité et furent trouvés notamment, dans des tombes en Egypte. Il semble donc logique de voir le jeu de dames comme un de leur

Plus en détail

Guide d installation de MySQL

Guide d installation de MySQL INF 1250 Introduction aux bases de données Guide d installation de MySQL 1 Introduction Ce guide vous indique la façon d installer et d utiliser le logiciel MySQL de Oracle (disponible en licence GPL).

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Authentification SSH avec utilisation de clés asymétriques RSA (Debian + Putty)

Authentification SSH avec utilisation de clés asymétriques RSA (Debian + Putty) Authentification SSH avec utilisation de clés asymétriques RSA (Debian + Putty) Date 16/03/2010 Version 2.0 Référence Auteur Antoine CRUE VOS CONTACTS TECHNIQUES JEAN-PHILIPPE SENCKEISEN ANTOINE CRUE LIGNE

Plus en détail

Serveur de déploiement FOG sous linux

Serveur de déploiement FOG sous linux Serveur de déploiement FOG sous linux FOG est une application open-source sous licence GPL de gestion d'images disques permettant le déploiement de stations via PXE. Ça permet par exemple d'éviter d'avoir

Plus en détail

Plateforme AnaXagora. Guide d utilisation

Plateforme AnaXagora. Guide d utilisation Table des matières 1. PRESENTATION DE LA PLATE-FORME D APPRENTISSAGE ANAXAGORA... 3 2. ARCHITECTURE FONCTIONNELLE... 4 3. L APPRENTISSAGE... 5 3.1. L ESPACE DE TRAVAIL... 5 3.1.1. Le calendrier... 5 4.

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Installer Joomla. 2013 Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring

Installer Joomla. 2013 Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring 3 Installer Joomla Dans ce chapitre, nous procéderons au téléchargement et à l installation manuelle de Joomla, et nous expliquerons la configuration de base. Les captures d écran et les instructions font

Plus en détail

ISN TP 3 : «Premiers pas en programmation» 18/06/2015

ISN TP 3 : «Premiers pas en programmation» 18/06/2015 ISN TP 3 : «Premiers pas en programmation» 18/06/2015 Cette année, nous allons développer des programmes dans un langage de programmation qui s appelle Python. Nous allons travailler dans un environnement

Plus en détail

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

Plus en détail

Utilisation de SVN. 1 Introduction. 2 Architecture. 3 Références et aide en ligne

Utilisation de SVN. 1 Introduction. 2 Architecture. 3 Références et aide en ligne N7 1IMA TECHNOLOGIE OBJET TP 3 18/02/2015 (Séance TP 2) Objectifs : Comprendre le principe d un outil de gestion de configuration Savoir utiliser SVN (subversion) 1 Introduction Pour travailler en groupe

Plus en détail

Obert Hervé Stumpf Mathieu Licence 3 RIA. Réseaux & Protocoles. Client pair-à-pair. Projet L3 RIA 2005-2006 Sommaire.

Obert Hervé Stumpf Mathieu Licence 3 RIA. Réseaux & Protocoles. Client pair-à-pair. Projet L3 RIA 2005-2006 Sommaire. Obert Hervé Stumpf Mathieu Licence 3 RIA Réseaux & Protocoles Client pair-à-pair Projet L3 RIA 2005-2006 Sommaire Page 1 sur 10 Introduction - Présentation du projet 3 Fonctionnement coté graine 4 Fonctionnement

Plus en détail

Comment compiler un programme MATLAB

Comment compiler un programme MATLAB Comment compiler un programme MATLAB 1- Introduction Le compilateur MATLAB génère un code source C à partir d une fonction MATLAB. Le code C généré par le compilateur MATLAB peut être: soit un code source

Plus en détail

Les applications embarquées Lexmark

Les applications embarquées Lexmark Les applications embarquées Lexmark Exploitez tout le potentiel de vos équipements avec les solutions Lexmark Les applications Lexmark ont été conçues pour permettre aux entreprises d enregistrer les,

Plus en détail

Sync-A-BOX et Duplicati. est une plateforme Cloud pour stocker et gérer vos données en ligne.

Sync-A-BOX et Duplicati. est une plateforme Cloud pour stocker et gérer vos données en ligne. Sync-A-BOX et Duplicati est une plateforme Cloud pour stocker et gérer vos données en ligne. Les usages : Espace de stockage externe, accessible depuis n importe où. Utilisable comme lecteur logique avec

Plus en détail

Travaux pratiques MPI Liste des exercices

Travaux pratiques MPI Liste des exercices Travaux pratiques MPI Liste des exercices 1 T.P. MPI Exercice 1 : Environnement MPI... 2 2 T.P. MPI Exercice 2 : Ping-pong... 3 3 T.P. MPI Exercice 3 : Communications collectives et réductions... 5 4 T.P.

Plus en détail

La version 12 de PaperPort s est enrichie de nombreuses fonctions qui vont vous aider à gérer encore plus efficacement l ensemble de vos documents.

La version 12 de PaperPort s est enrichie de nombreuses fonctions qui vont vous aider à gérer encore plus efficacement l ensemble de vos documents. Bienvenue! Nuance PaperPort est un logiciel de gestion documentaire qui vous permet de numériser, d organiser, de consulter, de manipuler et de partager vos documents papier et vos fichiers numériques

Plus en détail

ELSA LOGICIEL AIDES POUR UNE INSTALLATION RÉUSSIE. p.2. 1) À l installation. p.2. 2) Conditions impératives de bon fonctionnement DU LOGICIEL. p.

ELSA LOGICIEL AIDES POUR UNE INSTALLATION RÉUSSIE. p.2. 1) À l installation. p.2. 2) Conditions impératives de bon fonctionnement DU LOGICIEL. p. LOGICIEL ELSA AIDES POUR UNE INSTALLATION RÉUSSIE 1) À l installation 2) Conditions impératives de bon fonctionnement DU LOGICIEL 3) Transfert des inscrits 4) Problèmes après l installation en réseau p.2

Plus en détail

Suppression de la vanne EGR sur une phase 2

Suppression de la vanne EGR sur une phase 2 Suppression de la vanne EGR sur une phase 2 Par MaxWell Réalisé le 08/03/2013 Information : Ce guide explique comment désactiver la vanne EGR dans la cartographie du moteur 2,2L HDi du coupé 406 phase

Plus en détail

Apprendre la stratégie de l adversaire

Apprendre la stratégie de l adversaire M1 Master d informatique 28/29 Apprentissage à Partir d Exemples janvier 29 Apprendre la stratégie de l adversaire 1 But Soit un jeu à deux joueurs quelconque. Supposons que l un des deux joueurs suive

Plus en détail

Manuel d utilisation du terminal de paiement électronique virtuel

Manuel d utilisation du terminal de paiement électronique virtuel TPEV Manuel d utilisation du terminal de paiement électronique virtuel Version: 1.C Payline PROPRIETAIRE Page 1-1/29 Page des évolutions Le tableau ci-dessous liste les dernières modifications effectuées

Plus en détail

Ce rêve est devenu réalité!

Ce rêve est devenu réalité! Vous venez de trouver une règle mise en ligne par un collectionneur qui, depuis 1998, partage sa collection de jeux de société et sa passion sur Internet. Imaginez que vous puissiez accéder, jour et nuit,

Plus en détail

Un algorithme de composition musicale

Un algorithme de composition musicale Un algorithme de composition musicale Table des matières Présentation Le compositeur. Le code PMX.................................................. Structures de données utilisées........................................

Plus en détail

ENRICHIR LES DONNEES DE DETAILS ACCEDEES A TRAVERS UN RAPPORT OLAP

ENRICHIR LES DONNEES DE DETAILS ACCEDEES A TRAVERS UN RAPPORT OLAP ENRICHIR LES DONNEES DE DETAILS ACCEDEES A TRAVERS UN RAPPORT OLAP SAS Web Report Studio offre depuis de nombreuses versions la possibilité de visualiser les observations spécifiques à partir des données

Plus en détail

1 Certificats - 3 points

1 Certificats - 3 points Université de CAEN Année 2008-2009 U.F.R. de Sciences le 23 mars 2009 Master professionnel RADIS UE4 - module réseaux - Spécialisation Durée : 2h. - Tous documents autorisés 1 Certificats - 3 points Lors

Plus en détail

L inventaire avec les terminaux de saisie sans fil IMAGE Stratégie

L inventaire avec les terminaux de saisie sans fil IMAGE Stratégie L inventaire avec les terminaux de IMAGE Stratégie Manuel de l utilisateur Page 2 TABLE des MATIERES L INVENTAIRE AVEC LES TERMINAUX DE SAISIE SANS FIL IMAGE STRATEGIE... 1 PRESENTATION... 3 DEROULEMENT

Plus en détail

Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ;

Trois nouveaux formulaires sont donc nécessaires : Pour l affichage de la liste, un formulaire de sortie WEB_Liste associé à la table des [Films] ; De la base 4D au site Web 20 Conception des formulaires Web Trois nouveaux formulaires sont donc nécessaires : Pour le dialogue, un formulaire WEB_Trouver associé à la table des [Paramètres] ; Pour l affichage

Plus en détail

TP 1 - Utilisation de Python

TP 1 - Utilisation de Python TP 1 - Utilisation de Python L objectif de ce TP est d apprendre à faire réaliser des calculs et des tâches répétitives à un ordinateur. Pour faire cela, il est nécessaire de communiquer avec l ordinateur

Plus en détail

Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de comportement d un système

Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de comportement d un système Variables partagées et réseau. ET 24 : Modèle de comportement d un système Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de comportement

Plus en détail

Fonctions d évaluation

Fonctions d évaluation Chapitre 1 Fonctions d évaluation 1.1 In uence de la représentation du problème La façon dont on représente un jeu et les coups de ce jeu peut avoir une grande in- uence sur la dif culté d un jeu. De même,

Plus en détail

E-MARQUE. Avant le début du match. Au lancement du logiciel, trois choix sont proposés :

E-MARQUE. Avant le début du match. Au lancement du logiciel, trois choix sont proposés : E-MARQUE Logiciel non compatible avec MAC, sous Windows 8 bug possible (les joueurs s effacent en plein milieu de la rencontre). Pour éviter cela : Clic droit sur lelogiciel, propriétés compatibilité et

Plus en détail

Gestion d identités PSL Exploitation IdP Authentic

Gestion d identités PSL Exploitation IdP Authentic Gestion d identités PSL Exploitation IdP Authentic Entr ouvert SCOP http ://www.entrouvert.com Table des matières 1 Arrêt et démarrage 2 2 Configuration 2 2.1 Intégration à la fédération............................

Plus en détail

Le Grand Robert & Collins (v2) Version «déploiement site»

Le Grand Robert & Collins (v2) Version «déploiement site» Le Grand Robert & Collins (v2) Version «déploiement site» Manuel d installation serveur et postes clients Ce document décrit la procédure d installation Windows pour la version dite «déploiement site»

Plus en détail

LimeSurvey. Guide d initiation. 30/11/2015 Service des technologies de l information Adapté par : Julie Gauthier et Mélanie Grenon

LimeSurvey. Guide d initiation. 30/11/2015 Service des technologies de l information Adapté par : Julie Gauthier et Mélanie Grenon LimeSurvey Guide d initiation 30/11/2015 Service des technologies de l information Adapté par : Julie Gauthier et Mélanie Grenon Table des matières Introduction... 2 Accès au service... 2 Protection des

Plus en détail

4D v11 SQL Release 5 (11.5) ADDENDUM

4D v11 SQL Release 5 (11.5) ADDENDUM ADDENDUM Bienvenue dans la release 5 de 4D v11 SQL. Ce document présente les nouveautés et modifications apportées à cette nouvelle version du programme. Prise en charge de nouvelles plates-formes La release

Plus en détail

Plateforme Systempay. Intégration du module de paiement pour la plateforme VIRTUEMART 2.0 et supérieur PAIEMENT UNITAIRE Version 1.

Plateforme Systempay. Intégration du module de paiement pour la plateforme VIRTUEMART 2.0 et supérieur PAIEMENT UNITAIRE Version 1. Plateforme Systempay Intégration du module de paiement pour la plateforme VIRTUEMART 2.0 et supérieur PAIEMENT UNITAIRE Version 1.2a Rédaction, Vérification, Approbation Rédaction Vérification Approbation

Plus en détail

EveryWhereServer : raccordement et paramétrage :

EveryWhereServer : raccordement et paramétrage : EveryWhereServer : raccordement et paramétrage : Avant tout il faut au préalable préparer quelques éléments afin de faciliter le déploiement de vos machines sur l EveryWhereServer. 1. Vérifier que les

Plus en détail

Le Petit Robert 2011 Version réseau Windows

Le Petit Robert 2011 Version réseau Windows Le Petit Robert 2011 Version réseau Windows Manuel d installation serveur et postes clients Ce document décrit la procédure d installation pour la version réseau Windows (partage de fichiers) du Petit

Plus en détail

Université du Littoral Master 1. PROJET Puissance 4

Université du Littoral Master 1. PROJET Puissance 4 Université du Littoral Master 1 PROJET Puissance 4 Le but de ce projet est de réaliser un programme permettant à l utilisateur de jouer au Puissance 4 contre l ordinateur. 1 Travail à Rendre Le travail

Plus en détail

Utilisation de l application. Introduction à asa-control. Connexion à l application. Plus facile que tu ne le penses.

Utilisation de l application. Introduction à asa-control. Connexion à l application. Plus facile que tu ne le penses. asa-control Introduction à asa-control Utilisation de l application Plus facile que tu ne le penses. Tu travailles avec la souris et effectues toujours les mêmes étapes. Connexion à l application Choisis

Plus en détail