The universal computer The road from Leibniz to Turing Instructor: Viola Schiaffonati March, 19 th 2018
Thinking, calculating, programming 2 Processing information in an automatic way The birth of computer science (1930s) The birth of computer engineering (1940s) Different research traditions and their roles Thinking and calculating Thinking and reasoning Calculating, programming, and implementing
The construction of knowledge 3
Different research traditions 4 Constant human tendency to represent
Representing external aspects 5 Heron of Alexandria (I century A.D.) Semiautomatic machines (autòmatha) Water-powered and steampowered
Representing internal aspects 6 Raimon Lull (1235-1315) Ars Magna: general principles of human knowledge represented by numbers and symbols composed to obtain further knowledge Ars inveniendi veritatem
Reducing for knowing: Decartes (XVII century) 7 Discourse on method Foundations of knowledge and reduction of any form of knowledge to scientific rigor «To divide each of the difficulties under examination into as many parts as possible, and as might be necessary for its adequate solution» (Decartes, second rule)
Calculating numbers: Pascal (XVII century) 8 First mechanical calculator Prodigy and not instrument
Thought and representation: Hobbes (XVII century) 9 Theory of reasoning as a theory of adequate combinations
Calculating thoughts: Leibniz (XVII century) 10 Project of mechanizing rationality Axiomatic-deductive system Characteristica universalis and calculus ratiocinator
Calculemus! 11 «[...] if controversies were to arise, there would be no more need of disputation between two philosophers than between two calculators. For it would suffice for them to take their pencils in their hands and to sit down at the abacus, and say to each other (and if they so wish also to a friend called to help): Let us calculate.» (Leibniz 1666)
Leibniz s dream 12 An unsolvable problem Adequate representation of knowledge No efficient characteristica universalis No calculus ratiocinator
More engineering: Babbage (XIX century) 13 Difference Engine Automatic calculation of logarithmic tables Analytic machine Memory warehouse Control system
Babbage s ambitions 14 Another unsolvable problem Lack of financial support Analytic machine never built in practice
Leibniz: from dream to reality 15 Boole (1854): algebrization of logic Laws constituting the mathematics of human cognition Frege (1876): formal system (first order logic), notion of proof
Frege s dream 16 Reduction of mathematics to logic (1893)
A broken dream 17 Russell s antinomy (1902) Let R be the set of all sets which are not members of themselves. Then R is neither a member of itself nor not a member of itself
Frege s integrity 18
Another way? 19 David Hilbert (1862-1943) Hilbert program Formal foundations of mathematics in terms of axioms
Entscheidungsproblem! 20 International congress of mathematics (1900) Logical decision problem Problem of finding a general mechanical procedure which, for any formal axiom system and any formula, can decide if the formula can be derived from the axioms in the logical calculus
On Computable Numbers (Turing 1936) 21 How to demonstrate that a procedure able to perform the requested task in an automatic way has not been invented yet and will not be invented in the future? The concept of mechanical process needs to be conceived in a precise and rigorous way The Turing Machine
Turing machine 22 The notion of algorithm receives a satisfactory account only after Turing (1936) has introduced his machine model of a computer This model results from Turing s analysis of the possible processes a human ( the computer ) can go through while performing a calculation using paper and pencil applying rules from a given finite set The human computer follows the rules blindly, without using any insight or ingenuity Negative answer to the decision problem
Two traditions meeting for the first time (1940s) 23 Logical analysis of notions such as formal system and formal proof (and also algorithm and computable function) Incredible progress in the engineering of the electronic components
Computer engineering 24 Z3 (1943), Colossus (1943), Eniac (1945) No program in memory!
Turing in engineers hands 25 Von Neumann in the USA, Newman in UK Manchester baby (1948): first electronic computer with a program in memory
References 26 Davies, M. (2012) The Universal Computer: The Road from Leibniz to Turing, Taylor & Francis Group Frixione, M., Palladino, D. (2004). Funzioni, macchine, algoritmi. Introduzione alla teoria della computabilità. Carocci McCorduck, P. (2004). Machines Who Think: 25th anniversary edition. A. K. Peters.