2101INT – Principles of Intelligence Systems Lecture 3.

Slides:



Advertisements
Similar presentations
Analysis of Algorithms
Advertisements

1 P, NP, and NP-Complete Dr. Ying Lu RAIK 283 Data Structures & Algorithms.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
What is the computational cost of automating brilliance or serendipity? (Computational complexity & P vs NP) COS 116, Spring 2012 Adam Finkelstein.
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.
Lecture 21 NP-complete problems
CPE702 Complexity Classes Pruet Boonma Department of Computer Engineering Chiang Mai University Based on Material by Jenny Walter.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
What is the computational cost of automating brilliance or serendipity? (Computational complexity and P vs NP question) COS 116: 4/12/11 Sanjeev Arora.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
The Theory of NP-Completeness
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
P versus NP and Cryptography Wabash College Mathematics and Computer Science Colloquium Nov 16, 2010 Jeff Kinne, Indiana State University (Theoretical)
Analysis of Algorithms CS 477/677
Chapter 11: Limitations of Algorithmic Power
CS10 The Beauty and Joy of Computing Lecture #23 : Limits of Computing Thanks to the success of the Kinect, researchers all over the world believe.
NP-complete and NP-hard problems. Decision problems vs. optimization problems The problems we are trying to solve are basically of two kinds. In decision.
1.1 Chapter 1: Introduction What is the course all about? Problems, instances and algorithms Running time v.s. computational complexity General description.
Programming & Data Structures
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Computational Complexity Polynomial time O(n k ) input size n, k constant Tractable problems solvable in polynomial time(Opposite Intractable) Ex: sorting,
Scott Perryman Jordan Williams.  NP-completeness is a class of unsolved decision problems in Computer Science.  A decision problem is a YES or NO answer.
Difficult Problems. Polynomial-time algorithms A polynomial-time algorithm is an algorithm whose running time is O(f(n)), where f(n) is a polynomial A.
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Lecture 30. P, NP and NP Complete Problems 1. Recap Data compression is a technique to compress the data represented either in text, audio or image form.
FACULTY OF ENGINEERING & INFORMATION TECHNOLOGIES P, NP, and Complexity Six fundamental facts One rule of thumb Three fundamental notions One fundamental.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Great Theoretical Ideas in Computer Science.
MIT and James Orlin1 NP-completeness in 2005.
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
What is Computer Science About? Part 2: Algorithms.
Approximation Algorithms
CSC 413/513: Intro to Algorithms NP Completeness.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
Instructor: Shengyu Zhang 1. Tractable While we have introduced many problems with polynomial-time algorithms… …not all problems enjoy fast computation.
Cliff Shaffer Computer Science Computational Complexity.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
Erdal Kose CC30.10 These slides are based of Prof. N. Yanofsky Lecture notes.
Yang Cai COMP 360: Algorithm Design Lecture 1
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.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness and course wrap up.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Beauty and Joy of Computing Limits of Computing Ivona Bezáková CS10: UC Berkeley, April 14, 2014 (Slides inspired by Dan Garcia’s slides.)
CSE332: Data Abstractions Lecture 27: A Few Words on NP Tyler Robison Summer
NP-complete Problems Prof. Sin-Min Lee Department of Computer Science.
CS10: The Beauty and Joy of Computing Lecture #22 Limits of Computing Warning sign posted at Stern Hall. Also, Apple releases new operating.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
MIT and James Orlin © NP-hardness. MIT and James Orlin © Moving towards complexity theory Linear Programming is viewed as easy and Integer.
Computability Heap exercise. The class P. The class NP. Verifiers. Homework: Review RELPRIME proof. Find examples of problems in NP.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
The Beauty and Joy of Computing Lecture #23 Limits of Computing Researchers at Facebook and the University of Milan found that the avg # of “friends” separating.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
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.
Great Theoretical Ideas in Computer Science.
CSE 332: NP Completeness, Part II Richard Anderson Spring 2016.
Introduction to Approximation Algorithms
Lecture 22 Complexity and Reductions
ASU 101: The ASU Experience Computer Science Perspective
Analysis and design of algorithm
Parameterised Complexity
Computational Complexity
Chapter 11 Limitations of Algorithm Power
Our old list of problems
Presentation transcript:

2101INT – Principles of Intelligence Systems Lecture 3

Last week we covered Weak AI vs Strong AI The Chinese Room Materialism vs Dualism

Hard vs Easy Problems Back in the 60’s (the dawn of computing science) there were some problems that were generally easy, and others that were just plain hard By easy, we mean that they could be solved in polynomial time, and similarly by hard, that they could only be solved in exponential time

Enter P vs NP It wasn’t until 1971 that Cook published his seminal paper “The complexity of theorem proving procedures” Problems in class P can be solved in polynomial time Problems in class NP can be verified in polynomial time. That is, if I give you a solution, you can tell in polynomial time whether I am correct. BUT, for me to guarantee that my solution will be correct requires exponential time

Why is P vs NP important? Primarily because as computer scientists we need to find solutions to problems, efficiently. Any polynomial-time algorithm, no matter how bad, will always outperform an exponential time one if the problem is large enough. It is so important that there is a US$1M prize for a correct proof of P=NP

Why is P vs NP important in AI? Search is a major part of AI, since it is the way that computers generally exhibit intelligent behaviour Many search problems (the interesting ones) are in NP Any NP-hard problem is translatable into any other problem, so a proof that one is NP is a proof for all

How to handle a new problem 1. Can you show that the problem is in P? a. Yes – great. Brag to your co-workers in the tea-room and hit your boss for a raise. b. No – not so good. Either go to your boss and say “I guess I’m just too dumb  ” or proceed to step 2 2. Can you show that the problem is in NP? a. Yes – okay, you can now go to your boss and say “I can’t find a polynomial algorithm but neither can any of these people” b. Or, you might be able to say this: “Although in general the problem is in NP, we could exploit a special case” c. Or, “Finding an optimal solution is in NP, but we can find an approximate solution in polynomial time”

Example problems in P Linear Programming Greatest Common Divisor Maximum Matching Minimum Spanning Tree Maximum Network Flow Shortest Path PRIMES

Example problems in NP Travelling Salesman 3-Satisfiability MAX-k-SAT (for k  2) Clique Problem Set Cover Hamiltonian Circuit Prime Factorisation

How do we exploit P  NP Consider two of the problems PRIMES (in P) and Prime Factorisation (in NP, we think) ($1M for this one too, guys) PRIMES is the problem of determining if a number is composite or prime. The proof of this was only published in Prime factorisation is the problem of breaking a number down into its prime factors

How do we exploit P  NP cont. So we can find some prime numbers in polynomial time, but if we multiply them together it will take someone exponential time to break them up. When is this useful? Cryptography – Modern cryptography relies on the fact that P  NP

Special Cases Many NP-hard do have special cases that admit polynomial time solutions Current interest is directed towards “Fixed Parameter Tractability” (FPT) FPT methods abstract the exponential part of the problem away from that which can be solved in polynomial time

Heuristic Algorithms If you’re not a theoretician and don’t want to spend your weekends with a maths text, the empirical option is for you Heuristic algorithms can’t guarantee you an optimal solution in polynomial time, but often on average they can. Don’t be fooled though – worst case performance of some of these algorithms can be O(  )