Presentation
Transcription
Presentation
CDT403 Research Methodology in Natural Sciences and Engineering HISTORY OF COMPUTING • • • • • • • • • • HISTORY OF IDEAS IN COMPUTING LEIBNIZ: LOGICAL CALCULUS BOOLE: LOGIC AS ALGEBRA FREGE: MATEMATICS AS LOGIC CANTOR: INFINITY HILBERT: PROGRAM FOR MATHEMATICS GÖDEL: END OF HILBERTS PROGRAM TURING: UNIVERSAL AUTOMATON VON NEUMAN: COMPUTER CONCEPT OF COMPUTING FUTURE COMPUTING Gordana Dodig-Crnkovic Department of Computer Science and Engineering Mälardalen University 1 2 COMPUTING CURRICULA 3 4 Pieter BRUEGEL, the Elder CLASSICAL RESEARCH FIELDS ACCORDING TO LANGUAGE History of Ideas of Computing Culture Logic & Mathematics COMPUTING (Fine Arts, Religion …) 5 • • • • • • • • Natural Sciences (Physics, Chemistry, Biology, …) Social Sciences (Economics, Sociology, Anthropology, …) LEIBNIZ: LOGICAL CALCULUS BOOLE: LOGIC AS ALGEBRA FREGE: MATEMATICS AS LOGIC CANTOR: INFINITY HILBERT: PROGRAM FOR MATHEMATICS GÖDEL: END OF HILBERTS PROGRAM TURING: UNIVERSAL AUTOMATON VON NEUMAN: COMPUTER The Humanities (Philosophy, History, Linguistics …) 21 The whole is more than the sum of its parts. Aristotle, Metaphysica http://web.clas.ufl.edu/users/rhatch/pages/10-HisSci/links/ H I S T O R Y O F S C I E N C E 5 LINKS 6 Leibniz: Logical Calculus Leibniz´s Calculating Machine Gottfried Wilhelm von Leibniz “For it is unworthy of excellent men to lose hours like slaves in the labor of calculation which could safely be relegated to anyone else if the machine were used.” Born: 1 July 1646 in Leipzig, Saxony (now Germany) Died: 14 Nov 1716 in Hannover, Hanover (now Germany) 7 http://www.infoweblinks.com/content/calculatingdevices.htm History of Calculating Devices 8 Leibniz´s Logical Calculus Boole: Logic as Algebra DEFINITION 3. A is in L, or L contains A, is the same as to say that L can be made to coincide with a plurality of terms taken together of which A is one. B ⊕ N = L signifies that B is in L and that B and N together compose or constitute L. The same thing holds for larger number of terms. AXIOM 1. B ⊕ N = N ⊕ B. POSTULATE. Any plurality of terms, as A and B, can be added to compose A ⊕ B. AXIOM 2. A ⊕ A = A. PROPOSITION 5. If A is in B and A = C, then C is in B. PROPOSITION 6. If C is in B and A = B, then C is in A. PROPOSITION 7. A is in A. (For A is in A ⊕ A (by Definition 3). Therefore (by Proposition 6) A is in A.) …. PROPOSITION 20. If A is in M and B is in N, then A ⊕ B is in M ⊕ N. George Boole Born: 2 Nov 1815 in Lincoln, Lincolnshire, England Died: 8 Dec 1864 in Ballintemple, County Cork, Ireland 9 10 Properties of Boolean Operations George Boole is famous because he showed that rules used in the algebra of numbers could also be applied to logic. • This logic algebra, called Boolean algebra, has many properties which are similar to "regular" algebra. • These rules can help us to reduce an expression to an equivalent expression that has fewer operators. A AND B ≡ A • B A OR B ≡ A + B 11 12 Frege: Matematics as Logic The Predicate Calculus (1) • • In an attempt to realize Leibniz’s ideas for a language of thought and a rational calculus, Frege developed a formal notation (Begriffsschrift). He has developed the first predicate calculus: a formal system with two components: a formal language and a logic. Friedrich Ludwig Gottlob Frege Born: 8 Nov 1848 in Wismar, Mecklenburg-Schwerin (now Germany) Died: 26 July 1925 in Bad Kleinen, Germany 13 The Predicate Calculus (2) 14 Proof The formal language Frege designed was capable of expressing: As part of his predicate calculus, Frege developed a strict definition of a proof. – predicational statements of the form ‘x falls under the concept F’ and ‘x bears relation R to y’, etc., In essence, he defined a proof to be any finite sequence of wellformed statements such that each statement in the sequence either is an axiom or follows from previous members by a valid rule of inference. – complex statements such as ‘it is not the case that ...’ and ‘if ... then ...’, and – ‘quantified’ statements of the form ‘Some x is such that ...x...’ and ‘Every x is such that ...x...’. 15 Cantor: Infinity 16 Infinities Set of integers has an equal number of members as the set of even numbers, squares, cubes, and roots to equations! The number of points in a line segment is equal to the number of points in an infinite line, a plane and all mathematical space! The number of transcendental numbers, values such as π and e that can never be the solution to any algebraic equation, were much larger than the number of integers. Georg Ferdinand Ludwig Philipp Cantor Born: 3 March 1845 in St Petersburg, Russia Died: 6 Jan 1918 in Halle, Germany 17 18 Hilbert: Program for Mathematics Hilbert described Cantor's work as:- ´...the finest product of mathematical genius and one of the supreme achievements of purely intellectual human activity.´ David Hilbert Born: 23 Jan 1862 in Königsberg, Prussia (now Kaliningrad, Russia) Died: 14 Feb 1943 in Göttingen, Germany 19 HILBERT’S PROGRAM FOR MATHEMATICS 20 HILBERT’S PROGRAM FOR MATHEMATICS Provide a single formal system of computation capable of generating all of the true assertions of mathematics from “first principles” (first order logic and elementary set theory). 1900 Paris International Congress of Mathematicians: Hilbert presents 23 mathematical problems for the century to come. Hilbert’s hope was that mathematics would be reducible to finding proofs (manipulating the strings of symbols) from a fixed system of axioms, axioms that everyone could agree were true, using simple logical derivation rules. Prove mathematically that this system is consistent, that is, that it contains no contradiction. (consistency) If successful, all mathematical questions could be established by mechanical computation! (completeness) http://aleph0.clarku.edu/~djoyce/hilbert/problems.html http://mathworld.wolfram.com/HilbertsProblems.html 21 HILBERT’S PROGRAM FOR MATHEMATICS 22 Gödel: End of Hilberts Program Can all of mathematics be made algorithmic, or will there always be new problems that outstrip any given algorithm, and so require creative acts of mind to solve? Kurt Gödel Born: 28 April 1906 in Brünn, Austria-Hungary (now Brno, Czech Republic) Died: 14 Jan 1978 in Princeton, New Jersey, USA 23 24 Incompleteness Theorems GÖDEL: TRUTH AND PROVABILITY 1931 Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme. [On Formally Undecidable Propositions in Principia Mathematica and Related Systems I.] Kurt Gödel actually proved two related fundamental theorems. They have revolutionized mathematics, showing that mathematical truth is more than logic and computation. Gödel has been called the most important logician since Aristotle. His two theorems changed logic and mathematics as well as the way we look at truth and proof. In any axiomatic mathematical system there are propositions that cannot be proved or disproved by the axioms and derivation rules of the system. In particular the consistency of the axioms cannot be proved. 25 26 GÖDEL: TRUTH AND PROVABILITY GÖDEL: TRUTH AND PROVABILITY Gödels first theorem proved that any formal system strong enough to support number theory has at least one undecidable statement. Even if we know that the statement is true, the system cannot prove it. This means the system is incomplete. For this reason, Gödel's first proof is called "the incompleteness theorem". Gödel's second theorem is closely related to the first. It says that no one can prove, from inside any complex formal system, that it is self-consistent. 27 28 TRUTH VS. PROVABILITY ACCORDING TO GÖDEL GÖDEL: TRUTH AND PROVABILITY "Gödel showed that provability is a weaker notion than truth, no matter what axiomatic system is involved." In other words, we simply cannot prove some things in mathematics (from a given set of premises) which we nonetheless can know are true. (D. Hofstadter) 29 After: Gödel, Escher, Bach - an Eternal Golden Braid by Douglas Hofstadter. 30 TRUTH VS. PROVABILITY ACCORDING TO GÖDEL Turing: Universal Automaton A Post Script Gödel theorem is built upon Aristotelian logic. So it is true within the paradigm of Aristotelian logic. Alan Mathison Turing Born: 23 June 1912 in London, England Died: 7 June 1954 in Wilmslow, Cheshire, England 31 32 When war was declared in 1939 Turing moved to work full-time at the Government Code and Cypher School at Bletchley Park. At the end of the war Turing was invited by the National Physical Laboratory in London to design a computer. Together with another mathematician W G Welchman, Turing developed the Bombe, a machine based on earlier work by Polish mathematicians, which from late 1940 was decoding all messages sent by the Enigma machines of the Luftwaffe. His report proposing the Automatic Computing Engine (ACE) was submitted in March 1946. Turing returned to Cambridge for the academic year 1947-48 where his interests ranged over topics far removed from computers or mathematics, in particular he studied neurology and physiology. 33 34 The 'Bombe' code-breaking machine, 1943 at Bletchley Park in Bedfordshire, the British forces' intelligence centre during WWII. 1950 Turing published Computing machinery and intelligence in Mind 1951 elected a Fellow of the Royal Society of London mainly for his work on Turing machines by 1951 working on the application of mathematical theory to biological forms. The cryptographers at Bletchley Park deciphered top- secret military communiques between Hitler and his armed forces. These communiques were encrypted in the 'Enigma' code which the Germans considered unbreakable. 1952 he published the first part of his theoretical study of morphogenesis, the development of pattern and form in living organisms. However, the codebreakers at Bletchley cracked the code with the help of the Bombe machine. http://www.turing.org.uk/turing/ Andrew Hodges on Alan Turing 35 36 Code-breaking personnel at Bletchley Park, 1943. Wrens* operating the 'Colossus' computer, 1943. This shows one of the Hut 3 priority teams at Bletchley Park, in which civilian and service personnel worked together at code- breaking. Colossus was the world's first electronic programmable computer, at Bletchley Park in Bedfordshire. * Women's Royal Naval Service 37 38 Von Neuman: Computer In the middle 30's, Neumann was fascinated by the problem of hydrodynamical turbulence. The phenomena described by non-linear differential equations are baffling analytically and defy even qualitative insight by present methods. Numerical work seemed to him the most promising way to obtain a feeling for the behaviour of such systems. This impelled him to study new possibilities of computation on electronic machines ... John von Neumann Born: 28 Dec 1903 in Budapest, Hungary Died: 8 Feb 1957 in Washington D.C., USA 39 40 Computer Science Hall of Fame Von Neumann was one of the pioneers of computer science making significant contributions to the development of logical design. Working in automata theory was a synthesis of his early interest in logic and proof theory and his later work, during World War II and after, on large scale electronic computers. Involving a mixture of pure and applied mathematics as well as other sciences, automata theory was an ideal field for von Neumann. Charles Babbage Ada Countess of Lovelace Axel Thue Stephen Kleene He advanced the theory of cellular automata, advocated the adoption of the bit as a measurement of computer memory, and solved problems in obtaining reliable answers from unreliable computer components. Julia Robinson 41 Noam Chomsky Juris Hartmanis John Brzozowski 42 Computer Science Hall of Fame Richard Karp Stephen Cook Donald Knuth Sheila Greibach Women in Computer History • • • • • • • • • • • • Manuel Blum Ada Byron King, Countess of Lovelace (1815-1852) Edith Clarke (1883-1959) Rósa Péter (1905-1977) Grace Murray Hopper (1906-1992) Alexandra Illmer Forsythe (1918-1980) Evelyn Boyd Granville Margaret R. Fox Erna Schneider Hoover Kay McNulty Mauchly Antonelli Alice Burks Adele Goldstine Joan Margaret Winters Leonid Levin 43 44 Rósa Péter (1905-1977) Ada Byron King Countess of Lovelace (1815-1852) A principal figure of recursive function theory. Rósa wrote Recursive Functions in 1951, which was the first book on the topic and became a standard reference. Ada heard in November, 1834, Babbage's ideas for a new calculating engine, the Analytical Engine. Ada was touched by the "universality of Babbages ideas". Hardly anyone else was. In 1952 Kleene described Rósa Péter in a paper in Bull. Amer. Math. Soc. as ``the leading contributor to the special theory of recursive functions." In her article, published in 1843, Lady Lovelace's farsighted comments included her predictions that such a machine might be used to compose complex music, to produce graphics, and would be used for both practical and scientific use. Ada suggested to Babbage writing a plan for how the engine might calculate Bernoulli numbers. This plan, is now regarded as the first "computer program." A software language was named "Ada" in her honor in 1979. From the mid 1950's she applied recursive function theory to computers. In 1976 her last book was on this topic: Recursive Functions in Computer Theory. 45 46 Grace Murray Hopper ENIAC Ladies (1906-1992) Grace Murray Hopper: Inventor of the Computer Compiler She participated in the development of the Common Business-Oriented Language (COBOL; 1959-61) for the UNIVAC The very first computer bug: Grace Murray Hopper originated this term when she found a real bug in a computer 47 48 Technological Advancement within Computing over the Past Decade International Difference in Percentage of Female Students within Informatics 2001 Country England – – – – – – – – – – – – %Women 35 Italy, France, Spain, Portugal Former Sowjetunion Bulgaria 40-50 50 60-70 Grece 59 India, Malaysia, Singapure 50 Germany 8 Olga Goldmann, Seminar: Geschichte der Informatik http://www.millo.de/virtosphere/schillo/teaching/WS2001/Vortraege/Frauen.p pt The World Wide Web and its applications Networking technologies, particularly those based on TCP/IP Graphics and multimedia Embedded systems Relational databases Interoperability Object-oriented programming The use of sophisticated application programmer interfaces (APIs) Human-computer interaction Software safety Security and cryptography … 49 50 Computer Science Church-Turing Thesis In practice, computer science includes a variety of topics relating to computers, which range from the abstract analysis of algorithms, formal grammars, etc. to more concrete subjects like programming languages, software, and computer hardware. As a scientific discipline, it differs significantly from and is often confused with mathematics, programming, software engineering, and computer engineering, although there is some degree of overlap with these and other fields. The Church-Turing thesis states that all known kinds of reasonable paradigms of computation are essentially equivalent in what they can do, although they vary in time and space efficiency. The thesis is not a mathematical theorem that can be proven, but an empirical observation that all known computational schemes have the same computational power. http://en.wikipedia.org/wiki/Computer_science Now the problem is what is the ”reasonable paradigm of computation” – we will have reason to come back to this point later on in this lecture. 51 52 Computer Computer Science Most research in computer science has been related to von Neumann computers or Turing machines (computers that do one small, deterministic task at a time). These models resemble most real computers in use today. Computer scientists also study other kinds of machines, some practical (like parallel machines) and some theoretical (like probabilistic, oracle, and quantum machines). Computer scientists study what programs can and cannot do (computability), how programs should efficiently perform specific tasks (algorithms), how programs should store and retrieve specific kinds of information (data structures and data bases), how programs might behave intelligently (artificial intelligence), and how programs and people should communicate with each other (human-computer interaction and user interfaces). 53 54 CS Body of Knowledge – – – – – – – – – – – – – – – Related Fields Discrete Structures Programming Fundamentals Algorithms and Complexity Programming Languages Architecture and Organization Operating Systems Net-Centric Computing Human-Computer Interaction Graphics and Visual Computing Intelligent Systems Information Management Software Engineering Social and Professional Issues Computational Science and Numerical Methods ... Computer science is closely related to a number of fields. These fields overlap considerably, though important differences exist • Information science is the study of data and information, including how to interpret, analyze, store, and retrieve it. Information science started as the foundation of scientific analysis of communication and databases. • Computer programming or software development is the act of writing program code. 55 56 Related Fields • • • Related Fields Software engineering emphasizes analysis, design, construction, and testing of useful software. Software engineering includes development methodologies (such as the waterfall model and extreme programming) and project management. Information systems (IS) is the application of computing to support the operations of an organization: operating, installing, and maintaining the computers, software, and data. Computer engineering is the analysis, design, and construction of computer hardware • • Mathematics shares many techniques and topics with computer science, but is more general. In some sense, CS is the mathematics of computing. Logic is a formal system of reasoning, and studies principles that lay at the very basis of computing/reasoning machines, whether it be the hardware (digital logic) or software (verification, AI etc.) levels. The subfield of logic called computability logic provides a systematic answer to the fundamental questions about what can be computed and how. . 57 Related Fields • • 58 Discussion over Name Lexicography and specialized lexicography focus on the study of lexicographic reference works and include the study of electronic and Internet-based dictionaries. Linguistics is the study of languages, converging with computer science in such areas as programming language design and natural language processing. There is an on-going discussion over whether the name of the field should be computer science or computation science or computing. The first name is the original, traditional name; however it implies that CS studies computers. The second name is more recent, and it implies that CS studies what we do with computers. The third is the most general term including not only what we can do with present-day computers but any computing process that any physical system can perform. 59 60 Big ideas in Computer Science and Engineering Big ideas in Computer Science and Engineering Prof. Gerry Sussman [MIT] said we could write down all the ideas in computer science on 4 pages! Hilbert’s program: Mechanical procedures exist for finding the solutions to problems. That is, for many questions/problems, we can write down a series of steps and simple predicates which define precisely how to find the correct solution. This process is completely mechanical, not requiring any "human" judgment to complete. We can build physical machines which implement these procedures and perform the calculations. There are simple, universal models of computing which capture the basic capabilities of these machines (e.g. automata, pushdown automata, Turing Machines). CS has added valuable knowledge to our understanding of the world and to history of ideas in science. CS discipline offers some important concepts. Just as there is a utility for everyone to understand a certain amount of math and science, there is a good reason for people to understand a certain amount of computer science. http://www.cs.caltech.edu/~andre/general/computer_science.html 61 Big ideas in Computer Science and Engineering 62 Big ideas in Computer Science and Engineering The Turing Machine model is "robust" in the sense that "reasonable" additions to it, or alternative formulations of computing models have the same asymptotic power of computability (Church's thesis). “Reasonable" meaning they, for the most part, correspond to things we imagine a real machine could support. In particular, there are stronger models when the machine is allowed to do "unreasonable" things like consult an oracle. Deterministic/guaranteed procedures do not exist for all problems (Halting Problem, uncomputability). An important component of CS theory is to classify problems as computable or uncomputable. Common idioms of computing: – – – – divide-and-conquer component based concurrency scheduling and resource optimizing 63 Big ideas in Computer Science and Engineering 64 Big ideas in Computer Science and Engineering The desired computation can be captured precisely and unambiguously. Computer science deals with how we construct languages to describe computations, and how we make them convenient for human use. • languages • syntax (grammars) • semantics (denotational, operational) 65 We do not have to emulate the user's description of a computation to implement it correctly. We simply need to implement a computation which gives the same visible result (has the same meaning) as the user's computation (compilation, CAD) which means semantic transformations. COMPUTERS IMPROVED OUR UNDERSTANDING OF THE SEMANTIC OF LANGUAGES, FORMAL AND NATURAL. 66 Big ideas in Computer Science and Engineering Big ideas in Computer Science and Engineering THE ROLE OF REPRESENTATION used for data in a computation can have a big effect on efficiency of operation and ease of human comprehension Our physical world allows us to build very large computer systems. The practical limit to the useful size of a computer system (or at least, the size of the function efficiently supported by a computer system) is almost always human comprehension, not the physical capacity required. Clear idea of LEVELS OF ABSTRACTION (architecture of knowledge). LANGUAGE AND META-LANGUAGE RELATION BETWEEN SYNTAX AND SEMANTICS RELATION BETWEEN LANGUAGE AND PHYSICS (process automation, robotics, artificial intelligence) Consequently, a major concern of computing field are strategies to manage and reduce complexity (abstractions/information hiding, modularity, problem decomposition, hierarchy, component isolation, invariants, common idioms/paradigms for organization (e.g. procedures, frames, streams, objects, APIs, servers) DYNAMICS MODELLING OF COMPLEXITY PHENOMENA 67 68 Big ideas in Computer Science and Engineering Big Ideas of Engineering • • • • A computing machine can be implemented out of X. X=mechanical interactions, relays, tubes, transistors, DNA, molecules... common/useful abstractions (e.g. digital abstraction, flops, memory, communication channels) disciplines achieving correctness in the face of noise/uncertainty (e.g. voltage levels, timing models and disciplines) There are many big ideas in engineering, e.g. • iterative design • real-world constraints • tradeoffs • feedback • complexity management techniques that are important for understanding not only classical engineered systems but also for understanding social systems and the natural world. 69 70 PHILOSOPHICAL PROBLEMS OF COMPUTING Two Most Fundamental Functions SEARCH (identify objects = divide universe in parts) SORT (organize: what is the same, what is different) Babbage's Difference Engine No 1, 1832. Front detail. Science Museum London 71 72 “The important difference is that the computer (the physical object that is directly related to the theory) is not a focus of investigation (not even it he sense of being the cause of certain algorithm proceeding in certain way) but it is rather theory materialized, a tool always capable of changing in order to accommodate even more powerful theoretical concepts. ” Scientific Methods in Computer Science, GDC “The computer presents itself as a culturally defining technology and has become a symbol of the new millennium, playing a cultural role far more influential than the mills in the Middle Ages, mechanical clocks in the seventeenth century, or the steam engine in the age of the industrial revolution.” (Bolter 1984) 73 74 COMPUTATION Brian Cantwell Smith: The Age of Significance Volume I • Introduction What is Computation? Brian Cantwell Smith 75 76 Construals of Computation 4. Rule-following or algorithm execution (RF): what is involved, and what behaviour is thereby produced, in following a set of rules or instructions, such as when cooking dessert; 1. Formal symbol manipulation (FSM): the idea, derivative from a century’s work in formal logic and metamathematics, of a machine manipulating (at least potentially) symbolic or meaningful expressions without regard to their interpretation´or semantic content; 5. Digital state machines (DSM): the idea of an automaton with a finite, disjoint set of internally homogeneous states—as parodied in the “clunk, clunk, clunk” gait of a 1950’s cartoon robot; 2. Calculation of a function (FUN): behavior that, when given as input an argument to a (typically mathematical) function, produces as output the value of that function on that argument. 6. Information processing (IP): what is involved in storing, manipulating, displaying, and otherwise trafficking in “information,” whatever information might be; and 3. Effective computability (EC): what can be done—and how hard it is to do it—mechanically, as it were, by, an abstract analogue of a “mere machine”; 7. Physical symbol systems (PSS): the idea, made famous by Newell and Simon, that, somehow or other, computers interact with and perhaps are also made of symbols in a way that depends on their mutual physical embodiment. 77 78 A Turing machine is an abstract representation of a computing device. Church-Turing Thesis* It is more like a computer program (software) than a computer (hardware). *Source: Stanford Encyclopaedia of Philosophy (B. Jack Copeland) 79 80 Effective Computability LCMs [logical computing machines: Turing’s expression for Turing machines] were first proposed by Alan Turing, in an attempt to give a mathematically precise definition of "algorithm" or "mechanical procedure". The Church-Turing thesis concerns an effective or mechanical method in logic and mathematics. 81 82 A method M is called ‘effective’ or ‘mechanical’ iff: Misunderstandings of the Turing Thesis 1. M is set out in terms of a finite number of exact instructions (each instruction being expressed by means of a finite number of symbols); 2. M will, if carried out without error, always produce the desired result in a finite number of steps; 3. M can (in principle) be carried out by a human being unaided by any machinery save paper and pencil; 4. M demands no insight or ingenuity on the part of the human being carrying it out. 83 Turing did not show that his machines can solve any problem that can be solved "by instructions, explicitly stated rules, or procedures" and nor did he prove that a universal Turing machine "can compute any function that any computer, with any architecture, can compute". 84 Turing proved that his universal machine can compute any function that any Turing machine can compute; and he put forward, and advanced philosophical arguments in support of, the thesis here called Turing’s thesis. Turing introduces his machines as an idealised description of a certain human activity, the tedious one of numerical computation, which until the advent of automatic computing machines was the occupation of many thousands of people in commerce, government, and research establishments. 85 Turing’s "Machines". These machines are humans who calculate. (Wittgenstein) A man provided with paper, pencil, and rubber, and subject to strict discipline, is in effect a universal machine. (Turing) 86 A thesis concerning the extent of effective methods - procedures that a human being unaided by machinery is capable of carrying out - has no implication concerning the extent of the procedures that machines are capable of carrying out, even machines acting in accordance with ‘explicitly stated rules’. 87 88 Other Models of Computation Among a machine’s repertoire of atomic operations there may be those that no human being unaided by machinery can perform. 89 90 Turing Equivalent Models of Computation Theorem: A language is recursively enumerable if and only if it is generated by a recursive function. • Turing Machines • Recursive Functions • Post Systems • Rewriting Systems Theorem: A language is recursively enumerable if and only if it is generated by a Turing Machine. 91 WHAT IS COMPUTING? WHAT IS COMPUTER? 92 WHAT IS COMPUTING? WHAT IS COMPUTER? This molecule is currently the world's most advanced quantum computer - a 7-qubit quantum that IBM researchers used to conduct the first demonstration of Shor's quantum factoring algorithm. Quantum Computer IBM's quantum computer uses the interactions of nuclear spins within a specially designed molecule to perform calculations in a manner that is exponentially more powerful than conventional computers. Each of the five fluorine and two carbon-13 atoms in this molecule can act as a quantum bit, or qubit, to solve mathematical problems because their spins can interact with each other as well as be individually programmed (by radiofrequency pulses) and detected (by nuclear magnetic resonance). The spins are programmed by a series of radiofrequency pulses and the answer is read from a nuclear magnetic resonance spectrum. http://domino.research.ibm.com/comm/bios.nsf/pages/quantum.html 93 http://domino.research.ibm.com/comm/bios.nsf/pages/quantum.html 94 What is Computation? • Theoretical Computer Science 317 (2004) • Burgin, M., Super-Recursive Algorithms, Springer Monographs in Computer Science, 2005, ISBN: 0-387-95569-0 • Minds and Machines (1994, 4, 4) “What is Computation?” • Journal of Logic, Language and Information (Volume 12 No 4 2003) What is information? http://www.idt.mdh.se/kurser/cd5560/07_04/ 95 96 Theoretical Computer Science, 2004 Volume:317 issue:1-3 Hypercomputation • Three aspects of super-recursive algorithms and hypercomputation or finding black swans Burgin, Klinger • Toward a theory of intelligence Kugel • Algorithmic complexity of recursive and inductive algorithms Burgin • Characterizing the super-Turing computing power and efficiency of classical fuzzy Turing machines Wiedermann • Experience, generations, and limits in machine learning Burgin, Klinger • Hypercomputation with quantum adiabatic processes Kieu • Super-tasks, accelerating Turing machines and uncomputability Shagrir • Natural computation and non-Turing models of computation MacLennan • Continuous-time computation with restricted integration capabilities Campagnolo • The modal argument for hypercomputing minds Bringsjord, Arkoudas • Hypercomputation by definition Wells • The concept of computability Cleland • Uncomputability: the problem of induction internalized Kelly • Hypercomputation: philosophical issues Copeland 97 98 A Holistic Philosophy Of Science – A New Paradigm It is time again to direct gaze upward and see Nature as a whole. What have we learned last couple of centuries of scientific specialisation and division to ever smaller fields? Field of computing seems to be the best candidate to replace physics as paradigmatic mirror of Philosophy of Science used to reflect the Universe that matters. This time Universe has to include human, and not only as a machine! Unifying concept of information has even the potential to bring together Sciences and Humanities. New Natural Philosophy? A New Kind of Science Stephen Wolfram 99 100 UNIVERSE AS A DEVELOPING IDEA The Medieval Universe with Earth in the Centre THE UNIVERSE AS A COMPUTER 101 From Aristotle Libri de caelo (1519). 102 The Clockwork Universe THE UNIVERSE AS A COMPUTER We are all living inside a gigantic computer. No, not The Matrix: the Universe. Every process, every change that takes place in the Universe, may be considered as a kind of computation. E Fredkin, S Wolfram The mechanistic paradigm which systematically revealed physical structure in analogy with the artificial. The self-functioning automaton - basis and canon of the form of the Universe. Newton Principia, 1687 http://www.nature.com/nsu/020527/020527-16.html 103 104 THE WILDFIRE SPREAD OF COMPUTATIONAL IDEAS THE WILDFIRE SPREAD OF COMPUTATIONAL IDEAS "Everyone knows that computational and information technology has spread like wildfire throughout academic and intellectual life. But the spread of computational ideas has been just as impressive. Physicists don't just talk about the information carried by a subatomic particle; they propose to unify the foundations of quantum mechanics with notions of information. Biologists not only model life forms on computers; they treat the gene, and even whole organisms, as information systems. Philosophy, artificial intelligence, and cognitive science don't just construct computational models of mind; they take cognition to be computation, at the deepest levels. Similarly for linguists, artists, anthropologists, critics, etc. Throughout the university, people are using computational and information notions -- such as information, digitality, algorithm, formal, symbol, virtual machine, abstraction, implementation, etc. -- as fundamental concepts in terms of which to formulate their theoretical claims." Brian Cantwell Smith, 2003 105 NOW, IS THE COMPUTING UNIVERSE REAL OR A METAPHOR? THE UNIVERSE AS A COMPUTER String formation – Andrei Linde A simulation of large-scale structure formation http://physics.stanford.edu/linde http://cfcp.uchicago.edu/lss/sims.html [Ontology What may be known about what may exist.] 106 107 “Real” Waterlilies 108 “Real” Waterlilies “Real” Waterlilies 109 110 Claude Monet: Blue Waterlilies Are They Real? SYMBOLS, STRINGS, PROGRAMS LIMITS OF SYMBOLIC SYSTEMS 111 112 PROGRAM = STRING (syntactic way) Theorem PROGRAM = FUNCTION Ν→Ν (semantic way) The set of all finite strings is countable. string PROGRAM string Proof natural number n∈Ν PROGRAM natural number n∈Ν Any finite string can be encoded with a binary string of 0’s and 1’s Find an enumeration procedure for the set of finite strings 113 114 Produce strings in Proper Order Theorem String = program Natural number length 1 0 1 0 1 length 2 00 01 10 11 2 3 4 5 000 001 …. 6 7 …. length 3 The set of all infinite strings is uncountable. Proof (by contradiction) We assume we have an enumeration procedure for the set of infinite strings. 115 CANTOR’S DIAGONAL ARGUMENT Infinite string: CANTOR’S DIAGONAL ARGUMENT Encoding: We can construct a new string w that is missing in our enumeration! ... ... b22 ... ... ... w0 = b00 b01 b02 w1 = b10 b11 b12 w2 = b20 b21 ... ... ... 116 Conclusion The set of all infinite strings is uncountable! 117 118 An infinite string can be seen as FUNCTION Ν→Ν (n:th output is n:th bit in the string) Finite strings (algorithms): countable Languages (power set of strings): uncountable Conclusion There are some integer functions that cannot be described by finite strings (programs/algorithms). There are infinitely many more languages than finite strings. 119 120 REPRESENTATIONAL POWER Conclusion Mapping continuous variable ℵ1 There are some languages that cannot be described by finite strings (algorithms). → continuous variable ℵ1 is equivalent to a machine with an infinite symbol set and infinite rule table (which exceeds TM capabilities). 121 122 HYPERCOMPUTATION BEYOND THE TURING LIMIT Is computation without an algorithm possible? The classical concept of an algorithm is a specification of a process that is to take when the algorithm is unrolled into time. [...] One might compare this to the theory of evolution based on natural selection: this is a process-level theory, for which the existence of some a priori algorithm is problematic.” HYPERCOMPUTATION Michael Manthey 123 124 NEURAL NETWORKS AND ANALOG COMPUTATION - BEYOND THE TURING LIMIT HAVA SIEGELMANN HYPERCOMPUTATION When we observe natural phenomena and we ascribe them computational significance, it is not the algorithm we are observing but the process, the computation. Hypercomputation means generalization of the idea of computation which includes even processes that no present days TM-eqivalent computers perform. Siegelmann-Sontag thesis of 'hypercomputation by analog systems' analogously to the Church-Turing thesis of 'computation by digital systems' Some objects might be performing hypercomputation around us: we observe... but we can not describe step-by-step [algorithmically] their computational process. http://www.cs.umass.edu/~hava/advertisement.html 125 Neural Networks and Analog Computation: Beyond the Turing Limit 126 Correspondence Principle picture from Stuart A. Umpleby http://www.gwu.edu/~umpleby/recent_papers/2004_what_i_learned_from_heinz_von_foerster_figures_by_umpleby.htm Knowledge Generation as Natural Computation KGCM - International Conference on Knowledge Generation, Communication and Management July 8-11, 2007 – Orlando, Florida, USA. Natural Computation Gordana Dodig-Crnkovic TM http://www.idt.mdh.se/personal/gdc/ Department of Computer Science and Engineering Mälardalen University, Sweden n 127 128 NA-CAP 2006 @ RPI, Troy, NY, USA North American Computing and Philosophy Conference, August 10-12, 2006 THEME OF THE SECOND AGE COMPUTING TRANSCENDS COMPUTERS ” Everything will change. There is a magnificent sweep of intellectual landscape right in front of us. ” David Gelernter Swedish National Course in Philosophy of Computer Science Gordana Dodig-Crnkovic Mälardalen University Department of Computer Science and Electronics http://www.idt.mdh.se/personal/gdc/ http://www.edge.org/3rd_culture/gelernter/gelernter_p1.html 129 130 PHILOSOPHY OF COMPUTER SCIENCE Interdisciplinary Distance Learning in Computing and Philosophy CD5650 North American Computers and Philosophy Conference July 26-28, 2007 NA-CAP @ Loyola University Chicago COURSE OUTLINE http://www.idt.mdh.se/personal/gdc/pi-network.htm http://www.idt.mdh.se/personal/gdc/PI_04/index.html Gordana Dodig-Crnkovic http://www.idt.mdh.se/personal/gdc/ Department of Computer Science and Engineering Mälardalen University, Sweden Gordana Dodig-Crnkovic Department of Computer Science and Engineering Mälardalen University, 23 January 2004 131 132 COMPUTING AND PHILOSOPHY LIBERAL ARTS COMPUTING BASED ON experiences with Swedish national course COMPUTER ENGINEERING PHILOSOPHY OF COMPUTER SCIENCE http://www.idt.mdh.se/personal/gdc/pi-network.htm http://www.idt.mdh.se/personal/gdc/PI_04/index.html PHILOSOPHY COMPUTER SCIENCE 133 133 134 PI NETWORK Why is Philosophy Important for Computing? Ahonen-Jonnarth Ulla Senior Lecturer, CS/Biology, Gävle University Dodig-Crnkovic Gordana Senior Lecturer, CS/Physics, Mälardalen University Gustafsson Jan Senior Lecturer Computer Science, Mälardalen University Funk Peter Senior Lecturer (docent) Artificial Intelligence Mälardalen University Lager Torbjörn Professor of General and Computational Linguistics, Göteborg University Lisper Björn Professor of Computer Engineering, Mälardalen University Nivre Joakim Professor of Computational Linguistics, Växjö University Odelstad Jan Senior Lecturer (docent) CS/Theoretic Philosophy Gävle University Correspondent: Gang Liu Deputy Director of Philosophy of Science and Technology DivisionInstitute of Philosophy, Chinese Academy of Social SciencesPhD in Philosophy, Beijing • ”Thinking tool-box” - access to: – Paradigms – Metaphors – Historical examples (knowledge capital) • Communication – both within computing community and wider • Context – conceptual and cultural framework • Humanist dimensions of higher education are important! • Knowledge society – leads to automated production, organization and even automated discovery. Genuine human thinking abilities including creativity will make the difference! 135 135 136 Computation, Information, Cognition: The Nexus and the Liminal Editor(s): Gordana Dodig Crnkovic and Susan Stuart PROLOGUE Cambridge Scholars Publishing Titles in Print as of July 2007 A Few Meta-Level Words or http://www.c-s-p.org/Flyers/Computation--Information-Cognition--The-Nexus-and-the-Liminal.htm Lecture Use Instruction 137 138 EPILOGUE …but instead more of a Landscape with Distant River and Bay of another impressionist painter John M William Turner (1775-1851)! After all, this lecture might not be so close to the Blue Waterlilies of Claude Monet (1840-1926) …. 139 140