Exemple #1
0
void AddWalkSat() {

  ALGORITHM *pCurAlg;

  pCurAlg = CreateAlgorithm("walksat","",FALSE,
    "WALKSAT: Original WalkSAT algorithm (SKC variant)",
    "Selman, Kautz, Cohen [AAAI 94]",
    "PickWalkSatSKC",
    "DefaultProcedures,Flip+FalseClauseList",
    "default","default");
  
  AddParmProbability(&pCurAlg->parmList,"-wp","walk probability [default %s]","with probability PR, select a random variable from a~randomly selected unsat clause","",&iWp,0.50);

  CreateTrigger("PickWalkSatSKC",ChooseCandidate,PickWalkSatSKC,"","");


  pCurAlg = CreateAlgorithm("walksat","",TRUE,
    "WALKSAT: Original WalkSAT algorithm (SKC variant) (weighted)",
    "Selman, Kautz, Cohen [AAAI 94]",
    "PickWalkSatSKCW",
    "DefaultProceduresW,Flip+FalseClauseListW",
    "default_w","default");
  
  CopyParameters(pCurAlg,"walksat","",FALSE);

  CreateTrigger("PickWalkSatSKCW",ChooseCandidate,PickWalkSatSKCW,"","");
 
}
CollapsedAKQReducedCubSComplexSupplier<Traits>::CollapsedAKQReducedCubSComplexSupplier(CubSComplexPtr cubSComplex)
{
    _logger.Begin(FGLogger::Details, "converting CubCellSet -> CubSet");
    CubSetPtr cubSet = CubSetFactory<CubSet>::ConvertCubCellSet(cubSComplex->getCubCellSet(), true);
    _logger.End();
    CreateComplex(cubSet);
    CreateAlgorithm();
}
Scheduler::Scheduler(const std::string &AlgorithmName, int contextSwitchPenalty, int quantum, int degree):algoParams(degree)
{
	// Init all data members of the class

	algorithmParams.iCsp = contextSwitchPenalty;
	algorithmParams.iOverHead = 0;
	algorithmParams.iQuantum = quantum;
	algorithmParams.iCurrentTime = 0;
	algorithmParams.iInContextSwitch = 0;
	algorithmParams.bRecentNewProcess = false;
	algorithm = CreateAlgorithm(AlgorithmName);
}
Exemple #4
0
void AddRNoveltyPlus() {

  ALGORITHM *pCurAlg;

  pCurAlg = CreateAlgorithm("rnovelty+","",FALSE,
    "RNovelty+: RNovelty with random walk",
    "Hoos [AAAI 99]",
    "PickRNoveltyPlus",
    "DefaultProcedures,Flip+FalseClauseList,VarLastChange",
    "default","default");
    
  CopyParameters(pCurAlg,"novelty+","",FALSE);

  CreateTrigger("PickRNoveltyPlus",ChooseCandidate,PickRNoveltyPlus,"","");

}
Exemple #5
0
void AddRNovelty() {

  ALGORITHM *pCurAlg;

  pCurAlg = CreateAlgorithm("rnovelty","",FALSE,
    "RNovelty",
    "McAllester, Selman, Kautz [AAAI 97]",
    "PickRNovelty",
    "DefaultProcedures,Flip+FalseClauseList,VarLastChange",
    "default","default");
  
  CopyParameters(pCurAlg,"novelty","",FALSE);

  CreateTrigger("PickRNovelty",ChooseCandidate,PickRNovelty,"","");

}
Exemple #6
0
void AddRandom() {

  ALGORITHM *pCurAlg;

  pCurAlg = CreateAlgorithm("urwalk","",FALSE,
    "Uninformed Random Walk: flip any var at random",
    "",
    "PickURWalk",
    "DefaultProcedures",
    "default","default");

  CreateTrigger("PickURWalk",ChooseCandidate,PickURWalk,"","");  

  pCurAlg = CreateAlgorithm("urwalk","",TRUE,
    "Uninformed Random Walk: flip any var at random (weighted)",
    "",
    "PickURWalk",
    "DefaultProceduresW",
    "default_w","default");

  pCurAlg = CreateAlgorithm("crwalk","",FALSE,
    "Conflict-Directed Random Walk: choose unsat clause, then literal at random",
    "Papadimitriou [FOCS 91]",
    "PickCRWalk",
    "DefaultProcedures,Flip+FalseClauseList",
    "default","default");

  CreateTrigger("PickCRWalk",ChooseCandidate,PickCRWalk,"","");

  pCurAlg = CreateAlgorithm("crwalk","",TRUE,
    "Conflict-Directed Random Walk (weighted)",
    "Papadimitriou [FOCS 91]",
    "PickCRWalk",
    "DefaultProceduresW,Flip+FalseClauseListW",
    "default_w","default");

  CreateTrigger("SchoeningRestart",CreateData,SchoeningRestart,"","");

  pCurAlg = CreateAlgorithm("crwalk","schoening",FALSE,
    "Conflict-Directed Random Walk, restart every 3n steps",
    "Schoening [FOCS 99]",
    "PickCRWalk,SchoeningRestart",
    "DefaultProcedures,Flip+FalseClauseList",
    "default","default");

  pCurAlg = CreateAlgorithm("crwalk","schoening",TRUE,
    "Conflict-Directed Random Walk, restart every 3n steps (weighted)",
    "Schoening [FOCS 99]",
    "PickCRWalk,SchoeningRestart",
    "DefaultProceduresW,Flip+FalseClauseListW",
    "default_w","default");

}
CollapsedAKQReducedCubSComplexSupplier<Traits>::CollapsedAKQReducedCubSComplexSupplier(DebugComplexType type)
{
    CubSetPtr cubSet = CubSetFactory<CubSet>::Create(type, true);
    CreateComplex(cubSet);
    CreateAlgorithm();
}
CollapsedAKQReducedCubSComplexSupplier<Traits>::CollapsedAKQReducedCubSComplexSupplier(const char* filename)
{
    CubSetPtr cubSet = CubSetFactory<CubSet>::Load(filename, true);
    CreateComplex(cubSet);
    CreateAlgorithm();
}