MakarovSuites
Français
EnglishDeutschРусскийУкраїнськаFrançaisEspañolItalianoPolski
Contact et licences

Math

Largeur et profondeur

Deux copies d'un labyrinthe, deux parcours, une case par tic. La couche où la largeur trouve une case EST la distance la plus courte : une identité. La profondeur n'est jamais plus courte, et de combien elle l'est dépend de la destination.

Largeur et profondeur — Image réelle de l’application
Image réelle de l’application

Ce qui se passe

Un labyrinthe, deux recherches, une découverte par pas. À gauche, le parcours en largeur prend les cases dans une FILE - premier entré, premier sorti -, il s'étend donc en anneaux, et l'anneau où il trouve une case est sa distance la plus courte : dans un labyrinthe non pondéré, le parcours en largeur EST la recherche du plus court chemin. À droite, le parcours en profondeur les prend dans une PILE - dernier entré, premier sorti -, il plonge donc dans le premier tournant et ne recule qu'au cul-de-sac ; son chemin est un chemin, sans promesse d'être court. Les cases bleues attendent dans la structure, les gris-vert sont terminées, le carré doré est en cours d'expansion, et sous chaque labyrinthe la vraie file et la vraie pile sont listées, la case suivante en premier. Dessinez des murs, cliquez dans un labyrinthe pour prédire où va ensuite cette recherche, puis avancez d'un pas. Si le but est emmuré, les deux recherches s'arrêtent au bord de la composante du départ et le disent.

Équations du module
Équations
labyrinthe sur une grille m x m, quatre voisins, départ dans le coin supérieur gauche ; ordre des voisins haut, droite, bas, gauche - le même dans les deux recherches
en largeur : la couche sur laquelle une cellule est trouvée EST la longueur du plus court chemin - une identité, vérifiée par rapport à une relaxation INDÉPENDANTE jusqu'à un point fixe et, sur de petites grilles, par rapport à une énumération complète des chemins simples
grille vide :  distance à (i, j) = i + j ;  cellules à la distance d = min(d, m−1) − max(0, d−m+1) + 1 ;  couche la plus large = m pour d = m − 1 ;  coin opposé = 2(m−1) = 40 pour m = 21
les deux recherches couvrent le MÊME ensemble - la composante du départ, comptée indépendamment par une forêt d'ensembles disjoints - et chacune regarde chaque arête deux fois : 2|E| = 1196 pour 21x21 avec 20 % de murs
la recherche en profondeur n'est jamais plus courte, et de combien elle est plus longue dépend de la CELLULE : jusqu'au coin opposé d'une grille vide elle prend les mêmes 2(m−1) pas, jusqu'à la cellule située un pas sous le départ elle en prend 421 pour m = 21
sur une grille vide l'arbre de la recherche en profondeur est un CHEMIN HAMILTONIEN - chaque cellule a au plus un enfant, la plus profonde est à m²−1, et la parité décide où le serpent finit : (1,0) pour m pair, (m−1,0) pour m impair
21x21, 20 % de murs, but dans le coin opposé :  largeur 40 pas après avoir touché 370 cellules ;  profondeur 50 pas après avoir touché 53 - toutes deux paient, mais en monnaie différente
le même labyrinthe, but au centre :  largeur 20, profondeur 156 ;  et sur 297 des 371 cellules atteignables le chemin en profondeur est au moins trois fois plus long

Autres expériences

Retour au catalogue
La route la moins chère — Image réelle de l’application

Math

La route la moins chère

Un terrain où un pas coûte le prix de la case où l'on entre, et la vague de sommets fermés s'étend par PRIX et non par distance. Un curseur pose une arête négative sur la carte et possède trois régimes mesurés.

Le Nim et la somme binaire — Image réelle de l’application

Math

Le Nim et la somme binaire

Des tas de pierres et, dessous, leurs chiffres binaires. Une colonne au nombre impair de uns brûle en rouge ; sans colonne rouge, celui qui doit jouer a déjà perdu. La règle est vérifiée en résolvant tout l'arbre du jeu.

Arbre de jeu et alpha-bêta — Image réelle de l’application

Math

Arbre de jeu et alpha-bêta

Un arbre de jeu où chaque bloc a la hauteur de sa valeur : un nœud MAX aussi haut que son plus haut enfant, un nœud MIN aussi bas que son plus bas. Le minimax lit chaque feuille ; l'alpha-bêta saute ce qui ne peut pas changer la réponse, et combien il saute dépend de l'ordre des coups.