INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.

Slides:



Advertisements
Similar presentations
Recognising Languages We will tackle the problem of defining languages by considering how we could recognise them. Problem: Is there a method of recognising.
Advertisements

CS 3240: Languages and Computation
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
8/27/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 2 Theory of Computation Finite Automata Operations on languages Nondeterminism L2.1.
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.
Deterministic Finite Automata (DFA)
1 Welcome to CS105 and Happy and fruitful New Year שנה טובה (Happy New Year)
Finite Automata Section 1.1 CSC 4170 Theory of Computation.
CS21 Decidability and Tractability
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
Intro to DFAs Readings: Sipser 1.1 (pages 31-44) With basic background from Sipser 0.
Introduction to Computability Theory
Intro to DFAs Readings: Sipser 1.1 (pages 31-44) With basic background from Sipser 0.
CS5371 Theory of Computation
CS5371 Theory of Computation
CS 302: Discrete Math II A Review. An alphabet Σ is a finite set (e.g., Σ = {0,1}) A string over Σ is a finite-length sequence of elements of Σ For x.
Finite Automata Finite-state machine with no output. FA consists of States, Transitions between states FA is a 5-tuple Example! A string x is recognized.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
1 Languages and Finite Automata or how to talk to machines...
CS5371 Theory of Computation Lecture 1: Mathematics Review I (Basic Terminology)
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
Introduction to the Theory of Computation John Paxton Montana State University Summer 2003.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
FSA Lecture 1 Finite State Machines. Creating a Automaton  Given a language L over an alphabet , design a deterministic finite automaton (DFA) M such.
Topics Automata Theory Grammars and Languages Complexities
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
Nondeterminism (Deterministic) FA required for every state q and every symbol  of the alphabet to have exactly one arrow out of q labeled . What happens.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
Great Theoretical Ideas in Computer Science.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 7 Mälardalen University 2010.
Lecture 23: Finite State Machines with no Outputs Acceptors & Recognizers.
CSCI 2670 Introduction to Theory of Computing August 24, 2005.
AUTOMATA THEORY Reference Introduction to Automata Theory Languages and Computation Hopcraft, Ullman and Motwani.
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
Theory of Computation - Lecture 3 Regular Languages What is a computer? Complicated, we need idealized computer for managing mathematical theories... Hence:
Athasit Surarerks THEORY OF COMPUTATION 07 NON-DETERMINISTIC FINITE AUTOMATA 1.
Great Theoretical Ideas in Computer Science.
Languages Given an alphabet , we can make a word or string by concatenating the letters of . Concatenation of “x” and “y” is “xy” Typical example: 
Solution Exercise 1.43 a A r r s q q > b b e b s’ q r q’ b r’ a A’
CSCI 2670 Introduction to Theory of Computing August 25, 2005.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
CS 203: Introduction to Formal Languages and Automata
Deterministic Finite Automata COMPSCI 102 Lecture 2.
1 Pushdown Automata There are context-free languages that are not regular. Finite automata cannot recognize all context-free languages.
August 23, 2005 CSCI 2670 Introduction to Theory of Computing August 23, 2005.
The decidability of Presburger Arithmetic By Guillermo Guillen 04/13/05 Dr. Smith COT 6421 FIU Spring 2005.
Finite State Machines 1.Finite state machines with output 2.Finite state machines with no output 3.DFA 4.NDFA.
Modeling Computation: Finite State Machines without Output
Lecture 2 Overview Topics What I forgot from last lecture Proof techniques continued Alphabets, strings, languages Automata June 2, 2015 CSCE 355 Foundations.
Lecture Notes 
Great Theoretical Ideas in Computer Science for Some.
Finite Automata Great Theoretical Ideas In Computer Science Victor Adamchik Danny Sleator CS Spring 2010 Lecture 20Mar 30, 2010Carnegie Mellon.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
 2004 SDU Lecture4 Regular Expressions.  2004 SDU 2 Regular expressions A third way to view regular languages. Say that R is a regular expression if.
1 Finite Automata. 2 Introductory Example An automaton that accepts all legal Pascal identifiers: Letter Digit Letter or Digit "yes" "no" 2.
Theory of Computation Automata Theory Dr. Ayman Srour.
CSCI 2670 Introduction to Theory of Computing
Lecture2 Regular Language
CIS Automata and Formal Languages – Pei Wang
CSE 105 theory of computation
Nondeterministic Finite Automata
THEORY OF COMPUTATION Lecture One: Automata Theory Automata Theory.
CSE 2001: Introduction to Theory of Computation Fall 2009
Great Theoretical Ideas in Computer Science
CSC 4170 Theory of Computation Finite Automata Section 1.1.
CSE 105 theory of computation
CSCE 355 Foundations of Computation
CSE 105 theory of computation
Presentation transcript:

INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011

Dr. Nick COURSE STAFF Nick Hopper Sean Kim Saloni Srivastava

This class uses mathematical models to think about the limitations of computers

WHY SHOULD I CARE? THIS STUFF IS USEFUL PART 1 Automata and Languages PART 2 Computability Theory PART 3 Complexity Theory

cs4011.org

GRADING HOMEWORKS – 20% GROUP WORK – 5% QUIZZES – 25% MIDTERM I – 15% MIDTERM II – 15% FINAL – 20%

HOMEWORK Every Tuesday: Homework will be due at the start of lecture. New Homework will be posted on the web. You must list all references used in every homework assignment Each Homework is 3 questions. Extra Credit only counts if score ≥ 7/10 Lowest HW score dropped.

GROUP WORK Each group will complete a problem set in recitation. All group members should contribute to the solution.

QUIZZES 6 QUIZZES: In Friday Sections Graded out of 10, lowest score dropped. MUST SCORE 30/50 TO PASS!

This class will emphasize PROOFS A good proof should be: Easy to understand Correct

We expect your proofs to have three levels: The first level should be a one-word or one- phrase “hint” of the proof (e.g. “Proof by contradiction,” “Follows from the pigeonhole principle”) The second level should be a short one- paragraph description or “longer hint” The third level should be the full proof

DETERMINISTIC FINITE AUTOMATA

0 0, The program accepts a string if the process ends in a double circle

0 0, The program accepts a string if the process ends in a double circle ANATOMY OF A DETERMINISTIC FINITE AUTOMATON states q0q0 q1q1 q2q2 q3q3 start state (q 0 ) accept states (F)

An alphabet Σ is a finite set (e.g., Σ = {0,1}) A string over Σ is a finite-length sequence of elements of Σ For x a string, |x| isthe length of x The unique string of length 0 will be denoted by ε and will be called the empty or null string NOTATION A language over Σ is a set of strings over Σ

COMPUTING OUTPUT FROM INPUT CALCULATING A FUNCTION OF A STRING DECIDING IF A STRING IS IN A SET ⇔ ⇔

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 A finite automaton is a 5-tuple M = (Q, Σ, , q 0, F) L(M)= the language of machine M = set of all strings machine M accepts We say M recognizes the language L(M).

0,1 q0q0 L(M) = {w | w is a string}  q0q0 L(M) ={ε}{ε} 0,1 q1q1

q0q0 q1q L(M) = { w | w has an even number of 1s}

qq q0q0 q ,1 Build an automaton that accepts all and only those strings that contain 001

A language is regular if it is recognized by a deterministic finite automaton L = { w | w contains 001} is regular L = { w | w has an even number of 1s} is regular

Many interesting programs accept regular languages NETWORK PROTOCOLS COMPILERS GENETIC TESTING ARITHMETIC

INTERNET TRANSMISSION CONTROL PROTOCOL Let TCPS = { w | w is a complete TCP Session} Theorem. TCPS is regular

COMPILERS COMMENTS : Are delimited by /* */ Cannot have NESTED /* */ Must be CLOSED by */ */ is ILLEGAL outside a comment COMMENTS = {strings with legal comments} Theorem. COMMENTS is regular.

GENETIC TESTING DNA SEQUENCES are strings over the alphabet {A,C,G,T} GENES are special substrings A GENETIC TEST searches a DNA SEQUENCE for a GENE Theorem. Every GENETIC TEST is regular.

ARITHMETIC Let  3 = A string over  3 has three ROWS Each ROW b 0 b 1 b 2 …b N represents the integer b 0 + 2b 1 + … + 2 N b N. Let ADD = {S | ROW 3 = ROW 1 + ROW 2 } Theorem. ADD is regular. { [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ]}

cs4011.org