CS 390 Introduction to Theoretical Computer Science - PowerPoint PPT Presentation

About This Presentation
Title:

CS 390 Introduction to Theoretical Computer Science

Description:

Introduction to Languages and the Theory of Computation, 2nd edition, ... Mondays & Wednesdays. 4:30 - 5:30 p.m. You can walk in any other time. Final Exam ... – PowerPoint PPT presentation

Number of Views:461
Avg rating:3.0/5.0
Slides: 30
Provided by: drto4
Learn more at: https://www.cs.odu.edu
Category:

less

Transcript and Presenter's Notes

Title: CS 390 Introduction to Theoretical Computer Science


1
CS 390 Introduction to Theoretical Computer
Science
2
Instructor
  • Name Shunichi Toida
  • Office ED 252-4
  • Phone 683 - 3392
  • e-mail toida_at_cs.odu.edu

3
Textbook
  • John Martin,
  • Introduction to Languages and the Theory
    of Computation,
  • 2nd edition,
  • McGraw-Hill, New York, 1996.

4
Grading
  • Homework 20
  • Projects 10
  • Test x 2 35
  • Final Exam 35

5
Home Page for CS 390
  • http//www.cs.odu.edu/toida
  • /courses/CS390/390.html
  • Homework questions and solutions, syllabus
    etc. are on this page.

6
Office Hours
  • Mondays Wednesdays
  • 430 - 530 p.m.
  • You can walk in any other time.

7
Final Exam
  • Thursday, August 3, 2000
  • 300 - 600 p.m.
  • ED 226

8
Objectives and Outline
9
Objectives
  • Study the concept of computation, and limitations
    of computer and computation.
  • Learn abstract languages called formal languages
    and devices to process them called automata.
  • Train in reasoning and problem solving.
  • Train in reading and writing technical articles.

10
Solve problems with Computers
11
To solve a problem by a computer
  • a sequence of step by step
  • instructions must be given to the
  • computer.
  • (Algorithm/Computer Program)

12
  • The instructions must be of finite
  • length and executable by the
  • computer.
  • The computation must terminate
  • after a finite amount of time.

13
Hierarchy of Computational Problems
  • Problems which can be solved by a fast algorithm
    ---- CS 361
  • Problems which can NOT be solved by a fast
    algorithm ---- CS 361
  • Problems which may or may not be solved by a fast
    algorithm --- CS 361, 483
  • Problems which can not be solved by a computer --
    CS 390

14
  • Can such a sequence of instructions always be
    found for a given problem ?

15
No, not always !
16
  • When can none be found ?

17
Examples of unsolvable problem
  • Halting problem
  • Tiling problem

18
Halting problem
  • Does a given program stop after a finite
    amount of time for a given input ?

19
Tiling problem
  • Can a given finite area, of any size,
    be covered using only tiles of given types such
    that the colors on any touching edges are the
    same ?

20
  • It is known that no computer programs can be
    written to solve those problems.

21
How do we know they are unsolvable ?
22
  • To answer the question we must know
  • what we mean by computation and
    computer,
  • independent of differences among computers,
    and languages.

23
  • We must know
  • the essence of computation, and
  • computer.

24
  • The essence of computer and computation is
    represented by
  • Turing machine, and
  • computation by Turing machine.
  • Also problem solving is modeled as
    language recognition.

25
Four Major Topics
  • Regular languages and finite automata as a warm
    up for Turing machines --- also practically
    useful
  • Turing machines
  • Computation as processing by Turing machine
  • Unsolvability of Halting Problem

26
Course Outline
  • (1) Review of mathematics
  • (2) Languages --- abstract languages
  • (3) Regular languages, regular expressions
  • (4) Finite automata
  • (5) Applications of finite automata

27
Course Outline Continued
  • (6) Context-free languages, and push down
    automata --- used for compilers
  • (7) Turing machines
  • (8) Turing acceptable, decidable, computable
  • (9) Unsolvability of Halting Problem

28
Objectives Revisited
  • Study the concept of computation, and limitations
    of computer and computation.
  • Learn abstract languages called formal languages
    and devices to process them called automata.
  • Train in reasoning and problem solving.
  • Train in reading and writing technical articles.

29
Review of Mathematics
Write a Comment
User Comments (0)
About PowerShow.com