Евклидова проекция на симплекс
SimplexDune предоставляет рабочее пространство Windows для проверки числовой проекции на симплекс с ИИ. Подключите совместимую модель и изучите допустимость, округление и тесты ближайшей точки до принятия реализации.
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]
Проект
Проверьте равенства и решения в вершинах, отклоните логические значения и сравните результат с числовым допуском, не считая веса калиброванными вероятностями.
Проверьте перед применением
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
Подключение
Базовый URL, учётные данные и доступный сервер.
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]
Сохраняйте численные ограничения явными на протяжении проверки
SimplexDune — рабочая среда программирования с ИИ для Windows для разработчиков, проверяющих численные преобразования в приложении. Начните с папки проекта и свойств, которым должен удовлетворять вывод. Подключённая модель поможет изучить отражение требований в коде и обсудить ограниченное изменение, а вы проверите предложение с учётом потребителя результата.
Одна задача, предлагаемая simplex_projection.py, — преобразование вектора в неотрицательные веса с единичной суммой. Попросите помощника изучить допустимый вход, порядок вывода и проверки результатов с плавающей точкой. Предоставьте характерные векторы и опишите дальнейшее использование. Это привязывает пример к реальному программному контракту, не представляя рабочую среду встроенным оптимизатором или сервисом обучения моделей.
Выберите модель ИИ без ограничений, если она доступна через поддерживаемую конечную точку, совместимую с OpenAI, или конечную точку Anthropic. Настройте адрес и необходимые учётные данные, учитывая контекст и поддержку инструментов сервера. Изучите правки и выполните проверки ожидаемых результатов и свойств вывода в своей численной среде. Используйте заявленный допуск, когда точное равенство чисел с плавающей точкой неуместно. Обсуждение должно раскрывать допущения правки, чтобы вы могли решить, сохраняет ли она нужное приложению поведение.
Проверка численного вывода с ограничениями
Какие свойства вывода запрашивать явно?
Назовите требуемые длину, порядок, допустимые знаки и ожидаемую сумму вместе с допуском. Включите требования потребителя. Результат может выполнять одно ограничение и нарушать другое, поэтому проверка не должна ограничиваться одной агрегированной величиной.
Надёжно ли точное равенство единице в тесте с плавающей точкой?
Не во всех вычислениях. Выберите допуск по численному контракту и тестовой среде и объясните его в проверке. Попросите модель отличать эффекты представления от настоящего нарушения ограничений, а не незаметно ослаблять утверждения.
Должна ли правка менять порядок исходного вектора?
Только если контракт вывода это допускает. Внутренняя сортировка может служить вычислению, но итоговые значения должны по-прежнему соответствовать исходным позициям. Изучите потребителя и протестируйте вход с различными элементами, делающими ошибку порядка заметной.
Может ли проверка свойств заменить примеры ожидаемых результатов?
Используйте оба вида, когда они проверяют разные утверждения. Вектор может быть неотрицательным и иметь сумму один, не являясь нужной проекцией. Небольшие независимо установленные результаты проверяют преобразование, а свойства охватывают более общие аспекты контракта вывода.
SimplexDune · Обновлено 2026-10-25