workshop 2 limits to logic and computing power 1.are there limits to what humans can know ?...

15
Workshop 2 Limits to logic and computing power 1. Are there limits to what humans can know? Ignoramus et ignorabimus 2. Are there limits to computer knowledge? 3. What are algorithms? 4. Programming languages vs. natural languages

Upload: jeffrey-godwin-wilkins

Post on 26-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Workshop 2Limits to logic and computing power

1. Are there limits to what humans can know? Ignoramus et ignorabimus

2. Are there limits to computer knowledge? 3. What are algorithms? 4. Programming languages vs. natural languages

Page 2: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Overview

1905 Einstein introduces the special theory of relativity and begins work on quantum mechanics disrupting the orderly world of Newtonian physics.

1928 David Hilbert proposes Entscheidungsproblem (decision problem)

1931 Kurt Gödel publishes his incompleteness theorems, effectively putting the kibosh on the projects of David Hilbert and Russell & Whitehead.

1933 Gödel meets Einstein in America and is soon lecturing at the Institute for Advanced Study (IAS) in Princeton, New Jersey.

1936 Alan Turing invents the Turing Machine, which could implement algorithms along the lines envisioned by Leibniz and Hilbert.

Page 3: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Einstein’s relativity theory and quantum mechanics supplant Newton’s laws of motion and gravity 1905

This image is courtesy of Nick Strobel at www.astronomynotes.com

Albert Einstein - The Quantum Theory - Documentary 2014 (90 minutes)

Page 4: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Hilbert's Three Questions ~1928

1. Is Mathematics Complete? - Can every statement be proved or disproved?

Proved not to be true: Kurt Godel, 1931 Method: all statements encoded as binary integers (0's and 1's)

2. Is Mathematics Consistent? - Can two conflicting statements never both be true?

Also Proven not to be true by Godel.

3. Is Mathematics Decidable? - Does a method exist to correctly determine the truth or falsity of every statement?

Proved Not to be true: Alan Turing, 1936-1937 Method: Construction of a theoretical "Turing" machine and solution of

"the halting problem" Ramifications: basis of computability theory and it's offshoots, forming

theoretical basis for all of computer science

References: "Godel, Escher, and Bach", Douglas Hofstadter, 1979.

Page 5: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Entscheidungsproblem – David Hilbert 1928

Decision Problem: Determine if a properly formulated logical statement is true or false within a system determined by a set of axioms

Leibniz envisioned that this could be done mechanically by a machine when assumptions and propositions are represented by prime numbers

Page 6: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Kurt Gödel - incompleteness theorem 1931

Andrew Appel: Turing, Gödel, and Church at Princeton in the 1930s (55 minute video of a speech)

• Suppose you have a logical system such as the symbolic logic that underlies mathematics

• Given an arbitrary properly formulated statement• Can you show it to be true or false in the sense

that it follows from the axioms.• In the 20th century Russell and Whitehead

labored on Principia Mathematica to achieve such a system

• In 1931 Gödel proved the task to be futile• A system could be shown to be either

consistent or complete, not both• For any consistent system there would always

be statements that could be neither proved nor disproved

Page 7: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Alan Turing - No halt => No Decision 1936 Turing arrives in Princeton to prepare his Ph.D. under logician Alonzo Church

The Turing machine, in theory, has the power of a modern computer. Turing showed that his machine was limited

For certain calculations the machine might not halt, furthermore it was undecidable whether it would halt or not. This was Hilbert’s Entscheidungsproblem

Turing’s halting problem aligned with similar results from Gödel’s and Church’s work and findings by John von Neumann . See Computability and Complexity

Alan Turing - Celebrating the life of a genius (8 minutes) cache by Dr. James Grime, Cambridge U.

Current movie – The Imitation Game

The Strange Life and Death of Dr Turing 28 minutes cache

(main source –Turing's Cathedral, 2012, Pantheon, ISBN 0-375-42277-3 by George Dyson)

Page 8: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Finite State Automata

• A traversal must begin in the Start state and end in the Accept state

• Following an arrow (transition) generates a letter

• The shortest route generates the word aa• List some other words that can be

generated• How many words are there?• How would you characterize these words?

• The automaton defines acceptable words for a language

• As a generator, any random path through the automaton generates a possible word

• To see if a word is possible for the language try tracing its letters through the automaton from Start to Accept

• For example, the word baa fails immediately, the word abb also fails since it ends in the middle state.

Page 9: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

A Non-deterministic AutomatonThe words accepted by this automaton must start and end with a. They may have a string of 0 or more b’s in the middle. There can be 1 or more a’s before the b’s but only one a after.

The words are described by the regular expression a*ab*a.

The * means 0 or more.

There is a standard algorithm for transforming any non-deterministic automaton into one that is deterministic. (computer friendly)

A language is called regular it its words are regular expressions.

Page 10: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Convert a regular expression to a FSA

Suppose we want a FSA to recognize words in the alphabet {a, b} which contain at least one “ab” or “ba”

Here is a regular expression: (a|b)*(ab|ba)(a|b)*

The (.. | ..) means choice, and the * means zero or more instances

The shortest words in this language are “ab” and “ba”

FSA for the 2 word language “ab” and “ba” FSA for the infinite language described

by the regular expression

Page 11: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Automata and languages

Chomsky divided languages into 4 categories based on their grammar 1956.

In computer programming the words used for names, numbers, etc. are described by regular expressions, the statements are context-free expressions.

tax = 0.0625*amount

Typical statement in the C language. There are 5 words, each is a regular expression

Language Design - Noam Chomsky (8 minutes) cache Talks about human propensity for language

Page 12: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Language classes match up to machines

Page 13: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Turing Machine

Finite state automata are memory challenged

A Turing machine adds an infinite tape to provide memory

Turing Machines video (4 minutes) cache

Turing Machines Explained (5 minutes) cache

Proof That Computers Can't Do Everything (The Halting Problem) (8 minutes) cache Starts easy but logic is hard to grasp

Page 14: Workshop 2 Limits to logic and computing power 1.Are there limits to what humans can know ? Ignoramus et ignorabimus 2.Are there limits to computer knowledge?

Universal Turing machine

To create a Turing machine for a particular problem must specify

the finite state automaton

the input configuration on the tape

the output configuration

In 1936 Turing proposed a universal machine by placing the initialization information on the tape itself.

Many view this as the origin of the stored program concept