Dr. Strangestuff Or: How I learned to stop programming and love carbon foam Research Fellow and 2007 Leverhulme Trust Professor University of the West of England Bristol BS16 1QY United Kingdom Jonathan W. Mills Associate Professor Computer Science Indiana University Bloomington, IN 47405 United States of America Visiting Researcher The Courant Institute New York University New York, NY 20002 United States of America Organization of This Talk • The People • Digital vs. Analog Computers • The Extended Analog Computer (EAC) • Implementations of the EAC • A Few Applications • Protein Structure Prediction • Embedding Deutsch’s Problem in the EAC • New Kinds of Computers! The People Lee A. Rubel Rubel first described the extended analog computer (EAC) in 1993 to overcome limitations of Shannon’s general purpose analog computer (GPAC). Aside from some correspondence with Mills, it was his only publication about the EAC. Lee A. Rubel (1928-1995) Primary EAC Research Team Bryce Himebaugh (left) designs the EACs that Mills (right) uses to conduct real and gedanken computing experiments. “Second String” EAC Research Team This team performs “acoustic experiments” at Arcosanti, AZ. Digital vs. Analog Computers What Is a Computer? A computer is any physical object that can be reconfigured to solve multiple problems, that is, to answer many different questions. (If it cannot be reconfigured, and can answer only one question, it is not a computer according to this definition, but it may be an experiment.) Algorithm (digital) compared to Analogy (analog) From Mills, The Nature of the EAC, Physica D (2008) Another View of the EAC Paradigm Analogy Mills, The Nature of the EAC, Physica D (2008) Feynman questioned an apparent limit of digital computers (Algorithm): “It always bothers me that, according to the laws [of physics] as we understand them today, it takes a [digital] computing machine an infinite number of logical operations to figure out what goes on in no matter how tiny a volume of space, and no matter how tiny a region of time.” He also said, “There’s a lot of room at the bottom.” Feynman was using the paradigm algorithm But by following the paradigm analogy to its logical conclusion, the laws of physics as we understand them comprise the “instruction set” of an EAC. Bulk and minimally structured matter form its computational components. The EAC takes advantage of Feynman’s “… room at the bottom.” Computational Paths of algorithm and analogy The Extended Analog Computer (EAC) Basic EAC Model An extended analog computer implements an analogy, explicitly using physical laws and implicitly using mathematical principles to compute. It is implemented as a continuous-valued, inherently parallel, reconfigurable processor with two “instruction” classes: solve-partial-differential-equation, and compute-piecewise-linear-function. Operating Principles Physics Mathematics Conservation Laws Abstract Objects mass, energy, charge, time, information Symmetries in Physical Law translation in space, translation in time, rotation in space, velocity (relativity), replacement of atoms and charge carriers variables, constants, metric spaces Operators arithmetic, inversion, ordinary and partial differentiation, substitution Pauli Exclusion Principle Principles “pruning” principle prevents exponential growth in number of states to be computed limits, analytic continuation, extremely well-posed determinism (EWP), quantum non-determinism (Q-box) Dualities • Turing machine • Extended Analog Computer • Algorithms • Analogies • 1D von Neumann bottleneck • Inherently sequential • Fixed internal precision that increases temporally • Explicit pseudo-randomness • 2D/3D Non-von bottleneck • Inherently parallel • Fixed external precision that increases spatially • Implicit randomness • Silicon, GaAs • Transistors • Increasingly error prone as devices get smaller • Anything conductive • Diodes, surfaces, solids • Implicitly error tolerant via structure and matter Liberation from von Neumann, Moore and Backus • No von Neumann bottleneck (no CPU-cache-memory path) • No “memory wall” (no computational memory) • Single EACs are inherently parallel (no internal CPU pipelines) • Moore’s Law irrelevant (computational “devices” in sheet are atoms) • EAC “CPU” is robust (no logic gates, transistors or memory cells) • Multiple EACs are composed functionally (no side-effects) • Scalable parallelism (may be multi-unit pipelines, MIMD, or mixed) • “Software” is reusable (physical laws and given materials are invariant) Digital 1D versus EAC 2D Bottlenecks Digital multi-core processor Extended Analog Computer The Benefit of Noise Electromagnetic interference in the EAC can create a noisy gradient when small currents are input. It generates sequences of random numbers, which digital computers cannot produce (they compute pseudo-random numbers). Noise is useful in some applications (Monte Carlo methods; simulated annealing, genetic algorithms). Pauli Pruning “Envelope” of possible paths Probable paths An actual path The Pauli Exclusion Principle means that natural computers do not have to compute all possible states to obtain a result. The drawback is that the output, although it may be completely accurate, is probabilistic and not certain. This phenomenon has been observed in the output of Lukasiewicz logic arrays. Inherent Fault Tolerance The sheets are fault tolerant because current flows adaptively in conductive materials, as this experiment demonstrates. The LLAs are error-reducing, resisting errors due to their structure as binary trees. (An Information-theoretic Analysis of Lukasiewicz Logic Arrays, Montante, 1994) Implementations of the EAC Early EACs “Sponge Bob,” September 2004 to present 1995 (can be manipulated over the web at http://cgi.cs.indiana.edu/~bhimebau/eac.cgi) “Sponge Bob Marley,” a 3D Jell-O® EAC Prototype for injection molded & laser-polymerized 3D processors USB Carbon Foam EAC with Digital Host October 2005 to present EAC Architecture Block Diagram Host Data Is Converted to Continuous EAC Inputs Once “inside” the interface, computation is continuous EAC Results Discretized and Sent Back to the Host Recurrent computations “inside” the interface remain continuous A Few Applications Three Ways to Configure the EAC • Design an EAC configuration by inspection, using similar properties in each system to create an analogy • Use an evolutionary algorithm, such as Particle Swarm Optimization, to evolve the configuration in a high-order dimensional space • Use sensor feedback and simulated annealing to freeze a minimal result out of an “energy space;” this may be combined with either of the first two techniques Silicon Retina: Alternative to Mead & Koch conductive sheet sensor/processor Lukasiew icz logic arrays (LLAs) ring diode analog inputs analog outputs digital LLA address bus digital LLA configuration bus Originally built in 1995, this design established structure for recent EACs It also established a fundamental application technique: sense (or generate) and recognize, which is useful for many problems other than vision Nortel, Canada : Fast DDoS Detector This simplified model learned an “alphabet” of router traffic patterns to spot DDoS attacks Siemens, People’s Republic of China: Ordinary Differential Equations The intended application integrates an ODE to model a system that the EAC retina “watches” to yield intelligent and adaptive feedback control. Protein Structure Prediction Too Complicated! Ricin, a simple toxic lectin Back to Organic Chem 101 Valine (hydrophobic) Asparagine (hydrophilic) Start by Modeling Coarse Spatial Structure Valine (hydrophobic) Rotation Models are “Slices” Each pair is a spatial slice of the “shape” along the backbone of a protein. How do their sidechains interact to model the protein’s folded structure? Add Another EAC Level to Model van der Waals Forces Two levels interact through Lukasiewicz logic functions to reach an energy minimum between parts of protein. Scalability of EAC allows it to “zoom” in or out to model atoms, molecular groups or side chains. Behavior Can Be Observed As 2D Map of Slice Attract Attract Repel Structure Prediction Needs More Layers This EAC architecture was named “The Torte” after the rich European layer cake, due its alternating layers of conductive sheets and Lukasiewicz logic functions. Particle Swarm Using EAC Outputs Evolves Low-Energy Structure Particle Swarm Optimization Process 1. Initialize population in hyperspace. 2. Evaluate fitness of individual particles. 3. Modify velocities based on previous best and global (or neighborhood) best. 4. Terminate on some condition. 5. Go to step 2. Features of Particle Swarm Optimization • Population initialized by assigning random positions and velocities; potential solutions are then flown through hyperspace (think of a swarm of bees whose center of mass seeks the global optimum, although all bees contribute to it, no one “bee” may be at the optimal point). • Each particle (“bee”) keeps track of its best (highest fitness) position in hyperspace. – This is called “pbest” for an individual particle – It is called “gbest” for the best in the population – It is called “lbest” for the best in a defined neighborhood • At each time step, each particle (“bee”) stochastically accelerates toward its pbest and gbest (or lbest—good for protein folding). • When the center of mass does not vary within some epsilon over a predetermined number of iterations, a set of particle properties (“the bee swarm”) has been found that defines the potential global optimum. PSO Velocity Update Equations • Global version: vid wi vid c1rand () pid xid c2 Rand () pgd xid xid xid vid Where d is the dimension, c1 and c2 are positive constants, rand and Rand are random functions, and w is the inertia weight. For neighborhood version, change pgd to pld. PSO has been found to work very well with the EAC Manual Demonstration of PSO Final Native Conformation of Artificial Protein Embedding Deutsch’s Problem in the EAC Joint work with Cristian Calude, University of Auckland, NZ Deutsch’s Problem Quantum Solution Classical Solution in Complex Plane The “black box” for f(x) is never seen by the user. Instead one of the four “embedding function boxes” is provided, upon which only a single measurement may be made. Do classical functions exist that emulate Deutsch’s solution with quantum superposition? Yes. Classical Solution with Lukasiewicz Logic f(x) balanced f(x) constant f(x) balanced Classical Solution with Conductive Sheet f(x) constant f(x) constant Classical Solution with Conductive Sheet f(x) balanced f(x) balanced New Kinds of Computers! Model of Hybrid Classical-Quantum Computer This computer might be able to crack codes faster than a digital computer, although it would be slower than a quantum computer. Graphenes have potential to build hybrid classical-quantum computers • Easily integrated with silicon substrates • Continuous and multi-valued (no ADCs at low precision) • Sheet resistance easily adjusted • Other sheet properties can be varied locally • Quantum properties (hybrid quantum-classical architectures) • Optical, mechanical and chemical sensor inputs • Large-scale structures fabricated suited to EACs • 3D layered devices already demonstrated Example Graphene Hybrid Classical-Quantum EAC Thank you!