SStepMaranta
Werkprocessen

Werkprocessen voor code · Stappen van eindige Markov-verdelingen

03
Product

Werkprocessen

Voer een kansvector door maximaal 100 overgangen van een Markov-matrix met hoogstens acht toestanden. Test nul stappen en absorberende toestanden en wijs negatieve waarden en rijsommen met meer dan 1e-12 afwijking van één af.

01

Download de toepassing

Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.

02

Open de projectmap

Kies een compatibel endpoint. Beschikbare hulpmiddelen en de kwaliteit van antwoorden hangen af van het ingestelde model en de server.

03

Verbind en test het model

Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

04

Controleer wijzigingen en voer tests uit

Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

Stappen van eindige Markov-verdelingen

Werkprocessen
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

Controleer vóór het toepassen. Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

AI-werkruimte voor code

Je volgende idee begint hier.

Download voor Windows ↗