코스 프로젝트를 위해 개미 식민지 시뮬레이터에서 일하는 학생입니다. 그것에 대한 알고리즘은 개미 식민지 알고리즘입니다. 나는 다양한 형태의 알고리즘이 있지만 모든 것이 우리에게 너무 수학적으로 상세했기 때문에 우리가 가진 접근 방식을 취했습니다.
- 개미는 식민지에서 태어나 식민지를 유지하기 위해 원천에서 음식을 모아야합니다.
- 모든 개미는 비슷합니다.
- 개미가 움직이는 영역은 1000x1000 그리드이므로 모든 그리드 포인트는 개미가 점유 할 수있는 유효한 포인트 역할을합니다. 이제 내가 본 모든 알고리즘은 꼭지점과 가장자리를 개별적으로 처리하는 것과 관련이 있지만 개미 움직임을 4 방향 (위, 아래, 왼쪽, 오른쪽)으로 제한하기 때문에 페로몬을 어디에 두든 상관 없습니다.
- 위에서 언급 한 그리드 포인트는 페로몬을 저장합니다.
- 개미는 음식을 운반하는 경우에만 페로몬을 떨어 뜨립니다.
- 위치 (i, j)에있는 개미의 경우, 4 개의 인접 노드에있는 페로몬 양을 간단한 확률 식으로 고려하여 다음 단계에서 어디로 이동 할지를 결정합니다. 즉, 노드로 이동할 확률은 다음과 같습니다. (특정 인접 노드에서의 페로몬 양) / (4 개의 인접 노드에서의 페로몬 양의 합).
- 개미는 방금 원래 위치로 돌아갈 수 없습니다. 음식이 있거나 식민지에있는 경우에만 가능합니다.
이제 내 관심사는 개미 FIRST가 음식이있는 위치에 도달하여 음식을 집어 올린 다음 알고리즘이 작동하는 방식으로 어디로 든 이동할 수 있다는 것입니다. 이것은 페로몬 트레일을 떠나기 때문입니다. 일단 음식이 있고 일단 개미가 아니기 때문에 첫 번째 개미이기 때문에 기존 트레일이 없습니다.
개미가 어디든 움직일 수 있다면, 식량 원에 도달 한 개미도 대부분 그것을 따라가는 경향이있을 것입니다. 심지어 식민지쪽으로 되돌아 가지 않는 경우에도 마찬가지입니다. 이것은 전체 알고리즘의 목적을 무효화합니다.
그래서 내 질문은
- 위의 우려가 유효합니까? 아니라면 왜? 그렇다면 어떻게 처리합니까?
- 알고리즘을 실제로 이해하려면 알고리즘에 대한 기본적인 이해를 약간 바꿔야합니까?
- 이 경우 저와 같은 초보자가 놓칠 수있는 미묘하지만 중요한 다른 것들은 무엇입니까?