1 / 8

Welcome to Honors Intro to CS Theory

This course delves into formalization of computation, various models, and problem-solving skills irrespective of technology. Dive into Automata Theory, Computability Theory, & Complexity Theory with strong math background. Navigate through strings, languages, & operations in computation.

dshepherd
Download Presentation

Welcome to Honors Intro to CS Theory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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, succintly, and correctly

  2. 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! )

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

  4. [Chapter 0] Strings and Languages 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. w1 = 00101 over §1, w2 = 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 ε.

  5. [Chapter 0] Strings and Languages • Operations on strings (let w = w1w2…wn): • reverse: wR = wnwn-1…w1 • substring: wiwi+1…wj • concatenation of w with a string z = z1z2…zm: • wz = w1w2…wnz1z2…zm • wk 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,…

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

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

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

More Related