Ref: Pfleeger96, Ch.31 NP-Complete Problems Reference: Pfleeger, Charles P., Security in Computing, 2nd Edition, Prentice Hall, 1996.

Slides:



Advertisements
Similar presentations
Analysis of Algorithms
Advertisements

P, NP, NP-Complete Problems
Introduction to Algorithms NP-Complete
Problems and Their Classes
NP-Hard Nattee Niparnan.
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
NP and NP Complete. Definitions A problem is in the class P if there is a polynomial time solution to the problem A problem is in the class NP if there.
The Theory of NP-Completeness
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Theory of Computing Lecture 16 MAS 714 Hartmut Klauck.
Complexity Theory CSE 331 Section 2 James Daly. Reminders Project 4 is out Due Friday Dynamic programming project Homework 6 is out Due next week (on.
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
Analysis of Algorithms CS 477/677
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 22 Instructor: Paul Beame.
Complexity Issues Mark Allen Weiss: Data Structures and Algorithm Analysis in Java Lydia Sinapova, Simpson College.
Clique Cover Cook’s Theorem 3SAT and Independent Set
1 The Theory of NP-Completeness 2 NP P NPC NP: Non-deterministic Polynomial P: Polynomial NPC: Non-deterministic Polynomial Complete P=NP? X = P.
Chapter 12 Cryptography Explained. Search Problems Specified by an algorithm C Two inputs ◦ I is the instance. ◦ S is the solution. ◦ Must complete in.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
MCS312: NP-completeness and Approximation Algorithms
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
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.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
NP Complexity By Mussie Araya. What is NP Complexity? Formal Definition: NP is the set of decision problems solvable in polynomial time by a non- deterministic.
CSCI 2670 Introduction to Theory of Computing December 1, 2004.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Chapter 3 Encryption Algorithms & Systems. csci5233 computer security & integrity (Chap. 3) 2 Outline NP-completeness & Encryption Symmetric (secret key)
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
1 Chapter 34: NP-Completeness. 2 About this Tutorial What is NP ? How to check if a problem is in NP ? Cook-Levin Theorem Showing one of the most difficult.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
Hard Problems Sanghyun Park Fall 2002 CSE, POSTECH.
Design and Analysis of Algorithms - Chapter 101 Our old list of problems b Sorting b Searching b Shortest paths in a graph b Minimum spanning tree b Primality.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
Young CS 331 D&A of Algo. NP-Completeness1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
COMPLEXITY. Satisfiability(SAT) problem Conjunctive normal form(CNF): Let S be a Boolean expression in CNF. That is, S is the product(and) of several.
1 The Theory of NP-Completeness 2 Review: Finding lower bound by problem transformation Problem X reduces to problem Y (X  Y ) iff X can be solved by.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
Hard Problems Some problems are hard to solve.  No polynomial time algorithm is known.  E.g., NP-hard problems such as machine scheduling, bin packing,
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
The Theory of NP-Completeness
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
P & NP.
Chapter 10 NP-Complete Problems.
Hard Problems Some problems are hard to solve.
Richard Anderson Lecture 26 NP-Completeness
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
ICS 353: Design and Analysis of Algorithms
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
NP-Complete Problems.
CSE 6408 Advanced Algorithms.
NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979.
The Theory of NP-Completeness
CSE 589 Applied Algorithms Spring 1999
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Presentation transcript:

Ref: Pfleeger96, Ch.31 NP-Complete Problems Reference: Pfleeger, Charles P., Security in Computing, 2nd Edition, Prentice Hall, 1996.

Ref: Pfleeger96, Ch.32 Why Consider Complexity? Encryption algorithms that are complex, should be hard for analysts to attack. In particular, problems for which the number of possible solutions is large, should be essentially infeasible to solve using brute force attacks with computer assistance.

Ref: Pfleeger96, Ch.33 Problem 1: Satisfiability Determine whether any given logical formula is satisfiable, that is, whether there is a way of assigning the values TRUE and FALSE to the variables so that the result of the formula is TRUE.

Ref: Pfleeger96, Ch.34 Example of Problem 1 Consider Boolean variables A,B, and C and their complements A’, B’, and C’. The following formula is satisfiable: –A AND (B OR C) AND (C’ OR A’) The following formula is not satisfiable: –A AND (B OR C) AND (C’ OR A’) AND (B’)

Ref: Pfleeger96, Ch.35 Problem 2: Knapsack Given a set of nonnegative integers and a target, is there a subset of the integers whose sum equals the target?

Ref: Pfleeger96, Ch.36 Example of Problem 2 Let S = {4,7,1,12,10} and let the target sum be T. –For T = 17, we have a solution: =17. –For T = 25, there is no solution.

Ref: Pfleeger96, Ch.37 Problem 3: Clique Given a graph G and integer n, is there a subset of n vertices such that every vertex in the subset shares an edge with every other vertex in the subset (this is called a clique.)

Ref: Pfleeger96, Ch.38 Characteristics of NP-Complete Problems The three problems have similar characteristics: –Each is solvable, using enumeration. –Suppose there are 2 n cases to consider--then the total time to check all possibilities is proportional to 2 n. –Problems are from different disciplines, hence apparently unrelated. –If we could guess perfectly, we could solve the problem in relatively little time--ie, the time to verify a solution is bounded.

Ref: Pfleeger96, Ch.39 The Classes of P and NP Let P be the collection of all problems for which there is a solution that runs in time bounded by a polynomial function of the size of the problem. Let NP be the set of all problems that can be solved in time bounded by a polynomial function of the size of the problem, assuming the ability to guess perfectly.

Ref: Pfleeger96, Ch.310 Relationship of the Classes There is a class EXP, which consists of problems for which a deterministic solution exists in exponential time, c n for some constant n. P  NP  EXP

Ref: Pfleeger96, Ch.311 The Meaning of NP- Completeness The satisfiability problem is NP-Complete, meaning that it can represent the entire class NP. If there is a deterministic, polynomial time algorithm for the satisfiability problem, then there is a determinisitc, polynomial time algorithm for every problem in NP. But no polynomial time solutions have been found (yet.)

Ref: Pfleeger96, Ch.312 NP-Completeness and Cryptography Encryption based on an NP-complete problem would be difficult for an attacker to solve. However, if n is small, then 2 n tries may not take long, especially with improvement in hardware speed and parallelism.

Ref: Pfleeger96, Ch.313 Other Hard Problems Number theory problems, although not NP-complete, can computationally very- time consuming. In particular, computation in Galois fields and factoring large numbers, have been used in encryption algorithms.