0% found this document useful (0 votes)
18 views

Intractability

Pdf

Uploaded by

blazeblessan123
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Intractability

Pdf

Uploaded by

blazeblessan123
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 56

Algorithms R OBERT S EDGEWICK | K EVIN W AYNE

I NTRACTABILITY
‣ introduction
‣ P vs. NP
Algorithms F O U R T H E D I T I O N
‣ poly-time reductions
‣ NP-completeness
R OBERT S EDGEWICK | K EVIN W AYNE
‣ dealing with intractability
https://algs4.cs.princeton.edu

Last updated on 12/5/23 10:04AM


Overview: introduction to advanced topics

Main topics. [final two lectures]


・Intractability: barriers to designing efficient algorithms.
・Algorithm design: paradigms for solving problems.
Shifting gears.
・From individual problems to problem-solving models.
・From linear/quadratic to poly-time/exponential scale.
・From implementation details to conceptual frameworks.
Goals.
・Introduce you to essential ideas.
・Place algorithms and techniques we’ve studied in a larger context.

2
I NTRACTABILITY
‣ introduction
‣ P vs. NP
Algorithms ‣ poly-time reductions
‣ NP-completeness
R OBERT S EDGEWICK | K EVIN W AYNE
‣ dealing with intractability
https://algs4.cs.princeton.edu
Fundamental questions

Q1. What is an algorithm?


Q2. What is an efficient algorithm?
Q3. Which problems can be solved efficiently?

A Turing machine

4
A dif cult problem: integer factorization

Integer factorization. Given an integer x, find a nontrivial factor. or report that no such factor exists

not 1 nor x

Ex. 14 7 57395 25 89 67 64 1 292 7 1 93 70 7 72 1 1350664108659952233496032162788059699388814756056670


2752448514385152651060485953383394028715057190944179
a FACTOR instance a factor
8207282164471551373680419703964191743046496589274256
2393410208643832021103729587257623585096431105640735
0150818751067659462920556368552947521350085287941637
7328533906109750544334999811150056977236890927563

a very challenging FACTOR instance


Core application area. Cryptography.
(factor to earn an A+ in COS 226)

Brute-force search. Try all possible divisors between 2 and x.

if there’s a nontrivial factor larger


than x , there is one smaller than x

5
fi
Another dif cult problem: boolean satis ability

Boolean satisfiability. Given a system of boolean equations, find a satisfying truth assignment.

or report that no such


Ex. assignment is possible
¬ x1 or x2 or x3 = true
x1 or ¬ x2 or x3 = true x1 = false
¬ x1 or ¬ x2 or ¬ x3 = true x2 = false
¬ x1 or ¬ x2 or or x4 = true x3 = true
¬ x2 or x3 or x4 = true x4 = true

a SAT instance a satisfying truth assignment

Applications.
・Automatic verification systems for software.
・Mean field diluted spin glass model in physics.
・Electronic design automation (EDA) for hardware.
・…
6
fi
fi
Another dif cult problem: boolean satis ability

Boolean satisfiability. Given a system of boolean equations, find a satisfying truth assignment.

Ex.
¬ x1 or x2 or x3 = true
x1 or ¬ x2 or x3 = true
¬ x1 or ¬ x2 or ¬ x3 = true
¬ x1 or ¬ x2 or or x4 = true
¬ x2 or x3 or x4 = true

a SAT instance

Brute-force search. Try all 2n possible truth assignments, where n = # variables.

Q. Can we do anything substantially more clever?


A. Probably no. [stay tuned]

7
fi
fi
How dif cult can it be?

Imagine a galactic computer…


・With as many processors as electrons in the universe.
・Each processor having the power of today’s supercomputers.
・Each processor working for the lifetime of the universe.

quantity estimate

electrons in universe 1079


instructions per second 1013
age of universe in seconds 1017

Q. Could galactic computer solve satisfiability instance with 1,000 variables using brute-force search?
A. Not even close: 21000 > 10300 >> 1079 ⋅ 1013 ⋅ 1017 = 10109.

Lesson. Exponential growth dwarfs technological change.


8
fi
Polynomial time

Q2. What is an efficient algorithm?


A2. Algorithm whose running time in polynomial in order of
emoji name today
growth
input size n. n = # of bits in input
Θ(1) 😍 constant 🙂
with respect to some reasonable model of computation
Θ(log n) 😎 logarithmic 🙂
(Turing machine, λ-calculus, word RAM, …)
Θ(n) 😁 linear 🙂
Polynomial time. Number of elementary operations
Θ(n log n) 😀 linearithmic 🙂
is at most n k for some constant k.
2
Θ(n ) 😕 quadratic 🙂
must hold for all inputs of size n
Θ(n 3) 🙁 cubic 🙂
log n
😨 👿
(worst-case running time)
Θ(n ) quasipolynomial
n
Θ(1.1 ) 😭 exponential 👿
n
Θ(2 ) 😈 exponential 👿
We use to a poly-time algorithm as a surrogate for Θ(n!) 👿 factorial 👿
useful in practice. more on practicality shortly!

9
Intractability: quiz 1

Which of the following are poly-time algorithms?

A. Brute-force search for satisfiability. involves enumerating 2 n truth assignments


(n = # variables, m = # equations)
B. Brute-force search for factoring.

C. Both A and B. involves checking x = 2 = 2 n n


2

possible divisors (n = # bits in integer x)


D. Neither A nor B.

10
Some computational problems

problem description example instance a solution poly-time algorithm

FACTOR given an integer,


147573952589676412927 193707721 ?
(integer factorization) nd a nontrivial factor

¬ x2 or x3 = true x1 = false
SAT given a system of boolean equations,
¬ x1 or ¬ x2 or ¬ x3 = true x2 = true ?
(boolean satis ability) nd a satisfying assignment
x2 or ¬ x3 = true x3 = true

SORT given an array of integers, nd a permutation


[45, 32, 21, 67, 226] [2, 1, 0, 3, 4] insertion sort
(sorting) that puts the elements in ascending order

3 0
ST-CONN given a graph and two vertices,
0–3–2–4 depth- rst search
(graph connectivity) nd a path that connects them
1 2 4

⋮ ⋮ ⋮ ⋮ ⋮
11
fi
fi
fi
fi
fi
fi
Intractable problems

Q3. Which problems can be solved efficiently?


A3. Those for which poly-time algorithms exist.

Def. A problem is intractable if no poly-time algorithm exists to solve it.

Q4. How to prove that a problem is intractable?


A4. Generally no easy way. Focus of today’s lecture.

tractable intractable?

primality integer factorization

shortest path longest path

min cut max cut

2-SAT 3-SAT 3 boolean variables


per equation
⋮ ⋮

12
Intractable problems

13
I NTRACTABILITY
‣ introduction
‣ P vs. NP
Algorithms ‣ poly-time reductions
‣ NP-completeness
R OBERT S EDGEWICK | K EVIN W AYNE
‣ dealing with intractability
https://algs4.cs.princeton.edu
Search problems

Search problem. Computational problem for which you can check a solution in poly-time.

Ex 1. [integer factorization] Given an n-bit integer x, find a nontrivial factor.

14 7 57395 25 89 67 64 1 292 7 1 93 70 7 72 1
instance I solution S

Poly-time checking algorithm. Check whether solution is a divisor of x. O(n 2) time via long division

Remark. Suffices to verify a purported solution.


・Doesn’t need to find the solution from scratch.
・Doesn’t need to address case when no solution exists (e.g., if x is prime).
15
Search problems

Search problem. Computational problem for which you can check a solution in poly-time.

Ex 2. [boolean satisfiability] Given a system of m boolean equations in n variables,


find a satisfying assignment.

¬ x1 or x2 or x3 = true
x1 or ¬ x2 or x3 = true x1 = false

¬ x1 or ¬ x2 or ¬ x3 = true x2 = false
¬ x1 or ¬ x2 or or x4 = true x3 = true
¬ x2 or x3 or x4 = true x4 = true

instance I solution S

Poly-time checking algorithm. Plug values of solution into system of equations and check.

O(mn) time
16
NP

More accurately, FNP.


Definition. NP is the class of all search problems.
NP = nondeterministic poly-time

problem description poly-time checking algorithm

FACTOR given an integer,


long division
(integer factorization) nd a nontrivial factor

SAT given a boolean formula, plug in boolean values and


(boolean satis ability) nd a satisfying assignment evaluate boolean equations

SORT given an array of integers, nd a permutation compare all adjacent


(sorting) that puts the elements in ascending order integers in permutation

ST-CONN given a digraph and two vertices, check for existence of edges between
(graph connectivity) nd a path that connects them consecutive vertices in path

BLOCK-CHAIN given strings s and h, nd a string t whose compute the hash of the concatenation
(hash veri cation) concatenation with s hashes to h and compare with h

⋮ ⋮ ⋮

Significance. Problems that scientists, engineers, and programmers aspire to solve in practice.
17
fi
fi
fi
fi
fi
fi
fi
Intractability: quiz 2

Which of these problems are in NP?


unlikely to be in NP
(but remains unknown)

A. Given a graph G, find a simple path with the most edges.


poly-time checking algorithm:
B. Given a graph G and an integer k, find a simple path with ≥ k edges. check that it is a simple path;
check that it has ≥ k edges
C. Both A and B.

D. Neither A nor B.

18
P

Definition. P is the class of all search problems that can be solved in poly-time. more accurately, FP

problem description poly-time algorithm

SORT given an array of integers, nd a permutation


insertion sort
(sorting) that puts the elements in ascending order

ST-CONN given a digraph and two vertices,


depth- rst search
(graph connectivity) nd a path that connects them

JAVA given a string,


javac
(legal Java program) is it a legal Java program?

L-SOLVE given a system of linear equations,


Gaussian elimination†
(system of linear equations) nd a solution

⋮ ⋮ ⋮

Significance. Problems that scientists, engineers, and programmers do solve in practice.


Note. All problems in P are also in NP. any string serves as certi cate
19
fi
fi
fi
fi
fi
P vs. NP

The central question. Does P = NP ?


・P = set of search problems that are solvable in poly-time.
・NP = set of search problems (checkable in poly-time).

NP

intractable P = NP
P search problems

P ≠ NP P = NP
brute-force search may be poly-time algorithms for
the best we can do FACTOR, SAT, LONGEST-PATH, …

but nobody has been able to


Consensus opinion. P ≠ NP. prove or disprove (!!!)
20
P vs. NP

The central question. Does P = NP ?


・P = set of search problems that are solvable in poly-time.
・NP = set of search problems (checkable in poly-time).

but nobody has been able to


Consensus opinion. P ≠ NP. prove or disprove (!!!)
21
Creativity: another way to view the situation

Analogy. Creative genius vs. ordinary appreciation of creativity.

domain creative genius ordinary appreciation

music Taylor Swift writes a song a Swiftie appreciates it

mathematics Wiles proves a deep theorem a colleague checks it

engineering Boeing designs an ef cient airfoil a simulator veri es it creative genius

science Einstein proposes a theory an experimentalist validates it

programming GitHub Copilot generates a program a programmer veri es it

ordinary appreciation

Intuition. Checking a solution seems like it should be way easier than finding it.
22
fi
fi
fi
Princeton computer science building

23
Princeton computer science building (closeup)

1
0 1
0 0 0
1 1 0
1 1 0
0 0 1 0
1 1 1 1
0 1 1
0 0 0
1 1 0 0
1 0
1 1 1
char ASCII binary

P 80 1010000
= 61 0111101
N 78 1001110
P 80 1010000
? 63 0111111
24
I NTRACTABILITY
‣ introduction
‣ P vs. NP
Algorithms ‣ poly-time reductions
‣ NP-completeness
R OBERT S EDGEWICK | K EVIN W AYNE
‣ dealing with intractability
https://algs4.cs.princeton.edu
Bird s-eye view

Desiderata. Classify problems according to computational requirements.

Desiderata′. Suppose we could (not) solve problem X efficiently.


What else could we (not) solve efficiently?

“ Give me a lever long enough and a fulcrum on which to


place it, and I shall move the world. ” — Archimedes

26

Poly-time reduction

Def. Problem X poly-time reduces to problem Y if X can be solved with:


・Polynomial number of elementary operations.
・Polynomial number of calls to Y. Cook reduction

Algorithm
instance I solution to I
for Y
(of X)

Algorithm for X

Design algorithms. If X poly-time reduces to Y, and can solve Y efficiently, then can also solve X.

Ex 1. MEDIAN reduces to SORT.


Ex 2. BIPARTITE-MATCHING reduces to MAX-FLOW.

27
Poly-time reduction

Def. Problem X poly-time reduces to problem Y if X can be solved with:


・Polynomial number of elementary operations.
・Polynomial number of calls to Y.

Algorithm
instance I solution to I
for Y
(of X)

Algorithm for X

Establish intractability. If SAT poly-time reduces to Y, then Y is intractable. assuming SAT is intractable

Mentality (to establish intractability).


・If I could solve Y in poly-time, then I could also solve SAT in poly-time.
・SAT is believed to be intractable.
・Therefore, so is Y.
28
Poly-time reduction

Def. Problem X poly-time reduces to problem Y if X can be solved with:


・Polynomial number of elementary operations.
・Polynomial number of calls to Y.

Algorithm
instance I solution to I
for Y
(of X)

Algorithm for X

Common mistake. Confusing X poly-time reduces to Y with Y poly-time reduces to X.

X reduces to SAT: X is no harder than SAT. (If I can solve SAT, then I can solve X.)
SAT reduces to X: X is no easier than SAT. (If I can solve X, then I can solve SAT.)
29
Integer linear programming

ILP. Given a system of linear inequalities, find an integer-valued solution.

3x1 + 5x2 + 2x3 + x4 + 4x5 ≥ 10


5x1 + 2x2 + 4x4 + x5 ≤ 7
x1 + x3 + 2x4 ≤ 2
x1 = 0
3x1 + 4x3 + 7x4 ≤ 7 linear inequalities
x2 = 1
x1 + x4 ≤ 1
x3 = 0
x1 + x3 + x5 ≤ 1
x4 = 1
x1 , x2 , x3 , x4 , x5 ∈ ℤ integer variables
x5 = 1

instance I solution S

Context. Cornerstone problem in operations research.


Remark. Finding a real-valued solution can be solved in poly-time (linear programming).
30
SAT poly-time reduces to ILP

SAT. Given a system of boolean equations in CNF, find a


solution.
¬ x1 or x2 or x3 = true
conjunctive normal form
(AND of ORs) x1 or ¬ x2 or x3 = true
¬ x1 or ¬ x2 or ¬ x3 = true
¬ x1 or ¬ x2 or or x4 = true
¬ x2 or x3 or x4 = true

ILP. Given a system of linear inequalities, find an integer-


(1 − y1) + y2 + y3 ≥ 1
valued solution.
0 ≤ y1 ≤ 1
y1 + (1 − y2) + y3 ≥ 1
yi = 0 ⇒ xi = false 0 ≤ y2 ≤ 1
(1 − y1) + (1 − y2) + (1 − y3) y4 ≥ 1
yi = 1 ⇒ xi = true 0 ≤ y3 ≤ 1
(1 − y1) + (1 − y2) + + y4 ≥ 1
0 ≤ y4 ≤ 1
(1 − y2) + y3 + y4 ≥ 1
Solution to ILP instance provides solution to SAT instance.
31
SAT poly-time reduces to ILP

instance I
(of SAT) Algorithm solution to I
for ILP

Algorithm for SAT

Preprocessing: boolean equations to linear inequalities

yi = 0 ⟹ xi = false
Post-processing:
yi = 1 ⟹ xi = true

32
Intractability: quiz 3

Suppose that Problem X poly-time reduces to Problem Y.


Which of the following can we infer?

A. If X can be solved in poly-time, then so can Y.

B. If X cannot be solved in Θ(n3) time, Y cannot be solved in poly-time.

C. If Y can be solved in Θ(n3) time, then X can be solved in poly-time.

D. If Y cannot be solved in poly-time, then neither can X.

33
More poly-time reductions from SAT

SAT

3-COLOR ILP VERTEX-COVER


Richard Karp
(1972)
SAT poly-time
reduces to ILP
EXACT-COVER CLIQUE HAMILTON-CYCLE

SUBSET-SUM INDEPENDENT-SET TSP

PARTITION

Conjecture. SAT is intractable.

KNAPSACK BIN-PACKING Implication. All of these problems are intractable.

34
I NTRACTABILITY
‣ introduction
‣ P vs. NP
Algorithms ‣ poly-time reductions
‣ NP-completeness
R OBERT S EDGEWICK | K EVIN W AYNE
‣ dealing with intractability
https://algs4.cs.princeton.edu
NP-completeness

Def. A problem is NP-complete if


・It is in NP.
・All problems in NP poly-time to reduce to it. intuitively, the “hardest problems” in NP

Two worlds.

NP

NPC P = NP = NPC
P

P ≠ NP P = NP

36
Intractability: quiz 4

Suppose that X is NP-complete. What can you infer?

I. X is in NP.
II. If X can be solved in poly-time, then P = NP.
III. If X cannot be solved in poly-time, then P ≠ NP.

A. I only.

B. II only.

C. I and II only.

D. I, II, and III.

Key property. An NP-complete problem can be solved in poly-time if and only if P = NP.

37
Cook–Levin theorem

Cook-Levin theorem. SAT is NP-complete.


Pf. Pioneering result in computer science.

Corollary. SAT can be solved in poly-time if and only if P = NP.


Stephen Cook Leonid Levin
(1971) (1971)

Impact. To provide that a new problem Y is NP-complete, suffices to show that:


・Y is in NP.
・SAT poly-time reduces to Y.

38
Implications of Cook–Levin theorem

3-COLOR SAT VERTEX-COVER

EXACT-COVER HAMILTON-CYCLE

SUBSET-SUM TSP

PARTITION CLIQUE

BIN-PACKING KNAPSACK ILP INDEPENDENT-SET

All of these problems (and many, many more)


poly-time reduce to SAT.
39
Implications of Karp + Cook–Levin

3-COLOR SAT VERTEX-COVER

EXACT-COVER HAMILTON-CYCLE

SUBSET-SUM TSP

PARTITION CLIQUE

BIN-PACKING KNAPSACK ILP INDEPENDENT-SET

All of these problems are NP-complete; they are


manifestations of the same really hard problem.
40
Implications of Karp + Cook–Levin

3-COLOR SAT VERTEX-COVER

EXACT-COVER HAMILTON-CYCLE

SUBSET-SUM TSP

PARTITION CLIQUE

BIN-PACKING KNAPSACK ILP INDEPENDENT-SET

All of these problems are NP-complete; they are


manifestations of the same really hard problem.
41
More NP-complete problems

eld of study NP-complete problem

Aerospace engineering optimal mesh partitioning for nite elements

Biology phylogeny reconstruction

Chemical engineering heat exchanger network synthesis

Chemistry protein folding

Civil engineering equilibrium of urban traf c ow

Economics computation of arbitrage in nancial markets with friction


6,000+ scienti c
Electrical engineering VLSI layout papers per year.

Environmental engineering optimal placement of contaminant sensors

Financial engineering minimum risk portfolio of given return

Game theory Nash equilibrium that maximizes social welfare

Mechanical engineering structure of turbulence in sheared ows

Medicine reconstructing 3d shape from biplane angiocardiogram

Operations research traveling salesperson problem, integer programming

Physics partition function of 3d Ising model

Politics Shapley–Shubik voting power

Pop culture versions of Sudoku, Checkers, Minesweeper, Tetris

Statistics optimal experimental design


42
fi
fi
fi
fl
fi
fi
fl
I NTRACTABILITY
‣ introduction
‣ P vs. NP
Algorithms ‣ poly-time reductions
‣ NP-completeness
R OBERT S EDGEWICK | K EVIN W AYNE
‣ dealing with intractability
https://algs4.cs.princeton.edu
Dealing with intractability

44
Intractability: quiz 5

A program with which of these running times is most likely to be useful in practice?

A. 10226 n
poly-time
(but probably not useful in practice)
B. n226
n exponential time
C. 1.000000001 (but probably useful in practice)

D. (n!) ! good luck if n ≥ 5

Key point. Poly-time is not always a surrogate for useful in practice, some poly-time algorithms are slow;
though it tends to be true for the algorithms we encounter in the wild. some exponential-time algorithms are fast!

45
Identifying intractable problems

Establishing NP-completeness through poly-time reduction is an important tool


in guiding algorithm design efforts.

Q4′. How to convince yourself that a problem is (probably) intractable?


A. [hard way] Long futile search for a poly-time algorithm (as for SAT).
A. [easy way] Poly-time reduction from SAT. or from any other NP-complete problem

Caveat. Intricate reductions are common.

46
Identifying intractable problems

Step 1. Learn to identify NP-complete problems.

I “I
guess I'm nd
can't justa to dumb. algorithm.”
poly-time “I can't nd a poly-time algorithm, but neither can all these famous people.”

does not know about NP-completeness knows about NP-completeness

47
fi
fi
Approaches to dealing with intractability

Q. What to do when you identify an NP-complete problem?


A. Safe to assume it is intractable: no worst-case poly-time algorithm for all problem instances.

Q1. Must your algorithm always run fast?


Solve real-world instances. Backtracking, TSP, SAT.

Q2. Do you need the right solution or a good solution?


Approximation algorithms. Look for suboptimal solutions.

Q3. Can you use the problem’s hardness in your favor?


Leverage intractability. Cryptography.

48
Dealing with intractability: nd solutions to real-world problem instances

Observations.
・Worst-case inputs may not occur for practical problems.
・Instances that do occur in practice may be easier to solve.
・Reasonable approach: relax the condition of guaranteed poly-time.
Boolean satisfiability.
・Chaff solves real-world instances with 10,000+ variables.
・Princeton senior independent work (!) in 2000.
Traveling salesperson problem.
・Concorde routinely solves large real-world instances.
・85,900-city instance solved in 2006.
TSP solution for 13,509 US cities
Integer linear programming.
・CPLEX routinely solves large real-world instances.
・Routinely used in scientific and commercial applications.
49
fi
Dealing with intractability: approximation algorithms

MAX-CUT: given a graph G, find the cut with maximum number M of crossing edges.
Approximate version: find a large cut.

Algorithm: take a uniformly random cut.


Expected size is E/2; random assignment size is ≥ E/2 ≥ M/2 with at least 50% probability.

can improve to .878M

50
Dealing with intractability: approximation algorithms

3-SAT: given 3-variable equations on n boolean variables, find satisfying truth assignment.
Approximate version: find assignment that satisfies many equations.

Algorithm: take a uniformly random assignment.


Expected fraction of satisfied equations is 7/8; random assignment does with at least 50% probability.

can’t be improved (unless P = NP)

Remark. Some problems have approximation algorithms with arbitrary precision.


For others, finding better approximations is also NP-complete!

51
Leveraging intractability: RSA cryptosystem

Modern cryptography applications.


・Secure a secret communication.
・Append a digital signature.
・Credit card transactions.
・…
RSA cryptosystem exploits intractability.
・To use: multiply/divide two n-digit integers (easy).
・To break: factor a 2n-digit integer (intractable?).
Ron Rivest Adi Shamir Len Adelman

multiply
(easy)

761838257287 × 193707721 147573952589676412927

factor
(di cult)
52
ffi
Leveraging intractability: guiding scienti c inquiry

1926. Ising introduces a mathematical model for ferromagnetism.


1930s. Closed form solution is a holy grail of statistical mechanics.
1944. Onsager finds closed form solution to 2D version in tour de force.
1950s. Feynman (and others) seek closed form solution to 3D version.
2000. Istrail shows that ISING-3D is NP-complete.

Bottom line. Search for a closed formula seems futile.

53
fi
Summary

P. Set of search problems solvable in poly-time.


NP. Set of search problems (checkable in poly-time).
NP-complete. “Hardest” problems in NP. SAT, LONGEST-PATH, ILP, TSP, …

Use theory as a guide


・You will confront NP-complete problems in your career.
・An poly-time algorithm for an NP-complete problem would be
a stunning scientific breakthrough (a proof that P = NP).
・It is safe to assume that P ≠ NP and that such problems are intractable.
・Identify these situations and proceed accordingly.

54
Credits

image source license


Gears Adobe Stock Education License
Finding a Needle in a Haystack Basic Vision
Galactic Computer Adobe Stock Education License
Taylor Swift Caricature Cory Jensen CC BY-NC-ND
Fans in a Stadium Adobe Stock Education License
P and NP cookbooks Futurama S2E10
Homer Simpson and P = NP Simpsons
Archimedes, Lever, and Fulcrum unknown
COS Building, Western Wall Kevin Wayne
Richard Karp Berkeley EECS
Stephen Cook U. Toronto
Leonid Levin Wikimedia CC BY-SA 3.0
Garey–Johnson Cartoon Updated Stefan Szeider CC BY 4.0
Cartoon of Turing Machine Tom Dunne
Warning sign Adobe Stock Education License
Glass with water Adobe Stock Education License
John Nash Wikimedia CC BY-SA 3.0

Lecture Slides © Copyright 2023 Robert Sedgewick and Kevin Wayne


A nal thought

“ Now my general conjecture is as follows: for almost all suf ciently


complex types of enciphering, […] the mean key computation length
increases exponentially with the length of the key […].

The nature of this conjecture is such that I cannot prove it […].


Nor do I expect it to be proven. ”

— John Nash

56
fi
fi

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy