Class RationalDecisionStrategy

java.lang.Object
epidemic.strategies.decision.RationalDecisionStrategy
All Implemented Interfaces:
DecisionStrategy

public class RationalDecisionStrategy extends Object implements DecisionStrategy
Strategia decyzyjna (wzorzec Strategy) modelująca racjonalne i zrównoważone podejście agenta. Jednostka adaptuje się do sytuacji w sposób analityczny: stosuje dystansowanie społeczne przy wysokim odsetku zakażeń, udaje się do placówek medycznych na szczepienia prewencyjne lub leczenie w zaawansowanym stadium infekcji, a w czasie spokoju wykazuje naturalne potrzeby prokreacyjne.
  • Field Details

    • hospitalMovementStrategy

      private final MovementStrategy hospitalMovementStrategy
    • distancingMovementStrategy

      private final MovementStrategy distancingMovementStrategy
    • normalMovementStrategy

      private final MovementStrategy normalMovementStrategy
    • seekMateMovementStrategy

      private final MovementStrategy seekMateMovementStrategy
  • Constructor Details

    • RationalDecisionStrategy

      public RationalDecisionStrategy(MovementStrategy hospitalMovementStrategy, MovementStrategy distancingMovementStrategy, MovementStrategy normalMovementStrategy, MovementStrategy seekMateMovementStrategy)
      Inicjalizuje strategię racjonalną z odpowiednim zestawem wstrzykniętych zachowań ruchowych.
      Parameters:
      hospitalMovementStrategy - Strategia wyznaczająca trasę do najbliższej placówki medycznej.
      distancingMovementStrategy - Strategia zachowania dystansu i unikania skupisk ludzkich.
      normalMovementStrategy - Pasywny wzorzec ruchu stosowany w bezpiecznym środowisku.
      seekMateMovementStrategy - Prokreacyjna strategia poszukiwania partnera do rozrodu.
  • Method Details

    • makeDecision

      public void makeDecision(Human human, WorldContext world)
      Przeprowadza wieloetapową ewaluację stanu agenta w oparciu o hierarchię potrzeb i logikę racjonalną. Ozdrowieńcy odrzucają obostrzenia i wracają do normy. Agenci w zaawansowanym stadium choroby lub chętni na szczepienia priorytetyzują wizytę w szpitalu. W przypadku wysokiego wskaźnika infekcji w populacji agent zakłada maskę i aktywuje protokół dystansowania społecznego.
      Specified by:
      makeDecision in interface DecisionStrategy
      Parameters:
      human - Agent poddawany procesom decyzyjnym.
      world - Aktualna telemetria świata (współczynnik zakażeń, dostępność szczepień).
    • determinePassiveMovement

      private MovementStrategy determinePassiveMovement(Human human)