Package epidemic.strategies.decision
Class VindictiveDecisionStrategy
java.lang.Object
epidemic.strategies.decision.VindictiveDecisionStrategy
- All Implemented Interfaces:
DecisionStrategy
Złośliwa strategia decyzyjna (wzorzec Strategy) oparta na rosnącym wskaźniku frustracji jednostki.
Agent zachowuje się zgodnie ze standardami społecznymi do momentu, w którym system ochrony zdrowia
odmawia mu dostępu do leczenia (np. ze względu na przepełnione szpitale).
Przekroczenie progu cierpliwości skutkuje wpadnięciem w furię, odrzuceniem środków ochronnych
i celowym rozsiewaniem patogenu na innych agentów.
-
Field Summary
FieldsModifier and TypeFieldDescriptionMapa śledząca licznik frustracji przypisany do konkretnego agenta.private final MovementStrategyprivate final MovementStrategyprivate final MovementStrategy -
Constructor Summary
ConstructorsConstructorDescriptionVindictiveDecisionStrategy(MovementStrategy maliciousMovementStrategy, MovementStrategy hospitalMovementStrategy, MovementStrategy normalMovementStrategy) Inicjalizuje mściwą strategię decyzyjną. -
Method Summary
Modifier and TypeMethodDescriptionvoidmakeDecision(Human human, WorldContext world) Weryfikuje cierpliwość chorego agenta oczekującego na przyjęcie do placówki medycznej.
-
Field Details
-
maliciousMovementStrategy
-
hospitalMovementStrategy
-
normalMovementStrategy
-
frustrationMap
Mapa śledząca licznik frustracji przypisany do konkretnego agenta. Wykorzystanie strukturyWeakHashMapgwarantuje, że wpisy dla zmarłych lub usuniętych z mapy agentów zostaną automatycznie zebrane przez Garbage Collector, zapobiegając wyciekom pamięci w długo trwających symulacjach.
-
-
Constructor Details
-
VindictiveDecisionStrategy
public VindictiveDecisionStrategy(MovementStrategy maliciousMovementStrategy, MovementStrategy hospitalMovementStrategy, MovementStrategy normalMovementStrategy) Inicjalizuje mściwą strategię decyzyjną.- Parameters:
maliciousMovementStrategy- Wzorzec ruchu aktywowany po wpadnięciu w furię (agresywne podążanie za ofiarami).hospitalMovementStrategy- Strategia wyznaczająca trasę do placówki medycznej.normalMovementStrategy- Standardowy wzorzec ruchu stosowany przed wybuchem frustracji lub po wyleczeniu.
-
-
Method Details
-
makeDecision
Weryfikuje cierpliwość chorego agenta oczekującego na przyjęcie do placówki medycznej. Każda epoka spędzona poza oddziałem zwiększa licznik frustracji. Osiągnięcie limitu wyzwala status wrogości (Hostile). Udane wejście do szpitala lub całkowite wyleczenie automatycznie resetuje ten stan i uspokaja agenta.- Specified by:
makeDecisionin interfaceDecisionStrategy- Parameters:
human- Agent poddawany ewaluacji i presji psychologicznej.world- Stan środowiska symulacji.
-