Package epidemic.strategies.movement
Class SeekHospitalStrategy
java.lang.Object
epidemic.strategies.movement.SeekHospitalStrategy
- All Implemented Interfaces:
MovementStrategy
Strategia ruchu (wzorzec Strategy) ukierunkowująca agenta na najbliższą dostępną placówkę medyczną.
Wykorzystuje podejście zachłanne (greedy search) w celu identyfikacji szpitala
o najmniejszej odległości euklidesowej i generuje wektor ruchu bezpośrednio w jego stronę.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncalculateNextPosition(Agent agent, WorldMap world) Oblicza kolejny krok w kierunku najbliższej placówki szpitalnej.
-
Constructor Details
-
SeekHospitalStrategy
public SeekHospitalStrategy()
-
-
Method Details
-
calculateNextPosition
Oblicza kolejny krok w kierunku najbliższej placówki szpitalnej. Algorytm w każdej epoce przelicza na nowo dystans do wszystkich szpitali na mapie, co pozwala na dynamiczną adaptację w przypadku pojawienia się w środowisku nowych placówek. W przypadku braku jakichkolwiek szpitali, strategia nakazuje agentowi pozostanie w miejscu.- Specified by:
calculateNextPositionin interfaceMovementStrategy- Parameters:
agent- Agent, dla którego ewaluowany jest wektor ucieczki medycznej.world- Stan mapy symulacyjnej dostarczający listę zarejestrowanych szpitali.- Returns:
- Nowa pozycja przesunięta o maksymalnie 1 jednostkę w osi X i Y w stronę celu.
-