HHopwise
Espace de développement avec IA

Distances minimales en sauts dirigés

Calcule les plus courtes distances en arcs dirigés depuis un sommet d’un graphe de 1 à 1000 sommets.

● ● ●Hopwise●
Méthodes de travail · Distances minimales en sauts dirigés ×
from collections import deque

def hop_distances(graph, start):
    if type(graph) is not list or not 1 <= len(graph) <= 1000:
        raise ValueError("graph.size")
    n = len(graph)
    if type(start) is not int or not 0 <= start < n:
        raise ValueError("graph.start")
    if any(type(row) is not list or any(type(v) is not int or
           not 0 <= v < n for v in row) for row in graph):
        raise ValueError("graph.edges")
    distances = [None]*n
    distances[start] = 0
    queue = deque([start])
    while queue:
        u = queue.popleft()
        for v in graph[u]:
            if distances[v] is None:
                distances[v] = distances[u]+1
                queue.append(v)
    return distances
✳Distances minimales en sauts dirigés
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
01

Modèles

Configurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.

02

Projet

Teste les cycles, arcs répétés et sommets inaccessibles, en refusant un graphe vide ou des extrémités invalides avant le parcours.

03

Vérifiez avant d’appliquer

Comparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.

Méthodes de travail

Distances minimales en sauts dirigés

Méthodes de travail ↗
Méthodes de travail
from collections import deque

def hop_distances(graph, start):
    if type(graph) is not list or not 1 <= len(graph) <= 1000:
        raise ValueError("graph.size")
    n = len(graph)
    if type(start) is not int or not 0 <= start < n:
        raise ValueError("graph.start")
    if any(type(row) is not list or any(type(v) is not int or
           not 0 <= v < n for v in row) for row in graph):
        raise ValueError("graph.edges")
    distances = [None]*n
    distances[start] = 0
    queue = deque([start])
    while queue:
        u = queue.popleft()
        for v in graph[u]:
            if distances[v] is None:
                distances[v] = distances[u]+1
                queue.append(v)
    return distances
Espace de développement avec IA

Préservez le sens des résultats de graphe pour l’application

Un résultat de graphe n’est utile que si l’appelant comprend chaque valeur. Hopwise offre au code lié aux graphes un espace de programmation avec IA pour Windows, reliant les sources à une conversation sur leur contrat. Partez de la représentation des entrées et de la façon dont l’application affiche ou utilise le résultat, plutôt que de demander le remplacement isolé d’un algorithme.

Pour une tâche de plus court chemin en nombre d’arêtes, montrez un petit graphe orienté avec des sommets accessibles et inaccessibles. Demandez au modèle connecté d’examiner comment l’implémentation distingue le sommet initial d’un sommet sans chemin. Incluez un cycle afin que la revue considère les découvertes répétées, au-delà de la simple chaîne orientée.

Examinez ensuite la frontière où les données du graphe entrent dans la fonction. Les références de sommets invalides doivent suivre une politique délibérée, et l’orientation doit correspondre au sens d’une arête dans l’application. Examinez les modifications proposées avec le code consommateur, puis exécutez des tests affirmant les résultats exacts pour chaque sommet. Gardez visible dans l’interface le traitement de l’état inaccessible après le calcul.

Hopwise prend en charge les points de terminaison compatibles OpenAI ou Anthropic, y compris un modèle d’IA sans censure s’il est disponible. Le comportement réel des réponses, les limites de contexte et les outils dépendent de cette configuration. L’espace de travail facilite l’enquête ; les preuves issues de vos cas de test de graphes et de vos tests d’intégration déterminent si la modification peut être conservée.

Préserver le sens des résultats de graphe : questions avant modification

Quel graphe utiliser pour expliquer le problème ?

Choisissez un petit exemple orienté avec un cycle, un sommet inaccessible et un départ clairement identifié. Écrivez le résultat attendu pour chaque sommet. Cela rend l’orientation et le sens de l’absence de chemin plus faciles à examiner qu’un grand graphe de production.

Pourquoi distinguer une distance nulle d’un sommet inaccessible ?

Zéro décrit la distance du sommet initial à lui-même, tandis qu’inaccessible signifie qu’aucun chemin n’a été trouvé selon le contrat du graphe. Si les appelants les confondent, l’interface peut afficher une connexion inexistante. Examinez ensemble la représentation retournée et ses consommateurs.

Puis-je utiliser le nombre d’arêtes pour des chemins pondérés ?

Uniquement lorsque chaque arête représente le même coût pour la tâche. Si les poids comptent, expliquez cette exigence avant de demander des modifications. Une implémentation minimisant le nombre d’arêtes ne doit pas être présentée comme répondant à un autre objectif d’optimisation.

Où traiter les références de sommets invalides ?

Fixez la politique à la frontière d’entrée et examinez les appelants existants. Demandez au modèle de préserver un chemin clair de rejet ou de validation. Les tests doivent inclure des références mal formées afin qu’un comportement d’indexation accidentel ne devienne pas le contrat de l’application.

Télécharger pour Windows ↗

Hopwise · Mis à jour 2026-10-25