Algorithme d'Ariane par Amir Daouadi et Lyanis Souidi
Go to file
2023-05-01 18:14:45 +02:00
.idea rebase ff 2023-04-28 23:24:33 +02:00
.vscode rebase ff 2023-04-28 23:24:33 +02:00
resources/img Modification du README 2023-05-01 18:14:45 +02:00
src rebase ff 2023-04-28 23:24:33 +02:00
.gitignore Ajout de la documentation 2023-04-28 20:10:44 +02:00
Makefile rebase ff 2023-04-28 23:24:33 +02:00
rapport.pdf Ajout du rapport 2023-04-28 23:41:19 +02:00
README.md Modification du README 2023-05-01 18:14:45 +02:00
SAE21_2022.iml rebase ff 2023-04-28 23:24:33 +02:00

L'algorithme d'Ariane

Cet algorithme d'Ariane a été développé dans le cadre de la SAÉ2.01 "Développement dune application" lors de notre première année (2022) de BUT Informatique à l'IUT de Fontainebleau.

Compilation

Utiliser la commande suivante pour compiler le programme :

make

Lancement

Méthode n°1 (recommandée) : Compiler et lancer le programme avec Make

Utiliser la commande suivante pour compiler (si ce n'est pas déjà fait) puis lancer le programme :

make run

Méthode n°2 : Compiler puis lancer le programme

Une fois la compilation du programme faite, exécuter le programme à l'aide de la commande suivante :

java -cp out/ Main

Documentation

La documentation du programme est généré à l'aide de JavaDoc. Elle est disponible dans le dossier doc/ et peut être consultée en ouvrant le fichier index.html dans un navigateur web. Utilisez la commande suivante pour générer la documentation :

make doc

Utilisation

Import/export de fichier labyrinthe (.lab)

Importer un labyrinthe

Méthode n°1 : Depuis la page d'accueil

Cliquez sur le bouton "Importer une grille"

Méthode n°2 : Depuis la ligne de commande

Lors du lancement du programme, ajoutez le chemin vers le fichier .lab en argument.

Exemple :

make run chemin/vers/le/fichier.lab

ou :

java -cp out/ Main chemin/vers/le/fichier.lab

Exporter un labyrinthe

Depuis la page d'édition du labyrinthe, cliquez sur le bouton "Exporter" pour exporter le labyrinthe vers un fichier .lab.

Générer un labyrinthe aléatoire

Le programme dispose d'un générateur de labyrinthe aléatoire.

Le générateur fait en sorte que le labyrinthe soit toujours résolvable, c'est-à-dire qu'il contient l'emplacement de Thésée ainsi qu'une sortie, et qu'il est possible d'atteindre la sortie depuis la position de Thésée.

Méthode n°1 : Depuis la page d'accueil

  1. Cliquez sur le bouton "Générer une grille"
  2. Entrez les dimensions de la grille
  3. Cliquez sur le bouton "Remplir aléatoirement"

Méthode n°2 : Depuis la page d'édition du labyrinthe

Cliquez sur le bouton "Aléatoire"

Algorithmes

Le programme possède 2 algorithmes de résolution de labyrinthe décris ci-dessous. Reportez-vous à la section Simulations pour savoir comment les utiliser.

Algorithme de résolution aléatoire

L'algorithme choisit aléatoirement une des directions disponibles.

Algorithme de résolution déterministe

L'algorithme choisit la direction la plus proche de la sortie

Algorigramme

Algorigramme de l'algorithme de résolution déterministe

Simulations

Pour utiliser les algorithmes de résolution, le programme dispose de 2 modes d'affichages. Pour lancer une simulation, cliquez sur le bouton "Démarrer" depuis la page d'édition du labyrinthe, choisissez l'algorithme de résolution que vous souhaitez utiliser, puis choisissez l'un des deux modes d'affichage disponibles.

Mode d'affichage manuel (pas à pas)

Dans ce mode, l'utilisateur doit cliquer sur le bouton "Suivant" (ou sur la flèche directionnelle droite) pour faire avancer l'algorithme d'une étape.

Mode d'affichage automatique

Dans ce mode, l'algorithme effectue automatiquement 100 simulations et affiche à l'écran le nombre moyen de mouvements nécessaires à la résolution du labyrinthe.

Étant donné que les simulations peuvent être longues en fonction de la taille du labyrinthe et de la puissance de calcul disponible, le programme affiche à l'écran le numéro de la simulation en cours ainsi que le nombre de mouvements effectués par l'algorithme en temps réel. Cette information disparait de l'écran une fois les 100 simulations effectuées.

Crédits