-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.progress
52 lines (49 loc) · 1.85 KB
/
.progress
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
2024-12-22
16:51-
TODO:
- default vertex 설명 추가
- non-skip linkable 알고리즘
- 전역 변수로 옵션
- Graph 만들 때부터 O(N)으로 만들기
- 최종 path에서 Vertex Fill -> Path Fill로 변경
- 간격이 있는 두 노드가 있으면 재귀적으로 한번 더 path 찾기
- calc_sum_chk 전역변수로 처리하도록
- qry_score sum을 최우선으로 하기.
- 새로운 path를 기존 path에 끼워넣는다.
- (PafOutputData)에 bool 변수를 넣어서 true로 표시: `is_alt_path`
2025-01-05
10:00-
DONE:
- default vertex Appendix.md로 추가
- is_in_alt_path를 is_alt_path로 변경
- non-skip likable 알고리즘 구현함
- NON_SKIP_LINKABLE 변수
- if(NON_SKIP_LINKABLE)로 옵션 켰다가 끌 수 있음
- 최종 path에서 Vertex Fill -> Path Fill로 변경
- 간격이 있는 두 노드가 있으면 재귀적으로 한번 더 path 찾기
- static thread_local
- qry_score sum을 최우선으로 하기.
```cpp
enum class PafDistanceCompareMode{
CALC_SUM_MODE,
QRY_SCORE_MODE,
};
/// Distance between Paf nodes
struct PafDistance{
static thread_local PafDistanceCompareMode cmp_mode;
```
- 새로운 path를 기존 path에 끼워넣는다.
- (PafOutputData)에 bool 변수를 넣어서 true로 표시: `is_alt_path`
TODO:
- int64_t, int32_t 규칙 설정
- upgrade_edge_path에서 kShortestWalksSolver를 Custom Dijkstra로 교체 (amortized O(N) possible ?)
2025-01-06
Done
1. kShortestWalkSolver을 DAG DP로 교체
2. Solver의 topology sort 결과는 그대로 가져옴.
Possible 개선사항:
- redundant한 int64_t를 int32_t로 변경
- Shortest Path를 DAG Dp로 찾는 과정에서 unordered_dense map을 쓰는 대신 일반 vector로 연속한 구간을 담당
2025-01-20
1. make_graph에서 ii->dest 뿐만 아니라 ji -> dest 형태 추가.
2. is_valid_internal_vertex 추가