Computability and Complexity 2-1 Problems and Languages Computability and Complexity Andrei Bulatov.

Slides:



Advertisements
Similar presentations
Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
Advertisements

NP-Hard Nattee Niparnan.
Introduction to Graph Theory Instructor: Dr. Chaudhary Department of Computer Science Millersville University Reading Assignment Chapter 1.
Graph-02.
Reducibility Class of problems A can be reduced to the class of problems B Take any instance of problem A Show how you can construct an instance of problem.
1 Section 14.1 Computability Some problems cannot be solved by any machine/algorithm. To prove such statements we need to effectively describe all possible.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Computability and Complexity 4-1 Existence of Undecidable Problems Computability and Complexity Andrei Bulatov.
Computability and Complexity 5-1 Classifying Problems Computability and Complexity Andrei Bulatov.
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
Courtesy Costas Busch - RPI1 A Universal Turing Machine.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata are like Turing Machines with a restriction: The working space of the tape is the space of the.
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Computability and Complexity 16-1 Computability and Complexity Andrei Bulatov NP-Completeness.
1 Lecture 2 Topics –Importance of this material Fundamental Limitations –Connecting Problems and Languages Problems –Search, function and decision problems.
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
Fall 2004COMP 3351 A Universal Turing Machine. Fall 2004COMP 3352 Turing Machines are “hardwired” they execute only one program A limitation of Turing.
Computability and Complexity 17-1 Computability and Complexity Andrei Bulatov Strong NP-Completeness.
Chapter 15 Graph Theory © 2008 Pearson Addison-Wesley.
GRAPH Learning Outcomes Students should be able to:
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
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.
Complexity 2-1 Problems and Languages Complexity Andrei Bulatov.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
1 Strings and Languages. 2 Review Sets and sequences Functions and relations Graphs Boolean logic:      Proof techniques: – Construction, Contradiction,
CSNB143 – Discrete Structure Topic 9 – Graph. Learning Outcomes Student should be able to identify graphs and its components. Students should know how.
Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every.
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 15-1 Mälardalen University 2012.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
Complexity 25-1 Complexity Andrei Bulatov Counting Problems.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
MA/CSSE 474 Theory of Computation Decision Problems DFSMs.
Graphs.  Definition A simple graph G= (V, E) consists of vertices, V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements.
A Universal Turing Machine
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
1 Linear Bounded Automata LBAs. 2 Linear Bounded Automata (LBAs) are the same as Turing Machines with one difference: The input string tape space is the.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Ver Chapter 13: Graphs Data Abstraction & Problem Solving with C++
CompSci 102 Discrete Math for Computer Science February 7, 2012 Prof. Rodger Slides modified from Rosen.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
© 2006 Pearson Addison-Wesley. All rights reserved 14 A-1 Chapter 14 Graphs.
CSCI 2670 Introduction to Theory of Computing November 17, 2005.
LIMITATIONS OF ALGORITHM POWER
NP-Completness Turing Machine. Hard problems There are many many important problems for which no polynomial algorithms is known. We show that a polynomial-time.
NP-Completeness  For convenience, the theory of NP - Completeness is designed for decision problems (i.e. whose solution is either yes or no).  Abstractly,
The Big Picture Chapter 3.
Complexity 24-1 Complexity Andrei Bulatov Counting Problems.
1 Chapter 9 Undecidability  Turing Machines Coded as Binary Strings  Universal Turing machine  Diagonalizing over Turing Machines  Problems as Languages.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
1 A Universal Turing Machine. 2 Turing Machines are “hardwired” they execute only one program A limitation of Turing Machines: Real Computers are re-programmable.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Part VI NP-Hardness.
CIS Automata and Formal Languages – Pei Wang
The Definition of Algorithm
Computability and Complexity
Can you draw this picture without lifting up your pen/pencil?
Chapter 34: NP-Completeness
Computability and Complexity
Prabhas Chongstitvatana
Presentation transcript:

Computability and Complexity 2-1 Problems and Languages Computability and Complexity Andrei Bulatov

Computability and Complexity 2-2 Math Prerequisites —— Alphabets and Languages An alphabet is a (finite) set of symbols, e.g.  ={0,1},  ={0,1,…,9},  ={A,F,G,T},  ={a,b,c,…,z}, A string (or a word) over an alphabet  is a (finite) sequence of symbols from , e.g.  = ,  =314159,  =FAGFTTAGT,  =turingmachine Length of a string  is the number of symbols in , denoted (  ). Empty string  is a string containing no symbols. The set of all non-empty strings over  is denoted by The set of all strings over  (including the empty string) is denoted by  * A language over alphabet  is any subset of  *, e.g.

Computability and Complexity 2-3 Models of Computation To make statements about what can and cannot be computed we need to define a scientific model of computation We start with a very simple model which identifies 3 aspects of any computation: process input output

Computability and Complexity 2-4 Input and Output We shall also make some other simplifying assumptions: Input is a sequence of symbols in some fixed alphabet. This means we need to define some way of encoding the description of our problem as a sequence of symbols Output is either: A single bit indicating yes or no ; (In this model we consider only decision problems — that is, problems which require a yes/no answer) A sequence of symbols from the same alphabet as the input. (In this model we also allow search and optimisation problems — that is, problems which require the computation of some answer or of a best answer from some set of possibilities.)

Computability and Complexity 2-5 Decision Problems In the first part of this course we will focus on decision problems The standard way to define a decision problem is to describe a generic instance, and a yes/no question about each instance. Instance: A finite directed graph G and vertices s and t Question: Is there a path from s to t ? Reachability

Computability and Complexity 2-6 Examples — Graph Problems Instance: A finite graph G. Question: Does G have an Euler Curcuit? - i.e., a cycle that goes through each edge exactly once Euler, 1736 Euler Circuit Instance: A finite graph G. Question: Does G have a Hamilton Curcuit? - i.e., a cycle that goes through each vertex exactly once Hamilton, 1850 Hamilton Circuit

Computability and Complexity 2-7 Instance: A finite graph G and an integer K. Question: Does G have a clique of size K ? - i.e., a set of K vertices that are fully connected Clique Examples — Graph Problems Instance: A finite graph G and an integer K. Question: Does G have a colouring with K colours? - i.e., an assignment of colours to vertices such that adjacent vertices have different colours Colouring

Computability and Complexity Does this graph have an Euler Circuit? Does this graph have a Hamilton Circuit? Does it have a clique of size 4? Does it have a 3-colouring? A Graph Problem Instance

Computability and Complexity 2-9 Example Instance: An integer m  n matrix M, vectors,, and an integer B. Question: Is there a rational vector such that, and ? Linear Programming

Computability and Complexity 2-10 Example Instance: A finite set of cities, a positive integer distance between each pair, and an integer B. Question: Is there a permutation  of such that Travelling Salesperson(D)

Computability and Complexity 2-11 Encodings To input problems to a computer, each instance must be encoded in a string of symbols over some alphabet. To do this we need an encoding scheme. To ensure that encoding the problem does not change its essential nature, an encoding scheme must be concise: Not add unnecessary information, or padding (e.g. the solution!) Represent numerical information efficiently (not in base 1!)

Computability and Complexity 2-12 Question What is a suitable encoding scheme for graphs?

Computability and Complexity 2-13 Languages For a decision problem , and an encoding scheme e with alphabet , the set of strings corresponding to instances with answer yes is denoted L ( ,e) and called the language associated with  and e. Note that L ( ,e)   * For decision problems we just want to decide if a given string belongs to L ( ,e)

Computability and Complexity 2-14 What is a computation? Alan Turing considered this question in 1936 He argued that any computation can be done using the following steps: Concentrate on one part of the problem (for example, one piece of paper, one arithmetic operation, etc.) Depending on this, and present state of the computer: - Modify this part of problem; - Move to another part of problem; - Change into a new state. Repeat this until finished.

Computability and Complexity 2-15 Implications If the computation can be described in a finite space, then there can can be only a finite number of different situations to deal with Therefore, there can be only a finite number of “states” and a finite number of “symbols”. But note that the computation might continue forever and never finish, and it might use (potentially) infinite storage space