CS 172: Computability and Complexity. Introduction and Course Overview. Sanjit A. Seshia EECS, UC Berkeley

Similar documents
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

CS 154 Introduction to Automata and Complexity Theory

Equivalence of DFAs and NFAs

Automata Theory. Lecture on Discussion Course of CS120. Runzhe SJTU ACM CLASS

Theory of Computation Lecture 1. Dr. Nahla Belal

Minimization of DFAs

CS 154. Finite Automata, Nondeterminism, Regular Expressions

Automata Theory, Computability and Complexity

CS 154, Lecture 2: Finite Automata, Closure Properties Nondeterminism,

Equivalence Checking of Sequential Circuits

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

A Note on Turing Machine Design

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak

CS 208: Automata Theory and Logic

Introduction to the Theory of Computation. Automata 1VO + 1PS. Lecturer: Dr. Ana Sokolova.

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

PROBLEM SET 3: PROOF TECHNIQUES

CMP 309: Automata Theory, Computability and Formal Languages. Adapted from the work of Andrej Bogdanov

CSC236 Week 10. Larry Zhang

Theory of Computation

Lecture 23: Rice Theorem and Turing machine behavior properties 21 April 2009

Adam Blank Spring 2017 CSE 311. Foundations of Computing I. * All slides are a combined effort between previous instructors of the course

CS103 Handout 12 Winter February 4, 2013 Practice Midterm Exam

Turing Machines A Turing Machine is a 7-tuple, (Q, Σ, Γ, δ, q0, qaccept, qreject), where Q, Σ, Γ are all finite

Self-reproducing programs. And Introduction to logic. COS 116, Spring 2012 Adam Finkelstein

Griffith University 3130CIT Theory of Computation (Based on slides by Harald Søndergaard of The University of Melbourne) Turing Machines 9-0

Context-Free Languages

uring Reducibility Dept. of Computer Sc. & Engg., IIT Kharagpur 1 Turing Reducibility

Announcements. Problem Set 1 out. Checkpoint due Monday, September 30. Remaining problems due Friday, October 4.

CSE 105 Theory of Computation Professor Jeanne Ferrante

CSE 105 Homework 3 Due: Monday October 23, Instructions. should be on each page of the submission.

Homework. Staff. Happy and fruitful New Year. Welcome to CSE105. (Happy New Year) שנה טובה. and. Meeting Times

CSCI 150 Discrete Mathematics Homework 5 Solution

CISC 4090: Theory of Computation Chapter 1 Regular Languages. Section 1.1: Finite Automata. What is a computer? Finite automata

CSE 311: Foundations of Computing I. Lecture 1: Propositional Logic

Notes on State Minimization

CS 581: Introduction to the Theory of Computation! Lecture 1!

Introduction to Embedded Systems

CSCI 2670 Introduction to Theory of Computing

Harvard CS 121 and CSCI E-207 Lecture 10: Ambiguity, Pushdown Automata

CSE 105 Homework 1 Due: Monday October 9, Instructions. should be on each page of the submission.

Discrete Mathematics. CS204: Spring, Jong C. Park Computer Science Department KAIST

Lecture 23 : Nondeterministic Finite Automata DRAFT Connection between Regular Expressions and Finite Automata

CS5371 Theory of Computation. Lecture 7: Automata Theory V (CFG, CFL, CNF)

1. Draw a parse tree for the following derivation: S C A C C A b b b b A b b b b B b b b b a A a a b b b b a b a a b b 2. Show on your parse tree u,

Homework. Staff. Happy and fruitful New Year. Welcome to CS105. (Happy New Year) שנה טובה. Meeting Times.

From Greek philosophers to circuits: An introduction to boolean logic. COS 116, Spring 2011 Sanjeev Arora

ECS 120: Theory of Computation UC Davis Phillip Rogaway February 16, Midterm Exam

COM364 Automata Theory Lecture Note 2 - Nondeterminism

CSE 105 THEORY OF COMPUTATION

Regular Languages and Finite Automata

CSE 105 THEORY OF COMPUTATION

1 Two-Way Deterministic Finite Automata

What we have done so far

Finite-State Model Checking

Lecture Notes On THEORY OF COMPUTATION MODULE -1 UNIT - 2

Nonregular Languages

Course Staff. Textbook

Lecture 13: Sequential Circuits, FSM

Computational Models #1

S C F F F T T F T T S C B F F F F F T F T F F T T T F F T F T T T F T T T

Ph2b Quiz - 2. Instructions

COS 341 Discrete Mathematics

Compositional Reasoning

Announcements. Problem Set 6 due next Monday, February 25, at 12:50PM. Midterm graded, will be returned at end of lecture.

CS 154, Lecture 3: DFA NFA, Regular Expressions

computability and complexity theory

Math 110 (Fall 2018) Midterm II (Monday October 29, 12:10-1:00)

Automata Theory and Formal Grammars: Lecture 1

Computational Models: Class 3

GEETANJALI INSTITUTE OF TECHNICAL STUDIES, UDAIPUR I

Math/EECS 1028M: Discrete Mathematics for Engineers Winter Suprakash Datta

Deterministic Finite Automata

Formal Definition of Computation. August 28, 2013

Name: Student ID: Instructions:

CpSc 421 Homework 9 Solution

CS70: Discrete Math and Probability. Slides adopted from Satish Rao, CS70 Spring 2016 June 20, 2016

CSE 105 THEORY OF COMPUTATION

Sanjit A. Seshia EECS, UC Berkeley

CpE358/CS381. Switching Theory and Logical Design. Summer

CSci 311, Models of Computation Chapter 4 Properties of Regular Languages

Introduction to Embedded Systems

Lecture 13: Sequential Circuits, FSM

Math.3336: Discrete Mathematics. Combinatorics: Basics of Counting

Properties of Regular Languages. Wen-Guey Tzeng Department of Computer Science National Chiao Tung University

CSE 20. Lecture 4: Introduction to Boolean algebra. CSE 20: Lecture4

CPE100: Digital Logic Design I

CS:4330 Theory of Computation Spring Regular Languages. Finite Automata and Regular Expressions. Haniel Barbosa

Computational Models - Lecture 3 1

Math.3336: Discrete Mathematics. Cardinality of Sets

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP

Lecture 4: More on Regexps, Non-Regular Languages

Mathematical Logic Part One

Umans Complexity Theory Lectures

Introduction to the Theory of Computing

Computational Models - Lecture 4 1

Join. Visit us at the HMC club fair and the 5c turf dinner. Company sponsored tech talks and events Resume Workshops / Interview Prep

Transcription:

CS 72: Computability and Complexity Introduction and Course Overview Sanjit A. Seshia EECS, UC Berkeley Acknowledgments: L.von Ahn, L. Blum, M. Blum, R. Jhala A Problem Suppose A {, 2,, 2n} with A = n+ TRUE or FALSE: There are always two numbers in A such that one divides the other (work out the answer with proof) S. A. Seshia 2

What we ll do today Introduction to course staff and students Motivation Course logistics Basics of proof and finite automata A quick survey at the end of class Pick up course information handout survey form S. A. Seshia 3 Assistant Professor, EECS, UC Berkeley Office: 566 Cory About Me B.Tech., Computer Sc. & Engg., IIT Bombay M.S. & Ph.D., Computer Science, Carnegie Mellon University, Pittsburgh S. A. Seshia 4 2

My Research + Theory Computational Logic, Algorithms Practice CAD for VLSI, Computer Security, Embedded Systems, Dependability Example: Fast satisfiability (SAT) solving used to build a better virus/worm detector S. A. Seshia 5 Class Introductions Introduction to Omid Etesami (your GSI) and the rest of you S. A. Seshia 6 3

A 3-Question Course Automata Theory: What are the mathematical models of computation? Computability Theory: What problems can(not) computers solve? Complexity Theory: What makes some problems computationally hard and others easy? S. A. Seshia 7 More Succinctly This course is about models of computation and the limits of computation S. A. Seshia 8 4

More Succinctly This course is about models of computation and the limits of computation WHY SHOULD WE CARE? S. A. Seshia 9 Motivation for this Course Relevant for practical applications Foundation for theoretical work It s fun! S. A. Seshia 0 5

S. A. Seshia Model: Free Body Diagram Why build a model? S. A. Seshia 2 6

Model: Free Body Diagram Analyzing a model helps us build reliable bridges, in a cost-effective & timely way Why not do the same for computers? S. A. Seshia 3 Programs and Pushdown Automata Sequential (single-threaded) programs can be mathematically modeled as pushdown automata E.g., Microsoft s Static Driver Verifier searches for bugs in device driver code after creating a pushdown automaton model of the program S. A. Seshia 4 7

Programs and Pushdown Automata Variants of pushdown automata are even used in modeling structure of RNA! This course is not just about computers, it s about computation! S. A. Seshia 5 Analyzing correctness of computers is hard! Limits of computation S. A. Seshia 6 8

Theoretically Useful Mathematical models of computation give us systematic ways to think about computers Independent of how they are implemented So the results long outlast the specific machines (anybody remember VAX machines? 486-based PCs running Windows 95?) S. A. Seshia 7 Course Logistics The course webpage is the definitive source of information www.eecs.berkeley.edu/~sseshia/72/ We ll also use bspace required textbook 3 other references All 4 under reserve in Engineering library S. A. Seshia 8 9

Grading & Policies 0 homeworks: 30% weightage 2 mid-terms: 20% each final: 30% Homeworks assigned approx. weekly, due in class/drop-box First homework out next Monday No late homeworks Must list collaborators and references Important! See webpage for course policies S. A. Seshia 9 Back to the Problem Suppose A {, 2,, 2n} with A = n+ TRUE or FALSE: There are always two numbers in A such that one divides the other TRUE S. A. Seshia 20 0

Got Proof? Hint #: the Pigeonhole Principle If you put 4 pigeons in 3 holes, at least one hole will contain > pigeon Hint #2: Every integer a can be written as a = 2 k m, where m is an odd number S. A. Seshia 2 Suppose A {, 2,, 2n} with A = n+ Write every number in A as a = 2 k m, where m is an odd number between and 2n- How many odd numbers in {,, 2n-}? n Since A = n+, there must be two numbers in A with the same odd part (pigeonhole) Say a and a 2 have the same odd part m. Then a = 2 i m and a 2 = 2 j m, so one must divide the other S. A. Seshia 22

This class will emphasize PROOFS A good proof should be: Easy to understand Correct S. A. Seshia 23 3-Level Proofs Recommendation: Organize your proofs into 3 levels:. A one-phrase HINT E.g., proof by contradiction, the pigeonhole principle, etc. 2. A brief one-paragraph PROOF SKETCH 3. The complete proof This will help you with the proof and also to get partial credit for your approach, even if you get some details wrong S. A. Seshia 24 2

Double Standards? During lectures, my proofs might only have the first two levels There s a lot to cover in each class I have to keep you awake I KNOW that my proofs are correct S. A. Seshia 25 More on Proofs & Background Read Sipser, Chapter 0 S. A. Seshia 26 3

Introduction to Finite Automata (Finite State Machines) S. A. Seshia 27 0 0, 0 0 0 The machine accepts a string if the process ends in a double circle S. A. Seshia 28 4

Terminology accept/final states, F 0 0, start state q 0 0 0 transitions states, Q S. A. Seshia 29 A finite automaton is a 5-tuple M = (Q, Σ, δ, q 0, F) Q is the set of states Σ is the alphabet δ : Q Σ Q is the transition function q 0 Q is the start state F Q is the set of accept states L(M) = the language of machine M = set of all strings machine M accepts S. A. Seshia 30 5

0 q 0, q 0 q 2 M = (Q, Σ, δ, q 0, F) What are.q 2. F 3.Σ 4. δ 0 q 3 0 S. A. Seshia 3 Applications of Finite Automata String matching Modeling sequential digital circuits Embedded controllers in your car S. A. Seshia 32 6

Next Steps Read Sipser. in preparation for next lecture S. A. Seshia 33 7