MACHINE COMPUTING. the limitations

Similar documents
Limits of Computation

Synchronous Logic. These must be the slings and arrows of outrageous fortune. Comp 411 Fall /18/06. L14 Synchronous Logic 1

Outline. Complexity Theory. Example. Sketch of a log-space TM for palindromes. Log-space computations. Example VU , SS 2018

Theory of Computation

Part I: Definitions and Properties

Intelligent Agents. Formal Characteristics of Planning. Ute Schmid. Cognitive Systems, Applied Computer Science, Bamberg University

Definition: Alternating time and space Game Semantics: State of machine determines who

198:538 Lecture Given on February 23rd, 1998

State Machines. Example FSM: Roboant

Sample Project: Simulation of Turing Machines by Machines with only Two Tape Symbols

A Universal Turing Machine

EECS Components and Design Techniques for Digital Systems. FSMs 9/11/2007

Definition: Alternating time and space Game Semantics: State of machine determines who

Lecture notes on Turing machines

IV. Turing Machine. Yuxi Fu. BASICS, Shanghai Jiao Tong University

CSCI 1590 Intro to Computational Complexity

FORMAL LANGUAGES, AUTOMATA AND COMPUTATION

Synchronous Logic. These must be the slings and arrows of outrageous fortune. Comp 411 Fall /20/15. L15 Synchronous Logic 1

Decidability. Linz 6 th, Chapter 12: Limits of Algorithmic Computation, page 309ff

CS6901: review of Theory of Computation and Algorithms

Synchronous Logic. These must be the slings and arrows of outrageous fortune. Comp 411 Spring /12/12. L13 Synchronous Logic 1

CS187 - Science Gateway Seminar for CS and Math

CS3719 Theory of Computation and Algorithms

Artificial Intelligence. 3 Problem Complexity. Prof. Dr. Jana Koehler Fall 2016 HSLU - JK

CMPT 710/407 - Complexity Theory Lecture 4: Complexity Classes, Completeness, Linear Speedup, and Hierarchy Theorems

Week 2: Defining Computation

Theory of Computation. Theory of Computation

Computability and Complexity

Sequential logic and design

4.2 The Halting Problem

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar

Limits of Computability

ECS 120 Lesson 15 Turing Machines, Pt. 1

Turing Machines. Lecture 8

Circuits. Lecture 11 Uniform Circuit Complexity

6.5.3 An NP-complete domino game

Turing Machines and Time Complexity

Turing s thesis: (1930) Any computation carried out by mechanical means can be performed by a Turing Machine

Design at the Register Transfer Level

Introduction to Computational Complexity

Equivalence of TMs and Multitape TMs. Theorem 3.13 and Corollary 3.15 By: Joseph Lauman

(a) Definition of TMs. First Problem of URMs

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Non-emptiness Testing for TMs

Lecture 10: Synchronous Sequential Circuits Design

Notes for Lecture 3... x 4

EECS150 - Digital Design Lecture 23 - FSMs & Counters


Chapter 8. Turing Machine (TMs)

1 Showing Recognizability

SOLUTION: SOLUTION: SOLUTION:

Computability and Complexity Theory: An Introduction

Space Complexity. The space complexity of a program is how much memory it uses.

Automata Theory (2A) Young Won Lim 5/31/18

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Section 14.1 Computability then else

CS20a: Turing Machines (Oct 29, 2002)

Foundations of Query Languages

Parity Checker Example. EECS150 - Digital Design Lecture 9 - Finite State Machines 1. Formal Design Process. Formal Design Process

Appendix B. Review of Digital Logic. Baback Izadi Division of Engineering Programs

The P-vs-NP problem. Andrés E. Caicedo. September 10, 2011

CS151 Complexity Theory. Lecture 1 April 3, 2017

CS4026 Formal Models of Computation

There are problems that cannot be solved by computer programs (i.e. algorithms) even assuming unlimited time and space.

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

Advanced topic: Space complexity

Boolean circuits. Lecture Definitions

Computation Theory Finite Automata

CprE 281: Digital Logic

CS154, Lecture 17: conp, Oracles again, Space Complexity

Automata Theory CS S-12 Turing Machine Modifications

Computation Histories

Complexity of domain-independent planning. José Luis Ambite

Lecture 24: Randomized Complexity, Course Summary

Let s now begin to formalize our analysis of sequential machines Powerful methods for designing machines for System control Pattern recognition Etc.

Complexity: Some examples

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

1 Acceptance, Rejection, and I/O for Turing Machines

Introduction to Turing Machines. Reading: Chapters 8 & 9

CprE 281: Digital Logic

6.840 Language Membership

TURING MAHINES

Lecture 25: Cook s Theorem (1997) Steven Skiena. skiena

Turing Machines Decidability

Notes for Lecture 3... x 4

Final Exam (Version B) December 16, 2014 Name: NetID: Section: 1 2 3

Turing Machine Variants

Announcements. Problem Set 6 due next Monday, February 25, at 12:50PM. Midterm graded, will be returned at end of lecture.

CSE 200 Lecture Notes Turing machine vs. RAM machine vs. circuits

The Design Procedure. Output Equation Determination - Derive output equations from the state table

Introduction to Computers & Programming

CPSC 421: Tutorial #1

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Introduction to Computer Science

CSCI3390-Lecture 14: The class NP

CSCI 2200 Foundations of Computer Science Spring 2018 Quiz 3 (May 2, 2018) SOLUTIONS

Chapter 9. PSPACE: A Class of Problems Beyond NP. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Lecture 21: Algebraic Computation Models

Introduction to Computer Science and Programming for Astronomers

Transcription:

MACHINE COMPUTING the limitations

human computing stealing brain cycles of the masses word recognition: to digitize all printed writing language education: to translate web content games with a purpose labeling game: labeling images basing image search on image content word game: common-sense facts locating objects in images: generating a large data base for computer vision algorithms zooming in on labeled objects in general, taking a seemingly difficult problem, solve it with by-products of otherwise motivated (human) actions but what is "difficult"?

what is difficult? depends on the intelligence (of humans) human age and health training (expertise) motivation depends on the degree of smartness (of hardware) speed of operation (time complexity) size of background memory (space complexity) resource support depends on viewpoint any contribution counts (or only the total) many solutions are ok (or just one) acceptable answer (or the exact answer) is needed

what is difficult for a computer? most famous "undecidable" problem : the halting problem given a piece of code and an input, does processing terminate while x is not do if x is even do x:=x/2 else do x:=3x+ chip library problem

chip library problem

dna self-assembly problems T S

other undecidable problems given two groups of indexed strings over the same alphabet same cardinality, is there a sequence of indices, yielding the same string is a given first-order logic statement universally valid? first order logic includes quantifiers equality of two real numbers given a formula on integers formula may have arithmetic operations, logarithms and exponential functions indefinite integration does a given function have a anti-derivative? is a piece of software a virus?

what is a computer? suppose we have a problem of an instance x, some data y and an algorithm A this is a state machine combinatorial circuit M A pc state x y workspace output

state machine specification state tables mealy state tables inputs inputs inputs current states next states outputs current states next states outputs state transition diagrams c state outp "inp" n state outp mealy state transition diagrams curr state "inp" "outp" next state arcs leaving a state must be: ) mutually exclusive: no more than one choice for each input 2) collectively exhaustive: a transition for each output

concept of the state machine example: odd parity checker assert output whenever input bit stream has odd # of 's reset reset even [] odd [] state transition diagram present state even even odd odd input next state even odd odd even output symbolic state transition table present state input next state output encoded state transition table

finite state machines a finite state machine has k states (one is the initial state) m inputs n outputs transition rules for each state and input output rules for each state

can fsm's solve all common problems? NO, there exist common problems that cannot be "effectively computed" by finite state machines!!! for example: multiplying two arbitrary binary numbers doubling a sequence of ""s checking for palindromes checking for balanced parenthesis (()(()())) - okay (()())) - no good! )(()((())) - no good! problem: for arbitrarily long paren sequences, arbitrarily many states are required q ( q q2 ( q3 ) ) ) q* ),( ( ( ) a finite state machine can only keep track of a finite number of objects.

unbounded-space computation during 92s and 3s, much of the "science" part of computer science was being developed (long before actual electronic computers existed). many different "models of computation" were proposed, and the classes of "functions" which could be computed by each were analyzed. one of these models was the turing machine named after Alan Turing a "turing machine" is just a finite state machine which receives its inputs from and writes outputs onto a tape with unlimited extendability... solving "finiteness" problem of finite state machines.

turing machine specification a tape discrete symbol positions that can be extended at both sides (without bound) finite alphabet say {, } finite state machine control inputs: symbol under the reading head outputs: write / move left/right initial starting state {S O } halt state {Halt}

a turing parity counter E evenodd even evenodd eveneveneven halt odd the transition diagram H E even R H odd R E find the parity of the symbols between the head and the symbol "E", and replace that symbol by the parity any turing machine can be specified by a table of "quintuples" current state read even even odd odd even E odd E next state write direction even right odd right odd right even right halt halt stop stop

a turing parenthesis checker E ( ( ) ) ( ) ( ( ) ) ) ( ( ) E q R E ( ( ) ) ( ) ( ( ) ) ) ( ( ) E q R E ( ( ) ) ( ) ( ( ) ) ) ( ( ) E q R E ( ( X ) ( ) ( ( ) ) ) ( ( ) E q L E ( X X ) ( ) ( ( ) ) ) ( ( ) E q R next sheet

a turing parenthesis checker E ( X X ) ( ) ( ( ) ) ) ( ( ) E q R E ( X X X ( ) ( ( ) ) ) ( ( ) E q L E ( X X X ( ) ( ( ) ) ) ( ( ) E q L E ( X X X ( ) ( ( ) ) ) ( ( ) E q L E X X X X ( ) ( ( ) ) ) ( ( ) E q R etc., etc.

a turing parenthesis checker this shows the superiority of turing machines over finite state machines remarks: the next state and direction are - in "q2" the situation with ")" will never occur not exactly a moore machine, but almost... current state q q q q q q q q q2 q2 q2 q2 read ) ( E X ) ( E X ) ( E X next state write direction q X left q ( right q2 E left q X right q ) left q X right halt stop q X left dc dc dc halt stop halt stop q2 X left H E q L ( ),X X X ) q R E (,X E X q2 ( L E H H

finite state machines: limitations because of recurrent states the state of affairs turing machines: can compute any computable function solid engineering available for synthesis unlimited tape extendability difficult to realize pragmatic compromise: finite state machine with very many states programmable finite state machines: datapath with data-dependent control universal turing machines: can emulate any turing machine general purpose processors

what is difficult for a computer? not computable (undecidable) if computable, what does it take? how much time? how much memory space? how many processors? time complexity space complexity computer science answer: complexity classes

decidable class structures ExpSpace ExpTime Pspace a decision problem is decidable if there exists a single algorithm that always leads to a correct yes-or-no answer. co-np P Log Space Log Time searching sorting linear programming shortest paths