Euklidische Simplexprojektion
Projiziere 1–256 endliche Zahlen innerhalb ±10^6 auf den nichtnegativen Einheitssimplex.
import math
def simplex_projection(values):
if type(values) is not list or not 1 <= len(values) <= 256:
raise ValueError("simplex.input")
if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in values):
raise ValueError("simplex.value")
ranked = sorted(values, reverse=True)
total, theta = 0.0, 0.0
for count, value in enumerate(ranked, 1):
total += value
candidate = (total-1)/count
if value > candidate:
theta = candidate
return [max(0.0, value-theta) for value in values]
Projekt
Teste Gleichstände und Ecklösungen, lehne Boolesche Werte ab und vergleiche mit numerischer Toleranz, ohne die Gewichte als kalibrierte Wahrscheinlichkeiten zu deuten.
Vor dem Anwenden prüfen
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
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.
import math
def simplex_projection(values):
if type(values) is not list or not 1 <= len(values) <= 256:
raise ValueError("simplex.input")
if any(type(x) not in (int, float) or not -10**6 <= x <= 10**6 or not math.isfinite(x) for x in values):
raise ValueError("simplex.value")
ranked = sorted(values, reverse=True)
total, theta = 0.0, 0.0
for count, value in enumerate(ranked, 1):
total += value
candidate = (total-1)/count
if value > candidate:
theta = candidate
return [max(0.0, value-theta) for value in values]
Numerische Bedingungen während der gesamten Prüfung sichtbar halten
SimplexDune ist eine KI-Programmierumgebung für Windows für Entwickler, die numerische Transformationen in einer Anwendung prüfen. Beginnen Sie mit einem Projektordner und den Eigenschaften, die die Ausgabe erfüllen muss. Das verbundene Modell kann helfen zu untersuchen, wie diese Anforderungen im Code erscheinen, und eine begrenzte Änderung besprechen. Sie prüfen den Vorschlag dabei anhand des Verbrauchers, der vom Ergebnis abhängt.
Eine durch simplex_projection.py nahegelegte Aufgabe betrifft die Umwandlung eines Vektors in nichtnegative Gewichte mit Gesamtsumme eins. Lassen Sie den Assistenten zulässige Eingaben, Ausgabereihenfolge und Prüfungen für Gleitkommaergebnisse untersuchen. Geben Sie repräsentative Vektoren vor und beschreiben Sie die nachgelagerte Verwendung. So bleibt das Beispiel in einem tatsächlichen Softwarevertrag verankert, statt die Umgebung als integrierten Optimierer oder Modelltrainingsdienst zu behandeln.
Wählen Sie ein uneingeschränktes KI-Modell, sofern eines über einen unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkt verfügbar ist. Konfigurieren Sie seine Adresse und erforderliche Zugangsdaten unter Berücksichtigung von Kontext- und Werkzeugunterstützung des Servers. Prüfen Sie Änderungsvorschläge und führen Sie in Ihrer numerischen Umgebung sowohl Erwartungswert- als auch Ausgabeeigenschaftsprüfungen aus. Verwenden Sie eine festgelegte Toleranz, wo exakte Gleitkommagleichheit ungeeignet ist. Das Gespräch sollte die Annahmen hinter dem Patch offenlegen, damit Sie beurteilen können, ob er das benötigte Anwendungsverhalten bewahrt.
Numerische Ausgaben unter Nebenbedingungen prüfen
Welche Ausgabeeigenschaften sollte ich ausdrücklich verlangen?
Nennen Sie erforderliche Länge, Reihenfolge, zulässige Vorzeichen und erwartete Gesamtsumme sowie gegebenenfalls eine Toleranz. Beziehen Sie die Anforderungen des Verbrauchers ein. Ein Ergebnis kann eine Bedingung erfüllen und eine andere verletzen; die Prüfung sollte deshalb nicht bei einem einzelnen Gesamtwert enden.
Ist exakte Gleichheit mit eins ein verlässlicher Gleitkommatest?
Nicht bei jeder Berechnung. Wählen Sie eine zum numerischen Vertrag und zur Testumgebung passende Toleranz und erläutern Sie sie in der Prüfung. Lassen Sie das Modell Darstellungseffekte von einer echten Bedingungsverletzung unterscheiden, statt Zusicherungen stillschweigend abzuschwächen.
Sollte der Patch den ursprünglichen Vektor umsortieren?
Nur wenn der Ausgabevertrag es erlaubt. Internes Sortieren kann der Berechnung dienen, während die Endwerte weiterhin den ursprünglichen Positionen entsprechen müssen. Prüfen Sie den Verbraucher und testen Sie eine Eingabe mit verschiedenen Einträgen, die einen Reihenfolgefehler sichtbar machen.
Kann eine Eigenschaftsprüfung Erwartungswertbeispiele ersetzen?
Verwenden Sie beides, wenn unterschiedliche Aussagen geprüft werden. Ein Vektor kann nichtnegativ sein und sich zu eins summieren, ohne die beabsichtigte Projektion zu sein. Kleine, unabhängig ermittelte Ergebnisse helfen, die Transformation zu prüfen; Eigenschaften decken allgemeinere Aspekte des Ausgabevertrags ab.
SimplexDune · Aktualisiert 2026-10-25