분석 내보내기
dispatchatlas.analytica 는 완료된 캠페인 저장소를 통계 요약, 결정적 그림, 증거 번들,
포털 대응 데이터셋으로 바꿉니다. 이 패키지는 안정적 JSON 매니페스트를 소비하며 캠페인
런타임을 임포트하지 않습니다.
실행 가능 예시: examples/analyze_results.py 는 비모수 통계, 효과 크기, 신뢰 구간, 결정적 표, 이중-형식 그림으로 결과 집합을 요약합니다.
📥 입력
분석 로더는 다음을 담은 하나의 캠페인 디렉터리를 기대합니다:
- 완료·실패·대기 실행 id를 가진
checkpoint.json. - 실행 순서와 공개 라벨을 가진
plan.json. - 비밀이 아닌 환경 사실을 가진
environment.json. results/*.json완료 실행 행.- 존재할 때의
failures/*.json실패 시도 행.
누락된 체크포인트, 콘텐츠 해시, 목표 값, 또는 공개 라벨은 분석 시작 전에 적재를 실패시킵니다.
📊 통계 방법
명명된 방법 레지스트리가 각 분석 방법을 그 데이터 가정, 최소-표본 규칙, 실패 모드, 최저 증거 계층과 함께 선언합니다. 각 추론 방법과 품질 지표는 확률적 솔버-인스턴스 셀당 최소 30회의 독립 실행을 요구합니다; 하한-미만 표본은 무효한 결과를 내는 대신 한계 면으로 라우팅됩니다.
각 목표에 대해 요약 계층은 솔버 수, 실행 가능 수, 평균, 중앙값, 표준편차, 편향-보정 가속(BCa) 부트스트랩 신뢰 구간, 쌍별 비교를 위한 Vargha-Delaney A12 와 Cliff's delta 효과 크기를 동반한 Wilcoxon 부호 순위 검정, 다중-솔버 필드에 대한 Friedman 옴니버스 검정과 Nemenyi 임계차 사후 검정, 쌍별 패밀리에 대한 Holm 또는 Hochberg 보정, 그리고 벤치마크 문제별 평균 순위를 보고합니다. 다목적 프런트는 추가로 하이퍼볼륨(주요), IGD+, 가법 epsilon-지표, 산포 품질 지표를 보고합니다.
기본 목표는 최소화 의미의 makespan 입니다. Wilcoxon 검정은 작은 무동률 표본에 대해
정확 영분포를, 그 외에는 동률-보정 정규 근사를 사용합니다. 신뢰 구간은 기록된 시드로
결정적 부트스트랩 재표본을 사용합니다; 그것들은 관측된 캠페인 표본을 기술하며 그 자체로는
완전 캠페인 주장이 아닙니다.
닫힌-형식 베이지안 부호 검정 곁에서, bayesian_signed_rank_test 는 쌍별 차이의
Walsh 평균에 대한 시드된 Dirichlet-과정 사후를 뽑아, 연속 지표가 Benavoli, Corani,
Demšar and Zaffalon (2017) 의 크기-인식 베이지안 비교를 얻게 합니다; 부호 검정은
닫힌-형식 기본으로 남습니다. 다중-비교 패밀리는 완전 전-쌍 비교 패밀리의 논리적
제약을 활용하고 부분 패밀리에서는 닫는 쪽으로 실패하는 Shaffer 정적 단계-하강
절차(Shaffer 1986)와, 어떤 패밀리도 받아들이는 더 단순한 검정력 이득인 Finner
단계-하강 보정(Finner 1993)을 더합니다; Holm 은 구성된 기본으로 남습니다. 상대
백분율 편차가 최적성-격차 방법에 합류합니다: 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 그림은 순위 막대, 성능 프로파일, 실행-순서별 목표 추세,
Nemenyi 임계차 다이어그램, 런타임-품질 절충, 수렴 궤적, 탐험-활용 균형, 인스턴스 크기별
런타임 확장성, 시드 안정성(변동 계수), 견고성(CVaR 꼬리 위험), 벤치마크 특성화를 위한
접근 가능한 title 과 desc 메타데이터를 담습니다. 그림 매니페스트가 각 그림의 역할,
출처, 접근성 비고를 기록합니다. 캠페인이 기록하지 않은 진단(런타임, 수렴 트레이스, 모집단
다양성, 인스턴스 규모) 또는 여러 시드(시드 안정성)에 의존하는 그림은 한계 고지를
렌더링합니다. supplement/limitations.md 가 한계로 라우팅된 각 방법을 모읍니다.
동일한 입력에 대해 동일한 내보내기를 다시 실행하면 동일한 JSON·표·그림 페이로드가 생성됩니다.
Dolan-Moré 성능 프로파일은 그 Moré-Wild 동반자와 함께 다닙니다: 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.mdbundle.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 를 실행하세요. 런타임 입력 오류는
기본적으로 복구 메시지를 출력합니다; 개발에 Python 트레이스백이 필요할 때 서브명령 앞에
--debug 를 전달하세요.
📝 보고서 골격
분석 계층은 또한 공개 필터링된 증거 번들을 증거 계층으로 키가 지정된 결정적 보고서
골격으로 바꿉니다. 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