Перейти к содержимому
DispatchAtlas
Поиск

Экспорты анализа

dispatchatlas.analytica превращает репозитории завершённых кампаний в статистические сводки, детерминированные фигуры, пакеты доказательств и готовые для портала наборы данных. Пакет потребляет стабильные JSON-манифесты и не импортирует время выполнения кампании.

Исполняемый пример: examples/analyze_results.py сводит набор результатов с непараметрической статистикой, размерами эффекта, доверительными интервалами, детерминированными таблицами и фигурами двойного формата.

📥 Входы

Загрузчик анализа ожидает один каталог кампании, содержащий:

  • checkpoint.json с id завершённых, неудачных и ожидающих прогонов.
  • plan.json с порядком прогонов и метками раскрытия.
  • environment.json с несекретными фактами окружения.
  • results/*.json строки завершённых прогонов.
  • failures/*.json строки неудачных попыток, когда они присутствуют.

Отсутствующие контрольные точки, хеши содержимого, значения целей или метки раскрытия проваливают приём до начала анализа.

📊 Статистические методы

Реестр именованных методов объявляет каждый метод анализа с его допущениями о данных, правилом минимальной выборки, режимом отказа и наименьшим уровнем доказательств. Каждый инференциальный метод и индикатор качества требует не менее 30 независимых прогонов на стохастическую ячейку решатель-экземпляр; выборка ниже пола направляется на поверхность ограничений, а не производит недействительный результат.

Для каждой цели слой сводки сообщает счётчики решателей, допустимые счётчики, среднее, медиану, стандартное отклонение, доверительные интервалы по скорректированному-на-смещение и ускоренному (BCa) бутстрэпу, критерий знаковых рангов Уилкоксона с размерами эффекта A12 Варга-Делейни и дельтой Клиффа для попарного сравнения, омнибусный критерий Фридмана с пост-хоком критической разности Неменьи над многорешательным полем, коррекцию Холма или Хохберга над попарным семейством, и средние ранги по задаче бенчмарка. Многоцелевые фронты дополнительно сообщают индикаторы качества гиперобъём (первичный), IGD+, аддитивный эпсилон-индикатор и разброс.

Цель по умолчанию — makespan с семантикой минимизации. Критерий Уилкоксона использует точное нулевое распределение для малых выборок без связей и нормальное приближение с коррекцией на связи в противном случае. Доверительные интервалы используют детерминированную бутстрэп-перевыборку с записанным зерном; они описывают наблюдаемую выборку кампании и сами по себе не являются утверждениями о полной кампании.

Наряду с байесовским знаковым критерием в замкнутой форме bayesian_signed_rank_test строит апостериорное распределение процесса Дирихле с заданным зерном над средними Уолша попарных разностей, так что непрерывные метрики получают чувствительное к величине байесовское сравнение Benavoli, Corani, Demšar and Zaffalon (2017); знаковый критерий остаётся значением по умолчанию в замкнутой форме. Семейство множественных сравнений дополняется статической нисходящей процедурой Шаффера, которая использует логические ограничения полного семейства всех попарных сравнений и отказывает в закрытую сторону на частичном (Shaffer 1986), и нисходящей коррекцией Финнера — более простым выигрышем в мощности, принимающим любое семейство (Finner 1993); Холм остаётся сконфигурированным значением по умолчанию. Относительное процентное отклонение присоединяется к методам разрыва оптимальности: arpd_rows оценивает каждый допустимый прогон относительно заданного вызывающей стороной наилучшего известного эталонного значения с явным происхождением, а ensure_equal_budgets проверяет масштабируемый по размеру протокол равного бюджета за ним — один одинаковый бюджет на задачу для всех решателей, при этом бюджеты вольны расти с размером экземпляра (Vallada, Ruiz and Framiñan 2015). Сравнения гиперобъёма для многоцелевых задач архивируют свою общую опорную точку: multiobjective_indicator_report выводит точку по именованному правилу — доле-отступа по умолчанию или масштабированию ishibuchi-h — записывает идеальную точку, надир, правило, параметр и словарь происхождения с отказом в закрытую сторону в ReferencePointRecord, а ensure_shared_reference_points отказывается сравнивать артефакты, чьи архивированные точки различаются (Ishibuchi, Imada, Setoguchi and Nojima 2018; точное опубликованное смещение остаётся помеченным APPROXIMATE в ожидании проверенного оператором полного текста). Одно жёсткое правило охраняет каждую экспортируемую таблицу: p-значение никогда не поставляется без размера эффекта и интервала рядом с ним. ensure_effect_sizes_beside_p_values проверяет заголовки внутри построителей таблиц и снова во время записи пакета, отказывая в закрытую сторону на любом голом столбце значимости (Carrasco, García, Rueda, Das and Herrera 2020).

🖼️ Фигуры и таблицы

Пакеты доказательств включают таблицы Markdown для сводок решателей, попарных сравнений, рейтингов, покрытия бенчмарков и недопустимых строк. SVG-фигуры несут доступные метаданные title и desc для столбцов рейтинга, профилей производительности, трендов цели по порядку прогонов, диаграммы критической разности Неменьи, компромиссов время-качество, траекторий сходимости, баланса исследование-эксплуатация, масштабируемости времени выполнения по размеру экземпляра, стабильности зерна (коэффициент вариации), робастности (хвостовой риск CVaR) и характеризации бенчмарков. Манифест фигур записывает роль, происхождение и заметку о доступности каждой фигуры. Фигуры, зависящие от диагностики, которую кампания не записала (время выполнения, трасса сходимости, разнообразие популяции, масштаб экземпляра), или от нескольких зёрен (стабильность зерна), рендерят уведомление об ограничениях. supplement/limitations.md собирает каждый метод, направленный в ограничения.

Повторный запуск того же экспорта против тех же входов производит те же полезные нагрузки JSON, таблиц и фигур.

Профиль производительности Долана-Море сопровождается своим спутником Море-Уайлда: data_profile_svg и data_profile_tex строят долю ячеек (решатель, задача), решённых с целевой точностью в пределах бюджета групп оценивания — адаптация единицы симплекс-градиента к группам оценивания — из тех же трасс сходимости, которые потребляют фигуры сходимости, а набор данных без трасс направляется на фигуру ограничений. Профили производительности, сравнивающие более двух решателей, несут оговорку об интерпретации в обеих формах вывода: профиль ранжирует каждый решатель только относительно лучшего по задаче, так что относительный порядок не-лучших решателей не подразумевается (Gould and Scott 2016).

⚖️ Сравнение платформ

Экспорты сравнения платформ рендерят строки возможностей конкурирующих фреймворков, матрицу покрытия богатства-функций, оценку моста расстояния между распределениями и строки инспекции артефактов. Каждая строка несёт метку источника-доказательств (documented, measured, artifact-inspected, vendor-claim или unsupported), и любая неподдерживаемая строка направляется на поверхность ограничений-и-будущей-работы. Экспорт несёт постоянную защитную строку: таблицы сравнивают возможности, функции и артефакты платформ и не являются прямыми утверждениями о производительности — доказательства производительности живут в статистических экспортах анализа.

🥊 Полоса сравнения один-на-один

Полоса один-на-один сравнивает один фокальный решатель с именованной базовой когортой, используя те же именованные непараметрические критерии, ориентирует каждую строку к фокальному решателю и обусловливает утверждение побеждает-когорту тем, что фокальный решатель удерживает лучший средний ранг и выигрывает каждое попарное сравнение на скорректированном уровне значимости с размером эффекта в его пользу. Построители таблиц алгоритмической сложности и угроз-валидности конструкта/внутренних/внешних сопровождают полосу для потребления в отчётах.

🔒 Политика раскрытия

Экспорты фильтруются через исполняемые политики раскрытия:

  • core разрешает только основные/публичные доказательства.
  • speed разрешает основные, скоростные и публичные доказательства.
  • quality разрешает основные, скоростные, качественные и публичные доказательства.
  • platform разрешает доказательства платформы, продолжая блокировать отредактированный источник и термины устаревшего-нарратива.

Запрещённые строки исключаются из доказательств и наборов данных портала и записываются в дополнительный манифест исключений с указанием причины.

🗂️ Компоновка пакета

evidence-bundle/
  bundle.json
  tables/
    solver-summary.md
    pairwise-comparisons.md
    rankings.md
    benchmarks.md
    infeasible-rows.md
  figures/
    performance-profile.svg
    solver-rankings.svg
    run-order-trend.svg
    critical-difference.svg
    runtime-quality.svg
    convergence.svg
    characterization.svg
    exploration-exploitation.svg
    scalability.svg
    stability.svg
    robustness.svg
    figure-manifest.json
  supplement/
    exclusions.json
    limitations.md

bundle.json перечисляет каждый сгенерированный файл и хеширует каноническую полезную нагрузку манифеста, так что каждая таблица, фигура и дополнение остаётся внутри одного отслеживаемого, адресуемого-по-содержимому манифеста.

⌨️ Команда

uv run dispatchatlas export `
  --campaign-dir .\experiments\results\smoke-pilot `
  --target-dir .\exports\smoke-pilot `
  --authorized-output-root .\exports `
  --tier core `
  --objective makespan `
  --portal

Команда записывает пакет доказательств плюс опциональный набор данных портала. Пакет доказательств включает таблицы, фигуры и дополнительные исключения. JSON портала включает искомые теги, метки раскрытия, значения целей, id прогонов и связанные хешем метаданные кампании. --target-dir должен разрешаться внутри --authorized-output-root; авторизованный корень по умолчанию — текущий рабочий каталог.

Запустите uv run dispatchatlas export --help для описаний опций и примеров. Ошибки ввода времени выполнения по умолчанию печатают сообщение о восстановлении; передайте --debug перед подкомандой, когда для разработки нужен трейсбэк Python.

📝 Каркасы отчётов

Слой анализа также превращает отфильтрованный по раскрытию пакет доказательств в детерминированный каркас отчёта, индексированный по уровню доказательств. ReportScaffoldSpec объявляет утверждение о вкладе, обоснование дизайна и ворота утверждений; write_report_scaffold записывает пакет доказательств плюс всеобъемлющий план разделов, утверждение о вкладе, журнал ворот-утверждений и отчёт о редактировании под report/. Каждый раздел якорится к отфильтрованному артефакту доказательств, а сгенерированный каркас сканируется так, что механизм более позднего уровня или ограниченный внутренний маркер проваливает запись в закрытую сторону.

Ворота утверждений отказывают в закрытую сторону: утверждение уровня дизайна открывается безусловно, тогда как сравнительное утверждение остаётся закрытым, пока сравнение один-на-один не победит когорту с каждым парным счётом на уровне или выше пола статистической мощности. contribution_partition над уровнями доказательств доказывает вклад с нулевым перекрытием на уровень, а redaction_report принимает предоставленный вызывающим реестр, так что непубличный черновик может быть проверен без того, чтобы этот реестр когда-либо попал в поставляемый источник.

uv run dispatchatlas report `
  --campaign-dir .\experiments\results\smoke-pilot `
  --target-dir .\scaffolds\smoke-pilot `
  --authorized-output-root .\scaffolds `
  --tier core