Title: Approaching PNP: Can Soap Bubbles Solve The Steiner Tree Problem In Polynomial Time
1Approaching PNP Can Soap Bubbles Solve The
Steiner Tree Problem In Polynomial Time?
- Long Ouyang
- Computer systems
2Introduction
- Decision problems Ask yes/no questions.
- Two classes of problems, P and NP
- P Problems that can be solved in time polynomial
to the size of the input by a deterministic
Turing machine. - NP Problems that can be solved in time
polynomial to the size of the input by a
nondeterministic Turing machine.
3Turing machines (not important)
Deterministic -At most one entry for each
combination of symbol and state.
Non-deterministic -More than one entry for each
combination of symbol and state.
4What does this mean?
- With regards to modern computers
- Problems in P can be solved in polynomial time.
- Solutions to problems in NP can be verified in
polynomial time. - Problems in P take relatively less time to solve,
problems in NP take relatively more.
5NP
- Problems in NP
- Traveling salesman problem
- Hamiltonian path problem
- Partition problem
- Multiprocessor scheduling
- Bin packing
- Sudoku
- Tetris
6Who cares?
- If PNP, hard problems are actually relatively
easy. - Implications Cryptography, Mapquest,
compression, scheduling, computation
7How?
- Try to devise P algorithms to NP-Complete
problems. - Problem Turing arguments, Razborov-Rudich
barrier
8So what do we do?
- Physical systems often in nature, physical
systems reduce a situation to its lowest energy
state (optimizing energy). - Soap films
- Spin glasses
- Folding proteins
- Bubbles
9Additional methods
- Quantum computing
- Using DNA as non-deterministic Turing machines.
- Time travel
- Quantum computing
- Anthropic principles
10Well take the soap, please
- Pros
- Its inexpensive, compared to time travel.
- Reduces PNP to a problem in digital physics.
- Cons
- Makes formal proof at the least, very difficult
- Optimistically, at best, provides experimental
run-time data
11The Steiner Problem
- Soap is rumored to solve the Steiner Tree Problem
(STP).
Steiner Tree Problem Description Given a
weighted graph G, G(V,E,w), where V is the set of
vertices, E is the set of edges, and w is the set
of weights, and S, a subset of V, find the subset
of G that contains S and has the minimum
weight. Simply put Find the minimum spanning
tree for a bunch of vertices, given that you can
add additional points.
12How does soap do this?
- Soap, in water, acts as a surfactant, which
decreases the surface tension of the water. - This acts to minimize the surface energy of the
liquid. - This should minimize surface area (graph weight),
and solve the problem.
13Tools used
- OpenFOAM (computational fluid physics engine)
- Paraview (visualization engine)
- GeoSteiner '96 (exact STP solver)
14Design
- Generation of random vertices, appropriate mesh
for OpenFOAM - Solution of STP (where nodes are the random
vertices) by GeoSteiner '96 - OpenFOAM computation of soap action on vertices
- Comparison of exact solution with soap solution
15Soap model
- Thin box filled with soap water.
- Pegs connect the same parallel faces of the box
(nodes) - There's a small drain at the bottom of the box.
16Ideal soap solution
17Conclusions
- Agent-based modeling sucks for modeling fluids.
- Rigid-body physics sucks for modeling fluids.