Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 454 Theory of Computation Sonoma State University, Fall 2012 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall.

Similar presentations


Presentation on theme: "CS 454 Theory of Computation Sonoma State University, Fall 2012 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall."— Presentation transcript:

1 CS 454 Theory of Computation Sonoma State University, Fall 2012 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall

2 Lecture 1 Goals: overview (45 minutes) Course overview Field overview Chapter 1 (55 minutes)

3 What is theory of computation? Theory of computation deals with computational models – what they can and can’t do. Computational models: instead of defining it, we will give some examples. Cellular automaton L-system finite automaton

4

5

6 Virtual cities generated using L systems

7 Course overview finite automata DFA, NFA, regular expressions proof of equivalence, algorithms for conversions What can’t be done by FA? DFA minimization context-free languages grammar, pushdown automaton equivalence what can’t be done by cfg’s?

8 Turing machines computability variations of Turing machines reductions, unsolvability other computational models Complexity Theory time complexity NP-completeness Other topics applications (e.g. compilers, image compression, graphics etc.) cryptography, interactive proof systems biologically inspired models of computation

9 9 Why Study Theory of Computation? From Stanford survey (Jeff Ullman)  A survey of Stanford grads 5 years out asked which of their courses did they use in their job.  Basics like CS106 (~ CS 215) took the top spots, of course.  But among optional courses, CS 154 stood remarkably high.  3X the score for AI, for example.

10 10 How Could That Be?  Regular expressions are used in many systems.  E.g., UNIX a.*b.  E.g., DTD's (Document Type Definition) describe XML tags with a RE format like person (name, addr, child*).  Finite automata model protocols, electronic circuits.  Theory is used in model-checking.

11 11 How? – (2)  Context-free grammars are used to describe the syntax of essentially every programming language.  Not to forget their important role in describing natural languages.  And DTD’s taken as a whole, are really CFG’s.

12 12 How? – (3)  When developing solutions to real problems, we often confront the limitations of what software can do.  Undecidable things – no program whatever can do it.  Intractable things – there are programs, but no fast programs.  CS 454 (and CS 415) give you the tools.

13 13 Other aspects of CS 454  We’ll learn how to deal formally with discrete systems.  Proofs: You never really prove a program correct, but you need to be thinking of why a tricky technique really works.  Abstract models are important to design and understand complex software.  Abstract State Machine used to design Microsoft products  State Charts play a key role in software systems.

14 14 Text uHopcroft, Motwani, Ullman, Automata Theory, Languages, and Computation 3 rd Edition. u Goal is to cover roughly ¾ of the book.

15 15 Gradiance Registration  The “class token” for this edition of CS 454 is 7AC0798E u Register it at www.gradiance.com

16 16 Homework  The intent is that everyone will get 100% on all homeworks.  You are allowed to try as many times as you like.  Only the last try counts.  Don’t be afraid to guess and try again.  You’ll get some advice if you make a mistake.


Download ppt "CS 454 Theory of Computation Sonoma State University, Fall 2012 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall."

Similar presentations


Ads by Google