Loading in 5 sec....

Computability COMS 3261PowerPoint Presentation

Computability COMS 3261

- 248 Views
- Updated On :

Computability COMS 3261. Agenda . Tuesday, 9/4/2001 Today : Introduction to the course policies, expectations and the subject matter For next time: Read chapter 0 Do review problems “problem set 0” not to hand in. Instructor: Zeph Grunschlag, Instructor TA’s: Ayesha Abdul-Quader

Related searches for Computability COMS 3261

Download Presentation
## PowerPoint Slideshow about 'Computability COMS 3261' - JasminFlorian

**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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### ComputabilityCOMS 3261

Agenda

Tuesday, 9/4/2001

- Today: Introduction to the course policies, expectations and the subject matter
- For next time:
- Read chapter 0
- Do review problems “problem set 0” not to hand in.

Zeph Grunschlag, Instructor

TA’s:

Ayesha Abdul-Quader

Daniel Perotti

Michael Kalnicki

Yoav Hirsch

About me

- 3rd year at Columbia
- Graduated from Berkeley in ’99
- Mathematics PhD.
- Thesis title: Algorithms in Geometric Group Theory

- Research areas:
- Group theory and topology
- Formal languages
- Computer vision

Course Policies, Schedule, Syllabus

- Go over handout explaining required text, overview of course, grading breakdown, policies, etc.
- All available from course homepage:
www.cs.columbia.edu/~zeph/3261

- All homework, and most other material will be available online

Lectures and Notes

- Lectures will consist of a mixture of slides and black-board work.
- Definitions, general concepts, illustrations – on the slides and available on the web
- Specific examples, exercises – blackboard

- May also use e-podium camera, if need to do extra board-work.

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

- Automata Theory
- Grammars
- 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

- A grammar is a set of rules which governs what is and isn’t syntactically correct.
- English example: “I dog love.”
-- violates English Grammar

- Java example:
public class Wrong{

private int x

}

-- violates Java’s specification (given by a grammar linked to from links page

www.cs.columbia.edu/~zeph/3261/links.html)

- English example: “I dog love.”

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).

Algorithms

GOAL: Given a specific problem such as

- adding numbers
- telling if a string is palindromic (racecar)
- the Traveling Salesperson Problem
Which automata can solve the problem? Which grammars can describe it? Are there problems that are unsolvable by means of a computer or indescribable? Are there important problems which are undecidable, or at least, cannot be solved in a reasonable amount of time by any computer?

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.

- In some sense, one can think of English as consisting of all valid English words

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 )

Chronolgical Overview

Automata, Grammars and Algorithms are explored simultaneously through four computational models, progressively more complicated (though #3 is more powerful than #4)

- Finite Automata
- Pushdown Stack Automata
- Turing Machines
- Polynomial-Time Turing Machines

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

- So what good is this course?
- Every valid scientific discipline needs to have a solid theoretical foundation
- Valid theoretical models reflect the essence of practical truths. Much thought went into noticing that F = ma was a great modeler for physical motion. Similarly, much research went into the models that we’ll study.

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
- Useful in future courses
- Theory courses: 4231, 4236
- Non-theory also: 3823, 3824, 4115

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.

Download Presentation

Connecting to Server..