Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.

Slides:



Advertisements
Similar presentations
Formal Languages Languages: English, Spanish,... PASCAL, C,... Problem: How do we define a language? i.e. what sentences belong to a language? e.g.Large.
Advertisements

CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Lecture 24 MAS 714 Hartmut Klauck
Erik Jonsson School of Engineering and Computer Science CS 4384 – 001
Regular operations Sipser 1.2 (pages 47-63). First… a sample proof Latex files on ella.
NFAs Sipser 1.2 (pages 47–54). CS 311 Fall Recall… Last time we showed that the class of regular languages is closed under: –Complement –Union.
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.
NFAs Sipser 1.2 (pages 47–54). CS 311 Mount Holyoke College 2 Recall… Last time we showed that the class of regular languages is closed under: –Complement.
Regular operations Sipser 1.2 (pages 47-63). First… a sample proof
Intro to DFAs Readings: Sipser 1.1 (pages 31-44) With basic background from Sipser 0.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CS 310 – Fall 2006 Pacific University CS310 Strings, String Operators, and Languages Sections: August 30, 2006.
UMass Lowell Computer Science Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
Topics Automata Theory Grammars and Languages Complexities
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Lecture 1 String and Language. String string is a finite sequence of symbols. For example, string ( s, t, r, i, n, g) CS4384 ( C, S, 4, 3, 8) (1,
Regular Languages A language is regular over  if it can be built from ;, {  }, and { a } for every a 2 , using operators union ( [ ), concatenation.
Introduction to CS Theory Lecture 1 – Introduction Piotr Faliszewski
Language Recognizer Connecting Type 3 languages and Finite State Automata Copyright © – Curt Hill.
1 Introduction to Automata Theory Reading: Chapter 1.
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.
CS/IT 138 THEORY OF COMPUTATION Chapter 1 Introduction to the Theory of Computation.
CSC312 Automata Theory Lecture # 2 Languages.
CSC312 Automata Theory Lecture # 2 Languages.
1 Chapter 1 Automata: the Methods & the Madness Angkor Wat, Cambodia.
Introduction to Theory of Automata
1 Strings and Languages. 2 Review Sets and sequences Functions and relations Graphs Boolean logic:      Proof techniques: – Construction, Contradiction,
By: Er. Sukhwinder kaur.  What is Automata Theory? What is Automata Theory?  Alphabet and Strings Alphabet and Strings  Empty String Empty String 
Introduction to CS Theory Lecture 3 – Regular Languages Piotr Faliszewski
1 INFO 2950 Prof. Carla Gomes Module Modeling Computation: Language Recognition Rosen, Chapter 12.4.
1 Chapter 1 Introduction to the Theory of Computation.
Languages, Grammars, and Regular Expressions Chuck Cusack Based partly on Chapter 11 of “Discrete Mathematics and its Applications,” 5 th edition, by Kenneth.
1 Introduction to Regular Expressions EELS Meeting, Dec Tom Horton Dept. of Computer Science Univ. of Virginia
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
1 Exercise: Prove that the set S = { π : π is a permutation of {1, 2, 3, …, n} for some integer n ≥ 1 } is countable.
Strings and Languages CS 130: Theory of Computation HMU textbook, Chapter 1 (Sec 1.5)
Specifying Languages Our aim is to be able to specify languages for use in the computer. The sketch of an FSA is easy for us to understand, but difficult.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
August 23, 2005 CSCI 2670 Introduction to Theory of Computing August 23, 2005.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Lecture 2 Overview Topics What I forgot from last lecture Proof techniques continued Alphabets, strings, languages Automata June 2, 2015 CSCE 355 Foundations.
Theory of computation Introduction theory of computation: It comprises the fundamental mathematical properties of computer hardware, software,
Introduction Why do we study Theory of Computation ?
Introduction Why do we study Theory of Computation ?
C Sc 132 Computing Theory Professor Meiliu Lu Computer Science Department.
 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.
CSE 202 – Formal Languages and Automata Theory 1 REGULAR EXPRESSION.
1 Let S = { π : π is a permutation of {1, 2, 3, …, n} for some integer n ≥ 1 }. (a) List the elements of S for n= 1, 2, and 3. (b) Prove that the set S.
Introduction Why do we study Theory of Computation ?
Introduction to Automata Theory
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Theory of Computation Automata Theory Dr. Ayman Srour.
Deterministic Finite-State Machine (or Deterministic Finite Automaton) A DFA is a 5-tuple, (S, Σ, T, s, A), consisting of: S: a finite set of states Σ:
Alphabet, String, Language. 2 Alphabet and Strings An alphabet is a finite, non-empty set of symbols. –Denoted by  –{ 0, 1 } is a binary alphabet. –{
Formal Language & Automata Theory
Introduction to the Theory of Computation
Why do we study Theory of Computation ?
CIS Automata and Formal Languages – Pei Wang
Formal Language Theory
Why do we study Theory of Computation ?
Introduction Reading: Sections 1.5 – 1.7.
Chapter 1 Introduction to the Theory of Computation
CSC312 Automata Theory Lecture # 2 Languages.
Languages Fall 2018.
CSCE 355 Foundations of Computation
Terminology and Symbols
Presentation transcript:

Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing difficulty/power) - what can / cannot be done ? Why a theory course ? - relevant to practice (grammars for programming languages, finite automata & regular expressions for pattern matching of strings, NP-completeness to determine required time complexity – e.g. for cryptography) - problem solving skills independent of current technology (specific programming languages, etc.), ability to express ideas clearly, succinctly, and correctly

Welcome to Honors Intro to CS Theory Honors vs. Traditional Intro to CS Theory - Book: M. Sipser, Introduction to the Theory of Computation - faster speed through introductory topics and simpler models, more time for advanced topics (decidability, complexity) - more challenging and non-traditional homeworks Honors vs. Traditional Intro to CS Theory - Book: M. Sipser, Introduction to the Theory of Computation - faster speed through introductory topics and simpler models, more time for advanced topics (decidability, complexity) - more challenging and non-traditional homeworks You should: - be very comfortable with discrete math - have fun (a course full of puzzles! )

Introduction Automata Theory – mathematical models of computation Computability Theory – what can be computed ? Complexity Theory – which problems are computationally hard / easy ? [Chapter 0] Need math background - review Chapter 0 - discrete math quiz next class

Strings and Languages [Chapter 0] Alphabet – non-empty finite set of symbols, typically denoted by § or ¡, e.g. § 1 = { 0,1 }, § 2 = { a,b,c,d }, ¡ = { #,$,0,1,2 } String over an alphabet – a finite sequence of symbols from the alphabet, e.g. w 1 = over § 1, w 2 = badcab over § 2 The length of a string w over § (the number of symbols in w) is denoted |w|. The string with no symbols is called the empty string and denoted ε.

Strings and Languages [Chapter 0] Operations on strings (let w = w 1 w 2 …w n ): - reverse: w R = w n w n-1 …w 1 - substring: w i w i+1 …w j - concatenation of w with a string z = z 1 z 2 …z m : wz = w 1 w 2 …w n z 1 z 2 …z m - w k means concatenation of k copies of w - lexicographic ordering of strings: first by length, then “alphabetically,” e.g for § = {0,1}: ε,0,1,00,01,10,11,000,…

Strings and Languages [Chapter 0] Language: a set of strings over an alphabet §, e.g. { a, ab, bab }, ;, { ε }, { w over {0,1} | w contains more 1’s than 0’s } Operations on languages: - typical set operations: [, Å, etc. - concatenation: L 1.L 2 = { w 1 w 2 | w 1 2 L 1, w 2 2 L 2 } - Kleene’s star: L * = [ k=0… 1 L k - reverse: L R = { w R | w 2 L } Note: a language: L µ § * [throughout the book, e.g. page 44]