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