SAT BASED ALGORITHMIC APPROACH FOR SUDOKU PUZZLE
|
|
- Joy Underwood
- 5 years ago
- Views:
Transcription
1 International Journal of Computer Engineering & Technology (IJCET) Volume 9, Issue 6, November-December 2018, pp , Article ID: IJCET_09_06_005 Available online at Journal Impact Factor (2016): (Calculated by GISI) ISSN Print: and ISSN Online: IAEME Publication SAT BASED ALGORITHMIC APPROACH FOR SUDOKU PUZZLE Deepika Rai Assistant Professor, School of Computer Science, IT Devi Ahilya Vishwavidyalaya, Indore, India N.S. Chaudhari Professor, Computer Science & Engineering, IIT, Indore, India Maya Ingle Sr. System Analyst, School of Computer Science and IT, Devi Ahilya Vishwavidyalaya, Indore, India ABSTRACT In theoretical computer science, Sudoku puzzle has always grappled its importance since it is an NP-complete problem. Most of the existing algorithms are exponential for large instances of Sudoku puzzle. In this paper, we present an efficient approach for Sudoku puzzle in which constraints of Sudoku puzzle are encoded into SAT clauses and subsequently encoded into 3-SAT clauses. 3-SAT formulation of Sudoku puzzle (n n) is very advantageous to obtain the solution of Sudoku puzzle using SAT solver. In this way, we design two algorithms SP 2 SAT and SP 2 3SAT that generate SAT clauses and 3-SAT clauses respectively in polynomial time. Algorithm I: SP 2 SAT generates total [ * (3n 2 3n + 2) + m] SAT clauses corresponding to Sudoku puzzle of size (n n). On the other hand, Algorithm II: SP 2 3SAT creates total [ * (3n 2 n 4) + m] 3-SAT clauses corresponding to SAT clauses. Our approach provides an efficient way to obtain the solution of Sudoku puzzle as it produces fewer number of 3-SAT clauses than existing approach. Key words: Conjunctive Normal Form, NP-Complete Problem, Polynomial Time, 3- SAT, Sudoku Puzzle. Cite this Article: Deepika Rai, N.S. Chaudhari and Maya Ingle, SAT Based Algorithmic Approach for Sudoku Puzzle. International Journal of Computer Engineering and Technology, 9(6), 2018, pp editor@iaeme.com
2 Deepika Rai, N.S. Chaudhari and Maya Ingle 1. INTRODUCTION Many problems such as software and hardware verification, automatic test-pattern generation, graph problems, combinational equivalence checking, scheduling, planning in artificial intelligence etc. have been represented in terms of SAT, in last two decades [1]. In recent years, several difficult problems in diversified domains are encoded into SAT to obtain the solution using SAT solver. As an example, n-fraction puzzle has been encoded as a SAT problem and obtained the solution of two open instances of this puzzle by using SAT solver [2]. Planning problem can also be modeled as SAT which is more accurate approach than deduction approach. SAT approach provides more flexible framework for constraint based planning system [3]. Also, detection of Hardware Trojan Horses (HTH) is done by Automatic Test Pattern Generation (ATPG) technique which is based on Genetic Algorithm and Boolean Satisfiability. This technique has been achieved higher detection than existing logic testing based Trojan detection technique [4]. On the other hand, large number of NP-complete problems are reduced into 3-SAT in polynomial time and solved by SAT solver. Some of these are channel assignment problem in cellular network, graph coloring problem, determining cliques and vertex cover for particular graph etc. [5][6][7]. Additionally, Sudoku puzzle (n n) is a numerical combinatorial puzzle which is also an NP-complete problem. There exist many approaches for the solution of Sudoku puzzle such as stochastic search, genetic algorithms, backtracking algorithms, integer linear programming etc. Aforementioned approaches can be used to solve Sudoku puzzle only for small value of n [8][9][10]. Due to NP-completeness of Sudoku puzzle, it can be represented in terms of 3-SAT to acquire the solution. There exists an exact 3-SAT encoding of Sudoku puzzle that generates [4 * (n 4 2n 2 + m)] 3-SAT clauses [11]. However, there is a scope to obtain an improved polynomial 3- SAT encoding of Sudoku puzzle of size (n n) based on constraint reduction. In this paper, we encode Sudoku puzzle of size (n n) into SAT clauses and subsequently convert into 3-SAT clauses. In Section 2, we present formulations for SAT and 3-SAT reductions of Sudoku puzzle (n n) on the basis of constraint reduction. The reductions furnish a crucial framework for converting one problem instance to other. In Section 3, we design two algorithms SP 2 SAT and SP 2 3SAT for the generation of clauses. Algorithm I: SP 2 SAT is used to obtain SAT clauses corresponding to Sudoku puzzle of size (n n) and Algorithm II: SP 2 3SAT converts the SAT clauses generated from Algorithm I, into 3-SAT clauses. In Section 4, we describe the execution results of both the algorithms SP 2 SAT and SP 2 3SAT for various Sudoku puzzles as well as highlight the number of 3-SAT clauses generated in polynomial 3-SAT reduction of Sudoku puzzle. Finally, we discuss the conclusion of our proposed work with suggesting future work in Section SAT CLAUSE GENERATION FOR SUDOKU PUZZLE (N N) We propose the constraint based 3-SAT encoding of Sudoku puzzle (n n). In this perspective, we review all the constraints of Sudoku puzzle and encode the constraints that are sufficient to describe Sudoku puzzle. The sufficient constraints in our case are categorized into two variants namely; Atleast Constraint for Cell (ACC) and Atmost Constraint for Row, Column and Block (ACRCB). ACC ensures that each cell of Sudoku puzzle (n n) contains atleast one number. ACRCB ensures that each number appears atmost once in each Row, Column and each Block of size ( n n). In other words, different numbers are to be filled in every cells of a row (column or block). Atmost constraint for Cell and atleast constraint for Row, Column and Block are redundant and not included in our SAT representation. Now, we transform these constrains into 3-SAT clauses to obtain the solution of Sudoku puzzle using SAT solver. In this context, let us assume all cells are represented as C(i, j), and a Boolean variable x i,j,k where 1 i, j, k n. Boolean variable x i,j,k is true if i th row and j th 39 editor@iaeme.com
3 SAT Based Algorithmic Approach for Sudoku Puzzle column of puzzle contains a number k otherwise it is false. In other words, x i,j,k is true if C(i, j) = k, otherwise it is false. There exist n possibilities to fill a particular cell, therefore SAT encoding requires n variables for each cell of Sudoku puzzle (n n). Now, we generate the 3- SAT clauses for both ACC and ACRCB constraints Atleast Constraint for Cell (ACC) According to this constraint, atleast one number is to be filled in each cell of Sudoku puzzle (n n). In other words, no one cell of Sudoku puzzle is to be remains blank. Thus, SAT representation of ACC constraint for n rows and n columns of a Sudoku puzzle of size (n n), as given by- ( x i,j,k ) (1) It is clear from eq. (1), one SAT clause is generated for each cell of Sudoku puzzle (n n). Consequently, n 2 clauses are produced for all cells and all are of length n. Now, we convert the obtained SAT clauses into 3-SAT clauses using well defined non recursive method [11]. Using this method, a SAT clause of k literals (k>3) is converted into (k-2) clauses of 3 distinct literals as well as this conversion is required (k-3) additional variables. Generated SAT clauses from eq. (1), are transformed into 3-SAT clauses using aforementioned method. As a result, [n 2 *(n 2)] 3-SAT clauses are obtained and [n 2 * (n 3)] additional variables required for conversion of SAT clauses to 3-SAT clauses. Now, we encode ACRCB into 3-SAT clauses as follows: 2.2. Atmost Constraint for Row, Column and Block (ACRCB) According to this constraint, each number appears in each row (each column or each block) of Sudoku puzzle without any repetition. Mathematically, if a number in a particular cell of a i th row of Sudoku puzzle is C(i, j) = k then C(i, m) k. In other words, if a cell in a particular row contains k then no other cell in same row contains k. Generalize SAT representation of ACRCB is given by: ( x i,j,k x i,m,k ) (2) In this way, (n 2 * n * (n 1)/2) SAT clauses are obtained for all n rows. Similarly, there is no repetition of any number in each column and each block of Sudoku puzzle and (n 3 * (n 1)/2) clauses are generated for all n columns and all n blocks. Therefore, total 3* [n 3 * (n 1) / 2] SAT clauses are attained for ACRCB. It is clear from eq. (2), all generated SAT clauses are of length 2 that are already in 3-SAT form. There is no need of any additional variables and hence, the number of SAT clauses and 3-SAT clauses generated for ACRCB are same. On the other hand, there exist m pre-assigned numbers in a given Sudoku puzzle (n n) that generate m unit clauses. Thus, total number of SAT clauses (say, C ) and 3-SAT clauses (say, C_3 ) generated for ACC and ACRCB are as follows: C = n 2 + [3* (n 3 * (n 1) / 2)] + m i.e. C = * [3n 2 3n + 2] + m and, C_3 = [n 2 * (n 2)] + [3 * (n 3 * (n 1) / 2)] + m i.e. C_3 = * [3n 2 n 4] + m Thus, we achieve a polynomial reduction of Sudoku puzzle into 3-SAT clauses. Value of C and C_3 shows that only [n 2 * (n 3)] clauses are increased in transformation of SAT clauses into 3-SAT clauses. On the basis of our formulation, we present two algorithms that generate SAT clauses and 3-SAT clauses for ACC and ACRCB in polynomial time editor@iaeme.com
4 Deepika Rai, N.S. Chaudhari and Maya Ingle 3. ALGORITHMIC APPROACH FOR 3SAT CLAUSE GENERATION We design two algorithms namely; Algorithm I: SP 2 SAT and Algorithm II: SP 2 3SAT. Algorithm I: SP 2 SAT generates all SAT clauses corresponding to constraints of Sudoku puzzle (n n). Input to the Algorithm I is the size of Sudoku puzzle and output file contains all SAT clauses corresponding to Sudoku puzzle in DIMACS form. On the other hand, Algorithm II: SP 2 3SAT converts all SAT clauses generated from Algorithm I into 3-SAT clauses in DIMACS form. Now, we describe our algorithms in informal and formal way as follows: 3.1. Informal Description Here, we describe the informal description of Algorithm I: SP 2 SAT and Algorithm II: SP 2 3SAT. For the input which is the size of Sudoku puzzle, Algorithm I: SP 2 SAT generates SAT clauses as output. We initialize ACC_clause and ACRCB_clause for storing a clause for ACC and ACRCB respectively. Also, we define a file SP 2 SAT.txt to store SAT clauses and a variable count, to count the number of SAT clauses. Variables i and j represent the row number and column number respectively and k represents the particular value in the cell. Loop for i and j are continuing according to constraints of Sudoku puzzle. In Algorithm II: SP 2 3SAT, input is a file SP 2 SAT.txt which is the output of Algorithm I. We define a variable k that counts the number of literals of a clause which is read from file SP 2 SAT.txt. Algorithm II: SP 2 3SAT generates 3-SAT clauses as output. We initialize a file SP 2 3SAT.txt to store 3-SAT clauses corresponding to SAT clauses obtained from Algorithm I. Now, we present the formal description of Algorithm I and Algorithm II are as follows: 3.2. Formal Description Now, we present a formal description of our algorithms SP 2 SAT and SP 2 3SAT. Algorithm I: SP 2 SAT is used for SAT clause generation according to constraints of Sudoku puzzle and Algorithm II: SP 2 3SAT helps to reduce SAT clauses into 3-SAT clauses. Algorithm I: // SP 2 SAT// //Input to the algorithm is the size of Sudoku puzzle, generate the SAT clauses corresponding to constraints of Sudoku puzzle// main ( ) //algorithm begins { STEP I: /* Input the size of Sudoku puzzle */ Input (n); STEP 2: /* Initialization of a file to store SAT clauses */ SP 2 SAT.txt = NULL; STEP 3: /* Generation of SAT clauses for ACC and write into SP 2 SAT.txt */ count 1 = NULL; // Initialize count 1 to store the number of clauses for ACC for (i = 1; i<= n; i++) do for (j = 1; j<= n; j++) do for (k = 1; j<= n; j++) do ACC_clause = (X 1,1,1 X 1,1,2 X 1,1,3 X 1, 1, k ); // A clause for each Cell count 1 = count 1 + 1; // count number of clauses SP 2 SAT.txt = ACC_clause; // write clause to output file 41 editor@iaeme.com
5 SAT Based Algorithmic Approach for Sudoku Puzzle STEP 4: /* Generation of SAT clauses for ACRCB */ count 2 = NULL; // Initialize count 2 to store the number of clauses for ACRCB STEP 4.1: /* Generation of SAT clauses for each Row */ for ( i = 1; i<=n ;i++) do for (k = i; k<= n; k++) do for ( j = 1; j<= n; j++) do // Print clause for: Cell C(i, j) and C(i, m) cannot contains k simultaneously ACRCB_clause = ( X i, j, k X i,m,k ) ; count 2 = count 2 + 1; // count number of clauses SP 2 SAT.txt = ACRCB_clause; // write clause to output file STEP 4.2: /* Generation of SAT clauses for each Column */ for (j = 1; i<= n; i++) do for (k=1; k<=n; k++) do for (i = 1; j<=n; j++) // Print clause for: Cell C(i, j) and C(m, j) cannot contains k simultaneously ACRCB_clause = ( X i, j, k X m, j, k ) ; count 2 = count 2 + 1; //count number of clauses SP 2 SAT.txt = ACRCB_clause; // write clause to output file STEP 4.3: /* Generation of SAT clauses for each Block. */ for (i = 1; i<=n; i++) do for (j = 1; j<=n; j++) do for (j = 1; j<=n; j++) do // Print clause for: Cell (i, j ) and Cell C(l, m) of same block cannot contains k simultaneously ACRCB_clause = ( X i, j, k X l,m, k ) ; count 2 =count 2 + 1; // count number of clauses SP 2 SAT.txt = ACRCB_clause; // write clause to output file STEP 5: /* Creation of output file and Calculate total number of clauses */ Output (SP 2 SAT.txt); 42 editor@iaeme.com
6 Deepika Rai, N.S. Chaudhari and Maya Ingle // Initialize count to store the total count of SAT clauses for constraints of Sudoku puzzle count = NULL; count = count 1 + count 2 ; } //end of main ( ) Algorithm II: //SP 2 3SAT// // Input to the algorithm is the file SP 2 SAT.txt and generate 3-SAT clauses// main ( ) //algorithm begins { STEP I: /* Input is the file generated from SP 2 SAT algorithm*/ READ (SP 2 SAT.txt); STEP 2: /* Initialize a file to store 3-SAT clauses */ SP 2 3SAT.txt = NULL; STEP 3: /*Read each SAT clause (say SP 2 SAT), count number of literals (say, k) and convert it into 3-SAT clause (say, SP 2 3SAT) if not.*/ if (k= = 1 2 3) // Clauses are already in 3-SAT begin SP 2 3SAT.txt = SP 2 SAT; // copy clause as it is in output file end if else if (k>3) // convert a SAT clause into 3-SAT clause begin SP 2 3SAT = (X 1,1,1 X 1,1,2 Y 1 ) ( Y 1 X 1,1,3 Y 2 ) ( Y 2 X 1,1,4 Y 3 ) ( Y n-3 X 1,1, (n-1) X 1,1,n ); SP 2 3SAT.txt = SP 2 3SAT; end if STEP 4: /* Convert all SAT clauses to 3-SAT clauses and obtained output file */ Repeat step 3 till the end of file; Output (SP 2 3SAT.txt); } //end of main ( ) 4. EXPERIMENTAL RESULTS We have implemented both algorithms SP 2 SAT and SP 2 3SAT in Java that generate SAT and 3-SAT clauses in DIMACS format. Implementation of Algorithm I: SP 2 SAT provides the SAT clauses in DIMACS format stored in a file. The obtained file is the input of Algorithm II: SP 2 3SAT that generates DIMACS file for 3-SAT clauses. We have executed both the algorithms on Sudoku puzzle of different sizes. As a result, we obtained the number of SAT clauses and 3-SAT clauses that are shown in Table 1. Implementation of Algorithm I and Algorithm II generate [ * (3n 2 3n + 2) + m] number of SAT clauses and [ * (3n 2 n 4) + m] 3-SAT clauses respectively in polynomial time. The experiments have been performed on Intel core i3 at 2.00 GHZ with 4 GB RAM. Implementation of Algorithm II: SP 2 3SAT 43 editor@iaeme.com
7 SAT Based Algorithmic Approach for Sudoku Puzzle shows that polynomial 3-SAT reduction of Sudoku puzzle requires only [n 2 * (n 3)] additional variables. It is observed that increases in number of clauses due to SAT to 3-SAT transformation is also [n 2 * (n 3)]. Hence, our approach is helpful to speed up the solution since complexity of SAT formula is dependent on number of clauses as well as number of variables in a clause. 5. CONCLUSIONS We have encoded Sudoku puzzle of size (n n) into 3-SAT clauses in polynomial time. We have used only sufficient constraints of Sudoku puzzle and define only two constraints namely; ACC and ACRCB. For the generation of SAT and 3-SAT clauses according to ACC and ACRCB, we designed algorithms SP 2 SAT and SP 2 3SAT respectively. As a result, we have obtained total number of 3-SAT clauses as well as number of additional variables required for polynomial 3-SAT reduction. Hence, we conclude that size of 3-SAT formula obtained by Algorithm II: SP 2 3SAT is O(n 4 ). Also, our 3-SAT reduction of Sudoku puzzle is polynomial in time as well as our algorithm generates better results for 3-SAT clauses. A direction for future work is to optimize the obtained number of 3-SAT clauses using some preprocessing techniques. Table 1 Results Obtained from Execution of Algorithm I and Algorithm II Size of Sudoku Puzzle (n n) No. of SAT Clauses C Elapsed Time for SAT Clause Generation (in seconds) No. of 3-SAT Clauses C_3 Elapsed Time for 3-SAT Clause Generation (in seconds) REFERENCES [1] Joao Marques-Silva, Practical applications of Boolean Satisfiability, International Workshop on Discrete Event Systems, IEEE, 2008, pp [2] Michael Codish, A SAT Encoding for the n-fractions Problem, Archives of Discrete Mathematics, Cornell University Library, [3] Stephen M.Majercik, APPSSAT: Approximate probabilistic planning using stochastic satisfiability, International Journal of Approximate Reasoning, Elsevier, 45(2), 2007, pp [4] Saha S., Chakraborty R.S., Nuthakki S.S., Anshul, Mukhopadhyay D., Improved Test Pattern Generation for Hardware Trojan Detection Using Genetic Algorithm and Boolean Satisfiability, Cryptographic Hardware and Embedded Systems-CHES, Lecture Notes in Computer Science, Springer, 9293, 2015, pp [5] Prakash C. Sharma and Narendra S. Chaudhari, A Graph Coloring approach for channel assignment in cellular network via propositional satisfiability, International Conference on 44 editor@iaeme.com
8 Deepika Rai, N.S. Chaudhari and Maya Ingle Emerging Trends in Networks and Computer Communications (ETNCC), IEEE, 2011, pp [6] Dahale N., Chaudhari, N.S. Ingle M., GCP constraint based SAT clause generation in polynomial time, International Journal of Advance Research in Computer Science, 7(2), 2016, pp [7] N. Dahale, N.S. Chaudhari, M. Ingle, Determining Vertex Cover Using Polynomial Encoding of 3sat, VNSGU Journal of Science and Technology, 4(1), 2015, pp [8] S. Chatterjee, S. Paladhi, R. Chakraborty, A comparative study on the performance characteristics of Sudoku solving algorithms, IOSR Journal of Computer Engineering (IOSR-JCE), 16(5), 2014, pp [9] Perez, Meir, Tshilidzi Marwala, Stochastic optimization approaches for solving Sudoku, Archives of Neural and Evolutionary Computing, Cornell University Library, [10] Bartlett, Andrew C., Amy N. Langville, An Integer Programming Model for the Sudoku Problem, Journal of Online Mathematics and its Applications, 8, Article ID 1798, [11] Rai Deepika, Chaudhari N.S., Ingle M., Polynomial 3-SAT reduction of Sudoku puzzle, International Journal of Advanced Research in Computer Science, 9(3), 2018, pp editor@iaeme.com
Parallelizing 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 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 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 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 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 informationLearning Techniques for Pseudo-Boolean Solving and Optimization
Learning Techniques for Pseudo-Boolean Solving and Optimization José Faustino Fragoso Fremenin dos Santos September 29, 2008 Abstract The extension of conflict-based learning from Propositional Satisfiability
More informationThe Resolution Algorithm
The Resolution Algorithm Introduction In this lecture we introduce the Resolution algorithm for solving instances of the NP-complete CNF- SAT decision problem. Although the algorithm does not run in polynomial
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 informationOn Computing Minimum Size Prime Implicants
On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for
More informationSAT and Termination. Nao Hirokawa. Japan Advanced Institute of Science and Technology. SAT and Termination 1/41
SAT and Termination Nao Hirokawa Japan Advanced Institute of Science and Technology SAT and Termination 1/41 given 9 9-grid like Sudoku Puzzle 1 8 7 3 2 7 7 1 6 4 3 4 5 3 2 8 6 fill out numbers from 1
More informationDATA POOL: A STRUCTURE TO STORE VOLUMINOUS DATA
International Journal of Computer Engineering & Technology (IJCET) Volume 9, Issue 5, September-October 2018, pp. 167 180, Article ID: IJCET_09_05_020 Available online at http://www.iaeme.com/ijcet/issues.asp?jtype=ijcet&vtype=9&itype=5
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 informationComputational problems. Lecture 2: Combinatorial search and optimisation problems. Computational problems. Examples. Example
Lecture 2: Combinatorial search and optimisation problems Different types of computational problems Examples of computational problems Relationships between problems Computational properties of different
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 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 informationAn Introduction to SAT Solvers
An Introduction to SAT Solvers Knowles Atchison, Jr. Fall 2012 Johns Hopkins University Computational Complexity Research Paper December 11, 2012 Abstract As the first known example of an NP Complete problem,
More informationOptimized CNF Encoding for Sudoku Puzzles
Optimized CNF Encoding for Sudoku Puzzles Gihwon Kwon 1, Himanshu Jain 2 1 Department of Computer Science, Kyonggi University khkwon@kyonggi.ac.kr 2 Department of Computer Science, Carnegie Mellon University
More informationAn Optimized Algorithm for Solving Combinatorial Problems using Reference Graph
IOSR Journal of Computer Engineering (IOSR-JCE) e-issn: 2278-0661, p- ISSN: 2278-8727Volume 16, Issue 3, Ver. III (May-Jun. 2014), PP 01-07 An Optimized Algorithm for Solving Combinatorial Problems using
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 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 informationof m clauses, each containing the disjunction of boolean variables from a nite set V = fv 1 ; : : : ; vng of size n [8]. Each variable occurrence with
A Hybridised 3-SAT Algorithm Andrew Slater Automated Reasoning Project, Computer Sciences Laboratory, RSISE, Australian National University, 0200, Canberra Andrew.Slater@anu.edu.au April 9, 1999 1 Introduction
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 informationEfficient Circuit to CNF Conversion
Efficient Circuit to CNF Conversion Panagiotis Manolios and Daron Vroon College of Computing, Georgia Institute of Technology, Atlanta, GA, 30332, USA http://www.cc.gatech.edu/home/{manolios,vroon} Abstract.
More informationSolving Sudoku Puzzles with Node Based Coincidence Algorithm
Solving Sudoku Puzzles with Node Based Coincidence Algorithm Kiatsopon Waiyapara Department of Compute Engineering, Faculty of Engineering, Chulalongkorn University, Bangkok, Thailand kiatsopon.w@gmail.com
More informationUsing Progressive Stochastic Search to solve Sudoku CSP
Using Progressive Stochastic Search to solve Sudoku CSP Jeetesh Mangwani & Pankaj Prateek Advisor: Dr. Amitabh Mukherjee[11][10] Dept. of Computer Science and Engineering Indian Institute of Technology,
More informationThe Complexity of Camping
The Complexity of Camping Marzio De Biasi marziodebiasi [at] gmail [dot] com July 2012 Version 0.04: a re-revised sketch of the proof Abstract We prove that the tents puzzle game is NP -complete using
More informationReductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements.
Desiderata Reductions Desiderata. Classify problems according to their computational requirements. Frustrating news. Huge number of fundamental problems have defied classification for decades. Desiderata'.
More informationRelaxed Routing Problem with Constraint Satisfaction Problem
R3-18 SASIMI 2018 Proceedings Relaxed Routing Problem with Constraint Satisfaction Problem Saki Yamaguci Yasuhiro Takashima Department of Information and Media Engineering University of Kitakyushu Kitakyushu,
More informationDiscrete Optimization. Lecture Notes 2
Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The
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 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 informationCSP- and SAT-based Inference Techniques Applied to Gnomine
CSP- and SAT-based Inference Techniques Applied to Gnomine Bachelor Thesis Faculty of Science, University of Basel Department of Computer Science Artificial Intelligence ai.cs.unibas.ch Examiner: Prof.
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 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 informationReduction of nite linear CSPs to SAT using dierent encod
Reduction of nite linear CSPs to SAT using dierent encodings Mirko Stojadinovi mirkos@matf.bg.ac.rs Department of Computer Science Faculty of Mathematics University of Belgrade Fifth Workshop on Formal
More informationComputability Theory
CS:4330 Theory of Computation Spring 2018 Computability Theory Other NP-Complete Problems Haniel Barbosa Readings for this lecture Chapter 7 of [Sipser 1996], 3rd edition. Sections 7.4 and 7.5. The 3SAT
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 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 informationReductions and Satisfiability
Reductions and Satisfiability 1 Polynomial-Time Reductions reformulating problems reformulating a problem in polynomial time independent set and vertex cover reducing vertex cover to set cover 2 The Satisfiability
More informationUSING QBF SOLVERS TO SOLVE GAMES AND PUZZLES. Zhihe Shen. Advisor: Howard Straubing
Boston College Computer Science Senior Thesis USING QBF SOLVERS TO SOLVE GAMES AND PUZZLES Zhihe Shen Advisor: Howard Straubing Abstract There are multiple types of games, such as board games and card
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 informationWatching Clauses in Quantified Boolean Formulae
Watching Clauses in Quantified Boolean Formulae Andrew G D Rowley University of St. Andrews, Fife, Scotland agdr@dcs.st-and.ac.uk Abstract. I present a way to speed up the detection of pure literals and
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 informationBoolean Representations and Combinatorial Equivalence
Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving
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 informationIn this lecture we discuss the complexity of approximation problems, and show how to prove they are NP-hard.
In this lecture we discuss the complexity of approximation problems, and show how to prove they are NP-hard. 1 We will show how one can prove such results and then apply this technique to some approximation
More informationPath-planning for Multiple Robots
Path-planning for Multiple Robots RNDr. Pavel Surynek, Ph.D. Department of Theoretical Computer Science and Mathematical Logic Faculty of Mathematics and Physics Charles University in Prague http://ktiml.mff.cuni.cz/~surynek
More informationNP Completeness. Andreas Klappenecker [partially based on slides by Jennifer Welch]
NP Completeness Andreas Klappenecker [partially based on slides by Jennifer Welch] Overview We already know the following examples of NPC problems: SAT 3SAT We are going to show that the following are
More informationObstacle-Aware Longest-Path Routing with Parallel MILP Solvers
, October 20-22, 2010, San Francisco, USA Obstacle-Aware Longest-Path Routing with Parallel MILP Solvers I-Lun Tseng, Member, IAENG, Huan-Wen Chen, and Che-I Lee Abstract Longest-path routing problems,
More informationSearching for Monochromatic-Square-Free Ramsey Grid Colorings via SAT Solvers
Searching for Monochromatic-Square-Free Ramsey Grid Colorings via SAT Solvers Paul Walton Computer Science and Computer Engineering University of Arkansas Fayetteville, AR 72701, USA pwalton@uark.edu Wing
More informationCopyright 2000, Kevin Wayne 1
Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple
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 informationIntegrating a SAT Solver with Isabelle/HOL
Integrating a SAT Solver with / Tjark Weber (joint work with Alwen Tiu et al.) webertj@in.tum.de First Munich-Nancy Workshop on Decision Procedures for Theorem Provers March 6th & 7th, 2006 Integrating
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 informationEECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions
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 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 informationNP-complete Reductions
NP-complete Reductions 1. Prove that 3SAT P DOUBLE-SAT, i.e., show DOUBLE-SAT is NP-complete by reduction from 3SAT. The 3-SAT problem consists of a conjunction of clauses over n Boolean variables, where
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 informationConstraint Satisfaction Problems (CSPs)
Constraint Satisfaction Problems (CSPs) CPSC 322 CSP 1 Poole & Mackworth textbook: Sections 4.0-4.2 Lecturer: Alan Mackworth September 28, 2012 Problem Type Static Sequential Constraint Satisfaction Logic
More information(p 300) Theorem 7.27 SAT is in P iff P=NP
pp. 292-311. The Class NP-Complete (Sec. 7.4) P = {L L decidable in poly time} NP = {L L verifiable in poly time} Certainly all P is in NP Unknown if NP is bigger than P (p. 299) NP-Complete = subset of
More informationEECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley
EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1
More informationBoolean Satisfiability: The Central Problem of Computation
Boolean Satisfiability: The Central Problem of Computation Peter Kogge SAT Notre Dame CSE 34151: Theory of Computing: Fall 2017 Slide 1 (p. 299) SAT: Boolean Satisfiability wff: well-formed-formula constructed
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 informationBetter test results for the graph coloring and the Pigeonhole Problems using DPLL with k-literal representation
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 127 135. Better test results for the graph coloring and the Pigeonhole Problems using
More informationGenerating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model
356 Int'l Conf. Par. and Dist. Proc. Tech. and Appl. PDPTA'16 Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model Hirofumi Suzuki, Sun Hao, and Shin-ichi Minato Graduate
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 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 informationLecture 2: NP-Completeness
NP and Latin Squares Instructor: Padraic Bartlett Lecture 2: NP-Completeness Week 4 Mathcamp 2014 In our last class, we introduced the complexity classes P and NP. To motivate why we grouped all of NP
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 informationFinite 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 informationFormally Certified Satisfiability Solving
SAT/SMT Proof Checking Verifying SAT Solver Code Future Work Computer Science, The University of Iowa, USA April 23, 2012 Seoul National University SAT/SMT Proof Checking Verifying SAT Solver Code Future
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 information4.1 Review - the DPLL procedure
Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They
More informationAn Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability
An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability Fadi A. Aloul and Karem A. Sakallah Department of Electrical Engineering and Computer Science University
More informationTabu Search for Constraint Solving and Its Applications. Jin-Kao Hao LERIA University of Angers 2 Boulevard Lavoisier Angers Cedex 01 - France
Tabu Search for Constraint Solving and Its Applications Jin-Kao Hao LERIA University of Angers 2 Boulevard Lavoisier 49045 Angers Cedex 01 - France 1. Introduction The Constraint Satisfaction Problem (CSP)
More informationHeuristic Backtracking Algorithms for SAT
Heuristic Backtracking Algorithms for SAT A. Bhalla, I. Lynce, J.T. de Sousa and J. Marques-Silva IST/INESC-ID, Technical University of Lisbon, Portugal fateet,ines,jts,jpmsg@sat.inesc.pt Abstract In recent
More informationSpeeding Up the ESG Algorithm
Speeding Up the ESG Algorithm Yousef Kilani 1 and Abdullah. Mohdzin 2 1 Prince Hussein bin Abdullah Information Technology College, Al Al-Bayt University, Jordan 2 Faculty of Information Science and Technology,
More informationChapter 8. NP-complete problems
Chapter 8. NP-complete problems Search problems E cient algorithms We have developed algorithms for I I I I I finding shortest paths in graphs, minimum spanning trees in graphs, matchings in bipartite
More informationalgorithms, i.e., they attempt to construct a solution piece by piece and are not able to offer a complete solution until the end. The FM algorithm, l
The FMSAT Satisfiability Solver: Hypergraph Partitioning meets Boolean Satisfiability Arathi Ramani, Igor Markov framania, imarkovg@eecs.umich.edu February 6, 2002 Abstract This report is intended to present
More informationPropositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson
Propositional Calculus: Boolean Algebra and Simplification CS 270: Mathematical Foundations of Computer Science Jeremy Johnson Propositional Calculus Topics Motivation: Simplifying Conditional Expressions
More informationA Pearl on SAT Solving in Prolog (extended abstract)
A Pearl on SAT Solving in Prolog (extended abstract) Jacob M. Howe and Andy King 1 Introduction The Boolean satisfiability problem, SAT, is of continuing interest because a variety of problems are naturally
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 informationGenetic Algorithms Based Solution To Maximum Clique Problem
Genetic Algorithms Based Solution To Maximum Clique Problem Harsh Bhasin computergrad.com Faridabad, India i_harsh_bhasin@yahoo.com Rohan Mahajan Lingaya s University Faridabad, India mahajanr28@gmail.com
More informationExact Algorithms Lecture 7: FPT Hardness and the ETH
Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,
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 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 informationNP versus PSPACE. Frank Vega. To cite this version: HAL Id: hal https://hal.archives-ouvertes.fr/hal
NP versus PSPACE Frank Vega To cite this version: Frank Vega. NP versus PSPACE. Preprint submitted to Theoretical Computer Science 2015. 2015. HAL Id: hal-01196489 https://hal.archives-ouvertes.fr/hal-01196489
More informationNew Upper Bounds for MAX-2-SAT and MAX-2-CSP w.r.t. the Average Variable Degree
New Upper Bounds for MAX-2-SAT and MAX-2-CSP w.r.t. the Average Variable Degree Alexander Golovnev St. Petersburg University of the Russian Academy of Sciences, St. Petersburg, Russia alex.golovnev@gmail.com
More informationChapter 2 PRELIMINARIES
8 Chapter 2 PRELIMINARIES Throughout this thesis, we work with propositional or Boolean variables, that is, variables that take value in the set {true, false}. A propositional formula F representing a
More informationAN EFFICIENT APPROACH FOR PROVIDING FULL CONNECTIVITY IN WIRELESS SENSOR NETWORK
International Journal of Computer Engineering & Technology (IJCET) Volume 9, Issue 6, November-December 2018, pp. 140 154, Article ID: IJCET_09_06_016 Available online at http://www.iaeme.com/ijcet/issues.asp?jtype=ijcet&vtype=9&itype=6
More informationOn the Relation between SAT and BDDs for Equivalence Checking
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,
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 informationScienceDirect. Plan Restructuring in Multi Agent Planning
Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 46 (2015 ) 396 401 International Conference on Information and Communication Technologies (ICICT 2014) Plan Restructuring
More information8.1 Polynomial-Time Reductions
Algorithm Design Patterns and Anti-Patterns Analysis of Algorithms Algorithm design patterns. Ex. Greed. O(n 2 ) Dijkstra s SSSP (dense) Divide-and-conquer. O(n log n) FFT. Dynamic programming. O(n 2 )
More informationNotes for Lecture 24
U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined
More informationDM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini
DM841 DISCRETE OPTIMIZATION Part 2 Heuristics Satisfiability Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Mathematical Programming Constraint
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 informationEfficient Enumeration Algorithms for Constraint Satisfaction Problems
Efficient Enumeration Algorithms for Constraint Satisfaction Problems Henning and Ilka Schnoor Institut für Theoretische Informatik Leibniz Universität Hannover 2.10.2006 Efficient Enumeration Algorithms
More informationAn SMT-Based Approach to Motion Planning for Multiple Robots with Complex Constraints
1 An SMT-Based Approach to Motion Planning for Multiple Robots with Complex Constraints Frank Imeson, Student Member, IEEE, Stephen L. Smith, Senior Member, IEEE Abstract In this paper we propose a new
More information