Developing a Decentralized
algorithm for SAT solver and
implement it over computers on a
computer network
Cohen Yosef
&
Perry Eyal
Instructor:
Dr. Rachel Ben-Eliyahu – Zohary
Outline
Introduction & Definitions
Projects Objectives
The distributed All-SAT algorithm
Project progress
Future work
Definition of the SAT problem
the satisfiability problem (SAT) is a
decision problem, whose instance is a
Boolean expression written using only
AND, OR, NOT, variables, and
parentheses.
The question is: given the expression, is
there some assignment of TRUE and
FALSE values to the variables that will
make the entire expression true?
Definition of the SAT problem
a formula is in conjunctive normal form (CNF)
if it is a conjunction (AND) of clauses, where a
clause is a disjunction (OR) of literals.
Example:
(A B C) (B D ) (A E F)
The SAT problem
The problem importance
This problem was the first problem proved to be NPcomplete, and it can be used to prove that other problems
are also NP-complete.
The SAT problem has an enormous importance in many
areas of computer science, including algorithms, artificial
intelligence and hardware design.
Solving SAT is an NP Complete problem
finding a solution involves exponential scale runtime, in the
worst case all possible assignments need to be examined.
The power of a computers network
A set of computers working concurrently may reduce the time
to solve the problem, and may solve a complex problem
which one computer’s resources are not enough.
Project Goals
Developing a distributed algorithm to solve
SAT problems in order to use the collective
power of a large number of computers
scattered over the internet.
Project Goals
establishment of a website
Providing information about the project.
Download section - will allow volunteers from
around the world to download the client software
on their computer.
The Distributed SAT Solver
Algorithm
The main activities of the algorithm:
Construct Super Dependency Graph.
Communicate with clients and send them subproblems.
Each client computes all possible assignments.
Solutions may be sent directly to another client or
back to the server.
The server combines all the results to create a full
solution.
Super Dependency Graph (SDG)
directed acyclic graph
The nodes of the SDG makes up a
partition of all the literals of the problem,
where each node contains a set of literals.
Each node represents a sub problem
The edges represents the dependency
between sub problems
In the following example A is dependent on B
A
B
Communication with a client
The server accept connections from clients
Traversing the Super Dependency Graph from bottom
up, the server sends a sub problem represented by a
node to each client.
B
C
B
A
Solving a sub problem by client
A client that receives a mission by the server will solve it.
The client will send the results back to the server or to
another client.
B
C
B
A
Combine results
The parent node combines all the
solutions of the sub problems represented
by its child node/s.
The server receives the final results and
combines them.
C
B
A
Server Design
Common Data
Structures
Threads
Keyboard
User
Interfac
e
File-names
Threads
Server
Socket
Problems
Queue
Incoming
connections
Launching Client
handler thread for
each incoming
connection
Proble
m
Loader
Processed problems
Current
Problem
Read/Write
data
Client
Handler
Client
Client Design
SAT
Solver
Server
Current
problem
solutions
main
thread
Parent
handler
Parent
client
Launching parent
handler thread for
each incoming
connection
Child
handler
Children’s
problems
solutions
Parent
Server
Socket
Incoming
connections
Receiving
solutions
Project progress
Initial Studying
Deep study of the problem and the incremental alg.
offered by Dr. Rachel Ben-Eliyahu – Zohary[1]
Developing the distributed algorithm
Choosing software tools
Implementation
The server side of the distributed algorithm
[1] Ben-Eliyahu – Zohary R. An incremental algorithm for generating all
minimal models. Artificial Intelligence 169 (2005) 1-22.
Future work
Implementing the client side of the distributed
algorithm
Establishing the website
Testing the algorithm over different kinds of SAT
problems
Questions?
Constructing the Super
Dependency Graph (1)
Representing a SAT problem as a
knowledge base of logical rules
(P1 V Q1) Λ
R1: (P1 V Q1)
(P1 V P2 V Q2) Λ
R2: P1 (P2 V Q2)
(P2 V P3 V Q2) Λ
R3: P2 (P3 V Q2)
(P3 V Q3) Λ
R4: P3 Q3
(P2 V Q2) Λ
R5: (P2 Λ Q2) false
(P4 V Q4) Λ
R6: (P4 V Q4)
(P5 V P4)
R7: P5 P4
Constructing the Super
Dependency Graph (2)
The server splits the problem into subsets
of atoms using a certain binary relation.
R1: (P1 V Q1)
R2: P1 (P2 V Q2)
S1: {P1 , Q1}
R3: P2 (P3 V Q2)
S2: {P2 , Q2 , P3}
R4: P3 Q3
S3: {Q3}
R5: (P2 Λ Q2) false
S4: {P4 , Q4}
R6: (P4 V Q4)
S5: {P5}
R7: P5 P4
Constructing the Super
Dependency Graph (3)
It then constructs a directed graph that
represents the logic relation of the
subgroups.
Strongly connected vertices will be
constructed into a node.
S1: {P1 , Q1}
S2: {P2 , Q2 , P3}
S3: {Q3}
S4: {P4 , Q4}
S5: {P5}
P1,Q1
R2
P1,Q1
R2
P2,Q2,P3
R3
P2,Q2,P3
R3
Q3
R4
Q3
R4
P4,Q4
P5
R7
P4,Q4
P5
R7
Questions?
Appendix (Binary relation)
We define a knowledge base to be a set of rules which are
implications of the form :(A1 Λ A2 Λ A3) (B1 V B2 V B3) , where
all the B’s – the head of the rule and all the A’s – the body of the
rule.
When no atoms in the body, the rule is called a fact.
When no atoms in the head, the rule is called an integrity constraint.
Let P,Q and R be atoms in a knowledge base. We define Binary
relationship (≡) by the following rules:
P≡P
If at least one the following conditions hold, P ≡ Q:
P and Q are in the head of the same rule
P and Q are both in the body of the same integrity constraint
P and Q are both unconstrained.
If P ≡ Q and Q ≡ R then P ≡ R
Back
Appendix (Binary relation)
We define a knowledge base to be a set of rules which are
implications of the form :(A1 Λ A2 Λ A3) (B1 V B2 V B3) , where
all the B’s – the head of the rule and all the A’s – the body of the
rule.
When no atoms in the body, the rule is called a fact.
When no atoms in the head, the rule is called an integrity constraint.
Let P,Q and R be atoms in a knowledge base. We define Binary
relationship (≡) by the following rules:
P≡P
If at least one the following conditions hold, P ≡ Q:
P and Q are in the head of the same rule
P and Q are both in the body of the same integrity constraint
P and Q are both unconstrained.
If P ≡ Q and Q ≡ R then P ≡ R
R (P V Q)
P≡Q
Back
Appendix (Binary relation)
We define a knowledge base to be a set of rules which are
implications of the form :(A1 Λ A2 Λ A3) (B1 V B2 V B3) , where
all the B’s – the head of the rule and all the A’s – the body of the
rule.
When no atoms in the body, the rule is called a fact.
When no atoms in the head, the rule is called an integrity constraint.
Let P,Q and R be atoms in a knowledge base. We define Binary
relationship (≡) by the following rules:
P≡P
If at least one the following conditions hold, P ≡ Q:
P and Q are in the head of the same rule
P and Q are both in the body of the same integrity constraint
P and Q are both unconstrained.
If P ≡ Q and Q ≡ R then P ≡ R
(P Λ Q) False
P≡Q
Back
Appendix (Binary relation)
We define a knowledge base to be a set of rules which are
implications of the form :(A1 Λ A2 Λ A3) (B1 V B2 V B3) , where
all the B’s – the head of the rule and all the A’s – the body of the
rule.
When no atoms in the body, the rule is called a fact.
When no atoms in the head, the rule is called an integrity constraint.
Let P,Q and R be atoms in a knowledge base. We define Binary
relationship (≡) by the following rules:
P≡P
If at least one the following conditions hold, P ≡ Q:
P and Q are in the head of the same rule
P and Q are both in the body of the same integrity constraint
P and Q are both unconstrained.
An atom P is unconstrained iff it appears only in bodies of rules which are not
integrity constraint.
If P ≡ Q and Q ≡ R then P ≡ R
PS
QT
P≡Q
Back
Appendix (logic relation)
There is an edge directed from S to R if
and only if atom from ES-node S appears
in the body of R.
There is an edge directed from R to S if
and only if there is an atom in S that
appears in the head of R.
Back
© Copyright 2026 Paperzz