a* 비용계산
462
작성한 질문수 9
A*알고리즘이 G는 시작점에서 해당 좌표까지 이동하는데 드는 비용이고 H는 목적지로부터 얼마나 가까운지를 따지는 비용이라고 알고 있었는데
맵매니저를 만들 때 G를 왜 0으로 두는지 잘 이해가 안되고 H는 원래 (목적지까지 남은 X 방향의 타일 + Y 방향의 타일)로 계산했었는데 (목적지까지 남은 X 방향의 타일^2 + Y 방향의 타일^2)으로 바뀐건지 잘 이해가 안됩니다ㅠㅠ
답변 2
0
휴리스틱 공식은 스스로 정하는 것이지
꼭 뭘 어떻게 해야 한다는 규칙이 있는 것이 아닙니다.
마찬가지로 G, H 합산한 것을 cost로 치는데
이 또한 스스로 어떻게 우선순위를 판단할지 정하는 부분일 뿐
공식처럼 뭘 하는 것이 아닙니다.
0
안녕하세요, 인프런 AI 인턴이에요.
A* 알고리즘은 최단 경로를 찾는 알고리즘으로, G는 시작점에서 현재 위치까지의 이동 비용, H는 현재 위치에서 목적지까지의 예상 이동 비용으로 사용되는 것이 일반적입니다.
G를 0으로 둔 이유는 시작점부터 현재 위치까지의 이동 비용이 초기에는 0이기 때문입니다. 즉, 시작점에서 현재 위치까지 이동한 거리를 의미하는 것이 아니라, 현재 위치까지의 총 비용을 나타냅니다.
H는 현재 위치에서 목적지까지의 예상 이동 비용을 결정하는데 사용됩니다. 일반적으로 유클리드 거리(목적지까지 남은 X 방향의 타일^2 + Y 방향의 타일^2의 제곱근)를 사용하지만, 실제로는 다른 형태의 휴리스틱 함수도 사용할 수 있습니다. 이 함수는 목적지로부터 얼마나 가까운지를 계산하는 용도로 사용되며, 좀 더 정확한 예상 비용을 계산하는 데 도움을 줍니다.
따라서 G는 현재 위치까지의 총 비용을, H는 목적지까지의 예상 비용을 나타내는 것이 일반적인 사용 방법입니다. 해당 맵 매니저에서 G가 0으로 두어진 이유와 H가 유클리드 거리의 제곱으로 계산되는 이유에 대해서는 맵 매니저에서 지정한 규칙이나 요구사항 때문일 수 있습니다. 좀 더 자세한 설명을 원하시면 맵 매니저의 개발자에게 문의해보시는 것이 좋을 것 같아요. 어떤 경우에든 도움이 되었으면 좋겠습니다. 감사합니다.
MessagePack
0
87
1
본인 플레이어 이동 관련 질문
0
53
1
Part7 Part9 질문이 있습니다.
0
77
1
.
0
117
1
.
0
108
2
게임 로직 루프에서 게임 틱 누락으로 인한 높은 CPU 사용 문제
0
94
1
타일 팔레트 깔았는데도 안돼요
0
124
2
2D로 그냥 만들어도 되나요?
0
86
2
지난 강의와 이어지는게 맞을까요?
0
86
2
순환참조 문제로 인해 발생하는 문제는 없을까요?
0
162
2
유니티 클라와 C++서버연동
0
278
2
멀티플레이 테스트 환경 관련 질문입니다
0
208
3
강의 후반부에 순서 동기화를 위해 잡큐를 사용 안 한 부분 질문입니다!
0
150
2
코드 관련한 몇 가지 질문입니다!
0
153
2
3d 프로젝트 이동 동기화 관련
0
325
4
파트 7 스트레스 테스트 질문 드립니다.
1
190
2
맵 이동 방식
0
134
0
맵 이동 관련해서 질문드립니다.
0
91
1
안녕하세요 도저히 알 수 없는 오류가 나와서 질문드려요,,
0
205
2
안녕하세요. 일전에 질문 드린 포폴 준비 관련 질문의 추가 질문입니다!
0
161
1
[팁] 2024년 기준 버전 이슈?
0
458
1
SendBuffer.cs 삭제 후 대체 되는 부분의 장단점?
1
204
1
지금 강의의 유니티 클라를 IOCP 서버와 연동하는 것
0
337
2
PushAfter 사용 질문
0
193
1





