피드로 돌아가기
Dev.toBackend
원문 읽기
60^4 조합의 결정론적 상태 머신 기반 Saju 계산 엔진 설계
Building a Saju Engine: Case Study with Karina's Birth Chart Algorithm
AI 요약
Context
UTC 타임스탬프를 Gregorian, Lunar, Sexagenary 등 다중 캘린더 시스템으로 변환해야 하는 복잡한 도메인 제약 존재. 기존 LLM의 확률적 응답 대신 1,500년 된 고전 알고리즘의 정확한 구현을 통한 Deterministic한 결과 도출 필요.
Technical Solution
- ETL 패턴을 적용한 'Extract(Timestamp) → Transform(Calendar) → Load(Analysis)' 파이프라인 구축
- Julian Day 기반의 Epoch Offset 연산을 통한 Sexagenary Cycle 위치의 정밀한 계산
- Pure Function 기반의 Ten Gods Classification 알고리즘을 통해 오행 간의 상생/상극 관계를 행렬로 구조화
- Element Weighting 시스템을 도입하여 각 Pillar의 가중치 합산 및 백분율 분포 산출
- PHP/MySQL 기반의 결정론적 상태 머신 설계를 통한 모델 드리프트 및 데이터 오염 원천 차단
실천 포인트
- 도메인 규칙이 명확한 경우 LLM보다 결정론적 알고리즘(Deterministic Algorithm)을 통한 신뢰성 확보 검토 - 복잡한 시간/날짜 변환 시 표준 UTC 기준의 Julian Day 변환 프로세스 도입 고려 - 복잡한 비즈니스 로직을 순수 함수(Pure Function)로 분리하여 테스트 가능성과 예측 가능성 증대