CSC 380: Design and Analysis of Algorithms

Slides:



Advertisements
Similar presentations
P, NP, NP-Complete Problems
Advertisements

Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Models and Propositional Logic In propositional logic, a model in general simply fixes the truth value – true or false – for every proposition symbol.
NP-Complete Problems Problems in Computer Science are classified into
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 24 Instructor: Paul Beame.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Lecture 22 More NPC problems
CSC – 332 Data Structures Dr. Curry Guinn. Quick Info Dr. Curry Guinn –CIS 2045 – –
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Logic Disjunction A disjunction is a compound statement formed by combining two simple sentences using the word “OR”. A disjunction is true when at.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
Techniques for Proving NP-Completeness Show that a special case of the problem you are interested in is NP- complete. For example: The problem of finding.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
CS6133 Software Specification and Verification
“One ring to rule them all” Analogy (sort of) Lord of The Rings Computational Complexity “One problem to solve them all” “my preciousss…”
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 15: Intractable Problems (Smiley.
Hamiltonian Path Problem This girl do this presentation. :) Teddy bear work along with me. Jeff help me understand the topic. Are they both cute?
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 8: Crash Course in Computational Complexity.
CSC 413/513: Intro to Algorithms
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
David Evans CS200: Computer Science University of Virginia Computer Science Lecture 23: Intractable Problems (Smiley Puzzles.
 Conjunctive Normal Form: A logic form must satisfy one of the following conditions 1) It must be a single variable (A) 2) It must be the negation of.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
Chapter 10 NP-Complete Problems.
Lecture 1.2: Equivalences, and Predicate Logic
CSC 131: Introduction to Computer Science
Richard Anderson Lecture 26 NP-Completeness
Recursive stack-based version of Back-chaining using Propositional Logic
CSC 131: Introduction to Computer Science
Truth Tables for Negation, Conjunction, and Disjunction
Richard Anderson Lecture 26 NP-Completeness
Hard Problems Introduction to NP
CSC 131: Introduction to Computer Science
CSC 131: Introduction to Computer Science
CSC 380: Design and Analysis of Algorithms
Chapter 1: Introduction
ICS 353: Design and Analysis of Algorithms
Class 14: Intractable Problems CS150: Computer Science
Richard Anderson Lecture 25 NP-Completeness
Binary Decision Diagrams
Richard Anderson Lecture 28 NP-Completeness
NP-Complete Problems.
Richard Anderson Lecture 26 NP-Completeness
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
Cook’s theorem and NP-reductions
More on NP-completeness
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
Richard Anderson Lecture 27 Survey of NP Complete Problems
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
Trevor Brown DC 2338, Office hour M3-4pm
CSC 380: Design and Analysis of Algorithms
CSC 380: Design and Analysis of Algorithms
Instructor: Aaron Roth
Instructor: Aaron Roth
CSC 380: Design and Analysis of Algorithms
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
CSC 380: Design and Analysis of Algorithms
Presentation transcript:

CSC 380: Design and Analysis of Algorithms Dr. Curry Guinn

Quick Info Dr. Curry Guinn CIS 2015 guinnc@uncw.edu www.uncw.edu/people/guinnc 962-7937 Office Hours: MWF: 10:00am-11:00m and by appointment

Outline of today Satisfiability 3-SAT What’s the problem? How would we code this problem?

The Satisfiability Problem Given a set of propositional logic clauses, find an assignment of truth values to each symbol so that all of the clauses are true. (P -> Q & S) & (~P & ~Q) & (S | ~Q)

3SAT is a special case All clauses contain the disjunction of 3 terms Disjunction means OR Each term is of the form P or ~P. (P | Q | ~S) & (~P | ~Q | ~S) & (P | ~Q | S) It turns out that any SAT case, can be transformed into 3SAT

3SAT is an NP-complete problem Which means that it is map-able to other NP-complete problems such as Traveling salesman Clique Map coloring Knapsack, Etc. What do I mean by “map-able”?

Suppose we want to actually write code to solve this problem How do we do it? Analysis Design Implement Test

Analysis Can we write down the problem?

Write down the problem Find a set of truth assignments for the propositional symbols such that are of the clauses are true. Each clause consist of a disjunction (OR) of three terms. Each term is either a proposition symbol or its negation (i.e., P or ~P). More generally, for a particular problem, we will have n different propositional symbols and m different clauses. Do you want to add anything?

Find the nouns. Why?

Find the nouns. Why? Find a set of truth assignments for the propositional symbols such that all of the clauses are true. Each clause consist of a disjunction (OR) of three terms. Each term is either a proposition symbol or its negation (i.e., P or ~P). More generally, for a particular problem, we will have n different propositional symbols and m different clauses.

Start making UML diagrams of the classes Term Clause Symbol TruthAssignment Problem

See board and IDE

For Next Class, Monday No Homework Enjoy the weekend