Regressione isotonica non pesata
Adatta una sequenza non decrescente a massimo 128 osservazioni finite entro ±10^6 mediante minimi quadrati non pesati.
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)]Progetto
Controlla ingressi vuoti e decrescenti, rifiutando booleani e preservando la lista originale.
Controlla prima di applicare
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
Modelli
Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
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)]Chiedi prove che distinguano una correzione da una riscrittura plausibile
OrderSaffron è un software di programmazione con IA per Windows che rende più facile valutare modifiche proposte attraverso controlli significativi. Apri la cartella del progetto e descrivi il comportamento da dimostrare. Un modello collegato può aiutare a esaminare insieme implementazione e test, così che la conversazione chieda se un'asserzione rappresenti il requisito anziché soltanto se il codice corrente la soddisfi.
L'esempio isotonic_fit.py offre un'attività sulla produzione di una sequenza adattata non decrescente. Porta un piccolo input con risultato atteso noto e chiedi quali casi distinguano il comportamento previsto da un output ordinato solo in apparenza. Includi valori uguali e input già ordinato. L'esempio è un esercizio di revisione del progetto; non significa che l'ambiente includa un prodotto di adattamento numerico o un servizio automatico di certificazione dei test.
Puoi selezionare un modello di IA senza filtri se il tuo endpoint supportato compatibile con OpenAI o Anthropic ne fornisce uno. Configura i dettagli di connessione richiesti e valuta i limiti degli strumenti e del contesto del modello. Rivedi sia la modifica al codice sia i test proposti prima di eseguire i controlli del progetto. Preserva le aspettative indipendenti e segnala le eventuali lacune. Un risultato positivo è una prova utile solo quando i test esercitano il contratto che intendevi preservare o modificare.
Valutare un insieme proposto di test numerici
- Perché controllare l'ordine non decrescente è insufficiente?
Molti output possono essere ordinati senza essere l'adattamento richiesto. Includi piccoli risultati attesi calcolati indipendentemente e altre proprietà del contratto, come la lunghezza dell'output. Chiedi quali errori di implementazione rileverebbe ogni controllo prima di accettare una suite di test come prova.
- L'input già ordinato deve comparire nei test?
Sì, quando il comportamento previsto è preservarlo. Un caso simile può rivelare alterazioni inutili o errori di indicizzazione. Indica esplicitamente i valori attesi e includi elementi ripetuti affinché venga esercitata l'uguaglianza oltre all'input strettamente crescente.
- L'assistente può scrivere sia codice sia test?
Può proporre entrambi con gli strumenti disponibili, ma rivedine il ragionamento indipendentemente. Test derivati dalla stessa ipotesi errata possono concordare con un'implementazione difettosa. Usa requisiti esterni o esempi verificati a mano come base per i risultati attesi.
- Come devo segnalare una verifica incompleta?
Separa i controlli effettivamente eseguiti da quelli proposti e dalle ipotesi irrisolte. Includi errori e limiti dell'ambiente anziché trattare l'assenza di output come successo. Questo dà al revisore successivo un resoconto chiaro di ciò che la modifica dimostra e di ciò che resta incerto.
OrderSaffron · Aggiornato 2026-10-25