1 welcome to cpts 317 background course outline textbook syllabus (see class web site to important...

18
1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

Upload: elmer-clark

Post on 19-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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 CptS 317Background

Course OutlineTextbookSyllabus

(see class web site to important information on disabilities, cheating

and safety)Grades

Page 2: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

Nuts and Bolts

2

CptS 317Automata Theory, Languages and

ComputationFall 2014

Instructor: John Miller, West [email protected]

Class web page can be found athttp://www/tricity.wsu.edu/~jhmiller

Page 3: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

3

Background

In 1930s A.Turing studied abstract machines (Turing machine) with properties like modern computers.

His objective was to discover what computers could and could not do.

This subject now called “deciability” If problem can be solved by

computer, it is “decidable”

Page 4: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

4

Background (2) In 40s and 50s, simple machines

called “finite automata” were studied as models of brain function.

Although not good brain models, they turned out to be useful for other reasons.

In 1950s, N. Chomsky introduced the concept of “grammars” that is closely related to finite automata.

Page 5: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

5

Background (3)

In 1969 S. Cook extended Turing work. He devised ways to separate computer

problems into those that could be solved efficiently (tractable) from those that took so much time that computers are useless (intractable or NP-hard).

CptS 317 is about these classical issues in the theory of computing.

Page 6: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

6

Course Outline

Regular Languages and their descriptors: Finite automata, nondeterministic

finite automata, regular expressions. Algorithms to decide questions about

regular languages, e.g., is it empty? Closure properties of regular

languages.

Page 7: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

7

Course Outline – (2)

Context-free languages and their descriptors: Context-free grammars, pushdown

automata. Decision and closure properties.

Page 8: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

8

Course Outline – (3)

Recursive and recursively enumerable languages. Turing machines, decidability of

problems. The limit of what can be computed.

Intractable problems. Problems that (appear to) require

exponential time. NP-completeness and beyond.

Page 9: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

9

Text

Introduction to Automata Theory, Languages, and Computation 3rd Edition, Hopcroft, Motwani, Ullman,

Page 10: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

10

Likely course content

Chapter 1: IntroductionChapter 2: Finite AutomataChapter 3: Regular Expressions and LanguagesChapter 4: Properties of Regular LanguagesMidterm examChapter 5: Context-Free Grammars and LanguagesChapter 6: Pushdown AutomataChapter 7: Properties of Context-Free LanguagesChapter 8: Introduction to Turing MachinesFinal exam

Page 11: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

11

Grades

Homework 25% Weekly quizzes 25%: Midterm exam 25% Final exam 25%

Page 12: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

12

Comments About Homework The intent is that everyone will get

homework 100% correct. 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.

Page 13: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

13

Quizzes: when and why

End of class on Fridays Questions about the material covered in

during that week Open textbook and lecture slides

Reward students who come to class, read text and review lecture slides

Page 14: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

14

Why Study Automata?

Finite automata are models for protocols, electronic circuits, etc.

Regular expressions are essential for all types of computing

Context-free grammars are used to describe the syntax of almost every programming language.

Page 15: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

15

Why? – (2) When developing solutions to real

problems, we often confront the limitations of what software can do. Undecidable things no program can

do Intractable things programs can do

but but no fast programs exist.

Page 16: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

16

Practical Application

“Intractable” problems should not be addressed “head on” (i.e. write code based on rigorous step-by-step method)

Look for an approximate method Try “heuristic” approach (likely to

give the correct answer by no guarantee)

Page 17: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

17

Page 18: 1 Welcome to CptS 317 Background Course Outline Textbook Syllabus (see class web site to important information on disabilities, cheating and safety) Grades

18

Gradiance Problems The “class token” is 8E58F2FF. Register it at www.gradiance.com/service See Texts p35 for discussion and 1st set of

problems Pearson no longer supports Gradiance Jeffery Ullman offers service free of charge Find Ullman’s online course at

infolab.stanford.edu/~ullman/ialc.html My lecture slides were developed from his