Description
Propagation trouve le chemin le moins résistif entre un point de départ et un point d'arrivée dans une matrice résistive

Où la résistance peut être soit une durée soit une résistance électrique. Propagation trouve le chemin le moins résistif et fournit le résultat (la somme résistive) ainsi que le nombre d'étapes parcourues pour lier le point de départ à celui d'arrivée
10x10fr.png


Pour une matrice 200x200 il faut quelques minutes à Propagation pour fournir le résultat. Bien moins rapide que l'électricité qui elle trouve la solution instantanément !

Prise en main rapide
  • Cliquez sur le visage souriant dans la barre d'accès rapide pour ouvrir l'UserForm
  • Dimensionnez une nouvelle matrice (champs C pour les colonnes et L pour les lignes) pour commencer limitez-vous à une matrice d'au maximum 20x20
  • Cliquez sur le bouton : "Nouvelle matrice"
  • Randomisez une matrice en cliquant sur le bouton : "Randomiser matrice" (Les valeurs inférieures à zéro apparaissent en noir et sont considérées comme infranchissables (isolantes), les valeurs supérieures à zéro peuvent être interprétées comme des durées ou des résistances électriques elles apparaissent sur fond blanc, les valeurs égales à zéro correspondent en électricité à des supraconducteurs, elles apparaissent sur fond blanc également, le Départ est matérialisé par la lettre "S" majuscule et apparait en rouge, l'Arrivée est matérialisée par la lettre "A" majuscule et apparait en rouge)
  • Choisir le mode de propagation Adjacent ou Périphérique
  • Lancez le calcul en cliquant sur le bouton : "Calculer"
  • Testez les 2 modes de propagation et différentes matrices randomisées
  • Sortez de l'UserForm et générez un aperçu avant impression. Les résultats sont reportés dans le pied de page gauche de la feuille tandis que l'en-tête droit rappelle les dimensions de la matrice
A vous de composer votre matrice maintenant ! (Nota: Pour lancer un nouveau calcul sans passer par l'UserForm vous pouvez cliquer sur l'icône calculatrice de la barre d'accès rapide ou utiliser le raccourci clavier Ctrl+"e")

Si vous souhaitez vous plonger dans les entrailles de cette application

Sachez que son code est relativement court et que le calcul ne fait intervenir que trois procédures toute réunies dans le module : "Calculation" et qu'il est abondamment commenté (en anglais). Rien de compliqué dans ce code la difficulté de cette application était purement logique

Si vous pensez disposer d'un autre algorithme que le mien capable de traiter ce genre de problématique (trouver le chemin le moins résistif dans une matrice) je serais TRES intéressé qu'on me le procure

Tout retour quel qu'il soit sera toujours le bienvenu
Matrice 200x200 peripheral.png
418 secondes auront été nécessaires à Propagation pour solutionner cette matrice 200x200 semi-randomisée en mode Périphérique (le plus long à calculer)

C'est bien sûr beaucoup moins rapide que l'électricité mais avez-vous idée du temps qu'il aurait fallu pour résoudre cette matrice avant l'apparition des ordinateurs ?
Auteur
Stéphane Fillon
Version
V1.0 FR
Haut Bas