Course Policies - Computability - Lecture Slide, Slides of Computer Science

Some concepts of Computability are Algorithmic Problems, Automata, Closure of Regular Languages, Computability, Free Languages, Machine Transforms, Magic Bullets, Minimization, Models of Computation, Nondeterministic Complexity. Important points in this lecture are: Course Policies, Explaining Required, Syllabus, Available Online, Lectures And Notes, Black-Board Work, General Concepts, Specific Examples, E-Podium Camera, Extra Board-Work

Typology: Slides

2012/2013

Uploaded on 04/25/2013

rajnikanth
rajnikanth 🇮🇳

4.3

(32)

135 documents

1 / 17

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Computability
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

Download Course Policies - Computability - Lecture Slide and more Slides Computer Science in PDF only on Docsity!

Computability

Course Policies, Schedule,

Syllabus

Go over handout explaining required

text, overview of course, grading

breakdown, policies, etc.

All available from course homepage:

All homework, and most other material

will be available online

Course Thematic Overview

We’ll explore some theoretical models of

computation, which are closely related

to actual computers in every day use.

Three viewpoints are encountered

1. Automata Theory

2. Grammars

3. Algorithms

AutomataTheory

This is the study of abstract computing devices

or machines. Various models are studied with different abilities and limitations on their capabilities.

GOAL: Describe precisely the computational

power of each machine. E.G., can a computer answer the same computational questions if its hard-drive is removed?

Grammars

GOAL: Can we automate the process of

finding syntactic errors by magically transforming any grammatical specification to a computer or computer program? If so, which of the computer models studied in Automata Theory is suitable for the purpose?

Algorithms

The last major theme focuses on

algorithmic problems which computer

scientists encounter (such as adding

numbers together), as opposed to the

computer which solves them (Automata

Theory) or the means by which they are

described (Grammars).

Formal Languages

Formal languages will act as the glue that unifies the treatment of all three perspectives.

Pre-definition: A formal language is a set consisting of strings.

 In some sense, one can think of English as consisting of all valid English words {a, aback, abacus, abaft, abandon, … }  Probably more accurate to think of English as consisting of valid English sentences.  Java is the set of all compiling Java programs.

Formal Languages

Automata theory: Computers are defined to

act purely on strings and therefore define

certain languages.

Grammars: Grammars generate languages by

admitting a subset of all possible strings.

( most natural )

Algorithms: Instances of algorithmic problems

are viewed as strings by identifying them with

their description. ( least natural )

Chomsky Hierarchy

All

REC = computed by TM

Context Free = computed by PDA

Regular = computed by FA

Finite languages

Theory vs. Practice

This is a true theory course

 No programming – except for simple tools like egrep  Definition/Example/Theorem/Proof style – to a point  All the objects studied are mathematical in nature

The last theory course required of all.

Theory vs. Practice

But what’s the practical value?

 This course has many practical applications  Some portions are less applicable (e.g. Turing Machines) but are of fundamental importance and form a common language across all disciplines of CS.

Practical Applications

Pattern recognition, intrusion detection, software engineering (UML), GUI programming (event-listeners), network security (protocols), verification (discovering bugs in chips), natural language processing (Amtrak reservation system), computational genomics (DNA sequencing), compilers, document definitions (XML), and many many more.

For the most part, we won’t delve too far into the practical applications.