CS187 - Science Gateway Seminar for CS and Math

Similar documents
Chapter 01: Introduction. Lesson 01 Evolution Computers Part 1: Mechanical Systems, Babbage method of Finite Difference Engine and Turing Hypothesis

Introduction to Turing Machines

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

The roots of computability theory. September 5, 2016

The Legacy of Hilbert, Gödel, Gentzen and Turing

Fundamentals of Computer Science

Computation. Some history...

Handouts. CS701 Theory of Computation

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

highlights proof by contradiction what about the real numbers?

Mathematical Logic. Giuseppe Peano ( ) Core Logic 2004/05-1ab p. 2/2

Great Ideas in Theoretical Computer Science

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018

CSCE 551: Chin-Tser Huang. University of South Carolina

complex networks and systems i609: advanced PhD seminar I Informatics luis rocha 2019 INDIANA UNIVERSITY

Theory of Computation. Theory of Computation

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Turing Machines. Lecture 8

Turing Machines (TM) The Turing machine is the ultimate model of computation.

Computability Theory. CS215, Lecture 6,

Decidability: Church-Turing Thesis

CS 135. Designing Functional Programs

MACHINE COMPUTING. the limitations

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

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Introduction to Computer Systems

Models. Models of Computation, Turing Machines, and the Limits of Turing Computation. Effective Calculability. Motivation for Models of Computation

Gottfried Wilhelm Leibniz (1666)

1 Showing Recognizability

cse303 ELEMENTS OF THE THEORY OF COMPUTATION Professor Anita Wasilewska

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

Institute for Applied Information Processing and Communications (IAIK) Secure & Correct Systems. Decidability

Decidable Languages - relationship with other classes.

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

Most General computer?

Great Theoretical Ideas in Computer Science. Lecture 7: Introduction to Computational Complexity

An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM

The Turing machine model of computation

Decidability and Undecidability

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

Turing Machine Recap

The Search for the Perfect Language

Limits of Computation

Introduction to Computer Science and Programming for Astronomers

Unit 4: Computer as a logic machine

The Mathematical Story. Computation: Christos H. Papadimitriou. UC Berkeley

Propositions as Types

Turing Machines (TM) Deterministic Turing Machine (DTM) Nondeterministic Turing Machine (NDTM)

6-1 Computational Complexity

CS154, Lecture 10: Rice s Theorem, Oracle Machines

Recap (1) 1. Automata, grammars and other formalisms can be considered as mechanical devices to solve mathematical problems

Complexity Theory Part I

Universality and Computability

The Church-Turing Thesis

Turing Machines Decidability

Lecture 13: Turing Machine

Theory of Computation (IX) Yijia Chen Fudan University

MAA509: Quantum Computing and Information Introduction

Complexity Theory. Ahto Buldas. Introduction September 10, Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.

The universal computer

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

Introduction to Turing Machines. Reading: Chapters 8 & 9

Complexity Theory Part I

How Does Nature Compute?

A Universal Turing Machine

15-251: Great Theoretical Ideas in Computer Science Fall 2016 Lecture 6 September 15, Turing & the Uncomputable

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Turing Machines Part II

Universality and Computability. 7.4 Turing Machines. Fundamental Questions. Turing Machine

Computer Science and Logic A Match Made in Heaven

CSE 105 THEORY OF COMPUTATION

CS151 Complexity Theory. Lecture 1 April 3, 2017

Turing Machines Part III

Lecture notes on Turing machines

CS20a: Turing Machines (Oct 29, 2002)

CSE332: Data Structures & Parallelism Lecture 2: Algorithm Analysis. Ruth Anderson Winter 2019

Turing machines Finite automaton no storage Pushdown automaton storage is a stack What if we give the automaton a more flexible storage?

Models of Computation

Class 24: Computability

CSE 2001: Introduction to Theory of Computation Fall Suprakash Datta

Turing Machines and the Church-Turing Thesis

Binary addition example worked out

Turing Machines. COMP2600 Formal Methods for Software Engineering. Katya Lebedeva. Australian National University Semester 2, 2014

CS154, Lecture 12: Kolmogorov Complexity: A Universal Theory of Data Compression

An example of a decidable language that is not a CFL Implementation-level description of a TM State diagram of TM

2.1 Computational Tractability

Church s undecidability result

Part I: Definitions and Properties

Introduction to Computer Science

CS5371 Theory of Computation. Lecture 10: Computability Theory I (Turing Machine)

Introduction to Computability

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

The Limit of Humanly Knowable Mathematical Truth

M.Burgin Department of Mathematics University of California, Los Angeles Los Angeles, CA 90095

15-251: Great Theoretical Ideas in Computer Science Lecture 7. Turing s Legacy Continues

Section 14.1 Computability then else

Predicate Logic - Undecidability

Turing Machines, diagonalization, the halting problem, reducibility

CSE355 SUMMER 2018 LECTURES TURING MACHINES AND (UN)DECIDABILITY

Transcription:

CS187 - Science Gateway Seminar for CS and Math Fall 2013 Class 3 Sep. 10, 2013

What is (not) Computer Science? Network and system administration? Playing video games? Learning to use software packages? Using and fixing computers? Computer programming and code writing? (well, yes and no). Computer science is no more about computers than astronomy is about telescopes (attributed to Edsger Dijkstra, 1970)

What is it Really, Then? The science of computation theory and applications. Theory Algorithms, data structures, complexity, computability. Programming languages. Software engineering and design. Hardware design, compilers, operating systems (this is actually about computers!). Application: Bioinformatics, robotics, computer vision, graphics, databases...

A Brief History What we know as modern computer science was created in the mid-20th century. Often computer science did not exist as an independent department/school until fairly recently (at UMB only since 2001). The term Computer was used to describe people until the 1920 s! Humans used mechanical devices for calculations for thousands of years.

Early History to 17 th Century First Mechanical Devices and Theoretical Developments Abacus, 2700 2300 BC predating written numbers, Middle East and Asia Blaise Pascal (1623 1662), first mechanical adding and subtracting device. John Napier (1550 1617), discovery of logarithms, decimal points, Napier bones a calculating instrument Gottfried Wilhelm Leibniz (1646 1716), binary system, formal binary logic, stepped reckoner first mechanical device capable of performing all 4 arithmetic operations.

19 th Century First Attempt at a Real Computer The difference engine a mechanical computer for tabulating polynomial functions. The analytical engine a general-purpose mechanical computer containing a logic unit, conditional branching, loops, and integrated memory. Punched cards provided the input. Designed, never fully built. Charles Babbage (1791 1871), invented the first computer. Ada Lovelace (1815 1852), first computer programmer. Difference engine and analytical engine

Turing and the Birth of Modern Computer Science 1930 s the Church-Turing thesis formalization of the algorithm, the notion of computability. Lambda calculus (Church) a framework for defining functions. The Turing machine (Turing) a theoretical framework for a computer. Alonzo Church (1903 1995) Alan Turing (1912 1954)

The Turing Machine A (hypothetical) device representing a computing machine. Contains an infinite tape with a (finite) set of symbols from a finite alphabet the input. A read/write head that can move to the left or right. A (finite) set of state, including an initial state and a set of final states. A (finite) list of instructions that tells us how to move from one state to another: Given a state q i and a symbol s i, move to state q j, write symbol s j and move the head to the left or right.

Computability and the Universal Turing Machine This is a very simple model... right? Yet, it is as powerful as any computing device... even today. As a matter of fact, any task can be computed (performed by any computational device following a list of instructions, just like any of today s computer programs) if and only if it can be performed by a Turing machine. The Universal Turing machine A Turing machine that can simulate any Turing machine on any input. This is the foundation of modern day computers.

Stored-Program Computers, the Von-Neumann Architecture A design that does not require reprogramming of a computer for every new task. Instead, the programs and instructions can be stored inside the computer. Sort of like the Universal Turing Machine... Modern computers are still based on this architecture.

What Are Algorithms, Anyway? A set of instructions/procedures to solve a given problem.

What Are Algorithms, Anyway? A set of instructions/procedures to solve a given problem. Input Algorithm Output

What s in an Algorithm Must be unambiguous, solve the problem and terminate. One starting point and (one or more) end point(s). Input and output (both optional). Control flow we follow the instructions (not necessarily in the order of their appearance) and at any stage we re at some block. Conditional branching if...then... (else...). Loops repeat some actions for a certain number of times or until some condition is filled.

More (CS/Math Relevant) Examples 1 Print Hello, world! on the screen. 2 Given a sequence of integers in no particular order, (-2, 17, 36, 29, 100, 10), find the smallest. 3 Given a sequence of integers, sort them from the smallest to the biggest. 4 Given a sequence of integers, calculate their sum. How can you relate (2) and (3)?

Use Smaller Building Blocks to Build a Larger Algorithm

Use 1 Print Hello, world! on the screen. 2 Given a sequence of integers in no particular order, (-2, 17, 36, 29, 100, 10), find the smallest. 3 Given a sequence of integers, sort them from the smallest to the biggest. How can you relate (2) and (3)?

Can Anything be Computed? No. It can be mathematically shown that some problems are undecidable. In other words There are problems for which no algorithm can be constructed that will always answer yes/no. This concept is related to the Incompleteness theorems, stating that there cannot be a non-trivial, self-consistent set of mathematical axioms. Any non-trivial axiomatic system will always contains unprovable theorems.

Computer Science is (also) About Computers

Acknowledgements and Sources Wikipedia Ikea catalog Kevin Amaral, CS department.