2010-02-15 6 views
3

배경
일부 장애물이있는 사각형지도가 있습니다. 장애물은 다각형으로 표시됩니다. 나는 다음 경로 찾기 알고리즘을 구현했습니다 :
1) 정밀도를 선택하십시오 (k로 표시됩니다)
2) 맵을 k x k 제곱으로 나눕니다.
3) 다음 규칙에 따라 사각형을 그래프로 만듭니다.
- 모든 노드가 하나의 사각형을 나타냅니다.
- 두 개의 노드는 서로 인접하고 아무런 장애물이없는 경우에만 연결됩니다.
4) A * 알고리즘 (또는 Dijkstra 또는 기타 ...)을 사용하여 최단 경로 찾기최적의 길 찾기

이 알고리즘은지도가 동적이지 않은 경우 매우 잘 작동합니다. 그것은 장애물이 움직일 수 없다는 것을 의미합니다.

질문
1) 효율적인 방법입니까?
2) 장애물을 이동할 수 있다면 어떻게해야합니까?
3) 다른 요원을 치료하는 방법? 방안에 100 아는 사람이있는 상황을 고려해 봅니다. 두 가지가 있습니다. 모든 상담원은 하나의 그룹에 있고 그 그룹은 출구 중 하나 근처에 있습니다. 모든 에이전트가 가장 가까운 출구로 가면 병목 현상이 발생합니다. 그들 중 일부는 출구에 필요한 시간을 최소화하기 위해 다른 출구로 가야합니다. 그런 결과를 얻는 방법?

답변

2

정적 장애물에 대한 일반적인 지침으로 A * 경로를 사용하고 역동적 인 (작은) 장애물에 대해서는 로컬 Obstacle Avoidance을 수행하십시오. Reynolds는 병목 현상 문제에 대한 알고리즘도 가지고 있습니다. 그는 그것을 Queueing이라고 부릅니다.

관련 문제