CS10: The Beauty and Joy of Computing Lecture #22 Limits of Computing 2012-07-26 Warning sign posted at Stern Hall. Also, Apple releases new operating.

Slides:



Advertisements
Similar presentations
1 P, NP, and NP-Complete Dr. Ying Lu RAIK 283 Data Structures & Algorithms.
Advertisements

What is Intractable? Some problems seem too hard to solve efficiently. Question 1: Does an efficient algorithm exist?  An O(a ) algorithm, where a > 1,
Computability & Complexity. Scenario I can’t write this program because I’m too dumb.
Great Theoretical Ideas in Computer Science for Some.
CS420 lecture one Problems, algorithms, decidability, tractability.
Computational problems, algorithms, runtime, hardness
CSE332: Data Abstractions Lecture 27: A Few Words on NP Dan Grossman Spring 2010.
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.
Tractable and intractable problems for parallel computers
The Theory of NP-Completeness
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
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.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Halting Problem. Background - Halting Problem Common error: Program goes into an infinite loop. Wouldn’t it be nice to have a tool that would warn us.
1 Complexity Lecture Ref. Handout p
Programming & Data Structures
Chapter 11 Limitations of Algorithm Power. Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples:
CSCE350 Algorithms and Data Structure
Bold Stroke January 13, 2003 Advanced Algorithms CS 539/441 OR In Search Of Efficient General Solutions Joe Hoffert
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.
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 Ethics of Computing MONT 113G, Spring 2012 Session 13 Limits of Computer Science.
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.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Unsolvability and Infeasibility. Computability (Solvable) A problem is computable if it is possible to write a computer program to solve it. Can all problems.
CSC 413/513: Intro to Algorithms NP Completeness.
CSC 172 P, NP, Etc. “Computer Science is a science of abstraction – creating the right model for thinking about a problem and devising the appropriate.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
CSE 3813 Introduction to Formal Languages and Automata Chapter 14 An Introduction to Computational Complexity These class notes are based on material from.
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.
Cliff Shaffer Computer Science Computational Complexity.
Compsci 100, Fall What is Computing? Informatics? l What is computer science, what is its potential?  What can we do with computers in our lives?
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
CSE373: Data Structures & Algorithms Lecture 22: The P vs. NP question, NP-Completeness Lauren Milne Summer 2015.
Erdal Kose CC30.10 These slides are based of Prof. N. Yanofsky Lecture notes.
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.
NP-Complete problems.
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
SNU OOPSLA Lab. 1 Great Ideas of CS with Java Part 1 WWW & Computer programming in the language Java Ch 1: The World Wide Web Ch 2: Watch out: Here comes.
Limits to Computation How do you analyze a new algorithm? –Put it in the form of existing algorithms that you know the analysis. –For example, given 2.
Complexity & Computability. Limitations of computer science  Major reasons useful calculations cannot be done:  execution time of program is too long.
Fundamentals of Informatics Lecture 14 Intractability and NP-completeness Bas Luttik.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
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.
Complexity © 2014 Project Lead The Way, Inc.Computer Science and Software Engineering.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Chapter.
CS216: Program and Data Representation University of Virginia Computer Science Spring 2006 David Evans Lecture 8: Crash Course in Computational Complexity.
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.
Optimization/Decision Problems Optimization Problems – An optimization problem is one which asks, “What is the optimal solution to problem X?” – Examples:
Lecture. Today Problem set 9 out (due next Thursday) Topics: –Complexity Theory –Optimization versus Decision Problems –P and NP –Efficient Verification.
Algorithm Complexity By: Ashish Patel and Alex Golebiewski.
Great Theoretical Ideas in Computer Science.
CS10: The Beauty and Joy of Computing Lecture #21 Limits of Computing Instructor: Sean Morris UCB announces The Turing Test Tournament.
Chapter 12: Theory of Computation
1.5 Intractable problems.
Unsolvable Problems December 4, 2017.
Analysis and design of algorithm
How Hard Can It Be?.
Discrete Mathematics CS 2610
Chapter 11 Limitations of Algorithm Power
CSC 380: Design and Analysis of 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.
Algorithms CSCI 235, Spring 2019 Lecture 36 P vs
RAIK 283 Data Structures & Algorithms
What is Computer Science at Duke?
Presentation transcript:

CS10: The Beauty and Joy of Computing Lecture #22 Limits of Computing Warning sign posted at Stern Hall. Also, Apple releases new operating system. hall/ You’ll have the opportunity for extra credit on your project! After you submit it, you can make a ≤ 5min YouTube video. UC Berkeley EECS Summer Instructor Ben Chun

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (2) Chun, Summer 2012  CS research areas:  Artificial Intelligence  Biosystems & Computational Biology  Database Management Systems  Graphics  Human-Computer Interaction  Networking  Programming Systems  Scientific Computing  Security  Systems  Theory  Complexity theory  … Computer Science … A UCB viewwww.eecs.berkeley.edu/Research/Areas/

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (3) Chun, Summer 2012  Problems that…  are tractable with efficient solutions in reasonable time  are intractable  are solvable approximately, not optimally  have no known efficient solution  are not solvable Let’s revisit algorithm complexity

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (4) Chun, Summer 2012  Recall our algorithm complexity lecture, we’ve got several common orders of growth  Constant  Logarithmic  Linear  Quadratic  Cubic  Exponential  Order of growth is polynomial in the size of the problem  E.g.,  Searching for an item in a collection  Sorting a collection  Finding if two numbers in a collection are same  These problems are called being “in P” (for polynomial) Tractable with efficient sols in reas timeen.wikipedia.org/wiki/P_(complexity)

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (5) Chun, Summer 2012  Problems that can be solved, but not solved fast enough  This includes exponential problems  E.g., f(n) = 2 n  as in the image to the right  This also includes poly-time algorithm with a huge exponent  E.g, f(n) = n 10  Only solve for small n Intractable problemsen.wikipedia.org/wiki/Intractability_(complexity)#Intractability Imagine a program that calculated something important at each of the bottom circles. This tree has height n, but there are 2 n bottom circles!

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (6) Chun, Summer 2012  A problem might have an optimal solution that cannot be solved in reasonable time  BUT if you don’t need to know the perfect solution, there might exist algorithms which could give pretty good answers in reasonable time Solvable approximately, not optimally in reas time Knapsack Problem You have a backpack with a weight limit (here 15kg), which boxes (with weights and values) should be taken to maximize value? en.wikipedia.org/wiki/Knapsack_problem

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (7) Chun, Summer 2012 Peer Instruction What’s the most you can put in your knapsack? a)$10 b)$15 c)$33 d)$36 e)$40 Knapsack Problem You have a backpack with a weight limit (here 15kg), which boxes (with weights and values) should be taken to maximize value? (any # of each box is available)

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (8) Chun, Summer 2012  Solving one of them would solve an entire class of them!  We can transform one to another, i.e., reduce  A problem P is “hard” for a class C if every element of C can be “reduced” to P  If you’re “in NP” and “NP-hard”, then you’re “NP-complete”  If you guess an answer, can I verify it in polynomial time?  Called being “in NP”  Non-deterministic (the “guess” part) Polynomial Have no known efficient solutionen.wikipedia.org/wiki/P_%3D_NP_problem Subset Sum Problem Are there a handful of these numbers (at least 1) that add together to get 0?

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (9) Chun, Summer 2012  This is THE major unsolved problem in Computer Science!  One of 7 “millennium prizes” w/a $1M reward  All it would take is solving ONE problem in the NP-complete set in polynomial time!!  Huge ramifications for cryptography, others If P ≠NP, then  Other NP-Complete  Traveling salesman who needs most efficient route to visit all cities and return home The fundamental question. Is P = NP?en.wikipedia.org/wiki/P_%3D_NP_problem

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (10) Chun, Summer 2012 xkcd.com/287

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (11) Chun, Summer 2012  Decision problems answer YES or NO for an infinite # of inputs  E.g., is N prime?  E.g., is sentence S grammatically correct?  An algorithm is a solution if it correctly answers YES/NO in a finite amount of time  A problem is decidable if it has a solution Problems NOT solvable Alan Turing asked, “Are all problems decidable?” (People believed yes at the time.) Turing proved they are not!

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (12) Chun, Summer 2012  Infinitely Many Primes?  Assume the contrary, then prove that it’s impossible  Only a finite # of primes  Number them p 1, p 2, …, p n  Consider the number q  q = (p 1 * p 2 * … * p n ) + 1  Dividing q by any prime would give a remainder of 1  So q isn’t composite, q is prime  But we said p n was the biggest, and q is bigger than p n  So there IS no biggest p n Review: Proof by Contradiction Euclid

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (13) Chun, Summer 2012  Given a program and some input, will that program eventually stop? (or will it loop)  Assume we could write it, then let’s prove a contradiction  1. write Stops on Self?  2. Write Weird  3. Call Weird on itself Turing’s proof : The Halting Problem

UC Berkeley CS10 “The Beauty and Joy of Computing” : Limits of Computability (14) Chun, Summer 2012  Complexity theory important part of CS  If given a hard problem, rather than try to solve it yourself, see if others have tried similar problems  If you don’t need an exact solution, many approximation algorithms help  Some not solvable! Conclusion P=NP question even made its way into popular culture, here shown in the Simpsons 3D episode!