Parallel and Distributed Computing
|
|
- Alexandrina Jackson
- 5 years ago
- Views:
Transcription
1 Parallel and Distributed Computing Project Assignment MAX-SAT SOLVER Version 1.0 (07/03/2016) 2015/2016 2nd Semester
2 CONTENTS Contents 1 Introduction 2 2 Problem Description Illustrative Example Discussion of the Algorithm to Implement Implementation Details Input Data Output Data Sample Problem Part 1 - Serial implementation 4 5 Part 2 - OpenMP implementation 4 6 Part 3 - MPI implementation 4 7 What to Turn in, and When 4 Revisions Version 1.0 (March 7th, 2016) Initial Version 1
3 2 PROBLEM DESCRIPTION 1 Introduction The purpose of this class project is to gain experience in parallel programming on an SMP and a multicomputer, using OpenMP and MPI, respectively. For this assignment you are to write a sequential and two parallel implementations of a Maximum Satisfiability (MAXSAT) solver. 2 Problem Description The Boolean Satisfiability Problem, simply known as SAT, is the problem of determining if there exists an assignment of the variables in a Boolean formula such that it evaluates to true. Although the format of the formula description is irrelevant, a format commonly used in practice is the conjunctive normal form (CNF). Under CNF, a Boolean formula consists of a conjunction of clauses, and a clause is a disjunction of literals. A literal is simply either a variable, then called positive literal, or the negation of a variable, then called negative literal. The maximum satisfiability problem (MAXSAT) can be seen as a generalization of SAT. MAXSAT is defined as the problem of determining the maximum number of clauses, of a given Boolean formula in conjunctive normal form, that can be made true by an assignment of the variables. 2.1 Illustrative Example Consider the following Boolean formula in CNF: φ = (A) (A B) (B C) (A B C) which has 3 variables (A, B and C) and 4 clauses, each with 1, 2, 2, and 3 literals respectively. It is easily verified that this formula is not satisfiable: the first clauses implies that A = 0; since A = 0, the second clause implies that B = 1; replacing these values in the third and fourth clauses we get (C) (C). However, for this project we are looking for the assignment that maximizes the number of the CNF clauses that evaluate to 1. Of course, if the formula is satisfiable, the solution to MAXSAT is the number of clauses in the formula. For our example, we achieve a MAXSAT solution of 3 with any assignment to C. 2.2 Discussion of the Algorithm to Implement A brute force approach to the MAXSAT problem is just to test the formula for all possible variable assignments. There are many sophisticated techniques to make this search more efficient. For this project, we do not want any type of research about these techniques. Keep in mind that the focus is the parallelization strategy. You are to implement a simple branch and bound search for the MAXSAT solution. The search should be made using a binary tree, where each level corresponds to a variable and the two children of each node correspond to the two possible assignments to that variable. Every time you arrive to a leaf of the tree (all variables have been assigned), the number of satisfied clauses is registered and the maximum value found should be saved. During the search the current maximum value should be used as a lower bound to prune the search. If at any node the total number of clauses minus the clauses that are unsatisfied by the current partial variable assignment is lower than this lower bound then we do not need to descend the tree further as it is guaranteed that no better solution can be found below. 2
4 3 IMPLEMENTATION DETAILS For this project you should not only determine the MAXSAT value, but also the number of different variable assignments that achieve that maximum number of satisfied clauses. 3 Implementation Details 3.1 Input Data The description of the problem is contained in a file (e.g., ex1.in) that starts with two positive integers indicating, respectively, the number of variables (nvar < 128) and the number of clauses (ncl < 2 16 ) in the formula. Then, each line will contain one of the clauses. To simplify, each variable is identified by an integer, signed to indicate a positive or negative literal. Hence, each line is a sequence of signed integers ending with a value 0. Your program should allow one and only one input parameter in the command line, used to specify the name of this input file. 3.2 Output Data The output of this problem should be, in two separate lines: in the first line, two integers separated by a space, the first the value of MAXSAT and the second the number of different complete variable assignments that achieve MAXSAT in the second line, one of the assignments that achieve MAXSAT (not important which), indicated as a sequence of integers separated by a space, positive for a value 1, negative for a value 0. Your program should send these two output lines (and nothing else) to the standard output, the project cannot be graded unless you follow these input and output rules! 3.3 Sample Problem Consider the formula φ above. The input file (e.g., ex1.in) that describes this formula will be: The program execution for this case should be: $ maxsat-serial ex1.in $ (the last line can actually be any assignment except 1 2-3). 3
5 7 WHAT TO TURN IN, AND WHEN 4 Part 1 - Serial implementation Write a serial implementation of the algorithm in C (or C++). Name the source file of this implementation maxsat-serial.c. As stated, your program should expect exactly one input parameter. This will be your base for comparisons, it is expected that the branch and bound implementation should be as efficient as possible. 5 Part 2 - OpenMP implementation Write an OpenMP implementation of the algorithm, with the same rules and input/output descriptions. Name this source code maxsat-omp.c. You can start by simply adding OpenMP directives, but you are free, and encouraged, to modify the code in order to make the parallelization more effective and more scalable. Be careful about synchronization and load balancing! 6 Part 3 - MPI implementation Write an MPI implementation of the algorithm as for OpenMP, and address the same issues. Name this source code maxsat-mpi.c. For MPI, you will need to modify your code substantially. Besides synchronization and load balancing, you will need to take into account the minimization of the impact of communication costs. Extra credits will be given to groups that present a combined MPI+OpenMP implementation. 7 What to Turn in, and When You must eventually submit the sequential and both parallel versions of your program (please use the filenames indicated above) and the times to run the parallel versions on input data that will be made available (for 1, 2, 4 and 8 parallel tasks). Note that we will not be using any level of compiler optimizations to evaluate the performance of your programs, so you shouldn t also. You must also submit a short report about the results (1-2 pages) that discusses: the approach used for parallelization what decomposition was used what were the synchronization concerns and why how was load balancing addressed what are the performance results, and are they what you expected You will turn in the serial version and OpenMP parallel version at the first due date, with the short report, and then the serial version again (hopefully the same) and the MPI parallel version at the second due date, with an updated report. Both the code and the report will be uploaded to the Fenix system in a zip file. Name these files as g<n>omp.zip and g<n>mpi.zip, where <n> is your group number. 1st due date (serial + OMP): April 8th, until 5pm. Note: your project will be tested in the practical class just after the due date. 2nd due data (serial + MPI): May 13th, until 5pm. Note: your project will be tested in the practical class just after the due date. 4
Finite Model Generation for Isabelle/HOL Using a SAT Solver
Finite Model Generation for / Using a SAT Solver Tjark Weber webertj@in.tum.de Technische Universität München Winterhütte, März 2004 Finite Model Generation for / p.1/21 is a generic proof assistant: Highly
More informationCS446: Machine Learning Fall Problem Set 4. Handed Out: October 17, 2013 Due: October 31 th, w T x i w
CS446: Machine Learning Fall 2013 Problem Set 4 Handed Out: October 17, 2013 Due: October 31 th, 2013 Feel free to talk to other members of the class in doing the homework. I am more concerned that you
More informationMixed Integer Linear Programming
Mixed Integer Linear Programming Part I Prof. Davide M. Raimondo A linear program.. A linear program.. A linear program.. Does not take into account possible fixed costs related to the acquisition of new
More information2SAT Andreas Klappenecker
2SAT Andreas Klappenecker The Problem Can we make the following boolean formula true? ( x y) ( y z) (z y)! Terminology A boolean variable is a variable that can be assigned the values true (T) or false
More informationWhere Can We Draw The Line?
Where Can We Draw The Line? On the Hardness of Satisfiability Problems Complexity 1 Introduction Objectives: To show variants of SAT and check if they are NP-hard Overview: Known results 2SAT Max2SAT Complexity
More informationCombinatorial Optimization
Combinatorial Optimization Problem set 7: solutions. Formulate and solve an integer program for the following scenario. A trader of unusual objects is traveling with a caravan that begins in city A, proceeds
More informationDecision Procedures. An Algorithmic Point of View. Decision Procedures for Propositional Logic. D. Kroening O. Strichman.
Decision Procedures An Algorithmic Point of View Decision Procedures for Propositional Logic D. Kroening O. Strichman ETH/Technion Version 1.0, 2007 Part I Decision Procedures for Propositional Logic Outline
More informationCSE Theory of Computing Fall 2017 Project 1-SAT Solving
CSE 30151 Theory of Computing Fall 2017 Project 1-SAT Solving Version 3: Sept. 21, 2017 The purpose of this project is to gain an understanding of one of the most central problems of computing: Boolean
More information8.1 Polynomial-Time Reductions
8.1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. Those with polynomial-time algorithms.
More informationHorn Formulae. CS124 Course Notes 8 Spring 2018
CS124 Course Notes 8 Spring 2018 In today s lecture we will be looking a bit more closely at the Greedy approach to designing algorithms. As we will see, sometimes it works, and sometimes even when it
More informationPROPOSITIONAL LOGIC (2)
PROPOSITIONAL LOGIC (2) based on Huth & Ruan Logic in Computer Science: Modelling and Reasoning about Systems Cambridge University Press, 2004 Russell & Norvig Artificial Intelligence: A Modern Approach
More informationMassively Parallel Seesaw Search for MAX-SAT
Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The
More informationHomework 4 Solutions
CS3510 Design & Analysis of Algorithms Section A Homework 4 Solutions Uploaded 4:00pm on Dec 6, 2017 Due: Monday Dec 4, 2017 This homework has a total of 3 problems on 4 pages. Solutions should be submitted
More informationPolynomial SAT-Solver Algorithm Explanation
1 Polynomial SAT-Solver Algorithm Explanation by Matthias Mueller (a.k.a. Louis Coder) louis@louis-coder.com Explanation Version 1.0 - December 1, 2013 Abstract This document describes an algorithm that
More informationImplementation of a Sudoku Solver Using Reduction to SAT
Implementation of a Sudoku Solver Using Reduction to SAT For this project you will develop a Sudoku solver that receives an input puzzle and computes a solution, if one exists. Your solver will: read an
More informationLecture 14: Lower Bounds for Tree Resolution
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Advanced Course on Computational Complexity Lecture 14: Lower Bounds for Tree Resolution David Mix Barrington and Alexis Maciel August
More informationP -vs- NP. NP Problems. P = polynomial time. NP = non-deterministic polynomial time
P -vs- NP NP Problems P = polynomial time There are many problems that can be solved correctly using algorithms that run in O(n c ) time for some constant c. NOTE: We can say that an nlogn algorithm is
More informationCS 267: Automated Verification. Lecture 13: Bounded Model Checking. Instructor: Tevfik Bultan
CS 267: Automated Verification Lecture 13: Bounded Model Checking Instructor: Tevfik Bultan Remember Symbolic Model Checking Represent sets of states and the transition relation as Boolean logic formulas
More information8 NP-complete problem Hard problems: demo
Ch8 NPC Millennium Prize Problems http://en.wikipedia.org/wiki/millennium_prize_problems 8 NP-complete problem Hard problems: demo NP-hard (Non-deterministic Polynomial-time hard), in computational complexity
More informationControl Structures. Lecture 4 COP 3014 Fall September 18, 2017
Control Structures Lecture 4 COP 3014 Fall 2017 September 18, 2017 Control Flow Control flow refers to the specification of the order in which the individual statements, instructions or function calls
More informationExample of a Demonstration that a Problem is NP-Complete by reduction from CNF-SAT
20170926 CNF-SAT: CNF-SAT is a problem in NP, defined as follows: Let E be a Boolean expression with m clauses and n literals (literals = variables, possibly negated), in which - each clause contains only
More informationNP-Complete Reductions 2
x 1 x 1 x 2 x 2 x 3 x 3 x 4 x 4 12 22 32 CS 447 11 13 21 23 31 33 Algorithms NP-Complete Reductions 2 Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline NP-Complete
More informationRandomness and Computation March 25, Lecture 5
0368.463 Randomness and Computation March 25, 2009 Lecturer: Ronitt Rubinfeld Lecture 5 Scribe: Inbal Marhaim, Naama Ben-Aroya Today Uniform generation of DNF satisfying assignments Uniform generation
More informationNP and computational intractability. Kleinberg and Tardos, chapter 8
NP and computational intractability Kleinberg and Tardos, chapter 8 1 Major Transition So far we have studied certain algorithmic patterns Greedy, Divide and conquer, Dynamic programming to develop efficient
More informationCombining forces to solve Combinatorial Problems, a preliminary approach
Combining forces to solve Combinatorial Problems, a preliminary approach Mohamed Siala, Emmanuel Hebrard, and Christian Artigues Tarbes, France Mohamed SIALA April 2013 EDSYS Congress 1 / 19 Outline Context
More informationNotes on CSP. Will Guaraldi, et al. version /13/2006
Notes on CSP Will Guaraldi, et al version 1.5 10/13/2006 Abstract This document is a survey of the fundamentals of what we ve covered in the course up to this point. The information in this document was
More informationSatisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY
Satisfiability Michail G. Lagoudakis Department of Computer Science Duke University Durham, NC 27708 COMPSCI 271 - Spring 2001 DUKE UNIVERSITY Page 1 Why SAT? Historical Reasons The first NP-COMPLETE problem
More informationA Simplied NP-complete MAXSAT Problem. Abstract. It is shown that the MAX2SAT problem is NP-complete even if every variable
A Simplied NP-complete MAXSAT Problem Venkatesh Raman 1, B. Ravikumar 2 and S. Srinivasa Rao 1 1 The Institute of Mathematical Sciences, C. I. T. Campus, Chennai 600 113. India 2 Department of Computer
More informationALGORITHMS EXAMINATION Department of Computer Science New York University December 17, 2007
ALGORITHMS EXAMINATION Department of Computer Science New York University December 17, 2007 This examination is a three hour exam. All questions carry the same weight. Answer all of the following six questions.
More informationSAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013
SAT Solvers Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures We will look very closely at the following 1. Propositional Logic 2. Theory of Equality 3. Theory of Uninterpreted Functions 4.
More informationExample: Map coloring
Today s s lecture Local Search Lecture 7: Search - 6 Heuristic Repair CSP and 3-SAT Solving CSPs using Systematic Search. Victor Lesser CMPSCI 683 Fall 2004 The relationship between problem structure and
More informationLinear Time Unit Propagation, Horn-SAT and 2-SAT
Notes on Satisfiability-Based Problem Solving Linear Time Unit Propagation, Horn-SAT and 2-SAT David Mitchell mitchell@cs.sfu.ca September 25, 2013 This is a preliminary draft of these notes. Please do
More informationTowards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms
Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms Joao Marques-Silva and Vasco Manquinho School of Electronics and Computer Science, University of Southampton, UK IST/INESC-ID,
More informationBoolean Functions (Formulas) and Propositional Logic
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x
More informationChapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.
Chapter 8 NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Algorithm Design Patterns and Anti-Patterns Algorithm design patterns.
More informationLecture Notes on Binary Decision Diagrams
Lecture Notes on Binary Decision Diagrams 15-122: Principles of Imperative Computation William Lovas Notes by Frank Pfenning Lecture 25 April 21, 2011 1 Introduction In this lecture we revisit the important
More informationImproving Unsatisfiability-based Algorithms for Boolean Optimization
Improving Unsatisfiability-based Algorithms for Boolean Optimization Vasco Manquinho, Ruben Martins, and Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal {vmm,ruben,ines}@sat.inesc-id.pt
More informationNP-Completeness. Algorithms
NP-Completeness Algorithms The NP-Completeness Theory Objective: Identify a class of problems that are hard to solve. Exponential time is hard. Polynomial time is easy. Why: Do not try to find efficient
More informationModule 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur
Module 4 Constraint satisfaction problems Lesson 10 Constraint satisfaction problems - II 4.5 Variable and Value Ordering A search algorithm for constraint satisfaction requires the order in which variables
More informationNotes on CSP. Will Guaraldi, et al. version 1.7 4/18/2007
Notes on CSP Will Guaraldi, et al version 1.7 4/18/2007 Abstract Original abstract This document is a survey of the fundamentals of what we ve covered in the course up to this point. The information in
More informationFixed-Parameter Algorithm for 2-CNF Deletion Problem
Fixed-Parameter Algorithm for 2-CNF Deletion Problem Igor Razgon Igor Razgon Computer Science Department University College Cork Ireland A brief introduction to the area of fixed-parameter algorithms 2
More informationParallelizing SAT Solver With specific application on solving Sudoku Puzzles
6.338 Applied Parallel Computing Final Report Parallelizing SAT Solver With specific application on solving Sudoku Puzzles Hank Huang May 13, 2009 This project was focused on parallelizing a SAT solver
More informationW4231: Analysis of Algorithms
W4231: Analysis of Algorithms 11/23/99 NP-completeness of 3SAT, Minimum Vertex Cover, Maximum Independent Set, Boolean Formulae A Boolean formula is an expression that we can build starting from Boolean
More informationIntegrating Probabilistic Reasoning with Constraint Satisfaction
Integrating Probabilistic Reasoning with Constraint Satisfaction IJCAI Tutorial #7 Instructor: Eric I. Hsu July 17, 2011 http://www.cs.toronto.edu/~eihsu/tutorial7 Getting Started Discursive Remarks. Organizational
More informationLearning a SAT Solver from Single-
Learning a SAT Solver from Single- Bit Supervision Daniel Selsman, Matthew Lamm, Benedikt Bunz, Percy Liang, Leonardo de Moura and David L. Dill Presented By Aditya Sanghi Overview NeuroSAT Background:
More informationCMPUT 366 Intelligent Systems
CMPUT 366 Intelligent Systems Assignment 1 Fall 2004 Department of Computing Science University of Alberta Due: Thursday, September 30 at 23:59:59 local time Worth: 10% of final grade (5 questions worth
More informationCS 512, Spring 2017: Take-Home End-of-Term Examination
CS 512, Spring 2017: Take-Home End-of-Term Examination Out: Tuesday, 9 May 2017, 12:00 noon Due: Wednesday, 10 May 2017, by 11:59 am Turn in your solutions electronically, as a single PDF file, by placing
More informationExam in Algorithms & Data Structures 3 (1DL481)
Exam in Algorithms & Data Structures 3 (1DL481) Prepared by Pierre Flener Tuesday 15 March 2016 from 08:00 to 13:00, in Polacksbacken Materials: This is a closed-book exam, drawing from the book Introduction
More informationSAT-CNF Is N P-complete
SAT-CNF Is N P-complete Rod Howell Kansas State University November 9, 2000 The purpose of this paper is to give a detailed presentation of an N P- completeness proof using the definition of N P given
More information(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1
CS 70 Discrete Mathematics for CS Fall 2000 Wagner MT1 Sol Solutions to Midterm 1 1. (16 pts.) Theorems and proofs (a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are
More informationNP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT
NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT 3SAT The 3SAT problem is the following. INSTANCE : Given a boolean expression E in conjunctive normal form (CNF) that is the conjunction of clauses, each
More informationCMPUT 366 Assignment 1
CMPUT 66 Assignment Instructor: R. Greiner Due Date: Thurs, October 007 at start of class The following exercises are intended to further your understanding of agents, policies, search, constraint satisfaction
More informationDeductive Methods, Bounded Model Checking
Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded
More informationSAT Solver. CS 680 Formal Methods Jeremy Johnson
SAT Solver CS 680 Formal Methods Jeremy Johnson Disjunctive Normal Form A Boolean expression is a Boolean function Any Boolean function can be written as a Boolean expression s x 0 x 1 f Disjunctive normal
More information! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.
Algorithm Design Patterns and Anti-Patterns Chapter 8 NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic
More informationSeminar decision procedures: Certification of SAT and unsat proofs
Seminar decision procedures: Certification of SAT and unsat proofs Wolfgang Nicka Technische Universität München June 14, 2016 Boolean satisfiability problem Term The boolean satisfiability problem (SAT)
More informationChapter 10 Part 1: Reduction
//06 Polynomial-Time Reduction Suppose we could solve Y in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Chapter 0 Part : Reduction Reduction. Problem X
More informationProjects for Advanced Functional Programming 2015
Projects for Advanced Functional Programming 2015 Deadline: 11th January 2016, 23:59 General For this part of the course, you are encouraged to work in groups of two doing pair programming. Each group
More informationThe Satisfiability Problem [HMU06,Chp.10b] Satisfiability (SAT) Problem Cook s Theorem: An NP-Complete Problem Restricted SAT: CSAT, k-sat, 3SAT
The Satisfiability Problem [HMU06,Chp.10b] Satisfiability (SAT) Problem Cook s Theorem: An NP-Complete Problem Restricted SAT: CSAT, k-sat, 3SAT 1 Satisfiability (SAT) Problem 2 Boolean Expressions Boolean,
More informationcolor = 3 color = 1 color = 2 color = 3
15-820-a Assignment 1 Due Feb 19, 2003 1 Coloring a Graph with k-colors The goal of this homework is to gain familiarity with SAT. We will encode an interesting graph problem into a SAT problem and use
More informationExercises Computational Complexity
Exercises Computational Complexity March 22, 2017 Exercises marked with a are more difficult. 1 Chapter 7, P and NP Exercise 1. Suppose some pancakes are stacked on a surface such that no two pancakes
More information1.4 Normal Forms. We define conjunctions of formulas as follows: and analogously disjunctions: Literals and Clauses
1.4 Normal Forms We define conjunctions of formulas as follows: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n i=1 F i F n+1. and analogously disjunctions: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n
More informationLocal Two-Level And-Inverter Graph Minimization without Blowup
Local Two-Level And-Inverter Graph Minimization without Blowup Robert Brummayer and Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria {robert.brummayer,
More information1 Definition of Reduction
1 Definition of Reduction Problem A is reducible, or more technically Turing reducible, to problem B, denoted A B if there a main program M to solve problem A that lacks only a procedure to solve problem
More informationFull CNF Encoding: The Counting Constraints Case
Full CNF Encoding: The Counting Constraints Case Olivier Bailleux 1 and Yacine Boufkhad 2 1 LERSIA, Université de Bourgogne Avenue Alain Savary, BP 47870 21078 Dijon Cedex olivier.bailleux@u-bourgogne.fr
More informationUnit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.
: Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity
More informationComplexity Classes and Polynomial-time Reductions
COMPSCI 330: Design and Analysis of Algorithms April 19, 2016 Complexity Classes and Polynomial-time Reductions Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we introduce
More informationProjects for Advanced Functional Programming 2017
Projects for Advanced Functional Programming 2017 Deadline: 12th January 2018, 23:59 General For this part of the course, you are encouraged to work in groups of two in pair programming 1 style. Each group
More informationSatisfiability-Based Algorithms for 0-1 Integer Programming
Satisfiability-Based Algorithms for 0-1 Integer Programming Vasco M. Manquinho, João P. Marques Silva, Arlindo L. Oliveira and Karem A. Sakallah Cadence European Laboratories / INESC Instituto Superior
More informationLower Bounds and Upper Bounds for MaxSAT
Lower Bounds and Upper Bounds for MaxSAT Federico Heras, Antonio Morgado, and Joao Marques-Silva CASL, University College Dublin, Ireland Abstract. This paper presents several ways to compute lower and
More informationCSc Parallel Scientific Computing, 2017
CSc 76010 Parallel Scientific Computing, 2017 What is? Given: a set X of n variables, (i.e. X = {x 1, x 2,, x n } and each x i {0, 1}). a set of m clauses in Conjunctive Normal Form (CNF) (i.e. C = {c
More informationAn Efficient Framework for User Authorization Queries in RBAC Systems
An Efficient Framework for User Authorization Queries in RBAC Systems Guneshi T. Wickramaarachchi Purdue University 305 N. University Street, West Lafayette, IN 47907, USA gwickram@purdue.edu Wahbeh H.
More information! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.
Algorithm Design Patterns and Anti-Patterns 8. NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic programming.
More informationTypeChef: Towards Correct Variability Analysis of Unpreprocessed C Code for Software Product Lines
TypeChef: Towards Correct Variability Analysis of Unpreprocessed C Code for Software Product Lines Paolo G. Giarrusso 04 March 2011 Software product lines (SPLs) Feature selection SPL = 1 software project
More informationOptimization Methods in Management Science
Problem Set Rules: Optimization Methods in Management Science MIT 15.053, Spring 2013 Problem Set 6, Due: Thursday April 11th, 2013 1. Each student should hand in an individual problem set. 2. Discussing
More informationControl Structures in Java if-else and switch
Control Structures in Java if-else and switch Lecture 4 CGS 3416 Spring 2016 February 2, 2016 Control Flow Control flow refers to the specification of the order in which the individual statements, instructions
More informationP Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989
University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science October 1989 P Is Not Equal to NP Jon Freeman University of Pennsylvania Follow this and
More informationInstitut for Matematik & Datalogi November 15, 2010 Syddansk Universitet. DM528: Combinatorics, Probability and Randomized Algorithms Ugeseddel 3
Institut for Matematik & Datalogi November 15, 2010 Syddansk Universitet JBJ DM528: Combinatorics, Probability and Randomized Algorithms Ugeseddel 3 Stuff covered in Week 46: Rosen 6.1-6.2. The parts of
More informationParallelizing Partial MUS Enumeration
Parallelizing Partial MUS Enumeration Wenting Zhao and Mark Liffiton Department of Computer Science Illinois Wesleyan University {wzhao,mliffito}@iwu.edu http://www.iwu.edu/~mliffito/marco/ ICTAI November
More informationSearch Pruning Conditions for Boolean Optimization
Search Pruning Conditions for Boolean Optimization Vasco M. Manquinho vmm@algos.inesc.pt Polytechnical Institute of Portalegre Portalegre, Portugal João Marques-Silva jpms@inesc.pt Technical University
More informationLogic Programming with Satisfiability
Under consideration for publication in Theory and Practice of Logic Programming 1 Logic Programming with Satisfiability MICHAEL CODISH Department of Computer Science, Ben-Gurion University, Israel (e-mail:
More informationA New Reduction from 3-SAT to Graph K- Colorability for Frequency Assignment Problem
A New Reduction from 3-SAT to Graph K- Colorability for Frequency Assignment Problem Prakash C. Sharma Indian Institute of Technology Survey No. 113/2-B, Opposite to Veterinary College, A.B.Road, Village
More informationUnrestricted Nogood Recording in CSP search
Unrestricted Nogood Recording in CSP search George Katsirelos and Fahiem Bacchus Department of Computer Science, University Of Toronto, Toronto, Ontario, Canada [gkatsi,fbacchus]@cs.toronto.edu Abstract.
More informationHomework 1. Due Date: Wednesday 11/26/07 - at the beginning of the lecture
Homework 1 Due Date: Wednesday 11/26/07 - at the beginning of the lecture Problems marked with a [*] are a littlebit harder and count as extra credit. Note 1. For any of the given problems make sure that
More informationData Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA === Homework submission instructions ===
Data Structure and Algorithm Homework #3 Due: 2:20pm, Tuesday, April 9, 2013 TA email: dsa1@csientuedutw === Homework submission instructions === For Problem 1, submit your source code, a Makefile to compile
More informationLogic Programming with Satisfiability
Under consideration for publication in Theory and Practice of Logic Programming 1 Logic Programming with Satisfiability MICHAEL CODISH Department of Computer Science, Ben-Gurion University, Israel (e-mail:
More informationUML CS Algorithms Qualifying Exam Fall, 2004 ALGORITHMS QUALIFYING EXAM
ALGORITHMS QUALIFYING EXAM This exam is open books & notes and closed neighbors & calculators. The upper bound on exam time is 3 hours. Please put all your work on the exam paper. Please write your name
More informationNP-Hardness. We start by defining types of problem, and then move on to defining the polynomial-time reductions.
CS 787: Advanced Algorithms NP-Hardness Instructor: Dieter van Melkebeek We review the concept of polynomial-time reductions, define various classes of problems including NP-complete, and show that 3-SAT
More informationCS-E3200 Discrete Models and Search
Shahab Tasharrofi Department of Information and Computer Science, Aalto University Lecture 7: Complete and local search methods for SAT Outline Algorithms for solving Boolean satisfiability problems Complete
More informationDecision Procedures for Equality Logic. Daniel Kroening and Ofer Strichman 1
in First Order Logic for Equality Logic Daniel Kroening and Ofer Strichman 1 Outline Introduction Definition, complexity Reducing Uninterpreted Functions to Equality Logic Using Uninterpreted Functions
More informationValidating Plans with Durative Actions via Integrating Boolean and Numerical Constraints
Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Roman Barták Charles University in Prague, Faculty of Mathematics and Physics Institute for Theoretical Computer
More informationSolving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s
Solving 3-SAT Radboud University Nijmegen Bachelor Thesis Author: Peter Maandag s3047121 Supervisors: Henk Barendregt Alexandra Silva July 2, 2012 Contents 1 Introduction 2 1.1 Problem context............................
More informationCPSC 320 Notes: What's in a Reduction?
CPSC 320 Notes: What's in a Reduction? November 7, 2016 To reduce a problem A to another problem B, we typically proceed as follows: give one algorithm that takes a (legal) instance a of A and converts
More informationMinimum Satisfying Assignments for SMT. Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U.
Minimum Satisfying Assignments for SMT Işıl Dillig, Tom Dillig Ken McMillan Alex Aiken College of William & Mary Microsoft Research Stanford U. 1 / 20 Satisfiability Modulo Theories (SMT) Today, SMT solvers
More informationMajorSat: A SAT Solver to Majority Logic
MajorSat: A SAT Solver to Majority Logic Speaker : Ching-Yi Huang Authors: Yu-Min Chou, Yung-Chih Chen *, Chun-Yao Wang, Ching-Yi Huang National Tsing Hua University, Taiwan * Yuan Ze University, Taiwan
More informationP and NP CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang
P and NP CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang Efficient Algorithms So far, we have developed algorithms for finding shortest paths in graphs, minimum spanning trees in
More information9.1 Cook-Levin Theorem
CS787: Advanced Algorithms Scribe: Shijin Kong and David Malec Lecturer: Shuchi Chawla Topic: NP-Completeness, Approximation Algorithms Date: 10/1/2007 As we ve already seen in the preceding lecture, two
More informationA Study of High Performance Computing and the Cray SV1 Supercomputer. Michael Sullivan TJHSST Class of 2004
A Study of High Performance Computing and the Cray SV1 Supercomputer Michael Sullivan TJHSST Class of 2004 June 2004 0.1 Introduction A supercomputer is a device for turning compute-bound problems into
More informationCircuit versus CNF Reasoning for Equivalence Checking
Circuit versus CNF Reasoning for Equivalence Checking Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Equivalence Checking Workshop 25 Madonna di Campiglio,
More informationParallel Search for Boolean Optimization
Parallel Search for Boolean Optimization Ruben Martins, Vasco Manquinho, and Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal {ruben,vmm,ines}@sat.inesc-id.pt Abstract. The predominance
More information