A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
Computational Complexity for Poets
1. Computational Complexity for Poets
Aleksandar Bradic
Supplyframe
January 23, 2019
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 1 / 18
2. The Entscheidungsproblem
Is there an algorithm that takes as input an arbitrary statement of
a first-order logic (possibly with a finite number of axioms beyond
the usual axioms of first-order logic) and answers ”Yes” or ”No”
according to whether a given statement is universally valid, i.e.,
valid in every structure satisfying the axioms.
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 2 / 18
3. The Entscheidungsproblem
A general solution to the Entscheidungsproblem is impossible,
assuming that the intuitive notion of ”effectively calculable” is
captured by the functions computable by a Turing machine
(Church-Turing thesis).
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 3 / 18
4. G¨odel’s Lost Letter (1956)
Given a formal system F (such as Zermelo-Frenkel set theory),
consider the problem of deciding whether a mathematical
statement S has a proof in F with n symbols or fewer.
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 4 / 18
5. G¨odel’s Lost Letter (1956)
If there actually were a machine with running time ∼ Kn (or even
only with ∼ Kn2), for some constant K independent of n, this
would have consequences of the greatest magnitude. That is to say,
it would clearly indicate that, despite the unsolvability of the
Entscheidungsproblem, the mental effort of the mathematician in
the case of yes-or-no questions could be completely replaced by
machines. One would indeed have to simply select an n so large
that, if the machine yields no results, there would then also be no
reason to think further about the problem.
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 5 / 18
6. P vs. NP Problem
P (Polynomial time) - the class of all computational problems
that are solvable by a polynomial-time algorithm
NP (Nondeterministic Polynomial-Time) - the class of
computational problems for which a solution can be recognized in
polynomial time, even though a solution might be very hard to
find.
P ⊆ NP. Whether P = NP is an open question.
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 6 / 18
7. P vs. NP Problem
P: Bellman-Ford algorithm, Edge Cover, Longest Common
Subsequence, Floyd-Warshall algorithm, Matching, Minimum
Spanning Tree, Shortest Path Problem, Yen’s Algorithm...
NP: Traveling Salesman Problem, Hamiltonian Path, Vertex
Cover, Set Cover, Boolean Satisfiability, Independent Set, Clique,
Longest Path, Subgraph Isomorphism, Minesweeper, Tetris,
Sudoku, Exact cover, Knapsack problem, Steiner Tree Problem...
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 7 / 18
8. A Tour of NP
Graph k-Coloring: Is there a proper k-coloring of a given graph?
Boolean Satisfiability: Is a given CNF Boolean formula
φ(x1, ...., xn) satisfiable?
Subset Sum: Given a set S = x1, ..., xl of positive integers and an
integer t, does there exist a subset A ⊆ 1, ..., l such that
i∈A xi = t
Clique: Does graph G have a clique of size k or more?
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 8 / 18
9. Computational Capacity of the Universe
All physical systems register and process information. The laws of
physics determine the amount of information that a physical
system can register (number of bits) and the number of elementary
logic operations that a system can perform. The Universe is a
physical system. The amount of information that the Universe can
register and the number of elementary operations that it can have
performed over its history are calculated. The Universe can have
performed 10120 ops on 1090 bits (10120 bits including gravitational
degrees of freedom). - Seth Lloyd, Physical Review Letters, June
2002.
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 9 / 18
10. Computational Capacity of the Universe
The Universe can have performed 10120 ops (∼ 2400) on 1090 bits
(10120 bits including gravitational degrees of freedom).
The Universe computing solution to the truncated
Entscheidungsproblem with n = 400 symbols would have just
completed its task!
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 10 / 18
11. NP Completeness
Any problem in NP can be reduced in polynomial time by a
deterministic Turing machine to the problem of determining
whether a Boolean formula is satisfiable. - Stephen Cook, ”The
complexity of theorem proving procedures” (1971)
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 11 / 18
12. Boolean Satisfiability
Can the variables of a given Boolean formula be consistently
replaced by the values TRUE or FALSE in such a way that the
formula evaluates to TRUE? If this is the case, the formula is
called satisfiable. On the other hand, if no such assignment exists,
the function expressed by the formula is FALSE for all possible
variable assignments and the formula is unsatisfiable.
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 12 / 18
14. Complexity Zoo
BPP (Bounded-error Probabilistic Polynomial Time) - Decision
problems solvable by a probabilistic Turing machine in polynomial
time with an error probability bounded away from 1/2 for all
instances.
PP - Decision problems solvable by a probabilistic Turing machine
in polynomial time, with an error probability of less than 1/2 for
all instances. BPP ⊂ PP.
BQP (Bounded-error Quantum Polynomial Time) - Decision
problems solvable by a quantum computer in polynomial time,
with an error probability of at most 1/3 for all instances.
(quantum analogue of BPP).
...
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 14 / 18
16. Computational Complexity and the Turing Test
Turing Test could be trivially passed by using a lookup table that
stores every possible conversation and the corresponding action to
be taken. However, such a program would need to be
exponentially-inefficient in the length of the test - as measured in
some resource such as time, memory usage, or the number of bits
needed to write the program down. Can we prove that we can (not)
do better than this astronomical lookup table?
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 16 / 18
17. Can Humans Solve NP-Complete Problems Effciently?
All evidence points to the contrary in the general case
Still, humans could have the ability to solve interesting special
cases of NP-complete problems faster than any Turing machine
Ironically, the notion of being sentient seems to be closely related
to the notion of being polynomially-bounded. The distinction
between polynomial and exponential complexity could have a
metaphysical significance
However, we still can’t tell if everything that humans do can be
efficiently reduced to a specific complexity class.
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 17 / 18
18. References
Why Philosophers Should Care About Computational Complexity,
Scott Aaronson, Computability: G¨odel, Turing, Church, and
beyond, 2011
Computational Capacity of the Universe, Seth Lloyd, Physical
Review Letters, 2002
Probably Approximately Correct: Nature’s Algorithms for Learning
and Prospering in a Complex World, Leslie Valiant, Basic Books,
2013
The Nature of Computatation, Christopher Moore and Stephan
Mertens, Oxford University Press, 2011
Aleksandar Bradic (Supplyframe) Computational Complexity for Poets January 23, 2019 18 / 18