Незважена ізотонічна регресія
Доберіть неспадну послідовність до максимум 128 скінченних спостережень у ±10^6 незваженим методом найменших квадратів.
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)]Проєкт
Перевірте порожні та спадні входи, відхиляючи логічні значення й зберігаючи початковий список.
Перевірте перед застосуванням
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
Моделі
Налаштуйте OpenAI-сумісний або Anthropic endpoint із базовою URL-адресою та API-ключем, якщо він потрібен. Перевірте з’єднання. Локальний сервер моделі має працювати; віддалені інструменти можуть окремо передавати дані.
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)]Просіть докази, які відрізняють виправлення від правдоподібного переписування
OrderSaffron — програмне забезпечення з ШІ для програмування у Windows, яке спрощує оцінювання запропонованих змін за допомогою змістовних перевірок. Відкрийте папку проєкту й опишіть поведінку, що потребує доказів. Підключена модель може допомогти перевірити реалізацію й тести разом, щоб обговорення з’ясовувало, чи відображає твердження тесту вимогу, а не лише чи задовольняє його поточний код.
Приклад isotonic_fit.py дає завдання побудови неспадної апроксимованої послідовності. Надайте малий вхід із відомим очікуваним результатом і запитайте, які випадки відрізняють потрібну поведінку від поверхово впорядкованого виходу. Додайте однакові значення та вже впорядкований вхід. Приклад є вправою перевірки проєкту; він не означає, що середовище містить продукт числової апроксимації або службу автоматичної сертифікації тестів.
Модель ШІ без фільтрів можна вибрати, якщо її надає підтримувана кінцева точка, сумісна з OpenAI, або Anthropic. Налаштуйте потрібні дані підключення й оцініть обмеження інструментів та контексту моделі. Перевірте і виправлення коду, і запропоновані тести перед запуском перевірок проєкту. Зберігайте незалежні очікування та повідомляйте про прогалини. Успішний результат є корисним доказом лише тоді, коли тести перевіряють контракт, який ви хотіли зберегти або змінити.
Оцінювання запропонованого набору числових тестів
- Чому перевірки неспадного порядку недостатньо?
Багато виходів можуть бути впорядкованими, не будучи потрібною апроксимацією. Додайте малі незалежно обчислені очікування й інші властивості контракту, наприклад довжину виходу. Запитайте, які помилки реалізації виявляє кожна перевірка, перш ніж приймати набір тестів як доказ.
- Чи має вже впорядкований вхід бути в тестах?
Так, коли задумана поведінка — зберігати його. Такий випадок може виявити зайві зміни або помилки індексації. Явно зазначте очікувані значення й додайте повторні елементи, щоб перевірити рівність поряд зі строго зростаючим входом.
- Чи може помічник написати і код, і тести?
Він може запропонувати обидва в межах доступних інструментів, але незалежно перевіряйте їх обґрунтування. Тести, отримані з того самого хибного припущення, можуть узгоджуватися з помилковою реалізацією. Закріплюйте очікувані результати зовнішніми вимогами або прикладами, перевіреними вручну.
- Як повідомляти про неповну перевірку?
Відокремлюйте фактично виконані перевірки від запропонованих і невирішених припущень. Додавайте збої та обмеження середовища, а не вважайте відсутність виходу успіхом. Це дає наступному рецензенту чітке уявлення, що доводить виправлення й що залишається невизначеним.
OrderSaffron · Оновлено 2026-10-25