Computability coms 3261
Download
1 / 20

Computability COMS 3261 - PowerPoint PPT Presentation


  • 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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
Computability coms 3261 l.jpg

ComputabilityCOMS 3261


Agenda l.jpg
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.


Slide3 l.jpg

Instructor:

Zeph Grunschlag, Instructor

TA’s:

Ayesha Abdul-Quader

Daniel Perotti

Michael Kalnicki

Yoav Hirsch


About me l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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)


Grammars10 l.jpg
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 l.jpg
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).


Algorithms12 l.jpg
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 l.jpg
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 languages14 l.jpg
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 l.jpg
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 l.jpg
Chomsky Hierarchy

All

REC = computed by TM

Context Free = computed by PDA

Regular = computed by FA

Finite languages


Theory vs practice l.jpg
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 practice18 l.jpg
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 practice19 l.jpg
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 l.jpg
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.


ad