Mechanical Computing: the Computational Complexity of Computable Capable of Being Worked out by Physical Devices Calculation, Especially Using a Computer
Total Page:16
File Type:pdf, Size:1020Kb
Glossary Mechanical Computing: The Computational Complexity of Computable Capable of being worked out by Physical Devices calculation, especially using a computer. Mechanism A machine or part of a machine that John H. Reif performs a particular task computation; the use Department of Computer Science, Duke of a computer for calculation. University, Durham, NC, USA Simulation Used to denote both the modeling of a physical system by a computer and the modeling of the operation of a computer by a mechanical system; the difference will be clear from the context. Article Outline Glossary Definition of the Subject and Its Importance Definition of the Subject and Its Introduction to Computational Complexity Importance The Computational Complexity of Motion Planning and Simulation of Mechanical Mechanical devices for computation appear to be Devices largely displaced by the widespread use of Other PSPACE Completeness Results for microprocessor-based computers that are pervad- Mechanical Devices ing almost all aspects of our lives. Nevertheless, Ballistic Collision-Based Computing Machines mechanical devices for computation are of interest and PSPACE for at least three reasons: Brownian Machines and PSPACE Hardness Results for Mechanical Devices with a (a) Historical:Theuseofmechanicaldevices Constant Number of Degrees of Freedom for computation is of central importance in NP Hardness Results for Path Problems in Two the historical study of technologies, with and three Dimensions ahistorydatingtothousandsofyearsand Concrete Mechanical Computing Devices with surprising applications even in rela- Mechanical Devices for Storage and Sums of tively recent times. Numbers (b) Technical and practical:Theuseofmechanical Analog Mechanical Computing Devices devices for computation persists and has not yet Digital Mechanical Devices for Arithmetic been completely displaced by widespread use Operations of microprocessor-based computers. Mechani- Digital Mechanical Devices for Mathematical cal computers have found applications in vari- Tables and Functions ous emerging technologies at the microscale Mechanical Devices for Timing, Sequencing, and that combine mechanical functions with com- Logical Control putational and control functions not feasible by Mechanical Devices Used in Cryptography purely electronic processing. Mechanical com- Mechanical and Electrooptical Devices for puters also have been demonstrated at the Integer Factorization molecular scale and may also provide unique Future Directions capabilities at that scale. The physical designs References for these modern micro- and molecular-scale # Springer Science+Business Media, LLC, part of Springer Nature 2018 35 A. Adamatzky (ed.), Unconventional Computing, https://doi.org/10.1007/978-1-4939-6883-1_325 Originally published in R. A. Meyers (ed.), Encyclopedia of Complexity and Systems Science, # Springer Science+Business Media LLC 2017 https://doi.org/10.1007/978-3-642-27737-5_325-4 36 Mechanical Computing: The Computational Complexity of Physical Devices mechanical computers may be based on the tape scanner for reading and writing values to and prior designs of the large-scale mechanical com- from the tape cells, which could be made to move puters constructed in the past. (left and right) along the tape cells. (c) Impact of physical assumptions on complexity A machine model is abstract if the description of motion planning, design, and simulation: of the machine transition mechanism or memory The study of computation done by mechanical mechanism does not provide specification of the devices is also of central importance in provid- mechanical apparatus used to implement them in ing lower bounds on the computational practice. Since Turing’s description did not resources such as time and/or space required include any specification of the mechanical mech- to simulate a mechanical system observing anism for executing the finite-state transitions, it given physical laws. In particular, the problem cannot be viewed as a concrete mechanical com- of simulating the mechanical system can be puting machine but instead as an abstract shown to be computationally hard if a hard machine. Still it is a valuable computational computational problem can be simulated by model, due to its simplicity and very widespread the mechanical system. A similar approach use in computational theory. can be used to provide lower bounds on the A universal Turing machine simulates any other computational resources required to solve var- Turing machine; it takes its input a pair consisting of ious motion-planning tasks that arise in the astringprovidingasymbolicdescriptionofaTuring field of robotics. Typically, a robotic motion- machine M and the input string x and simulates planning task is specified by a geometric Moninputx.Becauseofitssimplicityandele- description of the robot (or collection of robots) gance, the Turing machine has come to be the to be moved, its initial and final positions, the standard computing model used for most theoretical obstacles it is to avoid, as well as a model for works in computer science. Informally, the Church- the type of feasible motion and physical laws Turing hypothesis states that a Turing machine for the movement. The problem of planning model can simulate a computation by any “reason- such as robotic motion-planning task can be able” computational model (we will discuss some shown to be computationally hard if a hard other reasonable computational models below). computational problem can be simulated by the robotic motion-planning task. Computational problems.Acomputational prob- lem is given an input string specified by a string over a finite alphabet; determine the Boolean Introduction to Computational answer: 1 if the answer is yes and otherwise Complexity 0. For simplicity, we generally will restrict the input alphabet to be the binary alphabet {0,1}. Abstract Computing Machine Models The input size of a computational problem is the To gage the computational power of a family of number of input symbols, which is the number of mechanical computers, we will use a widely bits of the binary specification of the input. (Note: known abstract computational model known as It is more common to make these definitions in the Turing machine, defined in this section. terms of language acceptance. A language is a set The Turing machine. The Turing machine of strings over a given finite alphabet of symbols. model formulated by Alan Turing (1937) was the Acomputationalproblemcanbeidentified with first complete mathematical model of an abstract the language consisting of all strings over the computing machine that possessed universal com- input alphabet where the answer is 1. For sim- puting power. The machine model has (i) a finite- plicity, we defined each complexity class as the state transition control for logical control of the corresponding class of problems.) machine processing, (ii) a tape with a sequence of Recursively computable problems and storage cells containing symbolic values, and (iii) a undecidable problems. There is a large class Mechanical Computing: The Computational Complexity of Physical Devices 37 of problems, known as recursively computable EXPTIME is the complexity class that is problems, that Turing machines compute in defined to be the set of problems solved by finite computations, that is, always halting in Turing machine computations running in finite time with the answer. There are certain time exponential in the input size. problems that are not recursively computable; NP and PSPACE are widely considered to these are called undecidable problems. The halt- have instances that are not solvable in P, ing problem is given a Turing machine descrip- and it has been proved that EXPTIME tion and an input, output 1 if the Turing machine has problems that are not in P. ever halts and else output 0. Turing proved the Polynomial time reductions.Apolynomial time halting problem is undecidable. His proof used a reduction from a problem Q0 to a problem Q is method known as a diagonalization method; it apolynomialtimeTuringmachinecomputa- considered an enumeration of all Turing tion that transforms any instance of the prob- machines and inputs and showed that a contra- lem Q0 into an instance of the problem diction occurs when a universal Turing machine Qwhichhasanansweryes if and only if the attempts to solve the halting problem for each problem Q0 has an answer yes.Informally,this Turing machine and each possible input. implies that problem Q can be used to effi- Computational complexity classes. Computa- ciently solve the problem Q0.AproblemQis tional complexity (see Lewis and Papadimitriou hard for a family F of problems if, for every 1997) is the amount of computational resources problem Q0 in F, there is a polynomial time required to solve a given computational prob- reduction from Q0 to Q. Informally, this lem. A complexity class is a family of problems, implies that problem Q can be used to effi- generally defined in terms of limitations on the ciently solve any problem in F. A problem Q is resources of the computational model. The complete for a family F of problems if Q is in complexity classes of interest here will be asso- CandalsohardforF. ciated with restrictions on the time (number of Hardness proofs for mechanical problems.We steps until the machine halts) and/or space (the will later consider various mechanical number of tape cells used in the computation) of problems and characterize their computation Turing machines. There are a number of notable power: complexity classes: