Auteur
| Conversation
|
lithit |
Posté le: 4/7/2022 6:14 Mis à jour: 4/7/2022 6:14
|
Je suis accro Inscrit le: 25/7/2013
Envois: 1707
Karma: 3344
|
Re: Un liquide trouve le chemin dans un labyrinthe
13
Je pose ça la, je sais que ça va être demandé Else - Paris
|
|
|
madflo |
Posté le: 4/7/2022 6:17 Mis à jour: 4/7/2022 6:17
|
Je m'installe Inscrit le: 1/6/2007
Envois: 254
Karma: 292
|
Re: Un liquide trouve le chemin dans un labyrinthe
10
J'adore ce genre de vidéos Maintenant le mais : je me posais la question, l'air ne devrait pas être impossible à vider en circuit fermé comme en haut à gauche ?
|
|
|
Geronimo75 |
Posté le: 4/7/2022 6:43 Mis à jour: 4/7/2022 6:43
|
Je m'installe Inscrit le: 14/6/2019
Envois: 110
Karma: 310
|
Re: Un liquide trouve le chemin dans un labyrinthe
2
Citation : @madflo J'adore ce genre de vidéos
Maintenant le mais : je me posais la question, l'air ne devrait pas être impossible à vider en circuit fermé comme en haut à gauche ?
Rien ne dit que c’est de l’air ?
|
|
|
gigazman |
Posté le: 4/7/2022 7:29 Mis à jour: 4/7/2022 7:29
|
Je viens d'arriver Inscrit le: 2/10/2007
Envois: 55
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Comment trouver le chemin le plus long…
|
|
|
Mopimoi |
Posté le: 4/7/2022 7:59 Mis à jour: 4/7/2022 7:59
|
Je suis accro Inscrit le: 10/2/2010
Envois: 598
Karma: 3444
En ligne ! |
Re: Un liquide trouve le chemin dans un labyrinthe
1
Citation : @Geronimo75 Rien ne dit que c’est de l’air ?
Qu'est ce que ça peut être d'autre qui expliquerait cette hérésie physique ?
|
|
|
dylsexique |
Posté le: 4/7/2022 7:59 Mis à jour: 4/7/2022 18:30
|
Je masterise ! Inscrit le: 18/3/2014
Envois: 2271
Karma: 8013
|
Re: Un liquide trouve le chemin dans un labyrinthe
12
Contrairement à son apparente inefficacité, cette méthode fonctionne assez bien comme algorithme de "path-finding" : Il explore les chemins : a) dans l'ordre de leur longueur b) sans repasser deux fois par le même chemin Ca s'approche beaucoup d'un algo A*. Donc c'est relativement bien optimisé. La différence, c'est qu'au lieu de donner un point cible, on donne une direction cible via la direction de la gravité. Et ça tombe bien : la sortie se trouve vers le bas, donc cette "consigne" n'est pas déconnante (elle donne la priorité aux routes qui vont globalement vers le bas, donc potentiellement vers la sortie) La raison pour laquelle la solution met tant de temps à être trouvée, c'est que le labyrinthe a été conçu (ou choisi) spécialement pour que le bon chemin soit un des plus longs (afin que tout le laby se remplisse avant que le liquide ne trouve la sortie). Ca aurait été un cas difficile pour la plupart des algos. Mais dans beaucoup de cas, je suis convaincu que cette méthode trouvera le bon chemin sans devoir parcourir tout le laby. Après, on peut rétorquer que "le liquide trouve la sortie, mais au final ça ne met pas le chemin en évidence. Ce n'est donc pas du vrai pathfinding". Je propose une amélioration : Une fois que le liquide a trouvé la sortie, il est immobile dans toutes les routes, sauf dans la branche reliant l'entrée à la sortie. A ce stade, il suffit de mettre un colorant dans l'eau, et il se diffusera dans le seul chemin où un écoulement a encore lieu, traçant ainsi la solution du labyrinthe Citation : @madflo l'air ne devrait pas être impossible à vider en circuit fermé comme en haut à gauche ?
Dans le cas d'un labyrinthe 100% fermé, en effet, certaines poches d'air ne peuvent pas se remplir (celles dans lesquelles l'eau entre par en dessous). Mais c'est tant mieux : Si on reproduisait l'expérience en vrai, cela accélèrerait encore plus la résolution ! Certaines branches qui aboutissent sur des culs de sac seraient bloquées par de l'air. En fait, je commence à croire que cette méthode de résolution physique est extrêmement efficace
|
|
|
zoneh |
Posté le: 4/7/2022 8:06 Mis à jour: 4/7/2022 8:06
|
Je suis accro Inscrit le: 26/5/2014
Envois: 1216
Karma: 4842
|
Re: Un liquide trouve le chemin dans un labyrinthe
10
Habituellement, je regarde la barre de téléchargement défiler... ça change
|
|
|
Reidid |
Posté le: 4/7/2022 8:18 Mis à jour: 4/7/2022 8:18
|
Je m'installe Inscrit le: 18/5/2010
Envois: 399
Karma: 398
|
Re: Un liquide trouve le chemin dans un labyrinthe
1
Citation : @Mopimoi Citation : @Geronimo75 Rien ne dit que c’est de l’air ?
Qu'est ce que ça peut être d'autre qui expliquerait cette hérésie physique ?
Du vide
|
|
|
Mopimoi |
Posté le: 4/7/2022 8:24 Mis à jour: 4/7/2022 8:24
|
Je suis accro Inscrit le: 10/2/2010
Envois: 598
Karma: 3444
En ligne ! |
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : Du vide serait instantanément comblé par les entrées / sorties... sauf si c'est aussi du vide autour. M'enfin, ça devient capillotracté.
|
|
|
saihtam |
Posté le: 4/7/2022 8:29 Mis à jour: 4/7/2022 8:29
|
Je m'installe Inscrit le: 14/12/2019
Envois: 232
Karma: 633
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
@ Mopimoi un système sous cloche suffirait. C'est pas capilotracté, c'est juste un peu lourd logistiquement
|
|
|
gnarf2 |
Posté le: 4/7/2022 8:30 Mis à jour: 4/7/2022 8:30
|
Je suis accro Inscrit le: 11/4/2019
Envois: 744
Karma: 1483
|
Re: Un liquide trouve le chemin dans un labyrinthe
3
Mais Thésée vous bon sang!!
|
|
|
billyboy45 |
Posté le: 4/7/2022 8:51 Mis à jour: 4/7/2022 8:57
|
Je suis accro Inscrit le: 17/7/2008
Envois: 1173
Karma: 1996
|
Re: Un liquide trouve le chemin dans un labyrinthe
2
Citation : @Reidid Citation : @Mopimoi Citation : @Geronimo75 Rien ne dit que c’est de l’air ?
Qu'est ce que ça peut être d'autre qui expliquerait cette hérésie physique ?
Du vide
Vous êtes mignons tous à chercher des explications physiques alors que c'est une simulation 3D (et je dis pas ça au pif, en tant qu'artiste 3D j'en ai fait de la "fluid sim" et ça ressemble exactement à ça) EDIT: Voilà je l'ai retrouvé https://www.tiktok.com/@bergmanjoe
|
|
|
Jinroh |
Posté le: 4/7/2022 9:12 Mis à jour: 4/7/2022 9:12
|
J'aime glander ici Inscrit le: 3/12/2017
Envois: 6130
Karma: 9282
|
Re: Un liquide trouve le chemin dans un labyrinthe
2
Moi j aime bien aussi les videos de type "Arkanoid" extrême...avec plein de multiball et tout....je sais pas. Ca me détend
|
|
|
Baba-Yaga |
Posté le: 4/7/2022 9:30 Mis à jour: 4/7/2022 9:30
|
Je poste trop Inscrit le: 10/7/2016
Envois: 16919
Karma: 12467
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
N'empêche que le labyrinthe n'est pas résolu.
|
|
|
gazeleau |
Posté le: 4/7/2022 9:36 Mis à jour: 4/7/2022 9:36
|
J'aime glander ici Inscrit le: 16/4/2018
Envois: 7979
Karma: 6788
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @Reidid Citation : @Mopimoi Citation : @Geronimo75 Rien ne dit que c’est de l’air ?
Qu'est ce que ça peut être d'autre qui expliquerait cette hérésie physique ?
Du vide
De la vapeur de liquide vert
|
|
|
n666eo |
Posté le: 4/7/2022 9:41 Mis à jour: 4/7/2022 9:41
|
Je m'installe Inscrit le: 15/10/2018
Envois: 329
Karma: 437
|
Re: Un liquide trouve le chemin dans un labyrinthe
1
Citation : @Reidid Citation : @Mopimoi Citation : @Geronimo75 Rien ne dit que c’est de l’air ?
Qu'est ce que ça peut être d'autre qui expliquerait cette hérésie physique ?
Du vide
Dans du vide, le liquide s'évapore instantanément. C'est effectivement juste une simulation très partielle de l'écoulement d'un liquide, impossible à reproduire en réalité (ce n'est pas son objectif) Une vraie bonne simue de méca-flux donnerait des résultats très différents.
|
|
|
TasteDaLoko |
Posté le: 4/7/2022 10:24 Mis à jour: 4/7/2022 10:24
|
Je m'installe Inscrit le: 11/8/2015
Envois: 253
Karma: 386
|
Re: Un liquide trouve le chemin dans un labyrinthe
1
Citation : @n666eo Citation : @Reidid Citation : @Mopimoi Citation : @Geronimo75 Rien ne dit que c’est de l’air ?
Qu'est ce que ça peut être d'autre qui expliquerait cette hérésie physique ?
Du vide
Dans du vide, le liquide s'évapore instantanément. C'est effectivement juste une simulation très partielle de l'écoulement d'un liquide, impossible à reproduire en réalité (ce n'est pas son objectif)
Une vraie bonne simue de méca-flux donnerait des résultats très différents.
Ca dépend du fluide utilisé. Tout les fluides ne s'évaporent pas dans le vide
|
|
|
Wiiip |
Posté le: 4/7/2022 10:44 Mis à jour: 4/7/2022 10:44
|
Je suis accro Inscrit le: 31/7/2007
Envois: 935
Karma: 1686
|
Re: Un liquide trouve le chemin dans un labyrinthe
1
Effectivement, en regardant cette vidéo, on se dit qu'il y a trop d'incohérences (ou de mystères) pour que ce soit une experience réelle.
La gravité est trop basse, l'inertie trop importante (c'est joli, et spectaculaire), la tension de surface quasi-nulle, et un problème avec les poches d'air. Il y a aussi un soucis avec l'éclairage tout à fait parfait, et l'absence de profondeur et de problème de parallaxes qui vont avec. Pour les poches d'air, on aurait pu imaginer une experience entièrement sous vide. Pour la faible tension de surface, on aurait pu imaginer que tout le système est gigantesque (une dizaine de mètres, voir plus), ce qui permettrait aussi d'expliquer l'inertie et les bouillonnements du liquide. Pour la faible gravité, on aurait pu imaginer que l'ensemble n'était pas vertical, mais faiblement penché ... Mais dans ce cas, comment expliquer qu'il n'y ait pas du tout de dégradé de couleurs ?
Bref, même si c'est bien fait, ca semble trop irréaliste pour être naturel.
|
|
|
NoloZ |
Posté le: 4/7/2022 10:55 Mis à jour: 4/7/2022 10:55
|
Je m'installe Inscrit le: 28/1/2021
Envois: 126
|
Re: Un liquide trouve le chemin dans un labyrinthe
1
"trouve le chemin" c'est vite dit, il rempli tout donc fini par le trouver oui, mais on peut pas dire qu'il soit très efficace dans ses recherches
|
|
|
LugerKain |
Posté le: 4/7/2022 11:07 Mis à jour: 4/7/2022 11:07
|
Je suis accro Inscrit le: 24/10/2021
Envois: 987
Karma: 1797
|
Re: Un liquide trouve le chemin dans un labyrinthe
1
Avec tout ces commentaires j'ai envie de refaire ce truc en vrai avec une imprimante 3D, une paroi en plexi et du liquide fluo, le truc le plus dur à faire je pense, c'est combattre ma flemme
|
|
|
bergmano |
Posté le: 4/7/2022 11:16 Mis à jour: 4/7/2022 11:16
|
Je viens d'arriver Inscrit le: 12/2/2018
Envois: 11
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
la video aurait été plus sympa en reel plutot qu'une anim' en mode atari...
|
|
|
stero |
Posté le: 4/7/2022 11:18 Mis à jour: 4/7/2022 11:18
|
Je suis accro Inscrit le: 14/9/2015
Envois: 1139
Karma: 1168
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
ça aurait été tout-de-suite un plus gros challenge avec la sortie tout en haut à gauche...
|
|
|
n666eo |
Posté le: 4/7/2022 11:50 Mis à jour: 4/7/2022 12:00
|
Je m'installe Inscrit le: 15/10/2018
Envois: 329
Karma: 437
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @TasteDaLoko Citation : @n666eo Citation : @Reidid Citation : @Mopimoi Citation : @Geronimo75 Rien ne dit que c’est de l’air ?
Qu'est ce que ça peut être d'autre qui expliquerait cette hérésie physique ?
Du vide
Dans du vide, le liquide s'évapore instantanément. C'est effectivement juste une simulation très partielle de l'écoulement d'un liquide, impossible à reproduire en réalité (ce n'est pas son objectif)
Une vraie bonne simue de méca-flux donnerait des résultats très différents.
Ca dépend du fluide utilisé. Tout les fluides ne s'évaporent pas dans le vide ;)
Dans un vide absolu, inatteignable en pratique, si. Et si on part du fait qu'on atteindra pas un vide absolu, alors le liquide ne peut pas tout remplir, il y aura toujours une poche de gaz. Cas théorique --> pas de liquide Cas réel --> existence forcée de poches de gaz. P.S. : dans la pratique c'est tout à fait faisable : il existe des membranes qui laissent passer le gaz mais pas le liquide (largement utilisées en spectrométrie de masse pour l'analyse de gaz dissouts). Il suffit de faire les extrémités closes du laby avec ces membranes, le liquide poussera le gaz en dehors et remplira tout l'espace, sans sortir du laby.
|
|
|
user163518 |
Posté le: 4/7/2022 12:20 Mis à jour: 4/7/2022 12:20
|
Je m'installe Inscrit le: 28/2/2021
Envois: 139
Karma: 202
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
@gnarf2 très joli +1
|
|
|
arcadja |
Posté le: 4/7/2022 14:39 Mis à jour: 4/7/2022 14:39
|
Je viens d'arriver Inscrit le: 31/7/2019
Envois: 32
Karma: 123
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
@dylsexique Ca devient rare les vrais commentaires comme le tien qui apporte un plus à la vidéos (sans chercher à faire la meilleure vanne, le blaze, ou autre toxicité..)
|
|
|
eiffel |
Posté le: 4/7/2022 14:40 Mis à jour: 4/7/2022 14:40
|
Je m'installe Inscrit le: 18/5/2016
Envois: 206
Karma: 122
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
ce n'est pas du tout réaliste : les parois ne sont pas poreuses à l'air, donc il y a forcément des poches qui se créent
|
|
|
Reidid |
Posté le: 4/7/2022 14:45 Mis à jour: 4/7/2022 14:45
|
Je m'installe Inscrit le: 18/5/2010
Envois: 399
Karma: 398
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @n666eo Citation : @TasteDaLoko Citation : @n666eo Citation : @Reidid Citation : @Mopimoi Citation : @Geronimo75 Rien ne dit que c’est de l’air ?
Qu'est ce que ça peut être d'autre qui expliquerait cette hérésie physique ?
Du vide
Dans du vide, le liquide s'évapore instantanément. C'est effectivement juste une simulation très partielle de l'écoulement d'un liquide, impossible à reproduire en réalité (ce n'est pas son objectif)
Une vraie bonne simue de méca-flux donnerait des résultats très différents.
Ca dépend du fluide utilisé. Tout les fluides ne s'évaporent pas dans le vide ;)
Dans un vide absolu, inatteignable en pratique, si. Et si on part du fait qu'on atteindra pas un vide absolu, alors le liquide ne peut pas tout remplir, il y aura toujours une poche de gaz.
Cas théorique --> pas de liquide Cas réel --> existence forcée de poches de gaz.
P.S. : dans la pratique c'est tout à fait faisable : il existe des membranes qui laissent passer le gaz mais pas le liquide (largement utilisées en spectrométrie de masse pour l'analyse de gaz dissouts). Il suffit de faire les extrémités closes du laby avec ces membranes, le liquide poussera le gaz en dehors et remplira tout l'espace, sans sortir du laby.
Alors du vide, avec une très forte gravité
|
|
|
chopsuey |
Posté le: 4/7/2022 15:58 Mis à jour: 4/7/2022 15:58
|
Je masterise ! Inscrit le: 2/5/2013
Envois: 4227
Karma: 4045
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
@ bergmano Citation : la video aurait été plus sympa en reel plutot qu'une anim' en mode atari... Bon courage à l'atari pour calculer une simulation de fluide comme ça
|
|
|
Reidid |
Posté le: 4/7/2022 17:20 Mis à jour: 4/7/2022 17:20
|
Je m'installe Inscrit le: 18/5/2010
Envois: 399
Karma: 398
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @n666eo Dans un vide absolu
Peut-on parler dans ce cas de vide infiniment dense?
|
|
|
PseudoPris |
Posté le: 4/7/2022 17:52 Mis à jour: 4/7/2022 17:52
|
Je suis accro Inscrit le: 5/5/2014
Envois: 941
Karma: 1281
|
Re: Un liquide trouve le chemin dans un labyrinthe
1
@ arcadja @ dylsexique Exactement, et j'ai mis un +1 à Dylsexique rien que pour ça. Et cela prouve que aussi que certains ne lisent pas les commentaires "Cela ne donne pas le solution" alors que tu as dit avant "une fois plein, on change de colorant". Donc je les mets là pour qu'ils aient la réponse. @ Baba-Yaga @ NoloZ
|
|
|
Nutell_moi |
Posté le: 4/7/2022 18:20 Mis à jour: 4/7/2022 18:21
|
Je masterise ! Inscrit le: 13/11/2013
Envois: 2126
Karma: 3398
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Mais, dylsexique, c'est un +100 a chaque comm qu'il devrait prendre.
|
|
|
Baba-Yaga |
Posté le: 4/7/2022 21:05 Mis à jour: 4/7/2022 21:05
|
Je poste trop Inscrit le: 10/7/2016
Envois: 16919
Karma: 12467
|
Re: Un liquide trouve le chemin dans un labyrinthe
1
Citation : @PseudoPris Et cela prouve que aussi que certains ne lisent pas les commentaires "Cela ne donne pas le solution" alors que tu as dit avant "une fois plein, on change de colorant".
Donc je les mets là pour qu'ils aient la réponse. @Baba-Yaga @NoloZ
Ah oui mais non, je suis pas d'accord, moi aussi je peux prendre mes gros feutres et tout colorier en vert et dire qu'à force de tout remplir, j'ai trouvé la sortie.
|
|
|
NoloZ |
Posté le: 4/7/2022 21:50 Mis à jour: 4/7/2022 21:50
|
Je m'installe Inscrit le: 28/1/2021
Envois: 126
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @PseudoPris @arcadja @dylsexique Exactement, et j'ai mis un +1 à Dylsexique rien que pour ça. Et cela prouve que aussi que certains ne lisent pas les commentaires "Cela ne donne pas le solution" alors que tu as dit avant "une fois plein, on change de colorant".
Donc je les mets là pour qu'ils aient la réponse. @Baba-Yaga @NoloZ
Alors oui excuse moi mais je ne commente pas les commentaires en premier lieu mais la vidéo en elle-même et la façon dont elle est présenté. C'est facile de dire "oui mais si on change de colorant ça prendra que le chemin de la solution", là c'est pas ce qu'on constate et j'ai pas non plus l'impression que c'est qu'on cherche à nous démontrer. C'est joli, la mécanique du fluide est très bien faite tout ça, mais présenter ça en disant "le liquide trouve le chemin" je trouve ça légèrement malhonnête. Surtout que si le but c'est de trouver le chemin le plus rapidement possible, c'est pas du tout la manière la plus efficace. Ça reste néanmoins élégant, ça j'dis pas le contraire.
|
|
|
dylsexique |
Posté le: 4/7/2022 22:45 Mis à jour: 4/7/2022 22:45
|
Je masterise ! Inscrit le: 18/3/2014
Envois: 2271
Karma: 8013
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @NoloZ Surtout que si le but c'est de trouver le chemin le plus rapidement possible, c'est pas du tout la manière la plus efficace..
Quelle est la manière la plus efficace ?
|
|
|
Pacolito |
Posté le: 4/7/2022 22:46 Mis à jour: 4/7/2022 22:46
|
Je suis accro Inscrit le: 11/10/2009
Envois: 1090
Karma: 1329
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
C'est quand même vachement plus simple de faire ça avec un entonnoir.
|
|
|
NoloZ |
Posté le: 4/7/2022 23:05 Mis à jour: 4/7/2022 23:05
|
Je m'installe Inscrit le: 28/1/2021
Envois: 126
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
@dylsexique J'suis pas un expert en algorithmes de pathfinding mais sûrement pas en se soumettant aux lois de la gravité en tout cas. Mais encore une fois je ne dis pas que c'était l'objectif de cette démonstration (je préfère le rappeler pour ne pas rentrer dans un débat stérile).
|
|
|
dylsexique |
Posté le: 5/7/2022 8:27 Mis à jour: 5/7/2022 8:27
|
Je masterise ! Inscrit le: 18/3/2014
Envois: 2271
Karma: 8013
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
@ NoloZ Ok ^^ Ben dans mon message plus haut (que tu viens de commenter) je montre justement que : "Contrairement à son apparente inefficacité, cette méthode fonctionne assez bien comme algorithme de path-finding" Ce n'est pas grave si ce n'était pas l'objet initial de la vidéo. Rien ne nous empêche de parler de ça et d'en discuter, il n'y a rien de stérile là dedans
|
|
|
NoloZ |
Posté le: 5/7/2022 9:58 Mis à jour: 5/7/2022 9:58
|
Je m'installe Inscrit le: 28/1/2021
Envois: 126
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
@dylsexique En fait je répondais plutôt à PseudoPris qui lui même avait répondu à mon commentaire avant ça.
Alors oui ça fonctionne effectivement mais plutôt "assez mal" je dirais. Ça explore 100% du terrain avant de trouver le bon chemin et ça ne laisse aucune trace du chemin optimal.
|
|
|
n666eo |
Posté le: 5/7/2022 10:05 Mis à jour: 5/7/2022 10:05
|
Je m'installe Inscrit le: 15/10/2018
Envois: 329
Karma: 437
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @Reidid Citation : @n666eo Dans un vide absolu
Peut-on parler dans ce cas de vide infiniment dense?
C'est une tournure qui m'a toujours amusé. On peut, même si ça n'a pas vraiment de sens... c'est comme dire d'un objet sans masse qu'il a une légèreté infinie... Un peu tordu ; on dit plutôt qu'il a une masse nulle...
|
|
|
Programaths |
Posté le: 5/7/2022 14:26 Mis à jour: 5/7/2022 14:26
|
Je suis accro Inscrit le: 7/6/2004
Envois: 754
Karma: 394
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @dylsexique Contrairement à son apparente inefficacité, cette méthode fonctionne assez bien comme algorithme de "path-finding" :
Il explore les chemins : a) dans l'ordre de leur longueur b) sans repasser deux fois par le même chemin
Ca s'approche beaucoup d'un algo A*. Donc c'est relativement bien optimisé.
La différence, c'est qu'au lieu de donner un point cible, on donne une direction cible via la direction de la gravité. Et ça tombe bien : la sortie se trouve vers le bas, donc cette "consigne" n'est pas déconnante (elle donne la priorité aux routes qui vont globalement vers le bas, donc potentiellement vers la sortie)
La raison pour laquelle la solution met tant de temps à être trouvée, c'est que le labyrinthe a été conçu (ou choisi) spécialement pour que le bon chemin soit un des plus longs (afin que tout le laby se remplisse avant que le liquide ne trouve la sortie). Ca aurait été un cas difficile pour la plupart des algos.
Mais dans beaucoup de cas, je suis convaincu que cette méthode trouvera le bon chemin sans devoir parcourir tout le laby.
Après, on peut rétorquer que "le liquide trouve la sortie, mais au final ça ne met pas le chemin en évidence. Ce n'est donc pas du vrai pathfinding". Je propose une amélioration :
Une fois que le liquide a trouvé la sortie, il est immobile dans toutes les routes, sauf dans la branche reliant l'entrée à la sortie. A ce stade, il suffit de mettre un colorant dans l'eau, et il se diffusera dans le seul chemin où un écoulement a encore lieu, traçant ainsi la solution du labyrinthe
Citation : @madflo l'air ne devrait pas être impossible à vider en circuit fermé comme en haut à gauche ?
Dans le cas d'un labyrinthe 100% fermé, en effet, certaines poches d'air ne peuvent pas se remplir (celles dans lesquelles l'eau entre par en dessous).
Mais c'est tant mieux : Si on reproduisait l'expérience en vrai, cela accélèrerait encore plus la résolution ! Certaines branches qui aboutissent sur des culs de sac seraient bloquées par de l'air.
En fait, je commence à croire que cette méthode de résolution physique est extrêmement efficace :D
Non: À gauche, A* multi thread qui explore 1 carré à la seconde avec. Total: 8 secondes. A droite, le liquide qui avec un débit d'un carreau par seconde. Total: 15 secondes (pas besoin d'entamer les carreau du haut) Pour le A* classique, avec une file, on met 15 secondes. Mais là, c'est comparer une chose naturellement "multi thread" (de la flotte ^^) avec quelque chose d’artificiellement limité. Le A* multi thread, c'est l'équivalent de fourmis qui commencent groupées et explore le labyrinthe. À chaque croisement, le groupe se sépare et quand une fourmis atteint l'arrivée, elle remonte au carrefour où les fourmis qui étaient dans un cul de sac sont remontées en indiquant à chaque fois aux autres fourmis qui étaient remontée au croisement haut dessus de leur cul de sac, qu'elles peuvent remonter à un croisement plus haut. Je parle de "croisement plus haut", car ces labyrinthes sont en fait...des arbres ^^ Il suffit de numéroter chaque croisement et cul de sac, puis dessiner un arbre où chaque embranchement est un croisement du labyrinthe et chaque cul de sac, la fin d'une branche. (Spanning tree) Le labyrinthe que j'ai dessiné est un cas critique pour le A*, tout les chemins ont quasi la même longueur, donc A* va tout parcourir! (ou quasi) Si la sortie était juste à côté de l'entrée, le A* aurait été largement favorisé et ça aurait été le pire cas pour le liquide! (25 secondes contre 2)
|
|
|
dylsexique |
Posté le: 5/7/2022 16:28 Mis à jour: 5/7/2022 16:29
|
Je masterise ! Inscrit le: 18/3/2014
Envois: 2271
Karma: 8013
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @Programaths
https://k.img.mu/JHyplN.png
À gauche, A* multi thread qui explore 1 carré à la seconde avec. Total: 8 secondes. A droite, le liquide qui avec un débit d'un carreau par seconde. Total: 15 secondes (pas besoin d'entamer les carreau du haut)
Comme dit dans mon message, une condition pour que "l'algorithme de l'eau" soit adapté est que la sortie se trouve vers le bas (dans la direction de la gravité) : "on donne une direction cible via la direction de la gravité. Et ça tombe bien : la sortie se trouve vers le bas, donc cette "consigne" n'est pas déconnante (elle donne la priorité aux routes qui vont globalement vers le bas, donc potentiellement vers la sortie)"Or, ton labyrinthe comporte une tout en haut, donc pas idéal. Citation : @Programaths Pour le A* classique, avec une file, on met 15 secondes. Mais là, c'est comparer une chose naturellement "multi thread" (de la flotte ^^) avec quelque chose d’artificiellement limité.
On peut simuler l'algo de l'eau en mono-thread (c'est à dire calculer séquentiellement plusieurs écoulements qui, "dans la vraie vie", auraient lieu en parallèle). Aucun problème d'ajouter cette limitation si tu trouves que ça rend la comparaison plus juste. Ma conclusion reste la même : l'eau reste un bon algo même dans le cadre d'une résolution séquentielle, car assez proche du A* tant que la disposition entrée/sortie est verticale. Citation : Le A* multi thread, c'est l'équivalent de fourmis qui commencent groupées et explore le labyrinthe. À chaque croisement, le groupe se sépare et quand une fourmis atteint l'arrivée, elle remonte au carrefour où les fourmis qui étaient dans un cul de sac sont remontées en indiquant à chaque fois aux autres fourmis qui étaient remontée au croisement haut dessus de leur cul de sac, qu'elles peuvent remonter à un croisement plus haut D'ailleurs, de ce point de vue, l'algo de l'eau est très intéressant IRL : le feeback de "j'ai rencontré une impasse" est quasi-instantanément transmis à l'embranchement le plus proche, puisque l'eau ne peut mécaniquement plus faire pression sur cette branche remplie d'eau ^^ Citation : @NoloZ Alors oui ça fonctionne effectivement mais plutôt "assez mal" je dirais. Ça explore 100% du terrain avant de trouver le bon chemin
Je réponds à cette objection dans mon premier message : "La raison pour laquelle la solution met tant de temps à être trouvée, c'est que le labyrinthe a été conçu (ou choisi) spécialement pour que le bon chemin soit un des plus longs (afin que tout le laby se remplisse avant que le liquide ne trouve la sortie). Ca aurait été un cas difficile pour la plupart des algos. Mais dans beaucoup de cas, je suis convaincu que cette méthode trouvera le bon chemin sans devoir parcourir tout le laby."
|
|
|
Programaths |
Posté le: 5/7/2022 17:19 Mis à jour: 5/7/2022 17:19
|
Je suis accro Inscrit le: 7/6/2004
Envois: 754
Karma: 394
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
Citation : @dylsexique Citation : @Programaths
https://k.img.mu/JHyplN.png
À gauche, A* multi thread qui explore 1 carré à la seconde avec. Total: 8 secondes. A droite, le liquide qui avec un débit d'un carreau par seconde. Total: 15 secondes (pas besoin d'entamer les carreau du haut)
Comme dit dans mon message, une condition pour que "l'algorithme de l'eau" soit adapté est que la sortie se trouve vers le bas (dans la direction de la gravité) :
"on donne une direction cible via la direction de la gravité. Et ça tombe bien : la sortie se trouve vers le bas, donc cette "consigne" n'est pas déconnante (elle donne la priorité aux routes qui vont globalement vers le bas, donc potentiellement vers la sortie)"
Or, ton labyrinthe comporte une tout en haut, donc pas idéal.
Citation : @Programaths Pour le A* classique, avec une file, on met 15 secondes. Mais là, c'est comparer une chose naturellement "multi thread" (de la flotte ^^) avec quelque chose d’artificiellement limité.
On peut simuler l'algo de l'eau en mono-thread (c'est à dire calculer séquentiellement plusieurs écoulements qui, "dans la vraie vie", auraient lieu en parallèle). Aucun problème d'ajouter cette limitation si tu trouves que ça rend la comparaison plus juste.
Ma conclusion reste la même : l'eau reste un bon algo même dans le cadre d'une résolution séquentielle, car assez proche du A* tant que la disposition entrée/sortie est verticale.
Citation :Le A* multi thread, c'est l'équivalent de fourmis qui commencent groupées et explore le labyrinthe. À chaque croisement, le groupe se sépare et quand une fourmis atteint l'arrivée, elle remonte au carrefour où les fourmis qui étaient dans un cul de sac sont remontées en indiquant à chaque fois aux autres fourmis qui étaient remontée au croisement haut dessus de leur cul de sac, qu'elles peuvent remonter à un croisement plus haut
D'ailleurs, de ce point de vue, l'algo de l'eau est très intéressant IRL : le feeback de "j'ai rencontré une impasse" est quasi-instantanément transmis à l'embranchement le plus proche, puisque l'eau ne peut mécaniquement plus faire pression sur cette branche remplie d'eau ^^
Citation : @NoloZ Alors oui ça fonctionne effectivement mais plutôt "assez mal" je dirais. Ça explore 100% du terrain avant de trouver le bon chemin
Je réponds à cette objection dans mon premier message :
"La raison pour laquelle la solution met tant de temps à être trouvée, c'est que le labyrinthe a été conçu (ou choisi) spécialement pour que le bon chemin soit un des plus longs (afin que tout le laby se remplisse avant que le liquide ne trouve la sortie). Ca aurait été un cas difficile pour la plupart des algos. Mais dans beaucoup de cas, je suis convaincu que cette méthode trouvera le bon chemin sans devoir parcourir tout le laby."
La plupart des labyrinthes sembleront spécialement conçu pour être quasi remplis.
|
|
|
Crazy-13 |
Posté le: 5/7/2022 21:32 Mis à jour: 5/7/2022 21:32
|
Je poste trop Inscrit le: 9/12/2005
Envois: 83404
Karma: 8601
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
je n'aurais pas cru qu'une vidéo aussi simple aurait provoqué des commentaires aussi complexe.
|
|
|
Moana |
Posté le: 6/7/2022 8:14 Mis à jour: 6/7/2022 8:14
|
Je m'installe Inscrit le: 21/5/2015
Envois: 482
Karma: 752
|
Re: Un liquide trouve le chemin dans un labyrinthe
0
@dylsexique Oui ça semble efficace. Mais Thésée serait mort noyé.
|
|
|
Programaths |
Posté le: 6/7/2022 13:04 Mis à jour: 6/7/2022 13:04
|
Je suis accro Inscrit le: 7/6/2004
Envois: 754
Karma: 394
|
Re: Un liquide trouve le chemin dans un labyrinthe
1
Citation : @Moana @dylsexique Oui ça semble efficace. Mais Thésée serait mort noyé.
Efficace n'est pas efficient ^^
|
|
|