Background
The general theory ofComputational model
Computational models use computer programs to simulate and study complex systems using an algorithmic or mechanistic approach. They are commonly used to study complex nonlinear systems for which simple analytical solutions are not readily available. Experimentation with the model is done by adjusting parameters in the computer and studying the differences in the outcome. Operation theories of the model can be derived/deduced from these computational experiments. Examples of computational models include weather forecasting models, earth simulator models, flight simulator models, molecular protein folding models, and neural network models.Mechanical computing
Analog computing
Electronic digital computers
Most modern computers are electronic computers with the Von Neumann architecture based on digital electronics, with extensive integration made possible following the invention of the transistor and the scaling ofGeneric approaches
These are unintuitive and pedagogical examples that a computer can be made out of almost anything.Physical objects
Reservoir computing
Reservoir computing is a computational framework derived from recurrent neural network theory that involves mapping input signals into higher dimensional computational spaces through the dynamics of a fixed, non-linear system called a reservoir. The reservoir, which can be virtual or physical, is made up of individual non-linear units that are connected in recurrent loops, allowing it to store information. Training is performed only at the readout stage, as the reservoir dynamics are fixed, and this framework allows for the use of naturally available systems, both classical and quantum mechanical, to reduce the effective computational cost. One key benefit of reservoir computing is that it allows for a simple and fast learning algorithm, as well as hardware implementation through physical reservoirs.Tangible computing
Human computing
The term "human computer" refers to individuals who perform mathematical calculations manually, often working in teams and following fixed rules. In the past, teams of people, often women, were employed to perform long and tedious calculations, and the work was divided to be completed in parallel. The term has also been used more recently to describe individuals with exceptional mental arithmetic skills, also known as mental calculators.Human-robot interaction
Swarm computing
Swarm robotics is a field of study that focuses on the coordination and control of multiple robots as a system. Inspired by the emergent behavior observed in social insects, swarm robotics involves the use of relatively simple individual rules to produce complex group behaviors through local communication and interaction with the environment. This approach is characterized by the use of large numbers of simple robots and promotes scalability through the use of local communication methods such as radio frequency or infrared.Physics approaches
Optical computing
Spintronics
Spintronics is a field of study that involves the use of the intrinsic spin and magnetic moment of electrons in solid-state devices. It differs from traditional electronics in that it exploits the spin of electrons as an additional degree of freedom, which has potential applications in data storage and transfer, as well as quantum and neuromorphic computing. Spintronic systems are often created using dilute magnetic semiconductors and Heusler alloys.Atomtronics
Atomtronics is a new quantum technology that involves the use of ultra-cold atoms in coherent matter-wave circuits, which can have components similar to those found in electronic or optical systems. These circuits have potential applications in a range of areas, including fundamental physics research and the development of practical devices such as sensors and quantum computers.Fluidics
Quantum computing
Quantum computing, perhaps the most well-known and developed unconventional computing method, is a type of computation that utilizes the principles of quantum mechanics, such as superposition and entanglement, to perform calculations. Quantum computers use qubits, which are analogous to classical bits but can exist in multiple states simultaneously, to perform operations. While current quantum computers may not yet outperform classical computers in practical applications, they have the potential to solve certain computational problems, such as integer factorization, significantly faster than classical computers. However, there are several challenges to building practical quantum computers, including the difficulty of maintaining qubits' quantum states and the need for error correction. Quantum complexity theory is the study of the computational complexity of problems with respect to quantum computers.Superconducting computing
Superconducting computing is a form of cryogenic computing that utilizes the unique properties of superconductors, including zero resistance wires and ultrafast switching, to encode, process, and transport data using single flux quanta. It is often used in quantum computing and requires cooling to cryogenic temperatures for operation.Microelectromechanical systems
Microelectromechanical systems (MEMS) and nanoelectromechanical systems (NEMS) are technologies that involve the use of microscopic devices with moving parts, ranging in size from micrometers to nanometers. These devices typically consist of a central processing unit (such as an integrated circuit) and several components that interact with their surroundings, such as sensors. MEMS and NEMS technology differ from molecular nanotechnology or molecular electronics in that they also consider factors such as surface chemistry and the effects of ambient electromagnetism and fluid dynamics. Applications of these technologies include accelerometers and sensors for detecting chemical substances.Chemistry approaches
Molecular computing
Molecular computing is an unconventional form of computing that utilizes chemical reactions to perform computations. Data is represented by variations in chemical concentrations,{{cite journal , url=http://www.ijirt.org/paperpublished/IJIRT101166_PAPER.pdf , title=Chemical Computing: The different way of computing, first1=Ambar , last1=Kumar, first2=Akash Kumar , last2 =Mahato, first3=Akashdeep , last3=Singh , work=International Journal of Innovative Research in Technology , volume =1, issue =6 , ISSN= 2349-6002, date=2014 , accessdate=2015-06-14 , url-status=dead, archiveurl=https://web.archive.org/web/20150615085700/http://www.ijirt.org/paperpublished/IJIRT101166_PAPER.pdf , archivedate=2015-06-15 } and the goal of this type of computing is to use the smallest stable structures, such as single molecules, as electronic components. This field, also known as chemical computing or reaction-diffusion computing, is distinct from the related field of conductive polymers and organic electronics, which uses molecules to affect the bulk properties of materials.Biochemistry approaches
Peptide computing
{{main, peptide computing Peptide computing is a computational model that uses peptides and antibodies to solve NP-complete problems and has been shown to be computationally universal. It offers advantages over DNA computing, such as a larger number of building blocks and more flexible interactions, but has not yet been practically realized due to the limited availability of specific monoclonal antibodies.DNA computing
{{main, DNA computing DNA computing is a branch of unconventional computing that uses DNA and molecular biology hardware to perform calculations. It is a form of parallel computing that can solve certain specialized problems faster and more efficiently than traditional electronic computers. While DNA computing does not provide any new capabilities in terms of computability theory, it can perform a high number of parallel computations simultaneously. However, DNA computing has slower processing speeds and it is more difficult to analyze the results compared to digital computers.Membrane computing
{{main, membrane computing Membrane computing, also known as P systems, is a subfield of computer science that studies distributed and parallel computing models based on the structure and function of biological membranes. In these systems, objects such as symbols or strings are processed within compartments defined by membranes, and the communication between compartments and with the external environment plays a critical role in the computation. P systems are hierarchical and can be represented graphically, with rules governing the production, consumption, and movement of objects within and between regions. While these systems have largely remained theoretical, some have been shown to have the potential to solve NP-complete problems and have been proposed as hardware implementations for unconventional computing.Biological approaches
{{main, Biologically-inspired computing, natural computing, Biological computing Biological computing, also known as bio-inspired computing or natural computation, is the study of using models inspired by biology to solve computer science problems, particularly in the fields of artificial intelligence and machine learning. It encompasses a range of computational paradigms including artificial neural networks, evolutionary algorithms, swarm intelligence, artificial immune systems, and more, which can be implemented using traditional electronic hardware or alternative physical media such as biomolecules or trapped-ion quantum computing devices. It also includes the study of understanding biological systems through engineering semi-synthetic organisms and viewing natural processes as information processing. The concept of the universe itself as a computational mechanism has also been proposed.G.Rozenberg, T.Back, J.Kok, Editors, Handbook of Natural Computing, Springer Verlag, 2012A.Brabazon, M.O'Neill, S.McGarraghyNeuroscience
{{main, Neuromorphic computing, wetware computer Neuromorphic computing involves using electronic circuits to mimic the neurobiological architectures found in the human nervous system, with the goal of creating artificial neural systems that are inspired by biological ones. These systems can be implemented using a variety of hardware, such as memristors,{{Cite journal, last1=Maan, first1=A. K., last2=Jayadevi, first2=D. A., last3=James, first3=A. P., date=2016-01-01, title=A Survey of Memristive Threshold Logic Circuits, journal=IEEE Transactions on Neural Networks and Learning Systems, volume=PP, issue=99, pages=1734–1746, doi=10.1109/TNNLS.2016.2547842, pmid=27164608, issn=2162-237X, arxiv=1604.07121, bibcode=2016arXiv160407121M, s2cid=1798273 spintronic memories, and transistors,{{Cite journal, title=Neuromorphic Circuits With Neural Modulation Enhancing the Information Content of Neural Signaling {{! International Conference on Neuromorphic Systems 2020, language=EN, doi=10.1145/3407197.3407204, s2cid=220794387 and can be trained using a range of software-based approaches, including error backpropagation and canonical learning rules.{{Cite web , url=https://github.com/Hananel-Hazan/bindsnet , title=Hananel-Hazan/bindsnet: Simulation of spiking neural networks (SNNs) using PyTorch., website= GitHub, date=31 March 2020 The field of neuromorphic engineering seeks to understand how the design and structure of artificial neural systems affects their computation, representation of information, adaptability, and overall function, with the ultimate aim of creating systems that exhibit similar properties to those found in nature. Wetware computers, which are composed of living neurons, are a conceptual form of neuromorphic computing that has been explored in limited prototypes.{{cite web , author=Sincell, Mark , title=Future Tech , work=Discover , url=http://discovermagazine.com/2000/oct/feattech , access-date=2018-02-06Cellular automata and amorphous computing
{{main, Cellular automata, Amorphous computingEvolutionary computation
{{main, Evolutionary computation Evolutionary computation is a type of artificial intelligence and soft computing that uses algorithms inspired by biological evolution to find optimized solutions to a wide range of problems. It involves generating an initial set of candidate solutions, stochastically removing less desired solutions, and introducing small random changes to create a new generation. The population of solutions is subjected to natural or artificial selection and mutation, resulting in evolution towards increased fitness according to the chosen fitness function. Evolutionary computation has proven effective in various problem settings and has applications in both computer science and evolutionary biology.Mathematical approaches
Ternary computing
{{main, Ternary computing Ternary computing is a type of computing that uses ternary logic, or base 3, in its calculations rather than the more common binary system. Ternary computers use trits, or ternary digits, which can be defined in several ways, including unbalanced ternary, fractional unbalanced ternary, balanced ternary, and unknown-state logic. Ternary quantum computers use qutrits instead of trits. Ternary computing has largely been replaced by binary computers, but it has been proposed for use in high speed, low power consumption devices using the Josephson junction as a balanced ternary memory cell.Reversible computing
{{main, Reversible computing Reversible computing is a type of unconventional computing where the computational process can be reversed to some extent. In order for a computation to be reversible, the relation between states and their successors must be one-to-one, and the process must not result in an increase in physical entropy. Quantum circuits are reversible as long as they do not collapse quantum states, and reversible functions are bijective, meaning they have the same number of inputs as outputs.{{cite book, author=Colin P. Williams , year=2011 , title=Explorations in Quantum Computing , publisher= Springer, isbn=978-1-84628-887-6, pages=25–29Chaos computing
{{main, Chaos computing Chaos computing is a type of unconventional computing that utilizes chaotic systems to perform computation. Chaotic systems can be used to create logic gates and can be rapidly switched between different patterns, making them useful for fault-tolerant applications and parallel computing. Chaos computing has been applied to various fields such as meteorology, physiology, and finance.Stochastic computing
{{main, Stochastic computing Stochastic computing is a method of computation that represents continuous values as streams of random bits and performs complex operations using simple bit-wise operations on the streams. It can be viewed as a hybrid analog/digital computer and is characterized by its progressive precision property, where the precision of the computation increases as the bit stream is extended. Stochastic computing can be used in iterative systems to achieve faster convergence, but it can also be costly due to the need for random bit stream generation and is vulnerable to failure if the assumption of independent bit streams is not met. It is also limited in its ability to perform certain digital functions.See also
* Network computing (disambiguation) *References
{{reflist Classes of computers