SLIDE 1
What is computable? What is computable? 1 + 1 = 2 is computable. - - PowerPoint PPT Presentation
What is computable? What is computable? 1 + 1 = 2 is computable. - - PowerPoint PPT Presentation
What is computable? What is computable? 1 + 1 = 2 is computable. What is computable? 1 + 1 = 2 is computable. 123456789 987654321 ( 10 8 ) 10 9 is computable. What is computable? 1 + 1 = 2 is
SLIDE 2
SLIDE 3
What is “computable”?
- 1 + 1 = 2 is computable.
SLIDE 4
What is “computable”?
- 1 + 1 = 2 is computable.
- 123456789987654321 ∼ (108)109 is computable.
SLIDE 5
What is “computable”?
- 1 + 1 = 2 is computable.
- 123456789987654321 ∼ (108)109 is computable.
- π = 4(1 − 1
3 + 1 5 − 1 7 + 1 9 − 1 11 + · · · )
= 3.141592653589793238462643383279502884197169 . . . and
- n7 + 1
are computable.
SLIDE 6
What is “computable”?
SLIDE 7
Algorithm: The heart of computation
SLIDE 8
Algorithm: The heart of computation
- A “computable” operation is prescribed by an algorithm.
SLIDE 9
Algorithm: The heart of computation
- A “computable” operation is prescribed by an algorithm.
- An algorithm is a set of rules that can be executed step by step.
SLIDE 10
Algorithm: The heart of computation
- A “computable” operation is prescribed by an algorithm.
- An algorithm is a set of rules that can be executed step by step.
- Algorithm is not just about numerical computation.
SLIDE 11
Algorithm: The heart of computation
- A “computable” operation is prescribed by an algorithm.
- An algorithm is a set of rules that can be executed step by step.
- Algorithm is not just about numerical computation.
- An algorithm for solving ax2 + bx + c = 0:
x = −b ± √ b2 − 4ac 2a
SLIDE 12
Algorithm for bisecting an angle
Euclid (circ. 300 BC) Elements: Book I, Proposition 9 Algorithm for bisecting an angle with ruler (straightedge) and compass
SLIDE 13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algorithm: A long history
《九章算术》 Nine Chapters on the Mathematical Art (∼ 800 BC–100 AD) In Chapter 9: Solving a quadratic equation
SLIDE 14
Algorithm: A long history
Diophantus (210–295 AD) “Father of algebra”: Solved quadratic equations in his book Arithmetica
SLIDE 15
Algorithm: A long history
René Descartes Algebraic formula for solution of a quadratic equation first appeared in his La Geométrie (1637).
SLIDE 16
Algorithm: The heart of computation
SLIDE 17
Algorithm: The heart of computation
- An algorithm can be simple or complex, short or very long.
SLIDE 18
Algorithm: The heart of computation
- An algorithm can be simple or complex, short or very long.
- What is solvable (by an algorithm) is determined by the
prescribed rules.
SLIDE 19
Negative solution
SLIDE 20
Negative solution
- Trisection of an angle is not solvable by ruler and compass.
SLIDE 21
Negative solution
- Trisection of an angle is not solvable by ruler and compass.
- (Pierre Wentzel (1837)) Every angle constructed using ruler and
compass corresponds to a root of a minimal polynomial of some degree 2n.
SLIDE 22
Negative solution
- Trisection of an angle is not solvable by ruler and compass.
- (Pierre Wentzel (1837)) Every angle constructed using ruler and
compass corresponds to a root of a minimal polynomial of some degree 2n.
- Trisecting an angle is impossible in general since it corresponds
to root of a cubic polynomial (e.g. trisecting 20◦ = π/9 not possible).
SLIDE 23
Negative solution
- Solution of a polynomial of degree ≥ 5 by the method of radicals
is not possible.
SLIDE 24
Negative solution
- Solution of a polynomial of degree ≥ 5 by the method of radicals
is not possible.
- Evariste Galois (1812–1832)
Created Galois Theory (published 1846)) that revolutionized algebra.
SLIDE 25
A key question: I. Existence
SLIDE 26
A key question: I. Existence
- Given that a mathematical problem has a solution, how does one
“compute” a solution?
SLIDE 27
A key question: I. Existence
- Given that a mathematical problem has a solution, how does one
“compute” a solution?
- Example.
If f is a continuous function and f(a) < 0 < f(b), then f(c) = 0 for some c ∈ [a, b]. How to find c?
SLIDE 28
Alan Turing (1912–1954)
Formulated the concept of algorithm and computation
- n a Turing machine
SLIDE 29
Turing machine: Basic model of computation
SLIDE 30
Basic facts about TM
SLIDE 31
Basic facts about TM
- A Turing machine (TM) is defined by a set of instructions.
SLIDE 32
Basic facts about TM
- A Turing machine (TM) is defined by a set of instructions.
- Not every input has an output, and different inputs may have the
same output.
SLIDE 33
Basic facts about TM
- A Turing machine (TM) is defined by a set of instructions.
- Not every input has an output, and different inputs may have the
same output.
- Different TMs may perform the same task.
SLIDE 34
Basic facts about TM
- A Turing machine (TM) is defined by a set of instructions.
- Not every input has an output, and different inputs may have the
same output.
- Different TMs may perform the same task.
- We can “code” a problem into a TM.
Example: A TM that on input a, b, c Outputs “1” if ax2 + bx + c = 0 has a real number solution Outputs “0”
- therwise.
SLIDE 35
Church-Turing thesis
SLIDE 36
Church-Turing thesis
Intuitively computable ⇐ ⇒ Executable by a Turing machine
SLIDE 37
Church-Turing thesis
Intuitively computable ⇐ ⇒ Executable by a Turing machine
- Every Turing machine is a computer program.
SLIDE 38
Church-Turing thesis
Intuitively computable ⇐ ⇒ Executable by a Turing machine
- Every Turing machine is a computer program.
- “Intuitive” is subjective while “computer program” is precise.
SLIDE 39
Church-Turing thesis
Intuitively computable ⇐ ⇒ Executable by a Turing machine
- Every Turing machine is a computer program.
- “Intuitive” is subjective while “computer program” is precise.
- Equating the two is a leap of faith in our perception of truth.
SLIDE 40
Church-Turing thesis
Intuitively computable ⇐ ⇒ Executable by a Turing machine
- Every Turing machine is a computer program.
- “Intuitive” is subjective while “computer program” is precise.
- Equating the two is a leap of faith in our perception of truth.
The collection of TMs is the basic “model of computation” (Von Neumann architecture).
SLIDE 41
The central concern of mathematics
SLIDE 42
The central concern of mathematics
Decide if a mathematical statement is TRUE or FALSE.
SLIDE 43
The central concern of mathematics
Decide if a mathematical statement is TRUE or FALSE.
- Historically, mathematics took the algorithmic approach.
Abstraction came much later.
SLIDE 44
The central concern of mathematics
Decide if a mathematical statement is TRUE or FALSE.
- Historically, mathematics took the algorithmic approach.
Abstraction came much later.
- Can algorithmic approach answer every mathematical question?
SLIDE 45
Computable vs noncomputable: Examples
SLIDE 46
Computable vs noncomputable: Examples
- Fundamental Theorem of Algebra: Any polynomial
anxn + an−1xn−1 + · · · + a1x + a0 = 0 has a solution in the complex numbers C.
SLIDE 47
Computable vs noncomputable: Examples
- Fundamental Theorem of Algebra: Any polynomial
anxn + an−1xn−1 + · · · + a1x + a0 = 0 has a solution in the complex numbers C.
- (Tanaka and Yamazaki 2001) If the coefficients are computable,
then there is a TM that computes a solution.
SLIDE 48
Computable and noncomputable: Examples
SLIDE 49
Computable and noncomputable: Examples
- Brouwer’s Fixed Point Theorem: Every continuous function f
from the unit circle into itself has a fixed point, i.e. an a such that f(a) = a.
SLIDE 50
Computable and noncomputable: Examples
- Brouwer’s Fixed Point Theorem: Every continuous function f
from the unit circle into itself has a fixed point, i.e. an a such that f(a) = a.
- (Shioji and Tanaka 1990) There is a computable continuous
function with no TM to compute a fixed point.
SLIDE 51
Computable vs noncomputable: Examples
SLIDE 52
Computable vs noncomputable: Examples
- Complex dynamical systems f(z) = z2 + c, c ∈ C:
Julia set Jc for c = 0.300283+0.48857i f(z) = z2 + c; f (2)(z) = f(f(z)) = (z2 + c)2 + c; f (n+1)(z) = (f (n)(z))2 + c Jc = boundary of {z : f (n)(z) → ∞}.
SLIDE 53
Computable vs noncomputable: Examples
- Complex dynamical systems f(z) = z2 + c, c ∈ C:
Julia set Jc for c = 0.300283+0.48857i f(z) = z2 + c; f (2)(z) = f(f(z)) = (z2 + c)2 + c; f (n+1)(z) = (f (n)(z))2 + c Jc = boundary of {z : f (n)(z) → ∞}.
- (Braverman and Yampolsky 2006) There exist computable c’s
for which there is no TM to approximate Jc.
SLIDE 54
David Hilbert (1862–1943)
In 1900, Hilbert proposed 23 mathematical problems. The development of mathematics in the new century was greatly influenced by in- vestigations of these problems.
SLIDE 55
Two Hilbert problems
SLIDE 56
Two Hilbert problems
- Problem 2. Prove that arithmetic is consistent, i.e. free of
contradiction.
SLIDE 57
Two Hilbert problems
- Problem 2. Prove that arithmetic is consistent, i.e. free of
contradiction.
- There is a TM T that inputs the (Peano) axioms of arithmetic and
- utputs its theorems.
SLIDE 58
Two Hilbert problems
- Problem 2. Prove that arithmetic is consistent, i.e. free of
contradiction.
- There is a TM T that inputs the (Peano) axioms of arithmetic and
- utputs its theorems.
Left: Gódel and Einstein (Princeton, Auguest 1950)
Kurt Gödel (1906–1978) If arithmetic is consistent, then “consistency of arithmetic” is not an output of T.
SLIDE 59
Two Hilbert problems
SLIDE 60
Two Hilbert problems
- Problem 10. Produce an algorithm to decide whether a given
polynomial P(x1, . . . , xn) = 0 with integer coefficients has a solution in integers.
SLIDE 61
Two Hilbert problems
- Problem 10. Produce an algorithm to decide whether a given
polynomial P(x1, . . . , xn) = 0 with integer coefficients has a solution in integers.
- Examples:
Elliptic curve y2 = x3 + ax + b Fermat’s equation xn + yn = zn, n > 2
SLIDE 62
Two Hilbert problems
- Problem 10. Produce an algorithm to decide whether a given
polynomial P(x1, . . . , xn) = 0 with integer coefficients has a solution in integers.
- Examples:
Elliptic curve y2 = x3 + ax + b Fermat’s equation xn + yn = zn, n > 2
- Martin Davis, Yuri Matiyasevich, Hilary Putnam and Julia
Robinson (1961 to 1969): There is no TM for this.
SLIDE 63
Foundational issue
- Since TMs are not able to answer all questions, can we
strengthen the notion of TM to compute all mathematical truths?
SLIDE 64
Foundational issue
- Since TMs are not able to answer all questions, can we
strengthen the notion of TM to compute all mathematical truths?
- For example, write TMn as the nth TM. Consider
- A = {n : TMn has no output}
SLIDE 65
Foundational issue
- Since TMs are not able to answer all questions, can we
strengthen the notion of TM to compute all mathematical truths?
- For example, write TMn as the nth TM. Consider
- A = {n : TMn has no output}
- B = {n : TMn has infinitely many outrputs}
SLIDE 66
Foundational issue
- Since TMs are not able to answer all questions, can we
strengthen the notion of TM to compute all mathematical truths?
- For example, write TMn as the nth TM. Consider
- A = {n : TMn has no output}
- B = {n : TMn has infinitely many outrputs}
- C = {n : n = 2m0 · 3m1 & TMm0 and TMm1 eventually
produce the same outputs} · · ·
SLIDE 67
Foundational issue
- Since TMs are not able to answer all questions, can we
strengthen the notion of TM to compute all mathematical truths?
- For example, write TMn as the nth TM. Consider
- A = {n : TMn has no output}
- B = {n : TMn has infinitely many outrputs}
- C = {n : n = 2m0 · 3m1 & TMm0 and TMm1 eventually
produce the same outputs} · · ·
- There is No TM to compute A, B or C. In fact, C > B > A in
terms of “relative difficulty” to compute.
SLIDE 68
Foundational issue
- We can create a “larger” model of computation M∗ = all the
sets of TMs that our language can describe.
SLIDE 69
Foundational issue
- We can create a “larger” model of computation M∗ = all the
sets of TMs that our language can describe.
- But it can be proved that M∗ will still have limited
computational power.
SLIDE 70
Foundational issue
- We can create a “larger” model of computation M∗ = all the
sets of TMs that our language can describe.
- But it can be proved that M∗ will still have limited
computational power.
- So this model captures only a small fraction of the universe of
mathematical truths.
SLIDE 71
In the universe of sets, M∗ is a tiny collection.
SLIDE 72
Foundational issue
SLIDE 73
Foundational issue
- For example, there are uncountably many sets of natural
numbers but M∗ computes only countably many of them.
SLIDE 74
Foundational issue
- For example, there are uncountably many sets of natural
numbers but M∗ computes only countably many of them.
- This is a natural limitation of M∗ and hence of our ability to
compute.
SLIDE 75
Foundational issue
- For example, there are uncountably many sets of natural
numbers but M∗ computes only countably many of them.
- This is a natural limitation of M∗ and hence of our ability to
compute.
- To overcome this barrier, we need to go to “higher infinity”.
SLIDE 76
Foundational issue
- For example, there are uncountably many sets of natural
numbers but M∗ computes only countably many of them.
- This is a natural limitation of M∗ and hence of our ability to
compute.
- To overcome this barrier, we need to go to “higher infinity”.
- In the universe of higher infinity, there is a more powerful model
- f computation. But again there are sets of natural numbers it
cannot compute.
SLIDE 77
Back to the physical world...
- But what about Turing’s vision of AI by the year 2000?
SLIDE 78
Back to the physical world...
- But what about Turing’s vision of AI by the year 2000?