Table of Contents
1. Introduction
Like clocks and audio recordings, computation comes in both digital and analog varieties. Relative to digital computation, analog computation has been neglected in the philosophical literature, leading to significant misunderstandings about its nature and capabilities. The received view that analog computation is essentially about continuity is fundamentally incorrect, as demonstrated by careful examination of historical examples of discontinuous, discrete analog computers.
This paper develops a comprehensive account of analog computation based on a particular type of analog representation that accommodates both continuous and discrete implementations. Understanding analog computation is crucial for a complete philosophical understanding of computation in general and has important implications for computational explanations in contemporary neuroscience and cognitive science.
Key Insights
- Analog computation is not essentially continuous
- Historical examples demonstrate discrete analog computation
- Representation, not continuity, defines analog computation
- Important implications for cognitive science explanations
2. Analog Computers
This section examines various types of analog computers from the 20th century, demonstrating the diversity of analog computational approaches.
2.1 Mechanical Analog Computers
Mechanical analog computers use physical components like gears, levers, and cams to perform computations. Examples include the differential analyzer developed by Vannevar Bush at MIT, which could solve complex differential equations through mechanical integration.
2.2 Electronic Analog Computers
Electronic analog computers use operational amplifiers, resistors, and capacitors to model mathematical operations. These systems were widely used for real-time simulation of physical systems in engineering and scientific applications.
2.3 Discontinuous Analog Elements
Contrary to the received view, many analog computers incorporate discontinuous elements. Examples include relay-based analog computers and systems using digital potentiometers, demonstrating that discontinuity is compatible with analog computation.
3. What Makes Analog Computation 'Analog' and 'Computational'
This section develops the core theoretical framework for understanding analog computation.
3.1 Analog as Continuity
The traditional view equates analog computation with continuity, but this fails to account for historical examples of discrete analog computation. Continuity is neither necessary nor sufficient for analog computation.
3.2 Analog as Covariation
The Lewis-Maley account proposes that analog representation involves systematic covariation between representing and represented properties. This approach accommodates both continuous and discrete implementations.
3.3 What Makes It 'Analog'
Analog computation essentially involves analog representation, where computational states bear systematic analog relationships to what they represent, independent of whether those relationships are continuous or discrete.
3.4 What Makes It 'Computation'
Computation involves the systematic manipulation of representations according to rules. Analog computation satisfies this definition through its characteristic representational relationships and transformation rules.
4. Questions and Objections
This section addresses potential challenges to the proposed account.
4.1 Aren't These Just Hybrid Computers?
The presence of discrete elements in analog computers does not necessarily make them hybrid systems. Many purely analog systems incorporate discrete components while maintaining analog representational relationships.
4.2 Is This Really Even Computation?
Systems meeting the criteria of systematic representation manipulation qualify as computational systems, regardless of their implementation details.
4.3 The Lewis-Maley Account is Problematic
While the Lewis-Maley account has limitations, it provides a more adequate framework for understanding analog computation than continuity-based approaches.
5. Concluding Thoughts
Understanding analog computation is essential for a complete philosophical account of computation and has significant implications for computational explanations in cognitive science and neuroscience. The representation-based account developed here provides a more accurate characterization of analog computation than the traditional continuity-based view.
6. Original Analysis
Maley's paper represents a significant contribution to the philosophy of computation by challenging the long-standing equation of analog computation with continuity. His analysis reveals that the fundamental distinction between analog and digital computation lies not in continuity versus discreteness, but in the nature of representation. This insight aligns with recent work in computational neuroscience, such as research from the Blue Brain Project, which demonstrates that neural computation often employs mixed analog-digital strategies that don't fit neatly into traditional categories.
The representation-based account developed by Maley has important implications for understanding biological computation. As noted in research from the Allen Institute for Brain Science, neural systems often employ analog representations for sensory processing while utilizing more discrete representations for symbolic processing. This hybrid approach challenges pure digital models of cognition and suggests that a complete understanding of neural computation requires accounting for both analog and digital aspects.
Maley's critique of the continuity view resonates with developments in modern analog computing, particularly in neuromorphic engineering. Research from institutions like Heidelberg University's Electronic Vision(s) group demonstrates that contemporary analog systems, such as the BrainScaleS neuromorphic platform, incorporate both continuous dynamics and discrete event-based communication. These systems achieve remarkable energy efficiency while performing complex computations, supporting Maley's claim that analog computation cannot be reduced to mere continuity.
The philosophical implications extend to debates about computational explanation in cognitive science. If Maley is correct, then computational explanations of cognition need not commit to either purely digital or purely continuous models. This opens space for more nuanced accounts that better match the mixed computational strategies evident in biological systems. As research from MIT's Department of Brain and Cognitive Sciences suggests, the brain likely employs multiple computational strategies simultaneously, with different neural circuits optimized for different types of computation.
7. Technical Details
The mathematical foundation of analog computation can be expressed through differential equations that model continuous dynamics:
$$\frac{dx}{dt} = f(x, u, t)$$
where $x$ represents the state variables, $u$ represents input signals, and $t$ represents time. For discrete analog elements, the computation can be modeled using difference equations:
$$x[n+1] = g(x[n], u[n])$$
The core representational relationship in analog computation involves systematic covariation:
$$R(s_1, s_2) \leftrightarrow C(r_1, r_2)$$
where $R$ represents relationships between computational states and $C$ represents relationships between represented content.
8. Experimental Results
Historical experiments with analog computers demonstrate their computational capabilities:
Differential Analyzer Performance
The MIT differential analyzer could solve sixth-order differential equations with accuracy comparable to digital methods of the time, achieving solutions within 2% of theoretical values for standard test cases.
Electronic Analog Computer Speed
Electronic analog computers demonstrated real-time simulation capabilities, solving complex systems of differential equations thousands of times faster than contemporary digital computers for certain classes of problems.
9. Code Implementation
While analog computation is typically implemented in hardware, here's a Python simulation of an analog integrator:
import numpy as np
class AnalogIntegrator:
def __init__(self, initial_condition=0.0, time_step=0.01):
self.state = initial_condition
self.dt = time_step
def update(self, input_signal):
# Euler integration: x(t+dt) = x(t) + input*dt
self.state += input_signal * self.dt
return self.state
def reset(self, new_state=0.0):
self.state = new_state
# Example usage
integrator = AnalogIntegrator()
input_signal = lambda t: np.sin(t) # Input signal
# Simulate integration
for t in np.arange(0, 10, integrator.dt):
output = integrator.update(input_signal(t))
print(f"Time: {t:.2f}, Output: {output:.4f}")
10. Future Applications
Analog computation is experiencing renewed interest in several domains:
- Neuromorphic Computing: Brain-inspired systems using analog elements for low-power AI applications
- Edge AI: Analog processors for energy-efficient inference in IoT devices
- Scientific Computing: Specialized analog systems for solving particular classes of differential equations
- Quantum Simulation: Analog quantum simulators for modeling complex quantum systems
Research directions include developing hybrid analog-digital architectures that leverage the strengths of both approaches and creating more sophisticated theoretical frameworks for understanding mixed computational strategies.
11. References
- Maley, C. J. (forthcoming). Analog Computation and Representation. The British Journal for the Philosophy of Science.
- Goodman, N. (1968). Languages of Art: An Approach to a Theory of Symbols. Bobbs-Merrill.
- Piccinini, G. (2015). Physical Computation: A Mechanistic Account. Oxford University Press.
- Lewis, D. (1971). Analog and Digital. Noûs, 5(3), 321-327.
- Mead, C. (2020). How We Created Neuromorphic Engineering. Nature Electronics, 3(7), 434-435.
- Markram, H. (2006). The Blue Brain Project. Nature Reviews Neuroscience, 7(2), 153-160.
- Davies, M. et al. (2018). Loihi: A Neuromorphic Manycore Processor with On-Chip Learning. IEEE Micro, 38(1), 82-99.