SStepMaranta
Méthodes de travail

Méthodes de développement · Étapes de distributions de Markov finies

03
Produit

Méthodes de travail

Faites évoluer un vecteur de probabilités sur au plus 100 transitions d’une matrice de Markov d’au plus huit états. Testez zéro étape et les états absorbants, en rejetant les valeurs négatives et les sommes de ligne éloignées de un de plus de 1e-12.

01

Téléchargez l’application

Sélectionnez un dossier et demandez à l’assistant de lire les fichiers concernés avant de les modifier. Définissez le résultat attendu et les limites de la tâche.

02

Ouvrez le dossier du projet

Choisissez un endpoint compatible. Les outils disponibles et la qualité des réponses dépendent du modèle et du serveur utilisés.

03

Connectez et testez le modèle

Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.

04

Examinez les modifications et lancez les tests

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

Étapes de distributions de Markov finies

Méthodes de travail
from math import fsum, isfinite
def markov_steps(initial, matrix, steps):
    if type(initial) is not list or not 1 <= len(initial) <= 8:
        raise ValueError("state count")
    n = len(initial)
    if type(matrix) is not list or len(matrix) != n or any(
        type(row) is not list or len(row) != n for row in matrix):
        raise ValueError("square matrix")
    rows = [initial] + matrix
    if any(type(x) not in (int, float) or not 0 <= x <= 1 or
           not isfinite(x) for row in rows for x in row):
        raise ValueError("probability values")
    if any(abs(fsum(row)-1) > 1e-12 for row in rows):
        raise ValueError("row sums")
    if type(steps) is not int or not 0 <= steps <= 100:
        raise ValueError("step count")
    result = initial[:]
    for _ in range(steps):
        result = [fsum(result[i] * matrix[i][j] for i in range(n))
                  for j in range(n)]
    return result

Vérifiez avant d’appliquer. Examinez les changements et les sorties de commandes. Lancez les vérifications du projet avant de valider le résultat : le code généré n’est pas testé automatiquement.

Espace de développement avec IA

Votre prochaine idée commence ici.

Télécharger pour Windows ↗