add minisat and TNM sequential solvers in sat problem
[charm.git] / examples / charm++ / satisfiability / TNM / adaptnoisebis1at5.C
1 #define invPhi 10\r
2 #define invTheta 5\r
3 \r
4 int lastAdaptFlip, lastBest, AdaptLength, NB_BETTER;\r
5 \r
6 int initNoise() {\r
7   lastAdaptFlip=0;\r
8   lastBest = MY_CLAUSE_STACK_fill_pointer;\r
9   NOISE=0; LNOISE=0; NB_BETTER=0;\r
10   AdaptLength=NB_CLAUSE / invTheta;\r
11 }\r
12 \r
13 void adaptNoveltyNoise(int flip) {\r
14   if ((flip - lastAdaptFlip) > AdaptLength) {\r
15     NOISE += (int) ((100 - NOISE) / invPhi);\r
16     LNOISE= (int) NOISE/10;\r
17     lastAdaptFlip = flip;      \r
18     // NB_BETTER=0;\r
19     lastBest = MY_CLAUSE_STACK_fill_pointer;\r
20   } \r
21   else if (MY_CLAUSE_STACK_fill_pointer < lastBest) {\r
22     //  NB_BETTER++;\r
23     //  if (NB_BETTER>1) {\r
24       NOISE -= (int) (NOISE / invPhi / 2);\r
25       LNOISE= (int) NOISE/10;\r
26       lastAdaptFlip = flip;\r
27       lastBest = MY_CLAUSE_STACK_fill_pointer;\r
28       //   NB_BETTER=0;\r
29       // }\r
30   }\r
31 }\r