computability coms 3261 l.
Skip this Video
Loading SlideShow in 5 Seconds..
Computability COMS 3261 PowerPoint Presentation
Download Presentation
Computability COMS 3261

Loading in 2 Seconds...

play fullscreen
1 / 20

Computability COMS 3261 - PowerPoint PPT Presentation

  • Uploaded 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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
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

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


Ayesha Abdul-Quader

Daniel Perotti

Michael Kalnicki

Yoav Hirsch

about me
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
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
lectures and notes
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
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

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?

  • 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


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?

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

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
  • 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
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
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
Chomsky Hierarchy


REC = computed by TM

Context Free = computed by PDA

Regular = computed by FA

Finite languages

theory vs practice
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
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
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
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.