+ All Categories
Home > Documents > Computer Science: An Overview Eleventh Edition by J. Glenn...

Computer Science: An Overview Eleventh Edition by J. Glenn...

Date post: 17-May-2020
Category:
Upload: others
View: 10 times
Download: 0 times
Share this document with a friend
28
Copyright © 2012 Pearson Education, Inc. Chapter 12: Theory of Computation Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear
Transcript
Page 1: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc.

Chapter 12:Theory of Computation

Computer Science: An OverviewEleventh Edition

by J. Glenn Brookshear

Page 2: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-2

Chapter 12: Theory of Computation

• 12.1 Functions and Their Computation• 12.2 Turing Machines• 12.3 Universal Programming Languages• 12.4 A Noncomputable Function• 12.5 Complexity of Problems• 12.6 Public-Key Cryptography

Page 3: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-3

Functions

• Function: A correspondence between a collection of possible input values and a collection of possible output values so that each possible input is assigned a single output

Page 4: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-4

Functions (continued)

• Computing a function: Determining the output value associated with a given set of input values

• Noncomputable function: A function that cannot be computed by any algorithm

Page 5: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-5

Figure 12.1 An attempt to display the function that converts measurements in yards into meters

Page 6: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-6

Figure 12.2 The components of a Turing machine

Page 7: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-7

Turing Machine Operation

• Inputs at each step– State

– Value at current tape position

• Actions at each step– Write a value at current tape position

– Move read/write head

– Change state

Page 8: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-8

Figure 12.3 A Turing machine for incrementing a value

Page 9: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-9

Church-Turing Thesis

• The functions that are computable by a Turing machine are exactly the functions that can be computed by any algorithmic means.

Page 10: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-10

Universal Programming Language

A language with which a solution to any computable function can be expressed– Examples: “Bare Bones” and most popular

programming languages

Page 11: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-11

The Bare Bones Language

• Bare Bones is a simple, yet universal language.

• Statements– clear name;– incr name;– decr name;– while name not 0 do; … end;

Page 12: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-12

Figure 12.4 A Bare Bones program for computing X x Y

Page 13: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-13

Figure 12.5 A Bare Bones implementation of the instruction “copy Today to Tomorrow”

Page 14: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-14

The Halting Problem

• Given the encoded version of any program, return 1 if the program is self-terminating, or 0 if the program is not.

Page 15: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-15

Figure 12.6 Testing a program for self-termination

Page 16: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-16

Figure 12.7 Proving the unsolvability of the halting program

Page 17: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-17

Complexity of Problems

• Time Complexity: The number of instruction executions required– Unless otherwise noted, “complexity” means

“time complexity.”

• A problem is in class O(f(n)) if it can be solved by an algorithm in (f(n)).

• A problem is in class (f(n)) if the best algorithm to solve it is in class (f(n)).

Page 18: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-18

Figure 12.8 A procedure MergeLists for merging two lists

Page 19: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-19

Figure 12.9 The merge sort algorithm implemented as a procedure MergeSort

Page 20: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-20

Figure 12.10 The hierarchy of problems generated by the merge sort algorithm

Page 21: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-21

Figure 12.11 Graphs of the mathematical expressions n, lg n, n lg n, and n2

Page 22: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-22

P versus NP

• Class P: All problems in any class (f(n)), where f(n) is a polynomial

• Class NP: All problems that can be solved by a nondeterministic algorithm in polynomial time

Nondeterministic algorithm = an “algorithm” whose steps may not be uniquely and completely determined by the process state

• Whether the class NP is bigger than class P is currently unknown.

Page 23: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-23

Figure 12.12 A graphic summation of the problem classification

Page 24: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-24

Public-Key Cryptography

• Key: A value used to encrypt or decrypt a message– Public key: Used to encrypt messages– Private key: Used to decrypt messages

• RSA: A popular public key cryptographic algorithm– Relies on the (presumed) intractability of the

problem of factoring large numbers

Page 25: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-25

Encrypting the Message 10111

• Encrypting keys: n = 91 and e = 5

• 10111two = 23ten

• 23e = 235 = 6,436,343• 6,436,343 ÷ 91 has a remainder of 4

• 4ten = 100two

• Therefore, encrypted version of 10111 is 100.

Page 26: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-26

Decrypting the Message 100

• Decrypting keys: d = 29, n = 91• 100two = 4ten

• 4d = 429 = 288,230,376,151,711,744• 288,230,376,151,711,744 ÷ 91 has a

remainder of 23• 23ten = 10111two

• Therefore, decrypted version of 100 is 10111.

Page 27: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-27

Figure 12.13 Public key cryptography

Page 28: Computer Science: An Overview Eleventh Edition by J. Glenn ...wiki.netseclab.mu.edu.tr/images/a/a9/BookSlides_Chapter12.pdf · Title: Chapter 12 Author: J. Glenn Brookshear Subject:

Copyright © 2012 Pearson Education, Inc. 0-28

Figure 12.14 Establishing an RSA public key encryption system


Recommended