166 lines
3.2 KiB
Markdown
166 lines
3.2 KiB
Markdown
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에 대한 명확한 답
|
|
• 이론과 실제의 간극 강조
|
|
• 실무적 함의
|
|
• 한계 및 향후 연구 |