시나리오 내용 반영

This commit is contained in:
KIM SU BO committed 2026-10-08 16:43:48 +09:00
1 parent d9287de729
commit 350bb92bf9
270 files changed
+198867

No files matched your search

@@ -0,0 +1,97 @@
**가상 수질검사 데이터 위험 신호 대시보드**
난 이 도 **중급**
| **프로젝트 목표** | 전장에서는 급수차, 정수 장비, 우물, 하천 취수원 등 급수원의 수질 이상을 빨리 알아채지 못하면 장병의 건강과 부대 활동에 바로 영향을 주지만, 센서 값은 잡음과 고장이 많아 오경보로 불필요하게 급수를 끊는 일도 생긴다. 러시아-우크라이나 전쟁 사례에서 학습 초점으로 삼은 전장 위생·건강 위험 관리를 반영해, 본 프로젝트는 가상 수질검사 데이터를 분석해 위험 신호를 데이터로 판단하는 과제를 다룬다. 교육용 가상 급수원 8곳의 pH, 탁도, 잔류염소, 중금속, 대장균 측정 자료를 코드로 만들어 스키마 정의, 센서 결측·이상치 정제, 기준치 Baseline 판정, 복합 오염 징후 분류 모델, 신뢰도 지수와 오경보 감축, 상황판 대시보드, 급수 중단 HITL 결재선, 대량 오염 부하 시험, AAR 임계치 재조정, 통합 패키지까지 단계별로 구현한다. 최종 목표는 수질 위험 신호를 근거와 함께 빠르게 제시하되, 실제 음용 판정과 급수 중단은 공식 기준과 의무(예방의학) 담당 확인, 지휘관 결심에 따르도록 지원하는 도구를 완성하는 것이다. |
| --- | --- |
| **유의사항** | 모든 급수원·측정값·오염 사건·시각은 코드 안에서 만든 교육용 가상 자료이며 실제 부대, 위치, 급수 시설, 검사 결과는 사용하지 않는다. 코드의 기준치는 교육용 가정값이며 실제 음용 적합 판정은 공식 수질 기준과 의무(예방의학)·환경 담당 확인에 따른다. 부대 자료의 외부 AI 서비스 입력과 부대 내 촬영은 금지한다. 위험 신호와 신뢰도 등급은 판단 보조 정보이며 급수 중단·재개와 재검사 지시는 지휘관이 결정한다. 센서 교란 시나리오는 방어(탐지) 측 평가에만 사용하고 교란을 만드는 기법은 다루지 않는다. 미션별 정답 코드는 각각 한 파일로 독립 실행된다. |
| --- | --- |
**1단계. 수질검사 데이터 정의 및 센서 전처리**
| **미션 1. 야전 급수원 가상 수질검사 항목(pH, 탁도, 잔류염소, 중금속, 대장균) 데이터셋 정의** [초급 · 1.5시간] | **미션 1. 야전 급수원 가상 수질검사 항목(pH, 탁도, 잔류염소, 중금속, 대장균) 데이터셋 정의** [초급 · 1.5시간] |
| --- | --- |
| **목표** | 야전 급수원 가상 수질검사 항목(pH, 탁도, 잔류염소, 중금속, 대장균)과 센서·전술 환경 정보의 스키마와 데이터 명세를 정의한다. |
| **수행** | 측정 레코드를 급수원 정보, 수질 5항목, 센서 상태, 전술 파라미터(기상, 위치 오차, 통신 지연) 네 묶음 15개 필드로 정의하고 자료형·단위·허용 범위·형식 규칙을 둔다. 가상 센서 자료에서 샘플 20건을 뽑아 JSON으로 변환·검증하고, 형식·허용값·범위·자료형·필수 누락 오류 5종을 일부러 넣어 모두 검출되는지 확인한다. 검증 결과를 바탕으로 데이터 명세 요약표를 만든다. |
| **산출물** | data/schema/wel03_input_schema.json 및 docs/wel03_data_spec.md |
| **평가** | **[필수] 수질 데이터셋 정의** — 스키마 필드 정의 완성도 100%, 샘플 20건 검증 오류 0건, 주입 오류 5종 검출, 장병 복지·지원 실무와 야전 급수 환경에 맞는 항목 구성인가. |
| **미션 2. 수질 센서 결측치 대체 및 시계열 센서 이상치 정제 전처리 모듈 구현** [초급~중급 · 2시간] | **미션 2. 수질 센서 결측치 대체 및 시계열 센서 이상치 정제 전처리 모듈 구현** [초급~중급 · 2시간] |
| --- | --- |
| **목표** | 수질 센서의 결측치를 보정하고 시계열 이상치를 정제하는 전처리 모듈을 구현해 속도와 정확도를 확인한다. |
| **수행** | 급수원별 시계열에서 물리 범위 밖 값, 같은 값이 반복되는 고정값(stuck), 튀었다가 바로 돌아오는 단발 스파이크를 표시·제거하고 짧은 결측은 선형 보간, 긴 결측은 표시한다. 정상 변동(하수 유입 같은 지속 상승)은 지우지 않아야 하므로 주간·야간·악천후별 판정 배수와 항목별 최소 변화폭을 둔다. 처리 속도, 오류율, 일부러 지운 값의 복원 오차를 측정하고 단위 테스트 5종과 동적 임계값 효과를 확인한다. |
| **산출물** | src/preprocess/wel03_preprocessor.py 및 전처리 전후 데이터셋 |
| **평가** | **[필수] 센서 전처리 모듈** — 정제 처리 속도 1,000건/초 이상, 전처리 오류율 0%, 센서 고장 유형별 처리 내역과 정상 변동 보존의 타당성을 확인했는가. |
**2단계. 기준치 Baseline 판정 및 복합 오염 분류 모델**
| **미션 3. 음용 적합/부적합 판정 1차 기준치 필터링 Baseline 알고리즘 구현** [중급 · 2.5시간] | **미션 3. 음용 적합/부적합 판정 1차 기준치 필터링 Baseline 알고리즘 구현** [중급 · 2.5시간] |
| --- | --- |
| **목표** | 음용 적합·부적합 판정의 1차 기준치 필터링 Baseline 알고리즘을 구현하고 정확도를 측정한다. |
| **수행** | 전처리한 자료에 pH, 탁도, 잔류염소, 중금속, 대장균의 주의·위험 가정 기준을 적용해 안전·주의·위험 3등급을 판정한다. 전처리 없이(결측을 0으로 둔 경우)와 전처리 후 정확도를 비교하고 혼동행렬에서 놓친 위험과 오경보의 원인(오염 사건 유형, 센서 고장 유형)을 분석한다. 위험 판정마다 초과한 항목을 근거로 보이고, 즉시 판정과 2시간 연속 확인 방식을 비교해 놓침과 오경보의 균형을 논의한다. |
| **산출물** | src/models/wel03_baseline_model.py 및 기본 추론 결과 보고서 |
| **평가** | **[필수] 기준치 Baseline 판정** — 벤치마크 데이터에서 판정 정확도 75% 이상, 판정 근거(초과 항목) 제시, 놓친 위험과 오경보 원인 분석, 기준치가 교육용 가정값임을 명시했는가. |
| **미션 4. 복합 오염원 유입 징후 및 급수 안전도 위험 등급 분류 머신러닝 모델 고도화** [중급 · 3시간] | **미션 4. 복합 오염원 유입 징후 및 급수 안전도 위험 등급 분류 머신러닝 모델 고도화** [중급 · 3시간] |
| --- | --- |
| **목표** | 복합 오염원 유입 징후와 급수 안전도 위험 등급을 분류하는 머신러닝 모델을 고도화하고 방어 로직을 검증한다. |
| **수행** | 변화량, 24시간 기준선 대비 편차, 6시간 변동성, 대장균 누적, 센서 처리 표시 등 29개 특징으로 랜덤 포레스트를 학습하고 Baseline과 비교한다. 하수 유입, 중금속 급증, 소독 실패, 화학 오염, 서서히 증가하는 중금속, 복합 오염 등 오염 시나리오 7종과 센서 드리프트·단발 스파이크·통신 단절 같은 센서 교란 3종으로 재현율, 탐지 지연, 위험 오경보를 점검한다. 처리 지연을 측정하고 모델이 놓치거나 오경보하는 유형을 정리한다. |
| **산출물** | src/models/wel03_advanced_detector.py 및 예외 탐지 테스트 결과 |
| **평가** | **[선택] 복합 오염 분류 모델** — 복합 위협 재현율 85% 이상, 처리 지연 200ms 이하, 센서 교란 시나리오에 대한 방어 로직의 한계와 보완 방안을 현실적으로 설명하는가. |
**3단계. 신뢰도 지수·오경보 방지 및 상황판 대시보드**
| **미션 5. 센서 오류에 의한 단수 오경보 방지 및 수질 안전 신뢰도 지수 산출 모듈 개발** [중급~고급 · 3시간] | **미션 5. 센서 오류에 의한 단수 오경보 방지 및 수질 안전 신뢰도 지수 산출 모듈 개발** [중급~고급 · 3시간] |
| --- | --- |
| **목표** | 센서 오류로 인한 급수 중단 오경보를 줄이는 수질 안전 신뢰도 지수와 High·Med·Low 등급 모듈을 개발한다. |
| **수행** | 위험 경보마다 항목별 편차의 일치도, 경보 지속 시간, 센서 이상 표시, 드리프트 의심 여부를 점수화해 0~100점 신뢰도를 만들고 High·Med·Low로 나눈다. High만 급수 중단 검토 요청, Med는 재채수·현장 키트 검사, Low는 센서 점검·재측정으로 조치를 나눠 신뢰도 적용 전후의 오경보율을 비교한다. 임계값 민감도를 표로 보고, 센서 잡음을 바꿔 5회 재현했을 때 등급이 얼마나 일관된지 측정한다. |
| **산출물** | src/verification/wel03_confidence_engine.py |
| **평가** | **[필수] 신뢰도 지수·오경보 방지** — 오경보율(FAR) 40% 이상 감축, 잡음 재현 5회 등급 일치율 90% 이상, High·Med·Low 기준과 조치의 군사적 타당성을 설명하는가. |
| **미션 6. 야전 급수차 및 정수 시설별 수질 상태 실시간 시각화 대시보드 구현** [중급 · 2.5시간] | **미션 6. 야전 급수차 및 정수 시설별 수질 상태 실시간 시각화 대시보드 구현** [중급 · 2.5시간] |
| --- | --- |
| **목표** | 야전 급수차와 정수 시설별 수질 상태를 실시간처럼 갱신해 보여 주는 상황판 대시보드를 구현한다. |
| **수행** | 가상 급수원 8곳의 측정 스트림을 1시간 단위로 갱신하며 급수원 상태 지도, 항목별 기준 대비 비율 히트맵, 경보 급수원 추이, 상태 현황판, 긴급 경보 목록 5종 컴포넌트를 그린다. 갱신 1회당 처리 시간과 급수원 상세 조회 응답 시간을 측정하고, 야간 모드와 경보 강조로 인지 부하를 줄이는 방법을 확인한다. 위험 표시는 가정 기준치 기반 판단 보조임을 화면에 명시한다. |
| **산출물** | src/ui/wel03_dashboard.py (또는 웹 UI 컴포넌트) |
| **평가** | **[선택] 수질 상황판 대시보드** — 화면 갱신 처리 1초 이내, 상세 조회 응답 100ms 이내, 상황판으로서 경보 급수원을 한눈에 구분할 수 있는가. |
**4단계. 급수 중단 HITL 결재선 및 대량 오염 부하 시험**
| **미션 7. 수질 위험 경보 발생 시 급수관 긴급 채수 검사 및 급수 중단 HITL 결재선 설계** [고급 · 3시간] | **미션 7. 수질 위험 경보 발생 시 급수관 긴급 채수 검사 및 급수 중단 HITL 결재선 설계** [고급 · 3시간] |
| --- | --- |
| **목표** | 수질 위험 경보 발생 시 긴급 채수 검사와 급수 중단을 사람이 결정하는 HITL 결재선을 설계한다. |
| **수행** | 경보 사건을 검토 큐에 우선순위로 등록하고 측정병 채수, 예방의학 담당 검토, 지휘관 결심의 순서로 급수 중단 또는 유지를 결정하는 상태 기계를 구현한다. 시스템이 자동으로 급수를 중단하지 못하게 권한을 분리하고 각 단계에 사유·근거를 필수로 한다. 측정병의 직접 중단, 시스템 자동 확정, 검토 없이 승인, 미등록 사용자, 사유 없는 반려 등 우회·위반 시도 6종 차단과 해시 체인 감사 로그의 변조 탐지를 확인한다. |
| **산출물** | src/hitl/wel03_approval_workflow.py 및 docs/wel03_hitl_guide.md |
| **평가** | **[필수] 급수 중단 HITL 결재선** — 검토 큐 대기시간과 승인·반려 처리 로깅 성공률 100%, 자동 급수 중단 0건, 지휘 책임 분계가 명확하고 성급한 자동 단정을 막는 구조인가. |
| **미션 8. 오염물질 대량 유입 가상 시나리오 부하 테스트 및 경보 반응 시간 검증** [고급 · 3.5시간] | **미션 8. 오염물질 대량 유입 가상 시나리오 부하 테스트 및 경보 반응 시간 검증** [고급 · 3.5시간] |
| --- | --- |
| **목표** | 오염물질이 대량 유입되는 가상 시나리오에서 파이프라인 부하 시험을 하고 경보 반응 시간과 Fail-safe 동작을 검증한다. |
| **수행** | 급수원을 8곳에서 48곳으로 늘려 트래픽을 500% 키우고 30곳에 오염이 동시에 유입되는 상황에서 수집·정제·판정 주기의 처리 시간, 시스템 중단, 데이터 유실, 메모리 증가, 경보 탐지와 반응 시간을 평시와 비교한다. 손상 레코드는 버리지 않고 격리 보관하며, 처리 시간 예산을 넘으면 정제·특징 계산을 줄이는 기능 축소(lite) 모드로 전환하되 경보 판정은 유지한다. 기능 축소를 적용하지 않았을 때와 병목 구간도 비교한다. |
| **산출물** | tests/wel03_stress_test.py 및 스트레스 테스트 분석 보고서 |
| **평가** | **[선택] 대량 유입 부하 시험** — 동시 트래픽 500% 증가 시 시스템 중단 0건, 데이터 유실률 0%, 경보 반응 시간 제시, 극단 상황에서 Fail-safe와 기능 축소 동작이 적절한가. |
**5단계. AAR 임계치 재조정 및 통합 패키지 완성**
| **미션 9. AAR 기반 수질 이상 오판 사례 분석 및 수질 위험 판단 임계치 재조정** [고급 · 3시간] | **미션 9. AAR 기반 수질 이상 오판 사례 분석 및 수질 위험 판단 임계치 재조정** [고급 · 3시간] |
| --- | --- |
| **목표** | AAR로 수질 이상 오판 사례를 분석하고 판단 임계치를 재조정해 효과를 별도 검증 세트로 확인한다. |
| **수행** | 튜닝용 가상 자료에서 Baseline 오판을 오경보(센서 드리프트, 단발 대장균), 경계 혼동, 놓침(화학, 중금속 완만 증가) 등 원인별로 분류한다. 대장균 3시간 누적 기준과 중금속 기준선 편차 기준을 재조정하고 YAML 설정으로 정리한다. 튜닝·검증·벤치마크 세트에서 정확도와 위험 재현율, 새로 틀린 건을 회귀 테스트로 비교하고 재발한 오류와 남은 원인을 기록한다. |
| **산출물** | docs/wel03_aar_report.md 및 configs/wel03_tuned_params.yaml |
| **평가** | **[필수] AAR·임계치 재조정** — AAR 적용 후 정확도 향상(목표 10%p)과 재발 오류 0건 달성 여부를 검증 세트에서 정직하게 보고하고, 오류 원인 규명과 개선 조치의 논리를 설명하는가. |
| **미션 10. 가상 수질검사 데이터 위험 신호 대시보드 시스템 통합 패키지 완성** [최고급 · 3.5시간] | **미션 10. 가상 수질검사 데이터 위험 신호 대시보드 시스템 통합 패키지 완성** [최고급 · 3.5시간] |
| --- | --- |
| **목표** | 가상 수질검사 데이터 위험 신호 대시보드를 하나의 통합 패키지로 완성한다. |
| **수행** | 입력 검증, 전처리, 재조정 기준치 판정, 랜덤 포레스트 위험 분류, 신뢰도 등급, 사람 검토 큐 등록, 상황판 요약을 한 파일의 파이프라인으로 묶는다. 서로 다른 가상 시나리오 5종으로 End-to-End 실행 성공률을 확인하고, 자체 점검 8항목과 함수 호출 추적 기반 커버리지를 측정한다. 운영 문서(README) 7개 장을 점검하고 지휘관 브리핑 요약을 출력하며, 실제 판정은 공식 기준과 담당 확인에 따른다는 점을 명시한다. |
| **산출물** | src/main_wel03.py, README.md, docs/wel03_final_report.pdf(md) |
| **평가** | **[필수] 통합 패키지 완성** — End-to-End 통합 실행 성공률 100%, 자체 점검과 테스트 커버리지 85% 이상, 군 실무 도입 시 한계와 운용 신뢰도를 설명하는가. |
**최종 판정**
**판정 기준 :** 모든 필수 항목([필수])에서 PASS를 받아야 최종 PASS로 인정한다.
최종 판정 결과 : ( PASS / FAIL )
평가 의견 : (필수 항목 중 하나라도 FAIL인 경우 사유를 기재한다.)
@@ -0,0 +1,267 @@
**WEL03 실습가이드 - 가상 수질검사 데이터 위험 신호 대시보드**
구 분 **실습가이드 [교육용가상자료]**
**1. 실습 개요**
본 실습은 교육용 가상 급수원 수질 센서 자료로 수질 위험 신호 대시보드를 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(WEL03_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다. 코드의 기준치는 교육용 가정값이며 실제 음용 판정은 공식 기준과 의무(예방의학) 담당 확인에 따른다.
| **과제** | WEL03 가상 수질검사 데이터 위험 신호 대시보드 |
| --- | --- |
| **난이도·유형** | 중급 / 코딩형 |
| --- | --- |
| **예상 소요시간** | 미션 10개, 총 27.5시간 |
| --- | --- |
| **준비물** | WEL03_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
| --- | --- |
**2. 진행 방법**
- 정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 가상 데이터 생성 함수가 빠져 오류가 난다).
- 실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 같은 값이 나오지만, 처리 시간(초·ms)과 처리 속도는 실행 환경에 따라 달라진다.
- 도전 과제는 코드 상단의 파라미터(LIMITS 기준치, 스파이크 배수, 신뢰도 임계값, 부하 배수 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.
- 그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다.
- 실제 부대·급수 시설·검사 결과는 입력하지 않는다. 급수 중단·재개는 지휘관 결정 사항이며 도구의 판정은 판단 보조 정보다.
**3. 미션 진행 요약**
| **미션** | **난이도·시간** | **핵심 확인 결과** |
| --- | --- | --- |
| **M1. 야전 급수원 가상 수질검사 항목(pH, 탁도, 잔류염소, 중금속, 대장균) 데이터셋 정의** | 초급
1.5시간 | 스키마 완성도 15/15(100%), 정상 샘플 20건 오류 0건 |
| **M2. 수질 센서 결측치 대체 및 시계열 센서 이상치 정제 전처리 모듈 구현** | 초급~중급
2시간 | 처리 속도 약 2만 건/초(목표 1,000건/초 이상), 오류율 0%, 결측 125건에서 0건 |
| **M3. 음용 적합/부적합 판정 1차 기준치 필터링 Baseline 알고리즘 구현** | 중급
2.5시간 | 정확도 97.9%(전처리 없음 96.8%, 목표 75% 이상), 위험 재현율 88.6% |
| **M4. 복합 오염원 유입 징후 및 급수 안전도 위험 등급 분류 머신러닝 모델 고도화** | 중급
3시간 | 랜덤 포레스트 정확도 99.3%, 위험 재현율 97.2%(목표 85% 이상), 1건 지연 약 19ms(목표 200ms 이하) |
| **M5. 센서 오류에 의한 단수 오경보 방지 및 수질 안전 신뢰도 지수 산출 모듈 개발** | 중급~고급
3시간 | 오경보율 8.4%에서 0.7%(91% 감축, 목표 40% 이상), 잡음 재현 일치율 93.6%(목표 90% 이상) |
| **M6. 야전 급수차 및 정수 시설별 수질 상태 실시간 시각화 대시보드 구현** | 중급
2.5시간 | 갱신 1회 평균 약 120ms(목표 1초 이내), 상세 조회 평균 약 5ms(목표 100ms 이내) |
| **M7. 수질 위험 경보 발생 시 급수관 긴급 채수 검사 및 급수 중단 HITL 결재선 설계** | 고급
3시간 | 경보 10건 큐 등록, 자동 급수 중단 0건, 급수 중단 9·유지 1 |
| **M8. 오염물질 대량 유입 가상 시나리오 부하 테스트 및 경보 반응 시간 검증** | 고급
3.5시간 | 시스템 중단 0건, 데이터 유실률 0%, 메모리 말기/초기 1.00, 경보 30/30 탐지 |
| **M9. AAR 기반 수질 이상 오판 사례 분석 및 수질 위험 판단 임계치 재조정** | 고급
3시간 | 검증 세트 정확도 향상 0.1%p(목표 10%p 미달), 재발 오류 1건(목표 0건 미달) |
| **M10. 가상 수질검사 데이터 위험 신호 대시보드 시스템 통합 패키지 완성** | 최고급
3.5시간 | E2E 성공률 100%(5종), 자체 점검 8/8, 함수 커버리지 100%(11/11) |
**미션 1. 야전 급수원 가상 수질검사 항목(pH, 탁도, 잔류염소, 중금속, 대장균) 데이터셋 정의**
| **난이도·시간** | 초급 · 1.5시간 |
| --- | --- |
| **진행 순서** | 1) M1 코드를 실행해 스키마 필드 15개와 샘플 20건 검증 결과를 확인한다.
2) 오류 주입 5종이 각각 어떤 규칙에 걸렸는지 표로 정리한다.
3) 데이터 명세 요약표에서 단위와 허용 범위를 확인한다. |
| --- | --- |
| **확인할 결과** | 스키마 완성도 15/15(100%), 정상 샘플 20건 오류 0건
주입 오류 5종 모두 검출 |
| --- | --- |
| **도전 과제** | quality 묶음에 '수온(temp_c, 0~60)' 필드를 추가하고 범위 밖 값을 넣어 검출되는지 확인한다. |
| --- | --- |
| **제출물** | 스키마·검증기 코드, 데이터 명세 요약(필드·단위·범위) |
| --- | --- |
**미션 2. 수질 센서 결측치 대체 및 시계열 센서 이상치 정제 전처리 모듈 구현**
| **난이도·시간** | 초급~중급 · 2시간 |
| --- | --- |
| **진행 순서** | 1) M2 코드를 실행해 처리 속도, 오류율, 남은 결측 수를 확인한다.
2) 고장 유형별 처리 내역표에서 stuck·spike·dropout이 어떻게 표시되는지 본다.
3) 단위 테스트 5종과 동적 임계값 효과(오제거 건수)를 정리한다. |
| --- | --- |
| **확인할 결과** | 처리 속도 약 2만 건/초(목표 1,000건/초 이상), 오류율 0%, 결측 125건에서 0건
보간 MAE 0.042 대 평균 대체 0.122, 단위 테스트 5/5 |
| --- | --- |
| **도전 과제** | SPIKE_K의 주간 배수를 6.0에서 3.0으로 낮춰 정상 변동 오제거가 어떻게 늘어나는지 확인한다. |
| --- | --- |
| **제출물** | 전처리 모듈 코드, 전처리 전후 비교표와 단위 테스트 결과 |
| --- | --- |
**미션 3. 음용 적합/부적합 판정 1차 기준치 필터링 Baseline 알고리즘 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M3 코드를 실행해 전처리 유무에 따른 정확도와 혼동행렬을 확인한다.
2) 놓친 위험과 오경보의 원인(사건 유형, 센서 고장)을 정리한다.
3) 즉시 판정과 2시간 연속 확인의 차이를 비교한다. |
| --- | --- |
| **확인할 결과** | 정확도 97.9%(전처리 없음 96.8%, 목표 75% 이상), 위험 재현율 88.6%
오경보 17건, 놓친 위험 중 중금속 완만 증가 22시간 |
| --- | --- |
| **도전 과제** | LIMITS의 탁도 위험 기준을 2.0에서 1.5NTU로 낮춰 재현율과 오경보가 어떻게 달라지는지 확인한다. |
| --- | --- |
| **제출물** | Baseline 판정 코드, 혼동행렬·오차 분석 보고(가정 기준치 명시) |
| --- | --- |
**미션 4. 복합 오염원 유입 징후 및 급수 안전도 위험 등급 분류 머신러닝 모델 고도화**
| **난이도·시간** | 중급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M4 코드를 실행해 Baseline과 랜덤 포레스트 성능을 비교한다.
2) 복합 위협 시나리오 10종의 PASS/FAIL 표를 확인한다.
3) FAIL인 시나리오의 원인과 다음 미션(신뢰도 지수)의 보완 방향을 적는다. |
| --- | --- |
| **확인할 결과** | 랜덤 포레스트 정확도 99.3%, 위험 재현율 97.2%(목표 85% 이상), 1건 지연 약 19ms(목표 200ms 이하)
시나리오 9/10 통과(센서 드리프트 교란은 FAIL) |
| --- | --- |
| **도전 과제** | RandomForestClassifier의 max_depth를 10에서 4로 줄여 재현율과 오경보가 어떻게 달라지는지 비교한다. |
| --- | --- |
| **제출물** | 분류 모델 코드, 시나리오별 시험 결과표와 한계 분석 |
| --- | --- |
**미션 5. 센서 오류에 의한 단수 오경보 방지 및 수질 안전 신뢰도 지수 산출 모듈 개발**
| **난이도·시간** | 중급~고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M5 코드를 실행해 신뢰도 등급별 경보 수와 조치 표를 확인한다.
2) 신뢰도 적용 전후 오경보율을 비교한다.
3) 임계값 민감도 표와 잡음 재현 5회 일치율을 정리한다. |
| --- | --- |
| **확인할 결과** | 오경보율 8.4%에서 0.7%(91% 감축, 목표 40% 이상), 잡음 재현 일치율 93.6%(목표 90% 이상)
High 137·Med 112·Low 13건, AUC 0.821 |
| --- | --- |
| **도전 과제** | High 기준을 60점에서 80점으로 올려 상신 경보 수와 실제 위험 상신 비율이 어떻게 변하는지 확인하고 놓침 위험을 논의한다. |
| --- | --- |
| **제출물** | 신뢰도 엔진 코드, 등급별 조치 기준표와 민감도 분석 |
| --- | --- |
**미션 6. 야전 급수차 및 정수 시설별 수질 상태 실시간 시각화 대시보드 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M6 코드를 실행해 갱신 시간과 급수원 상태판을 확인한다.
2) 긴급 경보로 강조되는 급수원과 근거(초과 항목)를 읽는다.
3) 그래프 5종에서 경보 급수원을 한눈에 찾는 방법을 설명한다. |
| --- | --- |
| **확인할 결과** | 갱신 1회 평균 약 120ms(목표 1초 이내), 상세 조회 평균 약 5ms(목표 100ms 이내)
긴급 경보 강조 3곳(W04, W07, W08), 컴포넌트 5종 |
| --- | --- |
| **도전 과제** | 야간 모드 색상을 바꾸거나 경보 강조 기준을 '주의 포함'으로 넓혀 인지 부하가 어떻게 달라지는지 비교한다. |
| --- | --- |
| **제출물** | 대시보드 코드, 상황판 화면 캡처, 경보 강조 기준 설명 |
| --- | --- |
**미션 7. 수질 위험 경보 발생 시 급수관 긴급 채수 검사 및 급수 중단 HITL 결재선 설계**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M7 코드를 실행해 검토 큐와 결재 결과(급수 중단·유지)를 확인한다.
2) 우회·위반 시도 6종이 차단되는 이유를 정리한다.
3) 감사 로그 해시 체인과 임의 수정 탐지를 확인한다. |
| --- | --- |
| **확인할 결과** | 경보 10건 큐 등록, 자동 급수 중단 0건, 급수 중단 9·유지 1
우회 시도 차단 6/6, 로깅 성공률 100%(49건), 변조 탐지 |
| --- | --- |
| **도전 과제** | 큐 우선순위 점수에서 '대장균' 가중치를 높여 상위 5건이 어떻게 바뀌는지 확인한다. |
| --- | --- |
| **제출물** | 결재선 코드, 급수 중단 HITL 가이드(역할·순서·기록), 차단 시험 결과 |
| --- | --- |
**미션 8. 오염물질 대량 유입 가상 시나리오 부하 테스트 및 경보 반응 시간 검증**
| **난이도·시간** | 고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M8 코드를 실행해 평시와 부하 500% 비교표를 확인한다.
2) 유실률·중단·메모리·경보 반응 시간을 읽는다.
3) 기능 축소 적용 전후 주기 처리 시간과 병목을 정리한다. |
| --- | --- |
| **확인할 결과** | 시스템 중단 0건, 데이터 유실률 0%, 메모리 말기/초기 1.00, 경보 30/30 탐지
기능 축소 시 주기 평균 약 91ms 대 미적용 약 659ms(예산 300ms) |
| --- | --- |
| **도전 과제** | 급수원 수를 48곳에서 96곳으로 늘려 기능 축소 전환 시점과 반응 시간이 어떻게 달라지는지 확인한다. |
| --- | --- |
| **제출물** | 부하 시험 코드, 스트레스 시험 분석 보고(Fail-safe 동작 포함) |
| --- | --- |
**미션 9. AAR 기반 수질 이상 오판 사례 분석 및 수질 위험 판단 임계치 재조정**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M9 코드를 실행해 오판 원인 분류표와 재조정 파라미터(YAML)를 확인한다.
2) 튜닝·검증·벤치마크 세트의 정확도 변화와 새로 틀린 건수를 비교한다.
3) 목표 미달 사유를 설명하고 남은 원인에 대한 운영 조치를 적는다. |
| --- | --- |
| **확인할 결과** | 검증 세트 정확도 향상 0.1%p(목표 10%p 미달), 재발 오류 1건(목표 0건 미달)
오판 110건에서 102건, 남은 원인은 센서 고장·경계 혼동 |
| --- | --- |
| **도전 과제** | ecoli_3h_min을 2에서 3으로 바꿔 놓침과 오경보가 어떻게 달라지는지 확인한다. 목표 미달이 임계치 문제가 아닌 이유를 설명한다. |
| --- | --- |
| **제출물** | AAR 분석 코드, AAR 보고서(원인·조치·회귀 테스트), 재조정 YAML |
| --- | --- |
**미션 10. 가상 수질검사 데이터 위험 신호 대시보드 시스템 통합 패키지 완성**
| **난이도·시간** | 최고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M10 코드를 실행해 End-to-End 5종 결과를 확인한다.
2) 자체 점검 8항목과 함수 커버리지, README 7개 장을 확인한다.
3) 브리핑 요약의 수치가 실행 결과와 맞는지 대조한다. |
| --- | --- |
| **확인할 결과** | E2E 성공률 100%(5종), 자체 점검 8/8, 함수 커버리지 100%(11/11)
급수 중단 검토 상신 6곳 전부 PENDING, README 7개 장 |
| --- | --- |
| **도전 과제** | CONFIG의 conf_high를 바꿔 검토 큐에 올라가는 급수원 수가 어떻게 달라지는지 확인한다. |
| --- | --- |
| **제출물** | 통합 도구 코드, 운영 문서 요약, 지휘관 브리핑 요약 |
| --- | --- |
**4. 최종 점검표**
| **점검 항목** | **확인** |
| --- | --- |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 | ( ) |
| 각 미션의 확인할 결과를 기록했다 | ( ) |
| 도전 과제 결과와 이유를 기록했다 | ( ) |
| 브리핑 수치가 실행 결과와 일치한다 | ( ) |
| 실제 부대·급수 시설·검사 결과를 사용하지 않았다 | ( ) |
| 급수 중단·재개는 지휘관 결정으로 설계했고 실제 판정은 공식 기준과 담당 확인에 따른다고 명시했다 | ( ) |