일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 신혼 여행
- 경로 계획 알고리즘
- leetcode
- docker
- 생성 패턴
- ssh
- PostgreSQL
- 디자인 패턴
- terraform
- Rust
- MAPF
- Playwright
- 실용주의 프로그래머
- Go-lang
- github
- 지표
- AWS 비용 절감
- 오블완
- 청첩장 모임
- 구조 패턴
- 티스토리챌린지
- Monthly Checklist
- DevOps
- study
- 도커 주의사항
- 논문 정리
- Til
- 14일 공부
- amazon ecs
- AWS
- Today
- Total
밤 늦게까지 여는 카페
비용 함수 f, g, h - 좋은 결과를 내기 위해서는 적절한 반성과 계획이 필요하죠? 본문
안녕하세요. 오늘은 경로 계획 알고리즘에서 사용하는 비용 함수 f, g, h에 대해서 간단하게 설명드리려고 합니다.
사실 제목부터 힌트였습니다!
f가 지금 생각하는 결과값, g가 반성, h가 계획이라고 볼 수 있습니다.
자전거 여행으로 알아보는 f, g, h
예를 들어볼까요?
여러분이 대전에서 서울까지 자전거 여행을 떠난다고 생각해봐요.
1. 처음 출발할 때에는 "카카오 맵에 검색해보니 10시간 정도 타면 서울 도착한다네? 최대한 편하게 자전거 우선 도로로 가자!" 라고 생각을 하며 여행을 시작합니다.
2. 열심히 페달을 밟은지 1시간 정도 지났을까요? 세종을 완전히 못 벗어난 것을 확인하고 "20시간이 걸릴수도 있겠군..." 계획을 수정합니다.
3. 어라? 천안에 거의 도착했는데 4시간밖에 안 지났네요? 지름길을 잘 찾아서 8시간 정도 더 달리면 도착할 수 있지 않을까요?
4. 4시간을 더 달렸을까요? 지금까지 8시간은 달렸습니다. 6시간만 더 가면 될 것 같습니다. 카카오맵이 알려준 길보다 조금 더 빠른 길들이 있는 것 같습니다...!
5. 2시간을 더 달렸습니다. 4시간만 가면 서울에 도착할 것 같지만 태양도 너무 강하고, 체력이 다한 우리는 오산에서 하루 자고 출발하기로 결심합니다.
6. 날도 더운데 자전거를 오래 타서일까요? 생각보다 늦잠을 잤습니다. 결국 26시간이 걸려서 서울에 도착할 수 있었습니다.
우리는 본능적으로 위의 모든 단계에서 f, g, h를 계산하고 있습니다.
어떻게 f, g, h를 계산했는지 분석해볼까요?
(각 단계들을 S1, S2, S3, S4, S5라고 하겠습니다.)
단계 | g | h | f |
S1 | 0 | 10 | 10 |
S2 | 1 | 20 | 21 |
S3 | 4 | 8 | 12 |
S4 | 8 | 6 | 14 |
S5 | 10 | 4 | 14 |
S6 | 26 | 0 | 26 |
각 단계 별로 자전거를 타왔던 시간이 g, 앞으로 얼마나 걸릴지 예상한 시간이 h, 그리고 이 둘을 합한 시간이 f가 됩니다.
지금까지 자전거 여행을 예시로 들면서 지금까지 잘 왔는지(g), 앞으로 얼마나 더 걸릴지(h) 추정하는 과정을 되짚어보며 비용 함수에 대해 공부해봤습니다!
- 경로가 바뀌지는 않았기에 경로 계획 알고리즘의 예시를 보여주지 못한 점은 아쉬웠습니다.
다음에는 뭘 공부해볼까요? ㅎㅎ
'알고리즘 > Path Finding' 카테고리의 다른 글
물류센터 환경에서 가장 좋은 MAPF 모델은 뭘까요? - 리서치 논문 리뷰에 약간의 고민들을 곁들여봤습니다. (0) | 2023.07.12 |
---|---|
JPS 알고리즘 - 그래프에 방향성이라는 조건을 추가하니 더 최적화가 되네요? (0) | 2023.07.07 |
[프로그래머스 알고리즘] 조이스틱 문제 - A* 알고리즘은 옳습니다. 틀린 건 저에요. (0) | 2023.05.20 |
ARA* 알고리즘 - 처음부터 완벽할 필요는 없잖아요! (0) | 2023.05.08 |
WA* 알고리즘 - Heuristic 함수에 장난을 좀 쳐볼까요? (0) | 2023.05.05 |