Comportement étrange sur démo

Comportement étrange sur démo

by Lionel Isoz -
Number of replies: 8

Bonjour,

Après un step avec ce fichier de simulation simple (pièce jointe), je ne comprends pas pourquoi la démo prend la direction de la case en bas à gauche (angle de 84°), alors que cette case ne fait pas partie des 8 cases voisines, comme citée dans la donnée du projet 

3.2.2 : "Pour cela il suffit de comparer au maximum les distances des 8 voisins et de retenir celui qui offre la plus courte distance vers la cible."


Schéma de la situation


La position du joueur après un step sur la démo : 

# Players

-201.709155   363.421201      4     1

-15.338849    -373.480989      4    1

(donc un angle de 84°)

La position du joueur après un step sur mon programme : 

# position of players
-202.879991 363.584050 4 1
-15.338849 -373.480989 4 1
(donc un angle de 80°)

(Pour le deuxième joueur les positions sont identiques)


Merci de votre réponse

Lionel Isoz

In reply to Lionel Isoz

Re: Comportement étrange sur démo

by Vincent Jonathan Philippoz -

J'avais remarqué la même chose que toi, j'en ai conclu que le programme de démo regarde ces 3 critères pour choisir le point qu'il vise:

1) Le point est accessible en ligne droite

2) Le point visé permet d'avoir le chemin total (départ- arrivée) le plus court possible

3) S'il existe plusieurs points visés qui offrent la même longueur de chemin total, choisir celui le plus proche de l'arrivée


Une fois implémenté, le comportement des joueurs semble identique au programme de démo. 

In reply to Vincent Jonathan Philippoz

Différence démo / donnée et mise à jour de la donnée V 1.04

by Ronan Boulic -

1) Vos remarques sont correctes : le programme de démo implémente un algorithme plus élaboré que la méthode indiquée dans la donnée.

Cela explique que les tests sur le programme de démo donnent des résultats qui ne correspondent pas exactement à la méthode indiquée dans la donnée.

Le but du projet n'est pas de reproduire exactement le programme de démo mais de résoudre le problème décrit dans la donnée. D'ailleurs mes collègues ne fournissent pas de programme de démo pour leur projet.

La donnée propose une méthode simple à partir de la matrice des plus courtes distances. Cette méthode simple ne garantit pas d'obtenir le chemin le plus court vers son but ; cela dit, ce qui est demandé c'est simplement d'atteindre son but (en temps fini), on n'exige pas de suivre exactement le même chemin que le programme de démo.

2) La mise à jour de la donnée précise l'initialisation de la matrice des distances et ajoute une exception pour la détermination du spot voisin (exclusion du spot diagonal s'il y a un obstacle)

lien vers la donnée V 1.04 sur moodle:

https://moodlearchive.epfl.ch/2018-2019/mod/resource/view.php?id=1013833

In reply to Ronan Boulic

Re: Différence démo / donnée et mise à jour de la donnée V 1.04

by Vincent Jonathan Philippoz -

Est-ce que les deux algorithmes (celui de la consigne et celui de la démo) seront acceptés pour le rendu final ?

In reply to Ronan Boulic

Re: Différence démo / donnée et mise à jour de la donnée V 1.04

by Josquin Pascal Tille -
Bonjour,
Quand deux chemins ont la même longeur, les joueurs en prennent un chemin selon l'ordre dans lequel ils consultent leurs voisins. Il est donc possible que les joueurs prennent un chemin différent où il ne se croisent pas(illustration ci-jointe). Est-ce accepté pour le rendu ou faut-il faire en sorte que le deux joueurs prennet le même chemin?
Attachment ronde1.png
Attachment ronde2.png
In reply to Josquin Pascal Tille

méthode pour ne pas tourner en rond s'il y a plusieurs chemins de même distance

by Ronan Boulic -

cette solution ne permet pas de traiter le jeu en temps fini (condition requise pour le projet) puisqu'ils vont tourner en rond sans fin.


Dans une réponse précédente sur ce sujet j'indiquais qu'en cas de choix multiple l'algorithme devrait toujours faire le même choix .

J'avais indiqué 2 cas de figures:

- si on peut aller à la fois à droite ou à gauche, alors toujours choisir droite

- si on peut aller à la fois en haut ou en bas, alors toujours choisir vers le haut.


L'illustration que vous fournissez est un peu plus subtile mais correspond au même problème:


- si on peut aller à la fois à droite et vers le haut alors choisir vers la droite

- si on peut aller à la fois à gauche et vers le bas alors choisir vers le bas (ce qui permet de rencontrer le cas ci-dessus)


- si on peut aller à la fois à droite et vers le bas alors choisir vers la droite

- si on peut aller à la fois à gauche et vers le haut alors choisir vers le haut (ce qui permet de rencontrer le cas ci-dessus)

In reply to Ronan Boulic

Re: méthode pour ne pas tourner en rond s'il y a plusieurs chemins de même distance

by Sami Bouziri -

est ce qu on peut plutot choisir de toujours aller à gauche(comme le fait la demo) au lieu de toujours aller à droite ?