Ongewogen isotone regressie
Pas een niet-dalende reeks aan maximaal 128 eindige waarnemingen binnen ±10^6 aan met ongewogen kleinste kwadraten.
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)]Project
Test lege en dalende invoer, wijs booleaanse waarden af en behoud de bronlijst.
Controleer vóór het toepassen
Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
Modellen
Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
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)]Vraag bewijs dat een correctie van een aannemelijke herschrijving onderscheidt
OrderSaffron is AI-programmeersoftware voor Windows om voorgestelde wijzigingen met betekenisvolle controles beter te kunnen beoordelen. Open de projectmap en beschrijf het gedrag waarvoor bewijs nodig is. Een verbonden model kan implementatie en tests samen helpen inspecteren, zodat het gesprek vraagt of een assertie de eis vastlegt, niet alleen of de huidige code eraan voldoet.
Het voorbeeld isotonic_fit.py biedt een taak rond het produceren van een niet-dalende aangepaste reeks. Geef een kleine invoer met een bekend verwacht resultaat en vraag welke gevallen het bedoelde gedrag onderscheiden van uitvoer die alleen geordend lijkt. Neem gelijke waarden en reeds geordende invoer mee. Het voorbeeld is een projectbeoordelingsoefening; het betekent niet dat de omgeving een numeriek aanpassingsproduct of automatische testcertificeringsdienst bevat.
Een ongefilterd AI-model kan worden gekozen als je ondersteunde OpenAI-compatibele of Anthropic-endpoint dat levert. Stel de vereiste verbindingsgegevens in en beoordeel de tool- en contextlimieten van het model. Bekijk zowel de broncodepatch als de voorgestelde tests voordat je projectcontroles uitvoert. Behoud onafhankelijke verwachtingen en meld eventuele hiaten. Een groen resultaat is alleen nuttig bewijs wanneer de tests het contract toetsen dat je wilde behouden of veranderen.
Een voorgestelde numerieke testset beoordelen
- Waarom is alleen niet-dalende volgorde controleren onvoldoende?
Veel uitvoer kan geordend zijn zonder de vereiste aanpassing te vormen. Voeg kleine onafhankelijk berekende verwachtingen en andere contracteigenschappen toe, zoals uitvoerlengte. Vraag welke implementatiefouten elke controle zou ontdekken voordat je een testsuite als bewijs accepteert.
- Hoort al geordende invoer in de tests?
Ja, wanneer behoud ervan het bedoelde gedrag is. Zo'n geval kan onnodige verandering of indexfouten tonen. Leg verwachte waarden expliciet vast en neem herhaalde waarden mee, zodat naast strikt stijgende invoer ook gelijkheid wordt getest.
- Kan de assistent zowel code als tests schrijven?
Hij kan beide voorstellen binnen de beschikbare tools, maar beoordeel de redeneringen onafhankelijk. Tests vanuit dezelfde verkeerde aanname kunnen met een foutieve implementatie overeenkomen. Veranker verwachte uitkomsten in externe eisen of handmatig gecontroleerde voorbeelden.
- Hoe meld ik onvolledige verificatie?
Onderscheid daadwerkelijk uitgevoerde controles van voorgestelde controles en onopgeloste aannames. Neem fouten en omgevingsbeperkingen mee in plaats van ontbrekende uitvoer als succes te beschouwen. Zo weet de volgende beoordelaar duidelijk wat de patch aantoont en wat onzeker blijft.
OrderSaffron · Bijgewerkt 2026-10-25