# Water-based computer

We all know that electrons behave like flowing water, e.g. that electric currents behave like water currents. We also know that modern computers use electric currents to carry out mathematical and logical operations.

My question is:

• Can a computer (a machine that is able of at least carrying out basic mathematical operations) be built which operates and carries out calculations using flowing water or any other liquid?
• You just need to figure out a way to represent a NAND gate and you have functional completeness. – ratchet freak Jun 17 '16 at 13:50
• How exactly would be carrying your information? – AmiralPatate Jun 17 '16 at 13:54
• Obligatory xkcd xkcd.com/505 – Jared Smith Jun 17 '16 at 17:50
• If you're clever, you can make a computer out of pretty much anything. Even crabs: gizmag.com/crab-computer-kobe/22145 – Ethan Jun 17 '16 at 18:26
• You can even make a computer out of dominos. Here’s a 4 bit adder: youtube.com/watch?v=OpLU__bhu2w – Michael Jun 17 '16 at 20:50

There is an entire field of study for this concept, called fluidics. Most implementations I found use colliding streams of water to check for relations. While not as precise as their electronic counterparts, these machines are still functional. Here is one implementation.

Another interesting example is the MONIAC, which predicted the literal flow of money between different economic entities. This computer is interesting because it is produces an accurate simulation without using any kind of logic gates. Of course, modern electronics far exceed its accuracy, but the idea of modeling data using fluid mechanics is intriguing.

There is a particularly difficult optimization problem called the "Traveling Salesman" problem (find the shortest path between multiple stops).

The travelling salesman problem (TSP) asks the following question: Given a list of cities and the distances between each pair of cities, what is the shortest possible route that visits each city exactly once and returns to the origin city? It is an NP-hard problem in combinatorial optimization, important in operations research and theoretical computer science.

Except for smaller number of stops, an exact solution is not computationally efficient. Many approximations and heuristics exist that should yield good answers.

Unfortunately, I can't find the paper that discusses this but some researchers have found a method of finding an exact solution and it involves a "liquid computer". They build a clear plastic model of the routes and then push fluids through the model. The water going through the shortest route makes it to the end the fastest. I assume various dyes are injected so they can determine the "winning" route.

However, there are many attempts at developing numerical methods that imitate the water flow method of solving the problem.

• Such methods typically only solve an approximate solution to the TSP. Liquid computers are cool, but we shouldn't give them too much credit. – Cort Ammon Jun 17 '16 at 22:32
• The problem with the liquid computer is in this case you have to make a physical scale replica of the problem. It doesn't lend itself to solving many different TSP problems - meaning it isn't flexible. But it will always find the best answer. – Jim2B Jun 18 '16 at 4:12
• I think it can indeed be the TSP. If the dye takes both paths at evey node as it diffuses at a constant rate, you're essentially checking all choices in parallel using huge numbers of molecules. – JDługosz Jun 19 '16 at 5:19
• There's no way this story is actually true (and such a computer remotely practical) because if it was, criminals or government agencies would have used such a water computer to break encryption schemes. – Tom van der Zanden Jun 19 '16 at 10:38
• Different sorts of problems (TSP vs cryptography) and use different types of algorithms. The water computer I'm talking about would not be a practical (or even a possible?) candidate for code breaking as I understand it. – Jim2B Jun 19 '16 at 18:06

Like others have pointed out, such a computer already exists. Not only that, it looks like it was done long before electronic computers; take for example the water integrator, built in the Soviet Union in 1936, capable of solving mathematical problems (but it doesn't look like a general-purpose, programmable, Turing complete device, which is generally what we think of as computers today). Wikipedia claims, but provides no citation for it, that similar computers were used in the Soviet Union until the 1980s.

Another more recent example is Manu Prakash et. al.'s work on a computer that operates using water droplets, straight out of Stanford University in mid-2015.

Their work, however, is not intended to compete with electronic computers. From the above-linked news article:

The computer is nearly a decade in the making, incubated from an idea that struck Prakash when he was a graduate student. /.../

Because of its universal nature, the droplet computer can theoretically perform any operation that a conventional electronic computer can crunch, although at significantly slower rates. Prakash and his colleagues, however, have a more ambitious application in mind.

“We already have digital computers to process information. Our goal is not to compete with electronic computers or to operate word processors on this,” Prakash said. “Our goal is to build a completely new class of computers that can precisely control and manipulate physical matter. /.../”

Aside from the news article, their results have been published in Nature Physics and discussed in a number of different places (note: each word is a separate link).

Some of the other answers mention what seems more like analog computers (e.g. integrators) or seem to involve complicated water pathways to emulate logic elements. However, really all you need to implement a water based computer is a water switch. This is an element in which water flows or doesn't based on whether or not there is (water) pressure on some kind of control input. A visual representation would look almost like a transistor, which is the solid state equivalent:

water in
|
\
|---- control in
/
| water out


Basically the idea is you have some pipes and they are filled with water to some pressure. Similar to electrons in a wire, the water in the pipe doesn't actually need to flow very much; it is the pressure that carries the signal. The water switch can probably be implemented in various different ways, for instance there might be a spring to force a blocking element (valve) out of the way between the water in and water out, but the total pressure is provided was less than the water pressure. Then, if water pressure is introduced to the control input it overcomes the spring pressure and slides the value shut, blocking off the water from the input and sending the pressure at the output to 0.

Once you have this water switch, everything else can be implemented the same as digital circuits are implemented from transistors. It is of course going to be a lot bigger even with miniaturization because you will run into issues with things like capillary actions and such at much larger scales.

• You don't actually even need mechanical components. You can directly "switch" a stream of water with another stream of water impinging at an angle. This allows you to build a controlled-not, from which you can build everything else. – TLW Jun 18 '16 at 1:03

To expand on @Michael's answer, search for "The Water Clocks of Bernard Gitton" -

Gitton is a French physicist and artist who made clocks and digital logic with no moving parts, just glass and water. One of his clocks is at the Indianapolis Children’s museum.

• Well, at least the one in Berlin has a pendulum, which clearly is a moving part. But yes, other than that, it's just moving coloured water in glass. – celtschk Jun 18 '16 at 17:07
• You mean they cheated?!? (just kidding) – MonkeyWidget Jun 21 '16 at 20:31