Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For those (like me) who clicked because algorithms are fun but don't know the max flow problem specifically: http://en.wikipedia.org/wiki/Maximum_flow_problem

TL;DR: what's the fastest way to transport a large amount of data over a mesh of many small pipes

As someone who knows little about this problem or the laws of physics, I wonder if it could be solved using physics -- set up a series of physical pipes, pump water from A to B, measure the flow at each point? If that would work, how complicated would the mesh need to be that solving it with physics is faster than brute-force computation?



You can directly model the flow of water through pipe networks computationally, the same way any chemical engineer would.

FWIW, as someone who designs massively parallel/distributed algorithms and went to school for chemical engineering, the conceptual model I use to design the aggregate behavior of complex networks are complex continuous flow chemical processes. All of the back pressure, flow overhead, reaction rates, equilibria, etc constructs are directly analogous to moving bits and doing computation in complex, distributed, heterogeneous computing systems. I think it is particularly effective for reasoning about distributed systems because chemical processes have no real concept of a global clock or shared state but still robustly and efficiently produce the desired output. It teaches you to reason about constructing optimal and robust global behaviors from subprocesses that only have local visibility and no explicit coordination between processes.


Could you recommend agood, cheap book on this part of CE? A dover book or an older edition would be best for us dilletantes...


Some people, when confronted with a problem, think "I know, I'll use a physical model." Now they have two problems.

(The new problem is dealing with fluid dynamics.)

Water-based computation has already been done of course: http://en.wikipedia.org/wiki/MONIAC_Computer



The fine article states that the authors had a breakthrough in 2011 based on modelling the system as a network of electrical resistances and obtaining the simultaneous currents rather than loading one edge at a time.

This is roughly in line with your intuition.


This would be an example of an analogue simulation. You first need to prove that the behavior of the physical analogue is also a solution to the original problem. The classic example is solving Poisson's equation, which gives (among other things) the electric field in a space containing charges, by measuring the deformation of an elastic sheet.


Network routing is directed flow; water flow is undirected, so backflow is possible. The dangers of analogy....


There are many queues in the devices along a route which are not unbounded. Back pressure is still an issue.


The problem is that you can have backwards flow, not just backwards pressure, because water has to be conserved.


> If that would work, how complicated would the mesh need to be that solving it with physics is faster than brute-force computation?

Nobody uses brute-force computation to solve max-flow. The problem lies in P.


max-flow is used to model a large variety of supply-chain type problems.

a much faster variant - this is a big deal!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: