Fundamentals of Computer Science
|
|
- Luke Peregrine Mitchell
- 7 years ago
- Views:
Transcription
1 Fundamentals of Computer Science Chapter 13: Complexity theory Henrik Björklund Umeå University March 17, 2014
2 Moore s law
3 Moore s law The famous claim known as Moore s law states that the capacity of computer hardware doubles every 1.5 years.
4 Moore s law The famous claim known as Moore s law states that the capacity of computer hardware doubles every 1.5 years. If Moore s law holds true, in 20 years time, computers will be about 3300 times faster than today.
5 Moore s law The famous claim known as Moore s law states that the capacity of computer hardware doubles every 1.5 years. If Moore s law holds true, in 20 years time, computers will be about 3300 times faster than today. Suppose that we have an algorithm that runs in time 2 n, where n is the size of its input. How much larger instances of this problem will we be able to run in 20 years?
6 Complexity theory Complexity theory is the study of how hard computational problems are.
7 Complexity theory Complexity theory is the study of how hard computational problems are. To be able to achieve this, we have to reason abstractly, mostly disregarding such things as the setup of individual computers, programming languages, etc.
8 Complexity theory Complexity theory is the study of how hard computational problems are. To be able to achieve this, we have to reason abstractly, mostly disregarding such things as the setup of individual computers, programming languages, etc. What we are really interested are the inherent features of computational problems.
9 Complexity theory Complexity theory is the study of how hard computational problems are. To be able to achieve this, we have to reason abstractly, mostly disregarding such things as the setup of individual computers, programming languages, etc. What we are really interested are the inherent features of computational problems. We are particularly interested in the growth rate of functions and are mostly satisfied with getting the order of magnitude right.
10 Asymptotic notation Let f : N N and g : N N be two functions. If there is a positive constant c and a number n 0 such that f (n) c g(n) for all n > n 0, we say that f has order at most g and write f (n) = O(g(n)).
11 Asymptotic notation Let f : N N and g : N N be two functions. If there is a positive constant c and a number n 0 such that f (n) c g(n) for all n > n 0, we say that f has order at least g and write f (n) = Ω(g(n)).
12 Asymptotic notation Let f : N N and g : N N be two functions. If there are positive constants c 1 and c 2 and a number n 0 such that c 1 g(n) f (n) c 2 g(n) for all n > n 0, we say that f has order g and write f (n) = Θ(g(n)).
13 Efficiency of computations Efficiency is measured by resource requriements, such as time and space. We therefore talk about time-complexity and space complexity.
14 Efficiency of computations Efficiency is measured by resource requriements, such as time and space. We therefore talk about time-complexity and space complexity. Time-complexity is a rough measure of how long time it takes to solve a particular problem on a computer.
15 Efficiency of computations Efficiency is measured by resource requriements, such as time and space. We therefore talk about time-complexity and space complexity. Time-complexity is a rough measure of how long time it takes to solve a particular problem on a computer. How long does it take to sort a list of integers?
16 Efficiency of computations Efficiency is measured by resource requriements, such as time and space. We therefore talk about time-complexity and space complexity. Time-complexity is a rough measure of how long time it takes to solve a particular problem on a computer. How long does it take to sort a list of integers? Depents on the number of items, the computer used, the algorithm used, how the algorithm is written, etc.
17 Efficiency of computations n order to get anything resembling a general picture, we need to focus on the fundamentals: As a computer model we use the Turing machine. The size of the problem instance will be denoted by n. In analyzing an algorithm, we study how the resource requrements of the algorithm grows with n.
18 Efficiency of computations n order to get anything resembling a general picture, we need to focus on the fundamentals: As a computer model we use the Turing machine. The size of the problem instance will be denoted by n. In analyzing an algorithm, we study how the resource requrements of the algorithm grows with n. Goal (time complexity): Characterize the time required to solve instances of a problem as a function of their sizes, using a Turing machine as the computer model.
19 Turing machines and time We think of Turing machines as making one move per time unit, so we count the number of moves.
20 Turing machines and time We think of Turing machines as making one move per time unit, so we count the number of moves. We are primarily interested in worst case resource requirements. We say that an algorithm has time complexity at most T (n) if, for any input of size n, the algorithm halts in at most T (n) steps.
21 Turing machines and complexity Unlike the decidability of a problem, its time complexity can be affected by the choice of Turing machine model, in particular whether the model is deterministic or non-deterministic and how many tapes the machines have.
22 Turing machines and complexity Unlike the decidability of a problem, its time complexity can be affected by the choice of Turing machine model, in particular whether the model is deterministic or non-deterministic and how many tapes the machines have. Example: Consder the language {a n b n n N}. A single-tape TM for this problem needs Ω(n 2 ) moves. A two-tape TM, on the other hand, needs only O(n) moves.
23 Nondeterminism Example: Consider the CFG membership problem, i.e., we are given a context-free grammar G and a word w and are asked to decide whether w L(G).
24 Nondeterminism Example: Consider the CFG membership problem, i.e., we are given a context-free grammar G and a word w and are asked to decide whether w L(G). A deterministic algorithm, such as CYK, needs Ω(n 3 ) moves.
25 Nondeterminism Example: Consider the CFG membership problem, i.e., we are given a context-free grammar G and a word w and are asked to decide whether w L(G). A deterministic algorithm, such as CYK, needs Ω(n 3 ) moves. A nondeterministic algorithm can guess what rules are used in the shortest derivation of w in G. Since the length of the shortest derivation is linear in w, such an algorithm needs O(n) steps.
26 Propositional formulas We consider the following definition of propsitional logic: A Boolean variable is one that can take exactly two values, true and false or, equivalently 1 or 0. A Boolean constant is either 1 or 0. Boolean operators are used to construct Boolean expressions or propositional formulas from variables and constants. We consider only the Boolean operators (or) (and) (negation)
27 Conjunctive normal form A literal is a variable x or a negation of a variable x.
28 Conjunctive normal form A literal is a variable x or a negation of a variable x. A clause is a disjunction of a number of literals, e.g., (x 1 x 2 x 3 x 4 ).
29 Conjunctive normal form A literal is a variable x or a negation of a variable x. A clause is a disjunction of a number of literals, e.g., (x 1 x 2 x 3 x 4 ). A formula on conjunctive normal form (CNF) is a conjunction of a number of clauses. If C 1, C 2,..., C m are clauses, then is a CNF formula. C 1 C 2 C m
30 The SAT problem The SAT problem is the satisfiability problem for CNF formulas, i.e., we are given a formula φ on CNF and are asked if it is satisfiable, i.e., whether there exists an assignment of Boolean values to all variables in φ that makes φ true.
31 SAT and TM models The following deterministic algorithm for SAT is trivial: Let φ be the input formula and x 1,..., x n the variables that appear in φ. For every possible assignment of Boolean values to x 1,..., x n, check if it makes φ true. The algorithm has exponential time complexity, since there are 2 n possible variable assignments.
32 SAT and TM models The following deterministic algorithm for SAT is trivial: Let φ be the input formula and x 1,..., x n the variables that appear in φ. For every possible assignment of Boolean values to x 1,..., x n, check if it makes φ true. The algorithm has exponential time complexity, since there are 2 n possible variable assignments. There is an even simpler nondeterministic algorithm: If φ is satisfiable, guess an assignment and verify that it satisfies φ. This algorithm is essentially O(n).
33 Complexity classes Definition. A language L is a member of the class DTIME(T (n)) if there is a deterministic multitape Turing machine that decides L in time O(T (n)).
34 Complexity classes Definition. A language L is a member of the class DTIME(T (n)) if there is a deterministic multitape Turing machine that decides L in time O(T (n)). Definition. A language L is a member of the class NTIME(T (n)) if there is a nondeterministic multitape Turing machine that decides L in time O(T (n)).
35 Complexity classes Definition. A language L is a member of the class DTIME(T (n)) if there is a deterministic multitape Turing machine that decides L in time O(T (n)). Definition. A language L is a member of the class NTIME(T (n)) if there is a nondeterministic multitape Turing machine that decides L in time O(T (n)). Example relation: For every integer k 1, DTIME(n k ) DTIME(n k+1 ).
36 The class P The difference between DTIME(n k ) and DTIME(n k+1 ) at least partly depends on the details of the computational model.
37 The class P The difference between DTIME(n k ) and DTIME(n k+1 ) at least partly depends on the details of the computational model. This leads us to disregard this difference and introduce the rock star of all complexity classes: P = i 1 DTIME(n i ) This class includes all languages that have a deterministic Turing machine that decides them in polynomial time, no matter what the degree of the polynomial is.
38 The class NP Symmetrically, we can define the class of all languages that have a nondeterministic Turing machine that decides them in polynomial time, no matter what the degree of the polynomial is: NP = i 1 NTIME(n i )
39 P and tractability The interest in the class P stems largely from the following facts: It is robust in the sense that whatever reasonable deterministic model of computation we use to define P, we end up with the same class. P is often viewed as more or less synonymous with tractability. This is because most natural problems that have been proved to belong to P actually belong to the lower levels of P, i.e., DTIME(n), DTIME(n 2 ), DTIME(n 3 ).
40 The million dollar question It is obvious that P NP, but it is not known whether the inclusion is proper or, in other words, whether P = NP.
41 The million dollar question It is obvious that P NP, but it is not known whether the inclusion is proper or, in other words, whether P = NP. This is one of seven Millenium prize problems selected by the Clay Mathematics Institute.
42 P vs NP To prove that P = NP, one has to be able to argue that every problem in NP can be solved by some deterministic Turing machine in polynomial time.
43 P vs NP To prove that P = NP, one has to be able to argue that every problem in NP can be solved by some deterministic Turing machine in polynomial time. To prove that P NP, one has to be able to argue that there is some problem in NP for which there is no deterministic Turing machine that solves it in polynomial time.
44 A closer look at non-determinism A nondeterministic TM M decides a language L in time T (n) if for every word w, there is some computational path that halts and accepts if and only if w L and, furthermore, the shortest such path is at most T ( w ) steps long.
45 A closer look at non-determinism A nondeterministic TM M decides a language L in time T (n) if for every word w, there is some computational path that halts and accepts if and only if w L and, furthermore, the shortest such path is at most T ( w ) steps long. A polynomial time nondeterministic algorithm can be seen as operating in two steps: 1. Nondeterministically guess a solution (certificate) 2. Check that the solution really is a solution (verification)
46 CLIQUE
47 CLIQUE
48 Polynomial time reductions Definition. A language L 1 over Σ is polynomial time reducible to a language L 2 over Γ if there exists a deterministic Turing machine M that computes a function f : Σ Γ such that M runs in polynomial time and w L 1 f (w) L 2.
49 Conclusions from reductions Just as with general reductions, we can draw two types of conclusions from a polynomial time reduction, depending on what we already know about the languages involved.
50 Conclusions from reductions Just as with general reductions, we can draw two types of conclusions from a polynomial time reduction, depending on what we already know about the languages involved. Assume that L 1 is plolynomial time reducible to L 2.
51 Conclusions from reductions Just as with general reductions, we can draw two types of conclusions from a polynomial time reduction, depending on what we already know about the languages involved. Assume that L 1 is plolynomial time reducible to L If L 2 belongs to P, then so does L 1.
52 Conclusions from reductions Just as with general reductions, we can draw two types of conclusions from a polynomial time reduction, depending on what we already know about the languages involved. Assume that L 1 is plolynomial time reducible to L If L 2 belongs to P, then so does L If L 1 does not belong to P, then neither does L 2.
Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.
Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Background One basic goal in complexity theory is to separate interesting complexity
More informationPage 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms
CSCE 310J Data Structures & Algorithms P, NP, and NP-Complete Dr. Steve Goddard goddard@cse.unl.edu CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes
More informationWhy? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
More information1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)
Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:
More informationOHJ-2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012
276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a $ 1,000,000 prize for the
More informationLecture 7: NP-Complete Problems
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit
More informationIntroduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
More informationChapter 1. NP Completeness I. 1.1. Introduction. By Sariel Har-Peled, December 30, 2014 1 Version: 1.05
Chapter 1 NP Completeness I By Sariel Har-Peled, December 30, 2014 1 Version: 1.05 "Then you must begin a reading program immediately so that you man understand the crises of our age," Ignatius said solemnly.
More informationNP-Completeness and Cook s Theorem
NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:
More informationThe Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
More informationTheoretical Computer Science (Bridging Course) Complexity
Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the
More informationComplexity Classes P and NP
Complexity Classes P and NP MATH 3220 Supplemental Presentation by John Aleshunas The cure for boredom is curiosity. There is no cure for curiosity Dorothy Parker Computational Complexity Theory In computer
More informationComplexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples
More informationSIMS 255 Foundations of Software Design. Complexity and NP-completeness
SIMS 255 Foundations of Software Design Complexity and NP-completeness Matt Welsh November 29, 2001 mdw@cs.berkeley.edu 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity
More informationWhy Study NP- hardness. NP Hardness/Completeness Overview. P and NP. Scaling 9/3/13. Ron Parr CPS 570. NP hardness is not an AI topic
Why Study NP- hardness NP Hardness/Completeness Overview Ron Parr CPS 570 NP hardness is not an AI topic It s important for all computer scienhsts Understanding it will deepen your understanding of AI
More informationNP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University
NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with
More informationOn the Relationship between Classes P and NP
Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,
More informationNP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics
NP-complete? NP-hard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer
More informationMATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis
LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,
More informationIntroduction to NP-Completeness Written and copyright c by Jie Wang 1
91.502 Foundations of Comuter Science 1 Introduction to Written and coyright c by Jie Wang 1 We use time-bounded (deterministic and nondeterministic) Turing machines to study comutational comlexity of
More informationNotes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
More informationA Working Knowledge of Computational Complexity for an Optimizer
A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational
More informationCAD Algorithms. P and NP
CAD Algorithms The Classes P and NP Mohammad Tehranipoor ECE Department 6 September 2010 1 P and NP P and NP are two families of problems. P is a class which contains all of the problems we solve using
More informationDiscuss the size of the instance for the minimum spanning tree problem.
3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can
More informationTutorial 8. NP-Complete Problems
Tutorial 8 NP-Complete Problems Decision Problem Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yesor-no question A decision problem
More informationCSC 373: Algorithm Design and Analysis Lecture 16
CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements
More informationIntroduction to Algorithms. Part 3: P, NP Hard Problems
Introduction to Algorithms Part 3: P, NP Hard Problems 1) Polynomial Time: P and NP 2) NP-Completeness 3) Dealing with Hard Problems 4) Lower Bounds 5) Books c Wayne Goddard, Clemson University, 2004 Chapter
More informationQuantum and Non-deterministic computers facing NP-completeness
Quantum and Non-deterministic computers facing NP-completeness Thibaut University of Vienna Dept. of Business Administration Austria Vienna January 29th, 2013 Some pictures come from Wikipedia Introduction
More informationLecture 2: Universality
CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal
More informationLecture 1: Oracle Turing Machines
Computational Complexity Theory, Fall 2008 September 10 Lecture 1: Oracle Turing Machines Lecturer: Kristoffer Arnsfelt Hansen Scribe: Casper Kejlberg-Rasmussen Oracle TM Definition 1 Let A Σ. Then a Oracle
More informationNotes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
More informationComputer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li
Computer Algorithms NP-Complete Problems NP-completeness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order
More informationIan Stewart on Minesweeper
Ian Stewart on Minesweeper It's not often you can win a million dollars by analysing a computer game, but by a curious conjunction of fate, there's a chance that you might. However, you'll only pick up
More informationLogic in general. Inference rules and theorem proving
Logical Agents Knowledge-based agents Logic in general Propositional logic Inference rules and theorem proving First order logic Knowledge-based agents Inference engine Knowledge base Domain-independent
More informationTetris is Hard: An Introduction to P vs NP
Tetris is Hard: An Introduction to P vs NP Based on Tetris is Hard, Even to Approximate in COCOON 2003 by Erik D. Demaine (MIT) Susan Hohenberger (JHU) David Liben-Nowell (Carleton) What s Your Problem?
More informationOverview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
More informationFormal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
More informationIn mathematics, it is often important to get a handle on the error term of an approximation. For instance, people will write
Big O notation (with a capital letter O, not a zero), also called Landau's symbol, is a symbolism used in complexity theory, computer science, and mathematics to describe the asymptotic behavior of functions.
More informationChapter. NP-Completeness. Contents
Chapter 13 NP-Completeness Contents 13.1 P and NP......................... 593 13.1.1 Defining the Complexity Classes P and NP...594 13.1.2 Some Interesting Problems in NP.......... 597 13.2 NP-Completeness....................
More informationCS 3719 (Theory of Computation and Algorithms) Lecture 4
CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a
More information6.080/6.089 GITCS Feb 12, 2008. Lecture 3
6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my
More informationHow To Solve A K Path In Time (K)
What s next? Reductions other than kernelization Dániel Marx Humboldt-Universität zu Berlin (with help from Fedor Fomin, Daniel Lokshtanov and Saket Saurabh) WorKer 2010: Workshop on Kernelization Nov
More information3515ICT Theory of Computation Turing Machines
Griffith University 3515ICT Theory of Computation Turing Machines (Based loosely on slides by Harald Søndergaard of The University of Melbourne) 9-0 Overview Turing machines: a general model of computation
More information(Teams removed to preserve email address privacy)
(Teams removed to preserve email address privacy) Prizes The Millennium Problems: The Seven Greatest Unsolved Mathematical Puzzles Of Our Time Keith J. Devlin Your Inner Fish: A Journey into the 3.5-Billion-Year
More informationGenerating models of a matched formula with a polynomial delay
Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic
More informationComplexity Classes. Chapter 27 of the forthcoming CRC Handbook on Algorithms and Theory of Computation. Eric Allender 1. Rutgers University
Complexity Classes Chapter 27 of the forthcoming CRC Handbook on Algorithms and Theory of Computation Eric Allender 1 Rutgers University Michael C. Loui 2 University of Illinois at Urbana-Champaign 1 Introduction
More informationNP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness
Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
More informationP versus NP, and More
1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify
More informationEfficiency of algorithms. Algorithms. Efficiency of algorithms. Binary search and linear search. Best, worst and average case.
Algorithms Efficiency of algorithms Computational resources: time and space Best, worst and average case performance How to compare algorithms: machine-independent measure of efficiency Growth rate Complexity
More informationWHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT?
WHAT ARE MATHEMATICAL PROOFS AND WHY THEY ARE IMPORTANT? introduction Many students seem to have trouble with the notion of a mathematical proof. People that come to a course like Math 216, who certainly
More informationLecture Notes on Linear Search
Lecture Notes on Linear Search 15-122: Principles of Imperative Computation Frank Pfenning Lecture 5 January 29, 2013 1 Introduction One of the fundamental and recurring problems in computer science is
More informationOutline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits
Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique
More informationTheorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP.
Theorem (informal statement): There are no extendible methods in David Chalmers s sense unless P = NP. Explication: In his paper, The Singularity: A philosophical analysis, David Chalmers defines an extendible
More informationThe Classes P and NP. mohamed@elwakil.net
Intractable Problems The Classes P and NP Mohamed M. El Wakil mohamed@elwakil.net 1 Agenda 1. What is a problem? 2. Decidable or not? 3. The P class 4. The NP Class 5. TheNP Complete class 2 What is a
More informationReductions & NP-completeness as part of Foundations of Computer Science undergraduate course
Reductions & NP-completeness as part of Foundations of Computer Science undergraduate course Alex Angelopoulos, NTUA January 22, 2015 Outline Alex Angelopoulos (NTUA) FoCS: Reductions & NP-completeness-
More informationCS510 Software Engineering
CS510 Software Engineering Propositional Logic Asst. Prof. Mathias Payer Department of Computer Science Purdue University TA: Scott A. Carr Slides inspired by Xiangyu Zhang http://nebelwelt.net/teaching/15-cs510-se
More informationLecture summary for Theory of Computation
Lecture summary for Theory of Computation Sandeep Sen 1 January 8, 2015 1 Department of Computer Science and Engineering, IIT Delhi, New Delhi 110016, India. E- mail:ssen@cse.iitd.ernet.in Contents 1 The
More informationChapter 7 Uncomputability
Chapter 7 Uncomputability 190 7.1 Introduction Undecidability of concrete problems. First undecidable problem obtained by diagonalisation. Other undecidable problems obtained by means of the reduction
More informationGuessing Game: NP-Complete?
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 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple
More informationTheory of Computation Chapter 2: Turing Machines
Theory of Computation Chapter 2: Turing Machines Guan-Shieng Huang Feb. 24, 2003 Feb. 19, 2006 0-0 Turing Machine δ K 0111000a 01bb 1 Definition of TMs A Turing Machine is a quadruple M = (K, Σ, δ, s),
More informationChapter 3. Cartesian Products and Relations. 3.1 Cartesian Products
Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing
More information898 BOOK REVIEWS MICHAEL P. DRAZIN. irrespective of the statements in The New York Times, November 7, 1979, p. 1.
898 BOOK REVIEWS linear algebra texts; it would have been well worth taking space to develop this theme at some length. To summarize, after its renaissance in the 1950s, GI theory passed through its infancy
More informationOne last point: we started off this book by introducing another famously hard search problem:
S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 261 Factoring One last point: we started off this book by introducing another famously hard search problem: FACTORING, the task of finding all prime factors
More informationOptimizing Description Logic Subsumption
Topics in Knowledge Representation and Reasoning Optimizing Description Logic Subsumption Maryam Fazel-Zarandi Company Department of Computer Science University of Toronto Outline Introduction Optimization
More informationThe Parameterized Complexity of Short Computation and Factorization
The Parameterized Complexity of Short Computation and Factorization Liming Cai and Jianer Chen Department of Computer Science, Texas A & M University College Station, Texas 77843 U.S.A. Rodney G. Downey
More information2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]
Code No: R05220502 Set No. 1 1. (a) Describe the performance analysis in detail. (b) Show that f 1 (n)+f 2 (n) = 0(max(g 1 (n), g 2 (n)) where f 1 (n) = 0(g 1 (n)) and f 2 (n) = 0(g 2 (n)). [8+8] 2. (a)
More informationComplexity Classes. Eric Allender Rutgers University. Michael C. Loui University of Illinois at Urbana-Champaign
Complexity Classes Eric Allender Rutgers University Michael C. Loui University of Illinois at Urbana-Champaign Kenneth W. Regan State University of New York at Buffalo 1 Introduction The purposes of complexity
More informationCoNP and Function Problems
CoNP and Function Problems conp By definition, conp is the class of problems whose complement is in NP. NP is the class of problems that have succinct certificates. conp is therefore the class of problems
More informationComputability Theory
CSC 438F/2404F Notes (S. Cook and T. Pitassi) Fall, 2014 Computability Theory This section is partly inspired by the material in A Course in Mathematical Logic by Bell and Machover, Chap 6, sections 1-10.
More informationIntroduction to computer science
Introduction to computer science Michael A. Nielsen University of Queensland Goals: 1. Introduce the notion of the computational complexity of a problem, and define the major computational complexity classes.
More informationResolution. Informatics 1 School of Informatics, University of Edinburgh
Resolution In this lecture you will see how to convert the natural proof system of previous lectures into one with fewer operators and only one proof rule. You will see how this proof system can be used
More informationCOMPUTER SCIENCE TRIPOS
CST.98.5.1 COMPUTER SCIENCE TRIPOS Part IB Wednesday 3 June 1998 1.30 to 4.30 Paper 5 Answer five questions. No more than two questions from any one section are to be answered. Submit the answers in five
More informationNear Optimal Solutions
Near Optimal Solutions Many important optimization problems are lacking efficient solutions. NP-Complete problems unlikely to have polynomial time solutions. Good heuristics important for such problems.
More informationRegular Languages and Finite Automata
Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a
More informationATheoryofComplexity,Conditionand Roundoff
ATheoryofComplexity,Conditionand Roundoff Felipe Cucker Berkeley 2014 Background L. Blum, M. Shub, and S. Smale [1989] On a theory of computation and complexity over the real numbers: NP-completeness,
More informationChapter 1. Computation theory
Chapter 1. Computation theory In this chapter we will describe computation logic for the machines. This topic is a wide interdisciplinary field, so that the students can work in an interdisciplinary context.
More informationEvolutionary SAT Solver (ESS)
Ninth LACCEI Latin American and Caribbean Conference (LACCEI 2011), Engineering for a Smart Planet, Innovation, Information Technology and Computational Tools for Sustainable Development, August 3-5, 2011,
More informationFixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
More informationIB Math Research Problem
Vincent Chu Block F IB Math Research Problem The product of all factors of 2000 can be found using several methods. One of the methods I employed in the beginning is a primitive one I wrote a computer
More informationRegular Expressions and Automata using Haskell
Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions
More informationA logical approach to dynamic role-based access control
A logical approach to dynamic role-based access control Philippe Balbiani Yannick Chevalier Marwa El Houri Abstract Since its formalization RBAC has become the yardstick for the evaluation of access control
More informationCloud Computing is NP-Complete
Working Paper, February 2, 20 Joe Weinman Permalink: http://www.joeweinman.com/resources/joe_weinman_cloud_computing_is_np-complete.pdf Abstract Cloud computing is a rapidly emerging paradigm for computing,
More informationSome Minesweeper Configurations
Some Minesweeper Configurations Richard Kaye School of Mathematics The University of Birmingham Birmingham B15 2TT RWKaye@bhamacuk http://webmatbhamacuk/rwkaye/ 31st May 2007 Contents 1 Introduction 2
More informationBounded-width QBF is PSPACE-complete
Bounded-width QBF is PSPACE-complete Albert Atserias 1 and Sergi Oliva 2 1 Universitat Politècnica de Catalunya Barcelona, Spain atserias@lsi.upc.edu 2 Universitat Politècnica de Catalunya Barcelona, Spain
More information1 Definition of a Turing machine
Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2012 April 2-16, 2012 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,
More informationLogic in Computer Science: Logic Gates
Logic in Computer Science: Logic Gates Lila Kari The University of Western Ontario Logic in Computer Science: Logic Gates CS2209, Applied Logic for Computer Science 1 / 49 Logic and bit operations Computers
More information(IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems.
3130CIT: Theory of Computation Turing machines and undecidability (IALC, Chapters 8 and 9) Introduction to Turing s life, Turing machines, universal machines, unsolvable problems. An undecidable problem
More informationLecture 16 : Relations and Functions DRAFT
CS/Math 240: Introduction to Discrete Mathematics 3/29/2011 Lecture 16 : Relations and Functions Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT In Lecture 3, we described a correspondence
More informationCHAPTER 2. Logic. 1. Logic Definitions. Notation: Variables are used to represent propositions. The most common variables used are p, q, and r.
CHAPTER 2 Logic 1. Logic Definitions 1.1. Propositions. Definition 1.1.1. A proposition is a declarative sentence that is either true (denoted either T or 1) or false (denoted either F or 0). Notation:
More informationImplementation of Recursively Enumerable Languages using Universal Turing Machine in JFLAP
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 1 (2014), pp. 79-84 International Research Publications House http://www. irphouse.com /ijict.htm Implementation
More information8 Primes and Modular Arithmetic
8 Primes and Modular Arithmetic 8.1 Primes and Factors Over two millennia ago already, people all over the world were considering the properties of numbers. One of the simplest concepts is prime numbers.
More informationLinear Equations and Inequalities
Linear Equations and Inequalities Section 1.1 Prof. Wodarz Math 109 - Fall 2008 Contents 1 Linear Equations 2 1.1 Standard Form of a Linear Equation................ 2 1.2 Solving Linear Equations......................
More informationSet Theory Basic Concepts and Definitions
Set Theory Basic Concepts and Definitions The Importance of Set Theory One striking feature of humans is their inherent need and ability to group objects according to specific criteria. Our prehistoric
More informationAutomata and Computability. Solutions to Exercises
Automata and Computability Solutions to Exercises Fall 25 Alexis Maciel Department of Computer Science Clarkson University Copyright c 25 Alexis Maciel ii Contents Preface vii Introduction 2 Finite Automata
More informationThe P versus NP Solution
The P versus NP Solution Frank Vega To cite this version: Frank Vega. The P versus NP Solution. 2015. HAL Id: hal-01143424 https://hal.archives-ouvertes.fr/hal-01143424 Submitted on 17 Apr
More informationUniversality in the theory of algorithms and computer science
Universality in the theory of algorithms and computer science Alexander Shen Computational models The notion of computable function was introduced in 1930ies. Simplifying (a rather interesting and puzzling)
More informationHandout #1: Mathematical Reasoning
Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or
More informationTuring Machines: An Introduction
CIT 596 Theory of Computation 1 We have seen several abstract models of computing devices: Deterministic Finite Automata, Nondeterministic Finite Automata, Nondeterministic Finite Automata with ɛ-transitions,
More informationThe Halting Problem is Undecidable
185 Corollary G = { M, w w L(M) } is not Turing-recognizable. Proof. = ERR, where ERR is the easy to decide language: ERR = { x { 0, 1 }* x does not have a prefix that is a valid code for a Turing machine
More information