Download presentation
Presentation is loading. Please wait.
1
Dr. Rachel Ben-Eliyahu – Zohary
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
2
Outline Introduction & Definitions Projects Objectives
The distributed All-SAT algorithm Project progress Future work
3
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?
4
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:
5
The SAT problem The problem importance
This problem was the first problem proved to be NP-complete, 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.
6
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.
7
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. 7
8
The Distributed SAT Solver Algorithm
The main activities of the algorithm: Construct Super Dependency Graph. Communicate with clients and send them sub-problems. 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. Talk about client/server
9
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
10
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. C A B C B A
11
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. C A B C B A
12
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
13
Common Data Structures
Server Design Common Data Structures Threads Threads User Interface Server Socket Problems Queue Keyboard File-names Incoming connections Launching Client handler thread for each incoming connection Polling Problems Current Problem Problem Loader Client Handler Processed problems Read/Write data Client
14
Client Design Current problem solutions SAT Solver Parent handler
Parent client main thread Server Launching parent handler thread for each incoming connection Children’s problems solutions Child handler Parent Server Socket Incoming connections Receiving solutions 14
15
Project progress Initial Studying Developing the distributed algorithm
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.
16
Future work Implementing the client side of the distributed algorithm
Establishing the website Testing the algorithm over different kinds of SAT problems
17
Questions?
18
Constructing the Super Dependency Graph (1)
Representing a SAT problem as a knowledge base of logical rules R1: (P1 V Q1) R2: P1 (P2 V Q2) R3: P2 (P3 V Q2) R4: P3 Q3 R5: (P2 Λ Q2) false R6: (P4 V Q4) R7: P5 P4 (P1 V Q1) Λ (P1 V P2 V Q2) Λ (P2 V P3 V Q2) Λ (P3 V Q3) Λ (P2 V Q2) Λ (P4 V Q4) Λ (P5 V P4)
19
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) R3: P2 (P3 V Q2) R4: P3 Q3 R5: (P2 Λ Q2) false R6: (P4 V Q4) R7: P5 P4 S1: {P1 , Q1} S2: {P2 , Q2 , P3} S3: {Q3} S4: {P4 , Q4} S5: {P5} 19
20
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 P4,Q4 R7 R7 P5 P5 20
21
Questions? 21
22
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
23
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 23
24
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 24
25
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 P S Back P ≡ Q Q T 25
26
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.