Dr. Rachel Ben-Eliyahu – Zohary

Slides:



Advertisements
Similar presentations
The Theory of NP-Completeness
Advertisements

CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Graphs 4/16/2017 8:41 PM NP-Completeness.
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 21 Instructor: Paul Beame.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
The Theory of NP-Completeness
NP-Complete Problems Problems in Computer Science are classified into
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
Clique Cover Cook’s Theorem 3SAT and Independent Set
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 ≤ L 2 means: For some polynomial time computable map r : x: x L 1 iff r(x)
1 Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Lecture 22 More NPC problems
INTRODUCTION TO ARTIFICIAL INTELLIGENCE COS302 MICHAEL L. LITTMAN FALL 2001 Satisfiability.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Clase 3: Basic Concepts of Search. Problems: SAT, TSP. Tarea 1 Computación Evolutiva Gabriela Ochoa
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Planning as Satisfiability (SAT-Plan). SAT-Plan Translate the planning problem into a satisfiability problem for length n of Plan garb 0 (proposition)present.
28.
Solving the Logic Satisfiability problem Solving the Logic Satisfiability problem Jesus De Loera.
CSE 6311 – Spring 2009 ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS Lecture Notes – Feb. 3, 2009 Instructor: Dr. Gautam Das notes by Walter Wilson.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
CSC 413/513: Intro to Algorithms
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
 2005 SDU Lecture15 P,NP,NP-complete.  2005 SDU 2 The PATH problem PATH = { | G is a directed graph that has a directed path from s to t} s t
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
Chapter 10 NP-Complete Problems.
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
Inference and search for the propositional satisfiability problem
Richard Anderson Lecture 26 NP-Completeness
Advanced Algorithms Analysis and Design
Gábor Kusper University of Linz RISC Austria
Polynomial-Time Reduction
More NP-complete Problems
The Propositional Calculus
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness Proofs
Richard Anderson Lecture 26 NP-Completeness
Hard Problems Introduction to NP
NP-Completeness Yin Tat Lee
Intro to Theory of Computation
Intro to Theory of Computation
Applications of Propositional Logic
ICS 353: Design and Analysis of Algorithms
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
More NP-complete Problems
Richard Anderson Lecture 25 NP-Completeness
NP-Completeness Proofs
Introduction to the Boolean Satisfiability Problem
Chapter 8 NP and Computational Intractability
Introduction to the Boolean Satisfiability Problem
NP-Complete Problems.
NP-Completeness Yin Tat Lee
CSE 6408 Advanced Algorithms.
Instructor: Aaron Roth
Instructor: Aaron Roth
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Lecture 23 NP-Hard Problems
Presentation transcript:

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

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:

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.

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. 7

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

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. C A 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. C A 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

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

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

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.

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 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)

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

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

Questions? 21

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 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 (P Λ Q)  False P ≡ Q Back 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. 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

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