18 TForestFire() : Rnd(1), Graph(), FwdBurnProb(0.0), BckBurnProb(0.0), ProbDecay(1.0) { }
19 TForestFire(
const PNGraph& GraphPt,
const double& ForwBurnProb,
const double& BackBurnProb,
const double& DecayProb=1.0,
const int& RndSeed=1) :
20 Rnd(RndSeed), Graph(GraphPt), FwdBurnProb(ForwBurnProb), BckBurnProb(BackBurnProb), ProbDecay(DecayProb) { }
24 void SetBurnProb(
const double& ForwBurnProb,
const double& BackBurnProb) { FwdBurnProb=ForwBurnProb; BckBurnProb=BackBurnProb; }
25 void SetProbDecay(
const double& DecayProb) { ProbDecay = DecayProb; }
27 void Infect(
const int& NodeId) { InfectNIdV.
Gen(1,1); InfectNIdV[0] = NodeId; }
28 void Infect(
const TIntV& InfectedNIdV) { InfectNIdV = InfectedNIdV; }
37 int GetBurnedNId(
const int& NIdN)
const {
return BurnedNIdV[NIdN]; }
40 void PlotFire(
const TStr& FNmPref,
const TStr& Desc,
const bool& PlotAllBurned=
false);
42 static PNGraph GenGraph(
const int& Nodes,
const double& FwdProb,
const double& BckProb);
61 TFfGGen(
const bool& BurnExpFireP,
const int& StartNNodes,
const double& ForwBurnProb,
62 const double& BackBurnProb,
const double& DecayProb,
const double& Take2AmbasPrb,
const double& OrphanPrb);
73 static void GenFFGraphs(
const double& FProb,
const double& BProb,
const TStr& FNm);
void PlotFire(const TStr &FNmPref, const TStr &Desc, const bool &PlotAllBurned=false)
int GetBurnedNId(const int &NIdN) const
Simulates a single Forest Fire on a undirected graph starting for a given starting node (does not den...
TStopReason GenGraph(const int &GraphNodes, const bool &FloodStop=true)
void SetBurnProb(const double &ForwBurnProb, const double &BackBurnProb)
PUNGraph GetGraph() const
TSizeTy Len() const
Returns the number of elements in the vector.
void Infect(const int &NodeId)
TFfGGen::TStopReason AddNodes(const int &GraphNodes, const bool &FloodStop=true)
const TIntV & GetBurnedNIdV() const
int BurnGeoFire(const int &StartNId)
void PlotFireSize(const TStr &FNmPref, const TStr &DescStr)
void Infect(const TIntV &InfectedNIdV)
void SetProbDecay(const double &DecayProb)
TUndirFFire(const double &_BurnProb=0.3)
void InfectRnd(const int &NInfect)
TStopReason AddNodes(const int &GraphNodes, const bool &FloodStop=true)
void SetGraph(const PNGraph &NGraph)
void Clr()
Deletes all nodes and edges from the graph.
TFfGGen(const bool &BurnExpFireP, const int &StartNNodes, const double &ForwBurnProb, const double &BackBurnProb, const double &DecayProb, const double &Take2AmbasPrb, const double &OrphanPrb)
UndefCopyAssign(TForestFire)
void SetGraph(const PUNGraph &GraphPt)
void SetGraph(const PNGraph &GraphPt)
static void GenFFGraphs(const double &FProb, const double &BProb, const TStr &FNm)
void Gen(const TSizeTy &_Vals)
Constructs a vector (an array) of _Vals elements.
TForestFire(const PNGraph &GraphPt, const double &ForwBurnProb, const double &BackBurnProb, const double &DecayProb=1.0, const int &RndSeed=1)
static PNGraph GenGraph(const int &Nodes, const double &FwdProb, const double &BckProb)
int GetBurnedNId(const int &n) const
void GetBurnedNIdV(TIntV &NIdV) const