cse 355: human-aware robo.cs introduction to theoretical ...yzhan442/teaching/cse... · cse 355:...

26
Human-aware Robo.cs CSE 355: Introduction to Theoretical Computer Science Instructor: Dr. Yu (“Tony”) Zhang Lecture: WGHL101, Tue/Thu, 3:00—4:15 PM Office Hours: BYENG 594, Tue/Thu, 5:00—6:00PM 1

Upload: others

Post on 06-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.csCSE 355: Introduction to

Theoretical Computer Science

Instructor: Dr. Yu (“Tony”) Zhang

Lecture:

WGHL101, Tue/Thu, 3:00—4:15 PM

Office Hours:

BYENG 594, Tue/Thu, 5:00—6:00PM

1

Page 2: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

2

Subject of interest?

Page 3: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

3

Subject of interest?

Page 4: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

4

Subject of interest?

Page 5: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

5

Subject of interest?

Page 6: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

6

Subject of interest?

Computation

Page 7: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

7

Outline for today

•  Theory of computation

•  Why it is important

•  Discussion of Syllabus

•  Questions and Answers

Page 8: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

8

Theory of computation

•  Automata Theory

abstract machines

•  Computability Theory

fundamental capabilities

and limitations of abstract

machines

•  Complexity Theory

why certain problems are

harder than others

Computation

Page 9: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

9

Outline for today

•  Theory of computation

•  Why it is important

•  Discussion of Syllabus

•  Questions and Answers

•  Automata Theory

•  Computability Theory

•  Complexity Theory

Computation

Page 10: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

10

Automata Theory – Finite Automata •  An abstract machine (or mathematical model of computation) that can

capture systems with a finite number of states

o  Automation applications where simple tasks need to be repeated

o  Easy to implement with limited

resources (HW/SW)

o  Easy to design and visualize

o  Easy to verify correctness

Page 11: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

11

•  Exampe

Automata Theory – Finite Automata

Page 12: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

12

•  Exampe

Automata Theory – Finite Automata

Page 13: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

13

•  Exampe

Automata Theory – Finite Automata

Page 14: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

14

Automata Theory – Pushdown Automata •  An abstract machine (or mathematical model of computation) that can

capture systems with a finite number of states and a stack

o  A PDA can write to a stack

o  At each step, the read–write head can

only access the top symbol in the

stack, which can be poped or kept; a

new symbol may be pushed onto the

stack

Page 15: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

15

•  Exampe

Automata Theory – Pushdown Automata

Page 16: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

16

Automata Theory – Turing Machines •  An abstract machine (or mathematical model of computation) that can

capture systems that can manipulate symbols on a strip of tape

Ø  Despite the model's simplicity, given any computer algorithm, a Turing machine

can be constructed that is capable of simulating that algorithm's logic.

o  A Turing machine can both write on the

tape and read from it.

o  The read–write head can move both to

the left and to the right.

o  The tape is infinite.

o  The special states for rejecting and

accepting take effect immediately.

Page 17: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

17

•  Exampe

Automata Theory – Turing Machine

Ø  Turing completeness is the ability for a system

of instructions to simulate a Turing Machine. A

programming language that is Turing complete

is theoretically capable of expressing all

tasks accomplishable by computers; nearly

all programming languages are Turing complete

if the limitations of finite memory are ignored.

Page 18: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

18

Automata Theory

Page 19: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

19

Outline for today

•  Theory of computation

•  Why it is important

•  Discussion of Syllabus

•  Questions and Answers

•  Automata Theory

•  Computability Theory

•  Complexity Theory

Page 20: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

20

Computability Theory

•  What are the fundamental capabilities and limitations of computers?

o  Can we design a turing machine (or program) that could examine another turing

machine (or program) M with input I, and decide whether M on input I will

terminate?

o  Can we design a turing machine (or program) that could determine whether a

mathematical statement is true of false?

Ø  Can be used to identify other unsolvable problems via reducibility

Q: If “classical” computers cannot solve a problem, can quantum

computers solve it?

o  Can quantum computing solve classically unsolvable problems, A. Hodges, arXiv

preprint quant-ph/0512248, 2005

Page 21: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

21

Outline for today

•  Theory of computation

•  Why it is important

•  Discussion of Syllabus

•  Questions and Answers

•  Automata Theory

•  Computability Theory

•  Complexity Theory

Page 22: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

22

Complexity Theory

•  What makes some problems computationally hard and others easy?

o  Can we predict how fast a program will run?

•  Sorting problem

•  Scheduling problem

•  TSP

•  … Ø  In this course, we will learn how to distinguish between

problems that can be solve efficiently (computationally easy

problems) and problems that can take long time to be

solved (computationally hard problems).

Page 23: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

23

Learning goals

•  We will learn how to abstract (i.e., abstract machines)!

•  Familiarize ourselves with the mathematical formalisms and build

strong foundations

o  You will understand the hardness results of various problems and rationals

behind their solutions

o  You will be able to access the related literature

o  You will be able to analyze a new problem and design solutions for it

o  …

Page 24: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

24

Outline for today

•  Theory of computation

•  Why it is important

•  Discussion of Syllabus

•  Questions and Answers

•  Automata Theory

•  Computability Theory

•  Complexity Theory

Page 25: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

25

Syllabus

Page 26: CSE 355: Human-aware Robo.cs Introduction to Theoretical ...yzhan442/teaching/CSE... · CSE 355: Human-aware Robo.cs Introduction to Theoretical Computer Science Instructor: Dr. Yu

Human-awareRobo.cs

26

Outline for today

•  Theory of computation

•  Why it is important

•  Discussion of Syllabus

•  Questions and Answers

•  Automata Theory

•  Computability Theory

•  Complexity Theory

•  Reading assignment for the next class:

o  Sipser Sec. 0.1, 0.2 and 1.1 – Quiz link will be sent out; due

date is before the beginning of the next class