Closed sfiruch closed 4 years ago
As a point of reference: CaDiCaL solves this in ~1000s, CMS with default options or --xor=0
could not in 6000s.
Hey,
Ah, yeah. Well, Gaussian elimination doesn't always help -- only if XORs are really a very important part of the problem. Do you wanna send me this CNF, maybe I can debug?. Also CaDiCaL is differently optimized, sometimes it's faster, sometimes it's slower. On satisfiable instances, the difference is often due to random seeds of both solvers. Try them out, you'll see, you can get 2-3 orders of magnitude difference just by changing the seed for satisfiable instances. It's fun.
As for the O(n^2) issue -- yeah, good find! I have found this too, and it's been fixed in the development version. Unfortunately, I can't put it into public yet, because last time someone managed to download a new version of CryptoMiniSat, added nearly nothing to it, then published it as their own. So, no fun for anyone anymore!
However, if you send me the CNF, I promise to check and maybe I will even be able to send you some binary/give you access so you can check out our new version :) Could be nice!
[...] Do you wanna send me this CNF, maybe I can debug?. [...] However, if you send me the CNF, I promise to check and maybe I will even be able to send you some binary/give you access so you can check out our new version :) Could be nice!
Sure, it's here: https://github.com/msoos/cryptominisat/files/4005894/min5.zip
No need for sneak peeks. But let me know, if I can help by testing something (de@iru.ch).
Hi, so I looked at this, I am not sure I have the time to fix the speed issue here -- I am not sure that this is something that could be solved anyway, some things solve faster by some solvers than others. It can be quite random, in fact. Especially on satisfiable instances, where it's exceedingly hard to stabilize the time to solve. So, I have to close, because the underlying problem of xoring together being slow has been fixed already, and tuning the solver to this instance would be not the right thing to do, as there are many thousands where it also needs to perform well :( However, you are more than welcome to send this instance to the SAT competition! Then all SAT solvers will have to tune for your instance :)
For the input min5.zip the latest CMS takes surprisingly long in the xor-together stage. It sits there for many minutes. Perhaps this is expected, perhaps it's an O(n^2) algorithm rearing its head.
I ran the current CMS version with GAUSS from https://ci.appveyor.com/project/msoos/cryptominisat/build/job/5snfkq3y53od6grt/artifacts. Here's the log where the solver is stuck in xor-together: