Files
dijkstra-runtime-analysis/codes/README.md
T
2026-03-02 20:55:36 +09:00

3.2 KiB

python -V Python 3.12.12

pip -V pip 26.0.1 from /root/dijkstra/src/.venv/lib/python3.12/site-packages/pip (python 3.12)

python -c "import platform; print(platform.platform())" Linux-6.8.12-17-pve-x86_64-with-glibc2.41

lscpu | head Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 48 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 16 On-line CPU(s) list: 1-3,8 Off-line CPU(s) list: 0,4-7,9-15 Vendor ID: AuthenticAMD Model name: AMD Ryzen 7 7700 8-Core Processor CPU family: 25

I. Introduction

•	이론적 복잡도 vs 실제 성능 문제 제기
•	기존 연구 간략 언급
•	RQ 제시
•	핵심 주장 요약

II. Theoretical Background

이 부분이 추가되어야 한다.

2.1 Dijkstra 시간복잡도 구조

Binary: T_B = c_1 E \log V

Fibonacci: T_F = c_2 E + c_3 V \log V

2.2 decrease-key의 역할

•	relax_success = decrease_key 발생 빈도
•	입력 분포와 그래프 밀도가 이를 결정

→ 여기서 “역전 조건의 이론적 형태”를 먼저 제시

예:

c_{dec}^{F} \cdot D < c_{dec}^{B} \cdot D \log V

이게 논문의 수학적 중심이 된다.

III. Methodology

이건 반드시 독립 섹션으로.

3.1 실제 데이터 분석 방법 • USA-road 기반 분포 추정 • mean, std 계산 • lognormal 변환 공식

3.2 가상 그래프 생성 방법 • outdegree 기반 생성 • density 정의 • std 범위 정당화

3.3 측정 지표 • relax_attempts • relax_success • relax_ratio • speedup 정의

3.4 연산 단위 비용 모델

선형 모델:

T = \beta_0 + \beta_1 extract + \beta_2 relax + \beta_3 decrease

이걸 명확히 수식으로 써야 함.

IV. Empirical Analysis

이제 네가 말한 흐름을 그대로 쓰면 된다.

4.1 실제 데이터 분포 분석 • mean ≈ 3000 • std ≈ 4000 • lognormal 적합성

→ 실험 파라미터의 정당화

4.2 변수 간 관계 분석 (가상 데이터)

4.2.1 Density ↔ Relax_attempts

→ 거의 선형 관계

4.2.2 Sigma ↔ Relax_success_ratio

→ 양의 상관관계

4.2.3 Decrease_key ↔ Speedup

→ 거의 무관

4.3 런타임 다중 선형 회귀 분석 • 단위 연산 비용 추정 • Binary vs Fibonacci 비교 • R² 제시

이 부분이 핵심 증거.

V. Deriving the Crossover Condition

여기가 논문의 “기여”다.

회귀 계수를 이용해:

Binary: T_B = a_1 extract\log V + a_2 decrease\log V + ...

Fibonacci: T_F = b_1 extract\log V + b_2 decrease + ...

역전 조건:

T_F < T_B

정리하면:

(b_2 - a_2 \log V) D + (b_1 - a_1)\log V + ... < 0

여기서: • 실제 계수 대입 • 부등식이 성립하는 V, D 범위 계산

이게 논문의 가장 강력한 부분.

VI. Feasibility Analysis • Python 환경에서는 성립 불가 • 상수항이 지배 • C++ 가능성 언급

VII. Conclusion • RQ에 대한 명확한 답 • 이론과 실제의 간극 강조 • 실무적 함의 • 한계 및 향후 연구