Introduction to the Theory of Computation Fall Semester, 2011-2012 School of Information, Renmin University of China.

Slides:



Advertisements
Similar presentations
Complexity Classes: P and NP
Advertisements

CS 345: Chapter 9 Algorithmic Universality and Its Robustness
Lecture 24 MAS 714 Hartmut Klauck
8/25/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 1 Theory of Computation Course information Overview of the area Finite Automata Sofya.
Nathan Brunelle Department of Computer Science University of Virginia Theory of Computation CS3102 – Spring 2014 A tale.
Recap CS605: The Mathematics and Theory of Computer Science.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Introduction to Computer Science. A Quick Puzzle Well-Formed Formula  any formula that is structurally correct  may be meaningless Axiom  A statement.
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
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
INTRODUCTION TO THE THEORY OF COMPUTATION INTRODUCTION MICHAEL SIPSER, SECOND EDITION 1.
© 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.
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.
Complexity theory and combinatorial optimization Class #2 – 17 th of March …. where we deal with decision problems, finite automata, Turing machines pink.
1 Chapter 1 Automata: the Methods & the Madness Angkor Wat, Cambodia.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
The Recursion Theorem Pages 217– ADVANCED TOPICS IN C O M P U T A B I L I T Y THEORY.
CSCI 2670 Introduction to Theory of Computing Instructor: Shelby Funk.
CS 345: Chapter 8 Noncomputability and Undecidability Or Sometimes You Can’t Get It Done At All.
CSE 311 Foundations of Computing I Lecture 26 Computability: Turing machines, Undecidability of the Halting Problem Spring
Theory of Computation, Feodor F. Dragan, Kent State University 1 TheoryofComputation Spring, 2015 (Feodor F. Dragan) Department of Computer Science Kent.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
THEORY OF COMPUTATION Komate AMPHAWAN 1. 2.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
CSE 311 Foundations of Computing I Lecture 26 Cardinality, Countability & Computability Autumn 2011 CSE 3111.
Computation Motivating questions: What does “computation” mean? What are the similarities and differences between computation in computers and in natural.
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.
CMPT 308 — Computability and Complexity Fall 2004 Instructor: Andrei Bulatov, TA: Ramsay Dyer, Learning.
CSE 311 Foundations of Computing I Lecture 25 Pattern Matching, Cardinality, Computability Spring
Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1 Chapter 0 Introduction Some slides are in courtesy of Prof.
Introduction Why do we study Theory of Computation ?
Lecture 16b Turing Machines Topics: Closure Properties of Context Free Languages Cocke-Younger-Kasimi Parsing Algorithm June 23, 2015 CSCE 355 Foundations.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
MA/CSSE 474 Theory of Computation Universal Turing Machine Church-Turing Thesis (Winter 2016, these slides were also used for Day 33)
Theory of Computational Complexity TA : Junichi Teruyama Iwama lab. D3
Week 14 - Friday.  What did we talk about last time?  Simplifying FSAs  Quotient automata.
Cs3102: Theory of Computation (aka cs302: Discrete Mathematics II) Spring 2010 University of Virginia David Evans.
Fall 2013 Lecture 27: Turing machines and decidability CSE 311: Foundations of Computing.
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).
Introduction to Automata Theory
Chapters 11 and 12 Decision Problems and Undecidability.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
Francisco Antonio Doria
BCS2143 – Theory of Computer Science
Introduction to the Theory of Computation
Why do we study Theory of Computation ?
CIS Automata and Formal Languages – Pei Wang
CSE 105 theory of computation
CS154, Lecture 11: Self Reference, Foundation of Mathematics
CSE 105 theory of computation
Computer Science Department
Introduction to Automata Theory
INTRODUCTION TO THE THEORY OF COMPUTATION
On Kripke’s Alleged Proof of Church-Turing Thesis
CS 583 Fall 2006 Analysis of Algorithms
CS154, Lecture 11: Self Reference, Foundation of Mathematics
CSE 105 theory of computation
Presentation transcript:

Introduction to the Theory of Computation Fall Semester, School of Information, Renmin University of China

Contact Information  Instructor: Dr. Chunlai Zhou( 周春来 )   Office: 203A, Wing Building of Science Complex, Tel:  Office hours: 2-5pm Tuesdays  Meeting Time: 6-8:30pm Tuesdays

Textbook  Michael Sipser: Introduction to the Theory of Computation, second edition, 2006 Supplementary Readings:  J. Hopcroft, R. Motwani and J. Ullman, Introduction to Automata, Languages, and Computation, Third edition, China Machine Press, 2007  C. Baier and J. Katoen, Principles of Model Checking, 2008, MIT Press.

Grading  Biweekly Homework (totally 6, 20%)  Take-home Midterm (20%)  Final Exam (60%) Suggestions:  Preparation: Spend 30 minutes quickly looking at what will be taught before class  Review: Spend 2 hours reading carefully the materials in Textbook after class

Outline of the Course  Automata Theory (7 weeks) With its application on Model Checking  Computability Theory (3 weeks) Mid-term is in the 9th week  Complexity Theory (7 weeks) Prerequisites:  Discrete Mathematics and  basic knowledge of algorithms

If you have taken this course before, you can expect the following new materials:  Application to Model Checking  Connections to foundations of Mathematics  Relations to Cryptography

Goettingen and HER Mathematics Ganseliesel: the landmark of Goettingen David Hilbert and Men of Mathematics

A Brief History: Hilbert ’ s Program  Hilbert ’ s program (from wikipedia)  Axiomatization of all mathematics  Completeness: all true mathematical statements can be proved in the formalism  Consistency: no contradiction can be obtained in the formalism of mathematics  Decidability: there should be an algorithm for deciding the truth or falsity of any mathematical statement “ We must know. We will know ”.

History: Godel ’ s Incomplete Theorems Godel ’ s first incomplete Theorem  no consistent system of axioms whose theorems can be listed by an "effective procedure" (essentially, a computer program) is capable of proving all facts about the natural numbers. However, in 1940 ’ s Tarski showed that the first order theory of the real numbers with addition and multiplication is decidable. In this sense, number theory is more difficult than real analysis to computer scientists.

Goedel ’ s proof  Goedel numbering  Primitive recursive function  Self-reference: Liar Paradox

Goedel and Turing ( ) ( ) Next year is the Turing year!

History: Turing Machine (1936) State... AB C AD Infinite tape with squares containing tape symbols chosen from a finite alphabet Action: based on the state and the tape symbol under the head: change state, rewrite the symbol and move the head one square.

Other Models of Computation  Lambda Calculus (Church) Programming languages  Recursion Theory (Kleene, Rosser) Computable Mathematics  Combinatory Logic (Curry) Type Theory in Programming Languages

Church and Kleene

History: Church-Turing Thesis Intuitive notion = Turing machine of algorithm of Algorithm

History: Automata  Scott & Rabin: Finite Automata and their Decision Problems, 1959  Kleene: Regular languages In a nonderministic machine, several choices may exist for the next state at any point.

A Simple Automata Automatic Door as an automaton closedOpen Rear Both Neither Front Neither Front Rear Both closed Closed open Neither Front Rear Both Closed Open Closed Closed Open Closed Open Open

History: P and NP  Cook-Levin Theorem: SAT is NP- complete. Classify into two kinds of problems:  Those that can be solved efficiently by computers  Those that can be solved in principles, but in practice take so much time that computers are useless for all but very small instances of the problem.

Why Study Automata Theory  Software for designing and checking the behavior of digit circuits  Software for verifying systems of all types that have a finite number of distinct states, such as communication protocols or protocols for secure exchange of information.

Why Study Computability Theory (1)  Halting Problem (Turing): Given a description of a program, decide whether the program finishes running or will continue to run, and thereby run forever. This is equivalent to the problem of deciding, given a program and an input, whether the program will eventually halt when run with that input, or will run forever.

Why Study Computability Theory (2)  Post Correspondence Problem The Post correspondence problem is unsolvable by algorithms.

Why Study Complexity Theory (P) Kruskal Algorithm (Minimal spanning tree problem)

Why Study Complexity Theory (NP) Clique Problem

Why Study Complexity Theory (Application)  Primality Testing and Cryptography There are a number of techniques based on RSA codes that enhance computer security, for which the most common methods in use today rely on the assumption that it is hard to factor numbers, that is, given a composite number, to find its prime factors. Shor ’ s algorithm and Quantum Computation

Classical Theory Algorithm Decidability Efficiency (P vs. NP) decidable efficient inefficient

Strings and Languages  Alphabet: a finite set of symbols,  A string over an alphabet is a finite sequence of symbols from the alphabet  Concatenation: Operations on strings  A language is a set of strings.

Boolean Logic  Boolean operations: negation, conjunction (AND), disjunction (OR)  Equivalent expressions  The distributive laws

Proofs  Usually a mathematical argument consists of definitions, axioms, lemmas, theorems and corollaries  Types of proofs Proof by construction  Chinese Remainder Theorem Proof by contradiction  There exist infinitely many prime numbers. Proof by induction  Integer Induction

Deductive Proofs A deductive proof is a finite sequence of statements satisfying the following condition: each statement is either  a hypothesis or  deducible from several previous statements according to one rule in a finite rule set.

Structural Induction Definition : An expression is defined inductively as follows: 1.Any number or letter is an expression 2.If E and F are expressions, so are E+F. E*F and (E). Theorem: Every expression has an equal number of left and right parentheses.

Welcome to Turing ’ s World