OOrderSaffron
KI-Arbeitsumgebung für Code

Ungewichtete isotone Regression

Passe eine nicht fallende Folge mit ungewichteten kleinsten Quadraten an höchstens 128 endliche Werte bis ±10^6 an.

● ● ●OrderSaffron●
Arbeitsabläufe · Ungewichtete isotone Regression ×
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)]
✳Passe eine nicht fallende Folge mit ungewichteten kleinsten Quadraten an höchstens 128 endliche Werte bis ±10^6 an.
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
  1. Projekt

    Prüfe leere und fallende Eingaben und lehne boolesche Werte ab, ohne die Ursprungsliste zu ändern.

  2. Vor dem Anwenden prüfen

    Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.

  3. Modelle

    Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.

Arbeitsabläufe

Ungewichtete isotone Regression

Arbeitsabläufe ↗
Arbeitsabläufe
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)]
KI-Arbeitsumgebung für Code

Nachweise verlangen, die eine Korrektur von einer plausiblen Neufassung unterscheiden

OrderSaffron ist KI-Programmiersoftware für Windows, die vorgeschlagene Änderungen durch aussagekräftige Prüfungen leichter bewertbar macht. Öffnen Sie den Projektordner und beschreiben Sie das Verhalten, für das Nachweise nötig sind. Ein verbundenes Modell kann Implementierung und Tests gemeinsam untersuchen, damit das Gespräch fragt, ob eine Zusicherung die Anforderung erfasst, statt bloß, ob der aktuelle Code sie erfüllt.

Das Beispiel isotonic_fit.py bietet eine Aufgabe zur Erzeugung einer nicht abnehmenden angepassten Folge. Bringen Sie eine kleine Eingabe mit bekanntem Erwartungsergebnis mit und fragen Sie, welche Fälle das beabsichtigte Verhalten von einer nur oberflächlich geordneten Ausgabe unterscheiden. Nehmen Sie gleiche Werte und bereits geordnete Eingaben auf. Das Beispiel ist eine Projektprüfübung; es bedeutet nicht, dass die Umgebung ein numerisches Anpassungsprodukt oder einen automatischen Testzertifizierungsdienst enthält.

Ein ungefiltertes KI-Modell ist wählbar, wenn Ihr unterstützter OpenAI-kompatibler oder Anthropic-Endpunkt eines bereitstellt. Konfigurieren Sie die erforderlichen Verbindungsangaben und beurteilen Sie Werkzeug- und Kontextgrenzen des Modells. Prüfen Sie Quellcode-Patch und vorgeschlagene Tests, bevor Sie die Projektprüfungen ausführen. Bewahren Sie unabhängige Erwartungen und melden Sie Lücken. Ein grünes Ergebnis ist nur dann ein nützlicher Nachweis, wenn die Tests den Vertrag prüfen, den Sie bewahren oder ändern wollten.

Einen vorgeschlagenen numerischen Testsatz bewerten

Warum reicht die Prüfung auf nicht abnehmende Reihenfolge nicht aus?

Viele Ausgaben können geordnet sein, ohne der erforderlichen Anpassung zu entsprechen. Ergänzen Sie kleine, unabhängig berechnete Erwartungen und andere Vertragseigenschaften wie die Ausgabelänge. Fragen Sie vor der Annahme einer Testsuite als Nachweis, welche Implementierungsfehler jede Prüfung erkennen würde.

Sollten bereits geordnete Eingaben in den Tests vorkommen?

Ja, wenn das beabsichtigte Verhalten sie bewahren soll. Ein solcher Fall kann unnötige Veränderungen oder Indexfehler aufdecken. Geben Sie Erwartungswerte ausdrücklich an und nehmen Sie wiederholte Einträge auf, damit neben strikt steigenden Eingaben auch Gleichheit geprüft wird.

Kann der Assistent sowohl Code als auch Tests schreiben?

Er kann beides im Rahmen seiner verfügbaren Werkzeuge vorschlagen; prüfen Sie jedoch die Begründungen unabhängig. Tests aus derselben falschen Annahme können mit einer fehlerhaften Implementierung übereinstimmen. Verankern Sie die erwarteten Ergebnisse in externen Anforderungen oder von Hand geprüften Beispielen.

Wie sollte ich unvollständige Verifikation melden?

Trennen Sie tatsächlich ausgeführte Prüfungen von vorgeschlagenen Prüfungen und ungeklärten Annahmen. Nennen Sie Fehler und Umgebungsgrenzen, statt fehlende Ausgabe als Erfolg zu behandeln. So erhält die nächste prüfende Person eine klare Darstellung dessen, was der Patch belegt und was ungewiss bleibt.

Für Windows herunterladen ↗

OrderSaffron · Aktualisiert 2026-10-25