Régression isotone non pondérée
Ajustez une suite non décroissante à au plus 128 observations finies bornées à ±10^6 par moindres carrés non pondérés.
from math import isfinite
def isotonic_fit(values):
if type(values) is not list or len(values) > 128:
raise ValueError("bounded list")
if any(type(x) not in (int, float) or abs(x) > 10**6 or
not isfinite(x) for x in values):
raise ValueError("bounded finite values")
blocks = []
for value in values:
blocks.append([float(value), 1])
while len(blocks) > 1 and (
blocks[-2][0] / blocks[-2][1] > blocks[-1][0] / blocks[-1][1]):
total, count = blocks.pop()
blocks[-1][0] += total; blocks[-1][1] += count
return [total / count for total, count in blocks for _ in range(count)]Projet
Testez le vide et les suites décroissantes, en rejetant les booléens et en préservant la liste source.
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.
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.
from math import isfinite
def isotonic_fit(values):
if type(values) is not list or len(values) > 128:
raise ValueError("bounded list")
if any(type(x) not in (int, float) or abs(x) > 10**6 or
not isfinite(x) for x in values):
raise ValueError("bounded finite values")
blocks = []
for value in values:
blocks.append([float(value), 1])
while len(blocks) > 1 and (
blocks[-2][0] / blocks[-2][1] > blocks[-1][0] / blocks[-1][1]):
total, count = blocks.pop()
blocks[-1][0] += total; blocks[-1][1] += count
return [total / count for total, count in blocks for _ in range(count)]Demandez des preuves distinguant un correctif d’une réécriture plausible
OrderSaffron est un logiciel de programmation avec IA pour Windows qui facilite l’évaluation des modifications proposées grâce à des vérifications pertinentes. Ouvrez le dossier du projet et décrivez le comportement à étayer. Un modèle connecté peut aider à examiner ensemble l’implémentation et les tests, pour que la conversation demande si une assertion traduit l’exigence plutôt que si le code actuel la satisfait simplement.
L’exemple isotonic_fit.py propose une tâche produisant une suite ajustée non décroissante. Apportez une petite entrée avec un résultat attendu connu et demandez quels cas distinguent le comportement voulu d’une sortie ordonnée en apparence. Incluez des valeurs égales et une entrée déjà ordonnée. Cet exemple est un exercice d’examen de projet ; il ne signifie pas que l’espace de travail inclut un produit d’ajustement numérique ou un service de certification automatique des tests.
Un modèle d’IA sans filtrage peut être sélectionné si votre point de terminaison compatible OpenAI ou Anthropic pris en charge en fournit un. Configurez les détails de connexion requis et évaluez les limites d’outils et de contexte du modèle. Examinez le correctif source et les tests proposés avant d’exécuter les vérifications du projet. Préservez des attentes indépendantes et signalez toute lacune. Un résultat positif n’est une preuve utile que si les tests exercent le contrat que vous souhaitez préserver ou modifier.
Évaluer un ensemble proposé de tests numériques
- Pourquoi vérifier l’ordre non décroissant ne suffit-il pas ?
De nombreuses sorties peuvent être ordonnées sans constituer l’ajustement requis. Incluez de petits résultats attendus calculés indépendamment et d’autres propriétés du contrat, comme la longueur de sortie. Demandez quelles erreurs d’implémentation chaque contrôle détecterait avant d’accepter une suite de tests comme preuve.
- Faut-il tester une entrée déjà ordonnée ?
Oui, si le comportement voulu est de la préserver. Ce cas peut révéler une modification inutile ou une erreur d’indexation. Précisez explicitement les valeurs attendues et incluez des éléments répétés pour exercer l’égalité autant qu’une entrée strictement croissante.
- L’assistant peut-il écrire le code et les tests ?
Il peut proposer les deux dans les limites de ses outils disponibles, mais examinez leurs raisonnements indépendamment. Des tests dérivés de la même hypothèse erronée peuvent s’accorder avec une implémentation défectueuse. Ancrez les résultats attendus dans des exigences externes ou des exemples vérifiés à la main.
- Comment signaler une vérification incomplète ?
Distinguez les contrôles réellement exécutés des contrôles proposés et des hypothèses non résolues. Incluez les échecs et les limites de l’environnement au lieu de considérer une absence de sortie comme une réussite. Le prochain réviseur saura ainsi clairement ce que le correctif démontre et ce qui reste incertain.
OrderSaffron · Mis à jour 2026-10-25