AIToolbox
A library that offers tools for AI problem solving.
SysAdmin.hpp
Go to the documentation of this file.
1 #ifndef AI_TOOLBOX_FACTORED_MDP_MULTI_AGENT_SYS_ADMIN_HEADER_FILE
2 #define AI_TOOLBOX_FACTORED_MDP_MULTI_AGENT_SYS_ADMIN_HEADER_FILE
3 
5 
6 namespace AIToolbox::Factored::MDP {
7  namespace SysAdminUtils {
8  enum MachineStatus {
9  Good = 0,
12  };
13 
14  enum MachineLoad {
15  Idle = 0,
18  };
19  }
20 
44  CooperativeModel makeSysAdminUniRing(unsigned agents,
45  // Status transition params.
46  double pFailBase, double pFailBonus, double pDeadBase, double pDeadBonus,
47  // Load transition params.
48  double pLoad, double pDoneG, double pDoneF);
49 
73  CooperativeModel makeSysAdminBiRing(unsigned agents,
74  // Status transition params.
75  double pFailBase, double pFailBonus, double pDeadBase, double pDeadBonus,
76  // Load transition params.
77  double pLoad, double pDoneG, double pDoneF);
78 
90  std::string printSysAdminRing(const State & s);
91 
111  CooperativeModel makeSysAdminGrid(unsigned width, unsigned height,
112  // Status transition params.
113  double pFailBase, double pFailBonus, double pDeadBase, double pDeadBonus,
114  // Load transition params.
115  double pLoad, double pDoneG, double pDoneF);
116 
136  CooperativeModel makeSysAdminTorus(unsigned width, unsigned height,
137  // Status transition params.
138  double pFailBase, double pFailBonus, double pDeadBase, double pDeadBonus,
139  // Load transition params.
140  double pLoad, double pDoneG, double pDoneF);
141 
154  std::string printSysAdminGrid(const State & s, unsigned width);
155 }
156 
157 #endif
AIToolbox::Factored::MDP::SysAdminUtils::Fail
@ Fail
Definition: SysAdmin.hpp:10
AIToolbox::Factored::MDP::SysAdminUtils::Idle
@ Idle
Definition: SysAdmin.hpp:15
AIToolbox::Factored::MDP::SysAdminUtils::Done
@ Done
Definition: SysAdmin.hpp:17
AIToolbox::Factored::MDP::printSysAdminRing
std::string printSysAdminRing(const State &s)
This function creates a graphical representation of a SysAdmin ring problem.
AIToolbox::Factored::MDP
Definition: CooperativePrioritizedSweeping.hpp:13
AIToolbox::Factored::State
Factors State
Definition: Types.hpp:67
CooperativeModel.hpp
AIToolbox::Factored::MDP::makeSysAdminUniRing
CooperativeModel makeSysAdminUniRing(unsigned agents, double pFailBase, double pFailBonus, double pDeadBase, double pDeadBonus, double pLoad, double pDoneG, double pDoneF)
This function creates a ring where each machine affects only the next adjacent one.
AIToolbox::Factored::MDP::SysAdminUtils::Good
@ Good
Definition: SysAdmin.hpp:9
AIToolbox::Factored::MDP::makeSysAdminTorus
CooperativeModel makeSysAdminTorus(unsigned width, unsigned height, double pFailBase, double pFailBonus, double pDeadBase, double pDeadBonus, double pLoad, double pDoneG, double pDoneF)
This function creates a toroidal grid where each machine is connected with its 4 neighbors.
AIToolbox::Factored::MDP::SysAdminUtils::Dead
@ Dead
Definition: SysAdmin.hpp:11
AIToolbox::Factored::MDP::SysAdminUtils::Load
@ Load
Definition: SysAdmin.hpp:16
AIToolbox::Factored::MDP::SysAdminUtils::MachineStatus
MachineStatus
Definition: SysAdmin.hpp:8
AIToolbox::Factored::MDP::printSysAdminGrid
std::string printSysAdminGrid(const State &s, unsigned width)
This function creates a graphical representation of a SysAdmin grid problem.
AIToolbox::Factored::MDP::SysAdminUtils::MachineLoad
MachineLoad
Definition: SysAdmin.hpp:14
AIToolbox::Factored::MDP::makeSysAdminGrid
CooperativeModel makeSysAdminGrid(unsigned width, unsigned height, double pFailBase, double pFailBonus, double pDeadBase, double pDeadBonus, double pLoad, double pDoneG, double pDoneF)
This function creates a grid where each machine is connected with its 4 neighbors.
AIToolbox::Factored::MDP::makeSysAdminBiRing
CooperativeModel makeSysAdminBiRing(unsigned agents, double pFailBase, double pFailBonus, double pDeadBase, double pDeadBonus, double pLoad, double pDoneG, double pDoneF)
This function creates a ring where each machine affects the two adjacent ones.