Lono Computing: Difference between revisions
From charlesreid1
No edit summary |
|||
| Line 24: | Line 24: | ||
Perhaps there are eigenvalues or characteristic non-dimensional numbers that characterize a system that could be extracted from a problem description and turned into, say, a wire frame. | Perhaps there are eigenvalues or characteristic non-dimensional numbers that characterize a system that could be extracted from a problem description and turned into, say, a wire frame. | ||
I'm imagining something like this: | I'm imagining something like this (this is actually Python 4.7 syntax): | ||
<pre> | <pre> | ||
Computer: How many I help you today? | Computer: How many I help you today? | ||
> Help me solve the traveling salesperson problem | >>> Help me solve the traveling salesperson problem | ||
Computer: Certainly. I see you have an adjacency matrix defined in a file. Reading that now... | Computer: Certainly. I see you have an adjacency matrix defined in a file. Reading that now... | ||
| Line 35: | Line 35: | ||
Computer: Okay, I've created a Traveling Salesperson Problem. | Computer: Okay, I've created a Traveling Salesperson Problem. | ||
> 3D print a soap bubble wireframe for this problem | >>> 3D print a soap bubble wireframe for this problem | ||
Computer: 3D printing, please wait... | Computer: 3D printing, please wait... | ||
| Line 41: | Line 41: | ||
Computer: 3D printing complete. | Computer: 3D printing complete. | ||
> Activate bubble measurement system | >>> Activate bubble measurement system | ||
Computer: Bubble measurement system activated. Drop your sample into the soapy water. | Computer: Bubble measurement system activated. Drop your sample into the soapy water. | ||
> Go time, give me a solution | >>> Go time, give me a solution | ||
Computer: Removing wireframe from soapy water. Please wait... | Computer: Removing wireframe from soapy water. Please wait... | ||
| Line 61: | Line 61: | ||
[1 2 9 4 18 22 3 23 17 14 8 ... ] | [1 2 9 4 18 22 3 23 17 14 8 ... ] | ||
</pre> | </pre> | ||
===World as Simulation=== | ===World as Simulation=== | ||
Revision as of 06:11, 11 April 2017
Link to powerpoint presentation on the lono computing concept: File:LonoComputing.pdf
Lono Computing
LoNo (short for low-power no-power) Computing is the idea of building a computer that is extremely low power. It is the attempt, inspired by nature, to build efficient computers by harnessing the natural behavior of natural systems. There already exist computers composed of DNA and proteins that can perform such complex tasks as playing tic tac toe or storing an image. Fluonics, the field of building devices that utilize fluids in "circuits," did not catch on for the purposes of performing calculations or rivaling the electronic computer, but are useful in certain specialized situations. The same principles behind the design of electronic circuits and components applies to the design of fluonic circuits and components: if you can design components for a few simple operations, such as AND, OR, XOR, and NOT, it is possible to build fluonic circuits that can process, amplify, or otherwise transform a signal.
Like Alan Turing's original design for a computer, the Turing Machine, which was an extremely simple device that need only be capable of using a (for all intents and purposes infinite) piece of paper tape with cells to store information, the capability to move the tape forward or backward as needed, and the ability to mark or unmark cells on the tape. From these simple operations, and the logical components of circuits, the first electronic computer was born.
The Physical System
Imagine, for instance, that you have a small wire frame consisting of a wire cube with its diagonal corners connected to form a complex shape. If you dip that wire frame into a bath of soapy water and pull it out, the surface of the soap bubbles will conform to the wire frame and form extremely intricate shapes. This happens instantaneously, and is the natural state of the system, despite the fact that it requires significant computational power to solve free-surface energy minimization equations for a fluid solution of macromoleules shifting in space and time.
Another example of a complex physical system would be particles released into a turbulent jet - the ultimate trajectory of the particles, a complex function of the conditions of the jet and subject to influence from small scale motion, is a difficult and computationally expensive quantity to predict that requires many coupled physical equations. And yet, a solution, a path, is "found" instantaneously by the particle.
If one has really technically penetrated a subject, things that previously seemed in complete contrast, might be purely mathematical transformations of each other. - John Von Neumann, quoted by András Bródy, Proportions, Prices, and Planning (1970)
What if we could harness these natural systems and their behaviors to solve our equations for us? What if we found a transformation that could be applied to real, practical problems of interest to map them onto a real physical "computer" system? It could provide specialized "hardware" that could solve difficult problems in the blink of an eye. For example, the Traveling Salesperson Problem is an optimization problem to find the minimum path through all nodes in a graph (akin to a shortest path through a set of cities). What if the Traveling Salesperson Problem could be mapped to a particular geometric configuration, a complicated tangle of wires fashioned to correspond to a particular problem, and the problem solved by dipping the structure in soapy water and determining the resulting shape?
It's a far cry from the kind of direct physical simulation you get when you test a miniature aircraft in a wind tunnel, but it isn't so far off the mark. Exploring this avenue could be a rich source of insights about the transformation process between problems of interest and real, physical systems. When building a miniaturized physical model of an aircraft, to be tested in the same fluid, there are certain non-dimensional numbers that must be kept the same for solutions to apply across scales.
Perhaps there are eigenvalues or characteristic non-dimensional numbers that characterize a system that could be extracted from a problem description and turned into, say, a wire frame.
I'm imagining something like this (this is actually Python 4.7 syntax):
Computer: How many I help you today? >>> Help me solve the traveling salesperson problem Computer: Certainly. I see you have an adjacency matrix defined in a file. Reading that now... Computer: Okay, I've created a Traveling Salesperson Problem. >>> 3D print a soap bubble wireframe for this problem Computer: 3D printing, please wait... Computer: 3D printing complete. >>> Activate bubble measurement system Computer: Bubble measurement system activated. Drop your sample into the soapy water. >>> Go time, give me a solution Computer: Removing wireframe from soapy water. Please wait... Computer: Measuring bubble surface locations. Please wait... Computer: Measuring bubble intersection points. Please wait... Computer: Reticulating splines... Computer: The shortest route through the graph is: 2.5 miles [1 2 9 4 18 22 3 23 17 14 8 ... ]
World as Simulation
If you strip away the grandiose imagery, though, and examine the nuts and bolts o this idea, it boils down to using the world as a computer. That, in turn, is linked to the idea that the world itself is a computer. And if the world itself is a super-tuned computing machine, hey, why not use it? If we are living in a simulation, then the atoms or subatomic particles or quarks form the information currency of the simulation universe. The entire universe is one long random walk in a Monte Carlo simulation composed of all of these subatomic particles. (Which raises a question: if the universe is a simulation, is it written in a functional language, or is it object-oriented?) Occasionally the random configurations the system reaches in local regions forms pockets of unusually low entropy, like a planet that's at just the right location in orbit, or the atoms that compose a sleek new iPhone, but for the most part it's just vast, empty space, with giant pockets of pure, utter, and literal chaos.
(You might even think about it as a complicated version of the Game of Life, invented by mathematician John Conway.)
Why LoNo Computing
LoNo computing sounds hard! Mapping a real problem to a physical system, then finding a solution, then one problem onto a physical system, and mapping a solution back into the original problem space, seem. Why focus any effort on such a wild and crazy idea?
For a few reasons:
- If solutions to the Traveling Salesperson Problem could be solved instantaneously, and that solution time scaled, it would be revolutionary to the field of computing. The burden would then shift to experimentalists "measuring" the physical solutions, and to instrument manufacturers to make faster and more accurate measurement devices.
- Our current paradigm of computing and computer architecture is just one of many possible ways things could have developed. Modern CPUs are very good at certain kinds of tasks, bad at others. Specialized computing devices and architectures (like GPUs or FPGAs) can help by solving certain kinds of problems much more efficeintly (GPUs solve graphics and ray tracing problems more efficiently). LoNo computing takes that to approach to its logical extreme, swapping out the physical world for the silicon chip layer.
- Implementing a fluid computing device helps investigate the nature of computing, contemplate its impacts, and reduce energy usage.
Our present analytical methods seem unsuitable for the solution of the important problems arising in connection with nonlinear partial differential equations and, in fact, with virtually all types of nonlinear problems in pure mathematics. The truth of this statement is particularly striking in the field of fluid dynamics...- John von Neumann