Open thomasWeise opened 4 years ago
(Regarding "I think the implementation is correct" above, I now have second thoughts, but there I might be wrong. Please check: https://github.com/IOHprofiler/IOHexperimenter/issues/26)
[See also newest comment on https://github.com/IOHprofiler/IOHexperimenter/issues/26]
Hi.
On the Pseudo-Boolean Optimization (PBO) website (https://iohprofiler.github.io/Suites/PBO/), the ISING model is defined as: sum over
x[i]x[j] - ((1-x[i])(1-x[j]))
:$[ISING:] \sum\limits_{\{i,j\} \in {E}} \left[x_{i}x_{j} - \left(1-x_{i} \right)\left(1-x_{j} \right) \right] $
,However, it is implemented, e.g., in f_ising_1D.hpp, as
x[i]x[j] + ((1-x[i])(1-x[j]))
:Notice the difference between the
+
and the-
in the middle.I think the implementation is correct. The Ising model should have global optima at all-0 and all-1. You get this only with the
+
, because then, you have1*1+(1-1)(1-1)=1+0=1
for the all-1 string and0*0+(1-0)(1-0)=0+1=1
for the all-0 string (timesN
of course). Otherwise you would have get0-1=-1
for the all-0 string.