CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning.

Slides:



Advertisements
Similar presentations
Complexity Classes: P and NP
Advertisements

Lecture 24 MAS 714 Hartmut Klauck
NP-Completeness Lecture for CS 302. Traveling Salesperson Problem You have to visit n cities You want to make the shortest trip How could you do this?
Design and Analysis of Algorithms Maria-Florina (Nina) Balcan Lecture 1, Jan. 14 th 2011.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
Complexity 7-1 Complexity Andrei Bulatov Complexity of Problems.
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
NP-completeness Sipser 7.4 (pages 271 – 283). CS 311 Fall The classes P and NP NP = ∪ k NTIME(n k ) P = ∪ k TIME(n k )
CS 581: Introduction to the Theory of Computation Lecture 1 James Hook Portland State University
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2010.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Complexity 5-1 Complexity Andrei Bulatov Complexity of Problems.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
The Theory of NP-Completeness
UMass Lowell Computer Science Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009.
CS101- Lecture 11 CS101 Fall 2004 Course Introduction Professor Douglas Moody –Monday – 12:00-1:40 – – –Web Site: websupport1.citytech.cuny.edu.
Analysis of Algorithms CS 477/677
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
CS 581: Introduction to the Theory of Computation Lecture 1 James Hook Portland State University
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
C OURSE : D ISCRETE STRUCTURE CODE : ICS 252 Lecturer: Shamiel Hashim 1 lecturer:Shamiel Hashim second semester Prepared by: amani Omer.
Introduction to CS Theory Lecture 1 – Introduction Piotr Faliszewski
 2004 SDU Introduction to the Theory of Computation My name: 冯好娣 My office: 计算中心 430
Introduction to the Theory of Computation
Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
© M. Winter COSC/MATH 4P61 - Theory of Computation COSC/MATH 4P61 Theory of Computation Michael Winter –office: J323 –office hours: Mon & Fri, 10:00am-noon.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
Introduction to the Theory of Computation Fall Semester, School of Information, Renmin University of China.
The Recursion Theorem Pages 217– ADVANCED TOPICS IN C O M P U T A B I L I T Y THEORY.
Complexity and G ö del Incomplete theorem 電機三 B 劉峰豪.
Welcome to CMPSC 360!. Today Introductions Student Information Sheets, Autobiography What is Discrete Math? Syllabus Highlights
Instructor: Shengyu Zhang 1. Tractable While we have introduced many problems with polynomial-time algorithms… …not all problems enjoy fast computation.
CS 345: Chapter 8 Noncomputability and Undecidability Or Sometimes You Can’t Get It Done At All.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Artificial Intelligence: Introduction Department of Computer Science & Engineering Indian Institute of Technology Kharagpur.
Saeid Pashzadeh Jan 2009 Theory of Computation 1.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Yang Cai COMP 360: Algorithm Design Lecture 1
Computation Theory 主講人:虞台文. Content Overview The Limitation of Computing Complexities Textbooks & Grading.
Discrete Mathematics ( 離散數學 ) Ming-Jer Tsai. Outline What is Discrete Mathematics? Why learn Discrete Mathematics? What will be taught in the class? How.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Lecture 1 Overview Topics 1. Proof techniques: induction, contradiction Proof techniques June 1, 2015 CSCE 355 Foundations of Computation.
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.
CES 592 Theory of Software Systems B. Ravikumar (Ravi) Office: 124 Darwin Hall.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
1 1. Which of these sequences correspond to Hamilton cycles in the graph? (a) (b) (c) (d) (e)
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
Discrete Structures MT217 Lecture 01. Course Objectives Express statements with the precision of formal logic Analyze arguments to test their validity.
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Formal Languages and Automata Theory
Computable Functions.
COMP 283 Discrete Structures
Introduction to the Theory of Computation
Principles of Computing – UFCFA Lecture-1
CS 201 – Data Structures and Discrete Mathematics I
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
Automata and Formal Languages
Teori Bahasa dan Automata Lecture 1: Course Overview and Introduction
CSE 6408 Advanced Algorithms.
Presentation transcript:

CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning resources: Prerequisites: MACM 201 Lectures: MWF 10:30 – 11:20, in WMX 3210 (37 lectures) Course Text: Introduction to the Theory of Computation by Mike Sipser Instructor’s office hours: W 13:00 – 14:00 in ASB 10855, or by appointment Assignments: 5 sets of exercises, solutions to the first one are due to Sept 29 th TA’s office hours: TBA Course web page: Marking scheme: 5 homework assignments, worth 6% each midterm, worth 30%, and final exam, worth 40%

Introduction Computability and Complexity 1-1 Introduction Computability and Complexity Andrei Bulatov

Computability and Complexity 1-2 Fundamental Questions A computer scientist might be expected to have answers to some Fundamental questions such as What is a computer ? What problems can computers solve? Can these problems be classified ?

Computability and Complexity 1-3 Problems Given 2 collections of DNA sequences and 1.What is the shortest DNA sequence that contains all of and as subsequences? 2.What is the shortest DNA sequence, formed by overlapping elements from these sets, which begins with and ends with ? 3.Is there a set of indices such that 4.Can each be paired with a distinct in such a way that and are 99% identical? How many ways can this be done?

Computability and Complexity 1-4 Comments Three of these examples are problems that can be solved by a computer One is “easy”; the other two are “hard” The other example cannot be solved by any known computer

Computability and Complexity 1-5 More examples Computer viruses: Write a program that prints its own source code Perfect virus detection software: Write a program that detects whether any given program prints its own text Can mathematics be automatized? Does there exist a computer program that would distinguish true mathematical statements from false ones? easy impossible

Computability and Complexity 1-6 Aims This course is designed to enable you to: 1.State precisely what it means for a problem to be computable, and show that some problems are not computable 2.State precisely what it means to reduce one problem to another, and construct reductions for simplest examples 3.Classify problems into appropriate complexity classes, and use this information effectively

Computability and Complexity 1-7 Prehistory 1900 Hilbert’s program Gödel’s Incompleteness Theorem Formalize mathematics and establish that: Math is consistent: a mathematical statement and its negation cannot ever both be proved Math is complete: all “true” mathematical statements can be “proved” Math is decidable: there is a mechanical rule to determine whether a given mathematical statement is “true” or “false” Even for arithmetic at most one of the first two properties can be reached

Computability and Complexity Turing Machine The Machine 1937 Undecidability of Logic 1945 First digital computer 1951 Recursive Functions 1960 Markov’s algorithms

Computability and Complexity 1-9 Complexity Measures and Non-Determinism 1960 Complexity Measures, Birth of CC 1971 Cook-Levin’s Theorem 1975 NP-complete problems 1970 Study of Complexity Measures Main Complexity Classes P=NP Question

Computability and Complexity 1-10 Other Computational Models 1985 Quantum algorithms 1997 Shor’s integers factoring New computational models introduced: Probabilistic Algorithms Approximation Algorithms Interactive Algorithms Cryptography

Computability and Complexity 1-11 Course Outline Turing Machine and other computational models Theory of Computability and Undecidable problems First Order Logic and Gödel’s Incompleteness Theorem Complexity Measures and Complexity classes Time Complexity, classes P and NP Space Complexity, classes L and PSPACE Probabilistic and Approximation algorithms Interactive Computation and Cryptography

1.Is the relation {(a,b),(b,a)} on {a,b} symmetric? 2.Is the function f from {1,2,3} to {a,b} defined by f(1)=a, f(2)=b, f(3)=a bijective? 3.Can one make a list of all real numbers? 4.Is the language natural } regular? 5.Is the graph bipartite? 6.How many edges has a 6-vertex tree? 7.Does the graph contain a 4-clique? 8.Is a CNF? 9.Is equivalent to x ? y ?