Comments (3)
This is not worth it!
Right now problems that take more than a second to solve fit nicely into cache!
For instance 35 variables, 200 clauses, 3 variables per clause:
- for the CNF object -> set of 200 clauses:
200*8 = 1.6 kB
- for the 200 clause objects -> each a set of 3 variables:
200*3*8 = 4.8 kB
- for each variable object -> 3 bools and 1 unsigned int:
200*3*(1+4) = 3 kB
Total:9.4 kB
Considering that even my 4 year old laptop has 128 kB of Level 1 cache, decreasing the size of the internal representation by about a factor of two is just not worth it.
The problem is the amount of computation that we do on the CNF objects...
I've added some improvements to the DPLL algorithm (pull request #22).
To improve the performance further we need a better algorithm -> CDCL!
from sat-solver.
@limo1996 and @ZiweiHuang94: let me know what you think
from sat-solver.
Really appreciate the improvement you did! Regarding further improving the performance (Try CDCL), I am not sure how much time is assumed to achieve it. Because we still need some time for the report and final presentation. I suppose performance analysis is also an important part.
from sat-solver.
Related Issues (16)
- More than one CNF in file HOT 2
- Initial Progress Presentation
- Cleanups and Code organization stuff HOT 3
- use integers instead of strings for var names HOT 2
- Folder reorganisation HOT 2
- Fix glitch in master worker communication HOT 2
- Should we do work stealing scheduling? HOT 3
- Identify cnfs in the plots HOT 1
- "Measure" difficulty of formulas HOT 1
- Move encoding and parsing of variables from worker to CNF HOT 3
- Use more than 48 cores on Euler HOT 1
- Implement CDCL HOT 3
- Fix DPLL HOT 1
- More test cases! HOT 4
- Runtime performance measurements on euler HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sat-solver.