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

Slides:



Advertisements
Similar presentations
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.
Advertisements

Recap CS605: The Mathematics and Theory of Computer Science.
January 5, 2015CS21 Lecture 11 CS21 Decidability and Tractability Lecture 1 January 5, 2015.
Applied Computer Science II Chapter 2 : Context-free languages Prof. Dr. Luc De Raedt Institut für Informatik Albert-Ludwigs Universität Freiburg Germany.
1 Welcome to CS154 Why Study Automata? What the Course is About Administrivia.
Fall 2005Costas Busch - RPI1 CSCI-2400 Models of Computation.
UMass Lowell Computer Science Foundations of Computer Science Prof. Karen Daniels Fall, 2009 Lecture 1 Introduction/Overview Th. 9/3/2009.
CS 330 Programming Languages 09 / 18 / 2007 Instructor: Michael Eckmann.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture 1 Introduction Jan Maluszynski, IDA, 2007
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2009 with acknowledgement.
January 12, Compiler Design Hongwei Xi Comp. Sci. Dept. Boston University.
January 19, Compiler Design Hongwei Xi Comp. Sci. Dept. Boston University.
CS 490: Automata and Language Theory Daniel Firpo Spring 2003.
CS311 Automata and Complexity Theory. Admistrative Stuff Instructor: Shahab Baqai Room # 428, Ext 4428 Lectures:Mon & Wed 1530 – 1710.
CS 454 Theory of Computation Sonoma State University, Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Original slides by Vahid and.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Complexity and Computability Theory I Lecture #13 Instructor: Rina Zviel-Girshin Lea Epstein Yael Moses.
Introduction to the Theory of Computation
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
Lei Bu Preliminary Introduction to the Theory of Computation.
CS355 – Theory of Computation Dr. Aidan Mooney, September 2006 National University of Ireland, Maynooth Department of Computer Science.
Introduction to the Theory of Computation
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
CS 390 Introduction to Theoretical Computer Science.
© M. Winter COSC/MATH 4P61 - Theory of Computation COSC/MATH 4P61 Theory of Computation Michael Winter –office: J323 –office hours: Mon & Fri, 10:00am-noon.
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
Welcome to Honors Intro to CS Theory Introduction to CS Theory (Honors & Traditional): - formalization of computation - various models of computation (increasing.
CS 461 – Sept. 19 Last word on finite automata… –Scanning tokens in a compiler –How do we implement a “state” ? Chapter 2 introduces the 2 nd model of.
Saeid Pashzadeh Jan 2009 Theory of Computation 1.
CSC312 Automata Theory Lecture # 1 Introduction.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades.
1 Welcome to Automata Theory Course Why Study Automata? What the Course is About.
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2010 with acknowledgement.
Finite Automata Chapter 1. Automatic Door Example Top View.
CS130: Theory of Computation An introductory course on the theory of automata and formal languages: models of machines, languages and grammars, relationship.
CES 512 Theory of Software Systems B. Ravikumar (Ravi) Office: 141 Darwin Hall Course Web site:
CES 592 Theory of Software Systems B. Ravikumar (Ravi) Office: 124 Darwin Hall.
CSCI 2670 Introduction to Theory of Computing October 13, 2005.
Why Study Automata? What the Course is About Administrivia 1 Welcome to CSE309.
1 Course Overview Why this course “formal languages and automata theory?” What do computers really do? What are the practical benefits/application of formal.
CSCI 3130: Formal languages and automata theory Andrej Bogdanov The Chinese University of Hong Kong Decidable.
CS 154 Formal Languages and Computability May 12 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron Mak.
Computation Theory Asia Mahdi. Textbooks Programs, Machines and Computation: An Introduction to the Theory of Computing - Authors: Keith Clark and Don.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
Introduction to Automata Theory
Theory of Computation. Introduction We study this course in order to answer the following questions: What are the fundamental capabilities and limitations.
Review : Theory of Computation. Regular Language and Finite Automata Context-free Language and Pushdown Automata Turing Machine and Recursive Enumerable.
Formal Languages and Automata Theory
Why Study Automata Theory and Formal Languages?
Formal Foundations-II [Theory of Automata]
Welcome to Automata Theory Course
Why Study Automata? What the Course is About Administrivia
Preliminary Introduction to the Theory of Computation
CS-300 Theory of Computation 2nd Sem 2017 Lecture 1.
Welcome to Automata Theory Course
Review : Theory of Computation
CSE 105 theory of computation
Principles of Computing – UFCFA Lecture-1
Compiler Lecture 1 CS510.
Intro to Theory of Computation
Preliminary Introduction to the Theory of Computation
CSE322 Minimization of finite Automaton & REGULAR LANGUAGES
Welcome to the Automata Theory Course
Preliminary Introduction to the Theory of Computation
Principles of Computing – UFCFA Week 1
Teori Bahasa dan Automata Lecture 6: Regular Expression
Sofya Raskhodnikova; Intro Theory of Computation
Preliminary Introduction to the Theory of Computation
Presentation transcript:

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

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

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

Virtual cities generated using L systems

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?

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 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 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 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 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 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 Text uHopcroft, Motwani, Ullman, Automata Theory, Languages, and Computation 3 rd Edition. u Goal is to cover roughly ¾ of the book.

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

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.