We present the most important landmarks in computation and computing which contributed to the current state of the art in computer science. They constitute a prerequisite for digital twins, and their upgrade to digital selves through socio-emotional intelligence.
We consider 1930 as the beginning of a new age. This period is characterized by developments which can be expressed by exponential curves.Footnote 1 By means of digital computer systems organized in networks, information can be stored, retrieved, and distributed simultaneously to the crowd extremely speedy. This is the precondition for the quick exchange of information between different scientific disciplines and paves the way for exponential growth of ideas, inventions, innovations, and products. Furthermore, each real event, process, or thing can be expressed, modeled, or simulated in virtual environments.
In our mind, three people, namely, Kurt Gödel, Alonzo Church, and Alan Turing, can be identified as godfathers for that period. Alonzo Church (1941) invented the lambda calculus, which can be regarded as the basis for many programming languages far before the first computer system had been built. Alan Turing (1937), who was a scholar of Church, verbalized the somehow complicated formalized findings of Kurt Gödel (1931).Turing replaced the formal language from Gödel by a simple mechanism consisting of a tape divided into cells, a head that can read and write symbols on that tape, and a state register which stores the state. This mechanism models a machine on a piece of paper—later called the Turing machine. The Church-Turing thesis hypothesizes that anything that can be “computed” can be computed by some Turing machine.
In the year 1941, 10 years after Gödel’s publications, Konrad Zuse invented the first programmable Turing-complete computer system Z3. He applied the first high-level programming language, which he named Plankalkül (Giloi, 1997). For the calculations, the Z3 computer used circuits consisting of relays and vacuum tubes.
The Boolean algebra (Boole, 1854, 2016) became the mathematical basis of digital computing. Claude Shannon (Shannon, 1938) and Victor Shestakov both showed that electronic relays and switches, called gates, can realize the expressions of Boolean algebra. This was the foundation of practical digital circuit design. Finally, in 1945, John von Neumann proposed a computer system architecture consisting of a memory, a control unit, and an arithmetic logic unit equipped with input and output facilities. This architecture formed the basis for the modern digital computer.
Soon afterward, the bipolar transistor based on silicon replaced vacuum tubes. The next generation of digital computers used integrated circuit chips. The invention of the MOSFET transistor enabled the practical use of MOS transistors as memory cell storage elements. From the year 1966 onward, memory capacity increased by a factor of 10 every fourth year. Following this exponential curve, we can conclude that in the year 2028, the complete storage capacity of an average human brain will be stored on a single memory chip. In order to prove this claim, one only needs to solve the following equation:Footnote 2
In parallel, due to rapid MOSFET scaling, MOS IC chips rapidly increased in complexity at a rate predicted by Moore’s law (Moore, 1965). There is a debate among scientists about the life span of Moore’s law. Due to advances in lithographic techniques, new materials, and 3D wafers, we think that Moore’s observations remain valid for at least another decade. However, at the end, we will push physical limits due to tunnel effects of semiconductors. However, new technologies, such as quantum computer systems, boost computing space and power to higher limits.
In parallel to the exponentially growing hardware advances, there was a need to express algorithms in a more elegant and understandable way.Footnote 3 Therefore, new programming paradigms and programming languages were invented. During the 1950s, FORTRAN, a language for solving scientific problems, dominated. PL1 and COBOL were applied to commercial problems. During the 1970s, PASCAL and its derivatives dominated the programming scene. In addition to the imperative paradigm, functional and declarative languages, such as LISP and PROLOG, were applied. Around 1980, the object-oriented paradigm prevailed. Languages as ADA, C++, and JAVA, its pendant C#, and finally scripting languages completed the 50 years lasting development process. In the field of software engineering, software development environments and the Unified Modeling Language (UML) as a way to visualize the design of a system became common.
Tim Berners-Lee invented the World Wide Web in the year 1989. This pioneering innovation provided the capability to connect all worldwide operating computer systems. Nearly unlimited storage and computing power became accessible from any point in the world via cloud computing. Web pages were presented as hypertext documents using the hypertext markup language (HTML). These pages were addressed through uniform resource indicators (URI). Soon it became clear that each item in the real world might be addressable via URI’s—this was the birth of the Internet of Things (IoT). The IoT plays a major role in the development of digital twins, as we will see later in this book. And for digital selves, the implementation of avatars in the second life architecture in the year 2003 was a first practical step toward the virtualization of personalities in the web.
The connectivity of the web and the availability of nearly unlimited storage result in data oceans which cannot be controlled by humans exclusively. As a consequence, the buzzword “big data” represents a synonym for algorithms analyzing these data oceans. Similar to real life, “life” in a computer system means permanent sorting and searching.
It is well known that all the programming paradigms can be converted into each other. Thus, they serve as a means for the expression of algorithms. The above-described advances in computer science form the basis for solving one fundamental question which was posed by Alan Turing (1950) in the year 1950: “Can machines think?”. This question inspired numerous scientists, and the competition trying to solve the Turing test (Turing, 1950) had begun. This was the advent of artificial intelligence (AI).
Although Joseph Weizenbaum (1976) was convinced that a computer will never gain wisdom, he implemented one of the first AI programs, the ELIZA program. The rule-based program, implemented in the year 1966, used pattern matching to the written statements of patients to figure out how to reply. Although very simple, the program delivered astonishing results. Users had the feeling as if they were talking to a genuine psychotherapist. However, after a while, the program ended in loops because there were only a limited number of rules which were able to identify limited numbers of different words of the sentences entered via a console.
In the twentieth century, we implemented a version of ELIZA in our lab using the forward chaining production system language PAMELA (Barachini, 1991). The more rules we added to our knowledge base, the longer the user believed that he/she was talking to a psychotherapist. However, after a while, the game came to an end. Experts assert that today’s chat-bots do not better perform than early rule-based programs.
Cognitive architectures like GPS (1972) by Alan Newell and Herb Simon or SOAR from John Laird et al. (1987) and Laird (2012) used production systemsFootnote 4 to implement means-ends analysis so that more general problems could be solved. The reinforced learning algorithm in SOAR, which dynamically modified the weight of rules, and the chunking mechanism enabling primitive learning could solve planning problems. A Truth Maintenance System guaranteed the consistent status of the working memory. The architecture is still used as a basis for cognitive simulations.
For rule-based programs applied to a very limited scope of application, the computer pioneer Barr et al. (1981) coined the word expert system. The first expert systems were applied to medical problems before being widely used in industry. Expert systems delivered promising results, while cognitive learning had its limits.
In parallel to the above-described hardware and software developments, search algorithms have been developed. They are able to prune large search spaces. In combination with heuristics and high-performance supercomputers, they are able to solve complex problems. Some computer scientists believe that playing chess or Go is a good measurement for the effectiveness of artificial intelligence. In the year 1997, IBM’s deep blue computer has beaten the chess champion Kasparov. However, Go turned out to be a harder nut to crack. In this case, just speeding up the hardware and the implementation of search algorithms turned out not sufficient, since the search spaces are much more complex for Go than chess.
A new paradigm, artificial neural network processing, helped to solve the problem. Google’s AlphaGo Zero program used self-training reinforcement learning. AlphaGo Zero played itself in hundreds of millions of games such that it could measure positions more intuitively and collect its knowledge in neural networks. In a way, the network masters the game without teaching the rules. The so-called deep neural network was implemented on a single machine with four tensor processing units. In May 2017, the program could beat the world champion.
Many other applications have been developed with similar kinds of neural networks since then. Among them is AlphaFold which was able to predict the 3D structure of proteins in the year 2020. There are approximately 10300 possible combinations for a single protein. It would therefore not be possible to solve this protein-folding problem with brute force algorithms in a reasonable time period, except for quantum computers which are in the experimental phase right now.
Similar good results were presented by IBM’s Watson supercomputer in 2011. This computer was doing better than any human when playing the jeopardy game. Encyclopedias, dictionaries, and thesauri were stored in local memory. The machine used different computing paradigms for problem-solving, among them neural networks. Numerous commercial and medical applications are currently on its way.
According to our observations, artificial neural networks were the last cornerstone for artificial learning. They go back to Frank Rosenblatt (1958) and to Hebb’s rule (Hebb, 1949). The rule explains human learning, in which simultaneous activation of cells leads to pronounced increases in synaptic strength between those cells. Much later, Teuvo Kohonen and others (Kohonen, 1982, 1984; Kohonen et al., 1991) presented forward and backward propagation algorithms for artificial neural networks. Having a closer look to the near future, autonomous cars, robots, and drones rely on this technology as well.
Whenever an article about a new AI-driven product is published, one can be confident that in most of the cases, neural networks are part of the game. However, the application of neural networks follows no cooking recipe. It is rather an experimental trial-and-error procedure until an appropriate network consisting of the right number of nodes, layers, and propagation functions is working properly. Furthermore, engineers need to figure out how to present the data to the network and how to get the right sort of output that can be translated back into the real world.
Undoubtedly, deep learning with neural networks has brought new insights. AlphaGo Zero was able to produce strategies which were not known and applied by humans before. The same is true for radiological AI programs. They interpret pixels in different ways than humans. Therefore, we suspect that artificial intelligence deviates from human intelligence. However, if AlphaGo Zero would be confronted with a change of the board size during the game, the program would fail to deliver meaningful strategies. Thus, robustness is still a challenge for neural network applications. But there is no doubt that artificial intelligence can produce better and other results than human intelligence in limited domains.
Today’s implementations combine neural networks with rule-based, object-oriented, procedural, and functional approaches. However, the mix of the paradigms and the increasing architectural complexity make software vulnerable and error-prone. Gödel has shown that the set of Gödel numbers of functions whose domains belong to a class of recursively enumerable sets is either empty or contains all recursively enumerable sets. In other words, only trivial properties of programs are algorithmically decidable. Thus, the logical correctness of a program can be guaranteed only for very simple pieces of code. Therefore, we need to implement redundancy in our architectures, like it is provided by our natural brains.
When we come back on Turing’s question whether a machine can think, then the answer is ambivalent at the moment. Additional research in neuroscience is necessary. As long as neuroscience is not able to isolate the process that gives rise to consciousness in human brains, it will not be possible to create machines that have consciousness and mind, unless consciousness is a result of the thinking process. John Searle’s Chinese room experiment (Searle, 1980) clearly underpins this position. On the other hand, the Chinese room experiment encourages us to simulate understanding on computers in the sense of a weak AI. There is a difference whether the computer simulates a property or whether the machine understands what the simulation is about. In the latter case, we speak about strong AI. Eventually, new findings about the human brain will result from the human brain project which started in 2013 and ends in 2023.
The Turing test (Turing, 1950) requires that a machine must be able to execute all human behaviors, regardless of whether they are intelligent or not. That means that a machine that can think must include behavior related to emotions, cheating, lying, etc. Mind, understanding, and consciousness are elemental properties of thinking. In the second part of this book, we discuss if and to what extent digital selves might be able to adopt such natural properties.
From a long-term perspective on human civilization, i.e., a future time period in which human civilization could continue to exist, we refer to technological transformation trajectories. According to Baum et al. (2019), thereby “radical technological breakthroughs put human civilization on a fundamentally different course” (p.53). Some developments might persist as status quo, broadly similar to the current state of civilization, some cause significant harm (catastrophe trajectories), and some of them may lead to expansion of the human civilization toward other parts of the cosmos (astronomical trajectories). Which actions should be pursued depends on our existing portfolio and how reflective our practice develops toward systemic responsibility. In this book, we review fundamental parts of our current portfolio and reflect on capabilities that could actively shape our future.
Exponential curves are not well understood by humans. In primitive times, humankind was only confronted with linear problems.
The YEAR is the unknown. The left side of the equation represents the number of bits we would need to store the brain capacity. An average brain consists roughly of 1012 neurons. Each neuron connects to 103 synapses. Thus, there are in total 1015 synapses. One synapse can be represented in 4 bytes. Consequently, we need 4 million GBytes. Adding 1 GByte auxiliary storage yields 5 × 1015 bytes.
We remember that our first computer programs were coded in hexadecimal code and later in Assembler.
Production systems consist of rules, a working memory (facts), and an inference engine.
Barachini, F. (1991). The evolution of PAMELA. Expert Systems the International Journal of Knowledge Engineering, 8(2), 87–97.
Baum, S. D., Armstrong, S., Ekenstedt, T., Häggström, O., Hanson, R., Kuhlemann, K., Maas, M. M., Miller, J. D., Salmela, M., Sandberg, A., Sotala, K., Torres, P., Turchin, A., & Yampolskiy, R. V. (2019). Long-term trajectories of human civilization. Economics. Faculty Publications, Smith College, Northampton, MA. https://scholarworks.smith.edu/eco_facpubs/27.
Boole, G. (1854, 2016). An investigation of the Laws of Thought, on which are founded the mathematical theories of Logic and probabilities. Walton and Maberly, IP Publications.
Church, A. (1941). The calculi of lambda-conversion. Princeton University Press.
Barr, A., Feigenbaum, E. A., & Cohen, P. R. (Eds.). (1981). The handbook of artificial intelligence (Vol. 1). William Kaufmann.
Giloi, W. (1997). Konrad Zuse’s Plankalkül: The first high-level “non von Neumann” programming language. IEEE Annals of the History of Computing, 19(2), 17–24.
Gödel, K. (1931). Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I. Monatshefte für Mathematik und Physik, 38, 173–198.
Hebb, D. O. (1949). Organization of behavior. Psychology Press Edition.
Kohonen, T. (1982). Self-organized formation of topologically correct feature maps. Biological Cybernetics, 43(1), 59–69.
Kohonen, T. (1984). Self-organization and associative memory. Springer.
Kohonen, T., Mäkisara, K., Simula, O., & Kangas, J. (1991). Artificial neural networks. North-Holland.
Laird, J. E. (2012). The soar cognitive architecture. MIT Press.
Laird, J. E., Newell, A., & Rosenbloom, P. S. (1987). SOAR: An architecture for general intelligence. Artificial Intelligence, 33(3), 1–64.
Moore, G. E. (1965). Cramming more components onto integrated circuits. Electronics, 38(8).
Rosenblatt, F. (1958). The perceptron. A probabilistic model for information storage and organization in the brain. Psychological Reviews, 65, 386–408.
Shannon, C. (1938). A symbolic analysis of relay and switching circuits. Transactions of the American Institute of Electrical Engineers, 57(12), 713–723.
Searle, J. R. (1980). Minds, brains, and programs. Behavioral and Brain Sciences, 3(3), 417–424.
Turing, A. (1937). On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, 4, 230–265.
Turing, A. (1950). Computing machinery and intelligence. Mind, 59(236), 433–460.
Weizenbaum, J. (1976). Computer power and human reason. W.H. Freeman and Company.
© 2022 The Author(s)
About this chapter
Cite this chapter
Barachini, F., Stary, C. (2022). Major Historical Landmarks in Computer Science. In: From Digital Twins to Digital Selves and Beyond. Springer, Cham. https://doi.org/10.1007/978-3-030-96412-2_1
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-96411-5
Online ISBN: 978-3-030-96412-2