28
Soluti on exa ct approxim ate fas t slo w Speed “Short & sweet” “Quick & dirty” “Slowly but surely” “Too little, too late” Algorithms eoff: Execution speed vs. solution qua

Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Embed Size (px)

Citation preview

Page 1: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Solutionexact approximate

fast

slow

Spe

ed

“Short & sweet” “Quick & dirty”

“Slowly but surely” “Too little, too late”

Algorithms

Tradeoff: Execution speed vs. solution quality

Page 2: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Computational Complexity

Problem: Avoid getting trapped in local minima

Global optimum

Page 3: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Approximation AlgorithmsIdea: Some intractable problems can be efficiently

approximated within close to optimal!

Fast:• Simple heuristics (e.g., greed)• Provably-good approximations

Slower:• Branch-and-bound approaches• Integer Linear Programming relaxation

Page 4: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Approximation AlgorithmsWishful:• Simulated annealing• Genetic algorithms

Page 5: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Minimum Vertex CoverMinumum vertex cover problem: Given a graph, find

a minimum set of vertices such that each edge is incident to at least one vertex of these vertices.

Example:

Applications: bioinformtics, communications, civil engineering, electrical engineering, etc.

• One of Karp’s original NP-complete problems

Input graph Heuristic solution Optimal solution

Page 6: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Minimum Vertex Cover Examples

Page 7: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Approximate Vertex CoverTheorem: The minimum vertex cover problem is NP-

complete (even in planar graphs of max degree 3).

Theorem: The minimum vertex cover problem can be solved exactly within exponential time nO(1)2O(n).

Theorem: The minimum vertex cover problem can not be approximated within 1.36*OPT unless P=NP.

Theorem: The minimum vertex cover problem can be approximated (in linear time) within 2*OPT.

Idea: pick an edge, add its endpoints, and repeat.

Page 8: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Approximate Vertex CoverAlgorithm: Linear time 2*OPT approximation for the

minimum vertex cover problem:– Pick random edge (x,y)

– Add {x,y} to the heuristic solution

– Eliminate x and y from graph

– Repeat until graph is empty

Idea: one of {x,y} must be in any optimal solution.

Heuristic solution is no worse than 2*OPT.

x

y

Best a

ppro

ximati

on

boun

d kno

wn for

VC!

Page 9: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Maximum CutMaximum cut problem: Given a graph, find a

partition of the vertices maximizing the # of crossing edges.

Example:

Applications: VLSI circuit design, statistical physics, communication networks.

• One of Karp’s original NP-complete problems.

A B

CD

E

A B

CD

E

Input graph Heuristic solution Optimal solution

A B

CD

E

cut size = 2 cut size = 4 cut size = 5

Page 10: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Maximum CutTheorem [Karp, 1972]: The minimum vertex cover

problem is NP-complete.

Theorem: The maximum cut problem can be solved in polynomial time for planar graphs.

Theorem: The maximum cut problem can not be approximated within 17/16*OPT unless P=NP.

Theorem: The maximum cut problem can be approximated in polynomial time within 2*OPT.

Theorem: The maximum cut problem can be approximated in polynomial time within 1.14*OPT.

=1.0625*OPT

Page 11: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Maximum CutAlgorithm: 2*OPT approximation for maximum cut:

Start with an arbitrary node partition

– If moving an arbitrary node across the partitionwill improve the cut, then do so

– Repeat until no further improvement is possible

Idea: final cut must contain at least half of all edges. Heuristic solution is no worse than 2*OPT.

A B

CD

E

Input graph Heuristic solution Optimal solution

cut size = 2 cut size = 3

A B

CD

E

A B

CD

E

cut size = 5

Page 12: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Approximate Traveling Salesperson

Analysis:

Traveling salesperson problem: given a pointset, find shortest tour that visits every point exactly once.

2*OPT metric TSP heuristic:– Compute MST

– T = Traverse MST

– S = shortcut tour

– Output S

triangle inequality!

TSP minus an edge is a spanning tree

S < T = MST < OPT TSP2*2*

T covers minimum spanning tree twice

Page 13: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Non-Approximability• NP transformations typically do not preserve the

approximability of the problem!

• Some NP-complete problems can be approximated arbitrarily close to optimal in polynomial time.

Theorem: Geometric TSP can be approximated in polynomial time within (1+)*OPT for any >0.

• Other NP-complete problems can not be approximatedwithin any constant in polynomial time (unless P=NP).

Theorem: General TSP can not be approximatedefficiently within K*OPT for any K>0 (unless P=NP).

Page 14: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Graph IsomorphismDefinition: two graphs G1=(V1,E1) and G2=(V2,E2) are

isomorphic iff bijection ƒ:V1V2 such that

vi,vjV1 (vi,vj)E1 (ƒ(vi),ƒ(vj))E2

Isomorphism edge-preserving vertex permutation

Problem: are two given graphs isomorphic?

Note: Graph isomorphism NP, but not known to be in P

Page 15: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Graph Isomorphism

≈ ≈

≈ ≈

≈ ≈

Page 16: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Zero-Knowledge ProofsIdea: proving graph isomorphism without disclosing it!

Premise: Everyone knows G1 and G2 but not ≈

≈ must remain secret!Create random G ≈ G1

Note: ≈ is ≈(≈)

Broadcast G

Verifier asks for ≈ or ≈

Broadcast ≈ or ≈

Verifier checks G≈G1 or G≈G2

Repeat k times

Probability of cheating: 2-k

G1G2≈

G≈ ≈

Appro

ximati

ng a

“pro

of”!

Page 17: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Zero-Knowledge ProofsIdea: prove graph 3-colorable without disclosing how!

Premise: Everyone knows G1 but not its 3-coloring χ which must remain secret!Create random G2 ≈ G1

Note: 3-coloring χ'(G2) is ≈(χ(G1))

Broadcast G2

Verifier asks for ≈ or χ'

Broadcast ≈ or χ'

Verifier checks G1≈G2 or χ'(G2)

Repeat k times

Probability of cheating: 2-k

G1

G2

≈χ

χ

χ'

Inter

activ

e pro

of!

Page 18: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Zero-Knowledge Caveats• Requires a good random number generator

• Should not use the same graph twice

• Graphs must be large and complex enough

χ

Applications: • Identification friend-or-foe (IFF)• Cryptography• Business transactions

Page 19: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Zero-Knowledge ProofsIdea: prove that a Boolean formula P is satisfiable

without disclosing a satisfying assignment!

Premise: Everyone knows P but not its secret satisfying assignment V !

Convert P into a graph 3-colorability instance G =ƒ(P)

Publically broadcast ƒ and G

Use zero-knowledge protocolto show that G is 3-colorable

P is satisfiable iff G is 3-colorable P is satisfiable with probability 1-2-k

P = (x+y+z)(x'+y'+z)(x'+y+z')

ƒ

G =

Inte

ract

ive p

roof

!

Page 20: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

Interactive Proof Systems• Prover has unbounded power and may be malicious• Verifier is honest and has limited power

Completeness: If a statement is true, an honest verifierwill be convinced (with high prob) by an honest prover.

Soundness: If a statement is false, even an omnipotent malicious prover can not convince an honest verifier that the statement is true (except with a very low probability).

• The induced complexity class depends on the verifier’s abilities and computational resources:

Theorem: For a deterministic P-time verifier, class is NP.

Def: For a probabilistic P-time verifier, induced class is IP.

Theorem [Shamir, 1992]: IP = PSPACE

Page 21: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

1. 2-SAT

2. 2-Way automata

3. 3-colorability

4. 3-SAT

5. Abstract complexity

6. Acceptance

7. Ada Lovelace

8. Algebraic numbers

9. Algorithms

10. Algorithms as strings

11. Alice in Wonderland

12. Alphabets

13. Alternation

14. Ambiguity

15. Ambiguous grammars

16. Analog computing

17. Anisohedral tilings

18. Aperiodic tilings

19. Approximate min cut

20. Approximate TSP

Concepts, Techniques, Idea & Proofs21. Approximate vertex cover

22. Approximations

23. Artificial intelligence

24. Asimov’s laws of robotics

25. Asymptotics

26. Automatic theorem proving

27. Autonomous vehicles

28. Axiom of choice

29. Axiomatic method

30. Axiomatic system

31. Babbage’s analytical engine

32. Babbage’s difference engine

33. Bin packing

34. Binary vs. unary

35. Bletchley Park

36. Bloom axioms

37. Boolean algebra

38. Boolean functions

39. Bridges of Konigsberg

40. Brute fore

41. Busy beaver problem

42. C programs

43. Canonical order

44. Cantor dust

45. Cantor set

46. Cantor’s paradox

47. CAPCHA

48. Cardinality arguments

49. Cartesian coordinates

50. Cellular automata

51. Chaos

52. Chatterbots

53. Chess-playing programs

54. Chinese room

55. Chomsky hierarchy

56. Chomsky normal form

57. Chomskyan linguistics

58. Christofides’ heuristic

59. Church-Turing thesis

60. Clay Mathematics Institute

Page 22: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

61. Clique problem

62. Cloaking devices

63. Closure properties

64. Cogito ergo sum

65. Colorings

66. Commutativity

67. Complementation

68. Completeness

69. Complexity classes

70. Complexity gaps

71. Complexity Zoo

72. Compositions

73. Compound pendulums

74. Compressibility

75. Computable functions

76. Computable numbers

77. Computation and physics

78. Computation models

79. Computational complexity

Concepts, Techniques, Ideas & Proofs80. Computational universality

81. Computer viruses

82. Concatenation

83. Co-NP

84. Consciousness and sentience

85. Consistency of axioms

86. Constructions

87. Context free grammars

88. Context free languages

89. Context sensitive grammars

90. Context sensitive languages

91. Continuity

92. Continuum hypothesis

93. Contradiction

94. Contrapositive

95. Cook’s theorem

96. Countability

97. Counter automata

98. Counter example

99. Cross- product

100. Crossing sequences

101. Cross-product construction

102. Cryptography

103. DARPA Grand Challenge

104. DARPA Math Challenges

105. De Morgan’s law

106. Decidability

107. Deciders vs. recognizers

108. Decimal number system

109. Decision vs. optimization

110. Dedekind cut

111. Denseness of hierarchies

112. Derivations

113. Descriptive complexity

114. Diagonalization

115. Digital circuits

116. Diophantine equations

117. Disorder

118. DNA computing

119. Domains and ranges

Page 23: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

120. Dovetailing

121. DSPACE

122. DTIME

123. EDVAC

124. Elegance in proof

125. Encodings

126. Enigma cipher

127. Entropy

128. Enumeration

129. Epsilon transitions

130. Equivalence relation

131. Euclid’s “Elements”

132. Euclid’s axioms

133. Euclidean geometry

134. Euler’s formula

135. Euler’s identity

136. Eulerian tour

137. Existence proofs

138. Exoskeletons

139. Exponential growth

Concepts, Techniques, Ideas & Proofs140. Exponentiation

141. EXPSPACE

142. EXPSPACE

143. EXPSPACE complete

144. EXPTIME

145. EXPTIME complete

146. Extended Chomsky hierarchy

147. Fermat’s last theorem

148. Fibonacci numbers

149. Final states

150. Finite automata

151. Finite automata minimization

152. Fixed-point theorem

153. Formal languages

154. Formalizations

155. Four color problem

156. Fractal art

157. Fractals

158. Functional programming

159. Fundamental thm of Algebra

160. Fundamental thm of Arith.

161. Gadget-based proofs

162. Game of life

163. Game theory

164. Game trees

165. Gap theorems

166. Garey & Johnson

167. General grammars

168. Generalized colorability

169. Generalized finite automata

170. Generalized numbers

171. Generalized venn diagrams

172. Generative grammars

173. Genetic algorithms

174. Geometric / picture proofs

175. Godel numbering

176. Godel’s theorem

177. Goldbach’s conjecture

178. Golden ratio

179. Grammar equivalence

Page 24: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

180. Grammars

181. Grammars as computers

182. Graph cliques

183. Graph colorability

184. Graph isomorphism

185. Graph theory

186. Graphs

187. Graphs as relations

188. Gravitational systems

189. Greibach normal form

190. “Grey goo”

191. Guess-and-verify

192. Halting problem

193. Hamiltonian cycle

194. Hardness

195. Heuristics

196. Hierarchy theorems

197. Hilbert’s 23 problems

198. Hilbert’s program

199. Hilbert’s tenth problem

Concepts, Techniques, Ideas & Proofs200. Historical perspectives

201. Household robots

202. Hung state

203. Hydraulic computers

204. Hyper computation

205. Hyperbolic geometry

206. Hypernumbers

207. Identities

208. Immerman’s Theorem

209. Incompleteness

210. Incompressibility

211. Independence of axioms

212. Independent set problem

213. Induction & its drawbacks

214. Infinite hotels & applications

215. Infinite loops

216. Infinity hierarchy

217. Information theory

218. Inherent ambiguity

219. Initial state

220. Intelligence and mind

221. Interactive proofs

222. Intractability

223. Irrational numbers

224. JFLAP

225. Karp’s paper

226. Kissing number

227. Kleene closure

228. Knapsack problem

229. Lambda calculus

230. Language equivalence

231. Law of accelerating returns

232. Law of the excluded middle

233. Lego computers

234. Lexicographic order

235. Linear-bounded automata

236. Local minima

237. LOGSPACE

238. Low-deg graph colorability

239. Machine enhancements

Page 25: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

240. Machine equivalence

241. Mandelbrot set

242. Manhattan project

243. Many-one reduction

244. Matiyasevich’s theorem

245. Mechanical calculator

246. Mechanical computers

247. Memes

248. Mental poker

249. Meta-mathematics

250. Millennium Prize

251. Minimal grammars

252. Minimum cut

253. Modeling

254. Multiple heads

255. Multiple tapes

256. Mu-recursive functions

257. MAD policy

258. Nanotechnology

259. Natural languages

Concepts, Techniques, Ideas & Proofs260. Navier-Stokes equations

261. Neural networks

262. Newtonian mechanics

263. NLOGSPACE

264. Non-approximability

265. Non-closures

266. Non-determinism

267. Non-Euclidean geometry

268. Non-existence proofs

269. NP

270. NP completeness

271. NP-hard

272. NSPACE

273. NTIME

274. Occam’s razor

275. Octonions

276. One-to-one correspondence

277. Open problems

278. Oracles

279. P completeness

280. P vs. NP

281. Parallel postulate

282. Parallel simulation

283. Dovetailing simulation

284. Parallelism

285. Parity

286. Parsing

287. Partition problem

288. Paths in graphs

289. Peano arithmetic

290. Penrose tilings

291. Physics analogies

292. Pi formulas

293. Pigeon-hole principle

294. Pilotless planes

295. Pinwheel tilings

296. Planar graph colorability

297. Planarity testing

298. Polya’s “How to Solve It”

299. Polyhedral dissections

Page 26: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

300. Polynomial hierarchy

301. Polynomial-time

302. P-time reductions

303. Positional # system

304. Power sets

305. Powerset construction

306. Predicate calculus

307. Predicate logic

308. Prime numbers

309. Principia Mathematica

310. Probabilistic TMs

311. Proof theory

312. Propositional logic

313. PSPACE

314. PSPACE completeness

315. Public-key cryptography

316. Pumping theorems

317. Pushdown automata

318. Puzzle solvers

319. Pythagorean theorem

Concepts, Techniques, Ideas & Proofs320. Quantifiers

321. Quantum computing

322. Quantum mechanics

323. Quaternions

324. Queue automata

325. Quine

326. Ramanujan identities

327. Ramsey theory

328. Randomness

329. Rational numbers

330. Real numbers

331. Reality surpassing Sci-Fi

332. Recognition and enumeration

333. Recursion theorem

334. Recursive function theory

335. Recursive functions

336. Reducibilities

337. Reductions

338. Regular expressions

339. Regular languages

340. Rejection

341. Relations

342. Relativity theory

343. Relativization

344. Resource-bounded comput.

345. Respect for the definitions

346. Reusability of space

347. Reversal

348. Reverse Turing test

349. Rice’s Theorem

350. Riemann hypothesis

351. Riemann’s zeta function

352. Robots in fiction

353. Robustness of P and NP

354. Russell’s paradox

355. Satisfiability

356. Savitch’s theorem

357. Schmitt-Conway biprism

358. Scientific method

359. Sedenions

Page 27: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

360. Self compilation

361. Self reproduction

362. Set cover problem

363. Set difference

364. Set identities

365. Set theory

366. Shannon limit

367. Sieve of Eratosthenes

368. Simulated annealing

369. Simulation

370. Skepticism

371. Soundness

372. Space filling polyhedra

373. Space hierarchy

374. Spanning trees

375. Speedup theorems

376. Sphere packing

377. Spherical geometry

378. Standard model

379. State minimization

Concepts, Techniques, Ideas & Proofs380. Steiner tree

381. Stirling’s formula

382. Stored progam

383. String theory

384. Strings

385. Strong AI hypothesis

386. Superposition

387. Super-states

388. Surcomplex numbers

389. Surreal numbers

390. Symbolic logic

391. Symmetric closure

392. Symmetric venn diagrams

393. Technological singularity

394. Theory-reality chasms

395. Thermodynamics

396. Time hierarchy

397. Time/space tradeoff

398. Tinker Toy computers

399. Tractability

400. Tradeoffs

401. Transcendental numbers

402. Transfinite arithmetic

403. Transformations

404. Transition function

405. Transitive closure

406. Transitivity

407. Traveling salesperson

408. Triangle inequality

409. Turbulance

410. Turing complete

411. Turing degrees

412. Turing jump

413. Turing machines

414. Turing recognizable

415. Turing reduction

416. Turing test

417. Two-way automata

418. Type errors

419. Uncomputability

Page 28: Solution exactapproximate fast slow Speed Short & sweetQuick & dirty Slowly but surelyToo little, too late Algorithms Tradeoff: Execution speed vs. solution

420. Uncomputable functions

421. Uncomputable numbers

422. Uncountability

423. Undecidability

424. Universal Turing machine

425. Venn diagrams

426. Vertex cover

427. Von Neumann architecture

428. Von Neumann bottleneck

429. Wang tiles & cubes

430. Zero-knowledge protocols

.

.

.

.

Concepts, Techniques, Ideas & Proofs

“Make everything as simple as possible, but not simpler.”

- Albert Einstein (1879-1955)