Course Wrap-up
Download
Report
Transcript Course Wrap-up
Research Thinking and Writing Toolbox
http://www.idt.mdh.se/kurser/computing/
Gordana Dodig Crnkovic
School of Innovation, Design and Engineering,
Mälardalen University, Sweden
http://www.idt.mdh.se/personal/gdc/
1
Course Wrap-up
This last lecture will put the whole course in the perspective.
What have we learned?
How to see all lectures, those separate puzle pieces as a whole?
Zoom out! And zoom in! And zoom out again!
2
Course Wrap-up
In the lecture An Introduction to Computer Ethics by Keith Miller,
we studied the questions of values and ethics which come back in
different ways in research and engineering: Why is this research
performed? What are the consequences of a new technology for an
individual and for a society?
Our acting as engineers and researchers is based on our ethical
choices. It is important to understand its reasons and consequences.
Ethics is an integral part of engineering and research curricula.
Concerning writing tool box, we learned from Paper Writing and Publication
lecture by Jan about useful practices of paper writing and publication.
In the lecture on Academic English, Diane emphasized importance of making clear
who says what and giving credit to other people – use of sources and problem of
plagiarism. This is a very important issue. Be careful when you write your Notebook
and Home Exam!
3
Course Wrap-up
When it comes to thinking tools we have got number of lectures illustrating
different thinking schools, approaches, models, techniques and research cultures.
Among others, we learned the following:
Perception and Neurorobotics. Multimodal sensory integration in human
neocortex (Baran) showed us how knowledge production can be understood on the
level of networks of neurons in the brain, how different sorts of signals (input
information) from the environment and from the body get processed in the brain so
that we acquire an integrated picture of the world. One of the central issues of
perception and cognition in general is synchronization. This knowledge about
Perception and Neurorobotics is used for application to a theoretical framework for
multimodal information processing for robots (vision, speech, gestures ).
4
Course Wrap-up
Design AND Science Equals False – The confusion in designing, constructing, and
evaluating digital artefacts. Rikard argues for the difference between design and
(classical, reductionist) understanding of science. In the Interaction Design – the
process of creating useful and engaging digital artifacts, everything relates to
everything else (holistic view in design, but relevant even broader). Different way of
thinking is necessary: "Software designers should be trained more like architects
than like computer scientists”. Design as a specific solution to a specific problem in a
dynamically changing specific situation in a future context is different from
classical Science as a general knowledge about observed phenomena in the past
which always appear in the same way under controlled conditions. There is no way
for (classical reductionist, “Newtonian”) Design Science. However, Interaction
Design is a multidisciplinary field which appears at the intersection between Design,
Behavioural Sciences (such as psychology, cognitive science, organization theory,
psychobiology, social neuroscience ), Electronics, Computer Science and Engineering
and many more.
5
Course Wrap-up
Dependable Software Engineering for Software-intensive Systems (Sasi):
Software is a key and strategic factor in present-day and future technology and it
must be dependable as more or less all of our vital functions depend on it. How is
dependability assured? Source of errors: hardware, wired/wireless networks,
environment, malicious faults. Fault tolerance and redundancy mechanisms are used
to increase dependability. Understanding requires ability to zoom in and zoom out
(when solving problems in SE but even in general).
Re-reading the Past (Oguzhan): Computing today is not only part of professional
life and technological infrastructure, it is becoming part of everyday lives for all
people and it deeply impacts our culture – from mobile phones to games, social
networking, movies and music mediated by computational devices, to increasing
amounts of ubiquitous computing (ambient computing) going on in the background.
Computers have not been designed for broad usage, they haven’t changed their
design from the beginning, so new design thinking is necessary. Oguzhan showed us
how to search for new ideas by re-reading the past: what have we lost in flattening
our interaction with the world (letters with texture, smell, human touch contra
emails; different types of screens; Beyazit Firewatch tower contra weather
forecast on the web). How to get back multi-dimensionality of communication? That
is a designer’s task to discover and propose new ways of interfaces with computers.
6
Course Wrap-up
Intelligence, Artifactual and Biological, Symbolic, Sub-symbolic and Agentbased (Gordana ): thinking is based on human abilities we call intelligence, so it is
important to understand intelligence, natural and artifactual; the ways we reason,
acquire knowledge and construct knowledge. Examples of computational thinking
tools from AI: computational models of logical reasoning, constraint solvers,
deduction tools, believe and decision networks, decision trees, graph searching tools,
artificial neural networks (ANN) and Agent-Based Models (ABM)
http://aispace.org/mainTools.shtml
See also: http://artint.info/html/ArtInt.html Artificial Intelligence - foundations
of computational agents - free online book!
7
Lessons Learned:
Thinking The Biggest Picture
And the Smallest. Abstraction
Already our perception* of the world implies many steps of
simplification. Our perception of an apple is not an apple, it just
(for us) represents an apple; it is only (simplified) information about
an apple.
When we think, we use concepts (ideas) and relationships between
them (established by various processes of perception and thinking),
and those are also abstractions and simplifications.
“Thinking tools” are methods or approaches that have been
developed for understanding and solving different sorts of
problems in different domains (fields) which we use when we think
within those fields. “Making distinctions” is one of the most
fundamental thinking tools, it helps us find out what the world is
and how it looks like. Information is "a difference which makes a
difference." (Bateson, 1979). Information is the stuff we use to
construct knowledge.
Robert Fludd's depiction of
perception (1619). wiki
* Perception is the conscious mental registration of a sensory
stimulus: recognition and interpretation of sensory stimuli based
chiefly on memory.
8
Lessons Learned:
Different types of thinking tools
In the same way as a mechanical tool has specific role and can
solve specific problem so is the case with thinking tools, models
and abstractions.
"It is tempting, if the only tool you have is a hammer, to treat
everything as if it were a nail.“ Abraham Maslow
Our conceptual world is a construction which consists of our
understanding of what the world is, how things in the world
relate to each other and how humans relate to the world
including other humans.
This is also how we solve problems (and hope for the best)
One night Nasrudin (Mullah Nassr Addin) was looking something desperately under the street lamp.
His neighbors saw him and asked him what did he loose. He answered: "my key!" So his neighbors
started to look for it as well all around the street lamp. After one hour and even more nobody
found anything! So finally they asked him: "well do u remember where did you loose it your key?".
Nasrudin answered: "yes, it must be somewhere there in the dark far from the street lamp." They
asked him: "If you lost it there, why are you looking for it here then under the street lamp?"
Nasrudin: "because under the street lamp I can see!"
9
Lessons Learned:
Diversity
One of the lessons learned in this course is about the necessity of diversity.
An Introduction to Computer Ethics – shows the diversity of ethical approaches.
Paper Writing and Publication – diversity in writing and publication practices
Academic English – diversity of voices: who is speaking?
Perception and Neurorobotics – diversity of sensory inputs in the brain and their
integration.
Design AND Science Equals False – The confusion in designing, constructing, and
evaluating digital artefacts – diversity of fields informing the Interaction Design.
Dependable Software Engineering for Software-intensive Systems – diversity of
levels of description /levels of abstraction, importance of zooming in and zooming
out in problem solving.
Re-reading the past – diversity of modalities for information design – re-capturing
the complexity of interaction which is substantially “flattened” today.
Intelligence, Artifactual and Biological, Symbolic, Sub-symbolic and Agentbased - importance of the diversity of intelligences ( logical, linguistic, spatial,
musical, kinesthetic, interpersonal, intrapersonal, …) for both natural and artifactual
intelligence.
10
Thinking The Biggest Picture
and the Smallest. The Role of Sciences
Lessons Learned:
Even though everything is related to everything else in some way or the other, we are lucky
that for the majority of practical purposes we can implement separation of concerns and we do
not need to take into account infinitely many factors in order to understand things “good
enough” for a purpose.
Example: if a person has a toothache, dentist will solve the problem – no need to visit
nephrologists (kidney specialist) or cardiologist (heart specialist), even if our body makes one
whole and all belongs together in one single body.
In other words: many problems are local (But far from all! We know about errors able to
“propagate” through several levels of organization of a system.)
Lesson learned: When modelling ..
… Make everything as simple as possible, but not simpler! (Einstein)
11
Thinking The Biggest Picture
and the Smallest. The Role of Sciences
Lessons Learned:
But how can we know what can be simplified and what can not?
Infinity Zoom – Beyond our Universe : From the outer
universe to the microscopic world
http://www.youtube.com/watch?v=LVLRDBFyrTk
Sciences help us explore and understand worlds that do not belong
to our everyday experiences.
Those worlds are often strange and unexpected and our everyday
thinking tools simply do not apply!
The Unnatural Nature of Science L Wolpert
12
Lessons Learned:
Thinking The Biggest Picture
And the Smallest
The universe as we know it today is really huge.
Imagine that our knowledge about the universe is produced
by different sciences, with their different tools, within
their specific domains.
Of course we do not expect instruments from one research
field, say microscop from microbiology apply to a different
field, say observation of objects in astronomy.
And yet, there are things in common!
Mathematical principles, structures and patterns.
Computational processes.
13
Lessons Learned:
More is Different
The fact that we move on different scales reveals one important feature of nature:
MORE IS DIFFERENT!
http://www.physics.ohio-state.edu/~jay/880/moreisdifferent.pdf
P. W. Anderson, More Is Different
Science, New Series, Vol. 177, No. 4047 (Aug. 4, 1972), pp. 393‐396
Today we want to understand emergent properties which are the system properties of
the whole system which its parts do not possess.
For example:
Meaning of a word is an emergent property that no letter of the word possess.
“A” “P” “P” “L” “E”
14
Lessons Learned:
Thinking Complex Systems Multidisciplinarity
A complex system is a system composed of interconnected parts that as a whole exhibits
properties not evident from the properties of its individual parts.
Examples of complex systems: ant colonies, human economies and social structures, climate,
nervous systems, cells and living organisms, including human beings, eco-systems, societies,
as well as energy- or ICT infrastructures.
Some characterize our time as “Complex Systems Era” and talk about “Complexity
Revolution” which is clearly based on dramatically increased computational resources that
scientists have today.
See http://en.wikipedia.org/wiki/Complex_system
Book: Unifying themes in complex systems: Proceedings from the third International ...
AvAli A. Minai,Yaneer Bar-Yam
http://www.google.com/books?id=mOna7SjN08sC&pg=PA421&dq=ComplexSystems+era&lr=&hl=sv&cd=3#v=onepage&q=Complex-Systems%20era&f=false
15
Lessons Learned:
Thinking Complex Systems Multidisciplinarity
A fresh example:
The Helsinki School of Economics (HSE), the Helsinki University of Technology (TKK) and
the University of Art and Design Helsinki (TAIK) have merged to form Aalto University on
January 1, 2010.
Nowadays we have to think in many levels and from many points of view – this means we
must be ready to think multi-disciplinary: understand results from several fields and be
able to present results from our own research so that people from other fields can
understand.
16
Some General Remarks: General Remark 1
Principle of Charity:
Understanding Other People’s Thinking
The principle of charity requires interpreting a speaker's statements to be
rational and, in the case of any argument, considering its best, strongest possible
interpretation.
The goal of this methodological principle is to avoid attributing irrationality,
logical fallacies or falsehoods to the others' statements, when a coherent, rational
interpretation of the statements is available.
http://en.wikipedia.org/wiki/Principle_of_charity
17
General Remark 1
Principle of Charity
We make maximum sense of the words and thoughts of others when we interpret in a way that
optimizes agreement. Davidson
When is Principle of Charity good? When we want to learn from thoughts of others and we show
respect for the thoughts of others.
From the ethical point of view charity is a good principle.
From the point of view of learning from others it is also useful.
Why is this principle not always used ? When are we searching for the most unfavorable
interpretations? Sometimes in order to check how far a statement will reach, one might search
for situations where it does not hold. Also in discussions, opponents might tend to interpret
each others words in least favorable ways.
18
General Remark 2
In all talks we find one recurring strategy –
computational thinking:
information processing view of problem modeling
and solving!
19
Computational Universe and
Computational Thinking Tools
Info-Computationalism,
video-recorded lectures, Gordana D-C:
Info-Computationalism ( ICON ) Part 1
+ PPT Presentation Part 1
Info-Computationalism ( ICON ) Part 2
+ PPT Presentation Part 2
Info-Computationalism ( ICON ) Part 3
+ PPT Presentation Part 3
http://www.idt.mdh.se/kurser/comphil
Jeannette M. Wing - Computational Thinking and
Thinking About Computing (video)
http://www.cs.cmu.edu/~wing/
20
Computational Thinking Toolbox
Comment:
People learning from computing, and new
understanding of computing informed by
natural processes including humans and
societies, learning how to manage complexity
and optimize resources.
21
Computational Thinking Toolbox
Comment:
We borrow the ideas from nature, make
them more explicit and clear-cut and use
in understanding of nature again, but on a
different level.
22
Computational Thinking Toolbox
23
Computational Thinking Toolbox
Comment:
Fundamental: level of abstraction level of organization
level of description
COMPLEX SYSTEMS
http://www.youtube.com/watch?v=XcbrKPj1V_U
Tour of Universe
http://www.youtube.com/watch?v=RPumskk1dGk
From Quarks to Outer Space
http://www.youtube.com/watch?v=U6QYDdgP9eg
The Origin of Life – Abiogenesis
http://www.youtube.com/watch?v=OsDQ2jn2oAo Evolution of Life
on Earth - Carl Sagan
http://www.youtube.com/watch?v=FZ3401XVYww
The Miracle in Human Brain
http://www.youtube.com/watch?v=mRignZWs6oE&feature=related
CGI brain simulation
http://www.youtube.com/watch?v=A1ILrYHvnpA&NR=1 A journey
through the brain's wiring
24
Computational Thinking Toolbox
25
Computational Thinking Toolbox
26
Computational Thinking Toolbox
27
5 Deep Questions in Computing
28
5 Deep Questions in Computing
Comment: WHAT IS COMPUTING?
Computing as defined by ACM/IEE computing curricula http://www.acm.org/education/curricularecommendations
Computer Science: Algorithms and Complexity (AL); Architecture and Organization (AR); Discrete
Structures (DS); Graphics and Visual Computing (GV); Human-Computer Interaction (HC); Information
Management (IM); Net-Centric Computing (NC); Operating Systems (OS); Programming Fundamentals (PF);
Programming Languages (PL); Software Engineering (SE); Social and Professional Issues (SP)
Computing Engineering
Software Engineering
Information Systems
Information Technology
Emerging Disciplines
29
Is there any decision problem that can be
solved by a non-deterministic Turing
machine in polynomial time (belongs to
complexity class NP), but not by a
deterministic Turing machine, (meaning it
does not belong to complexity class P) ?
More formal:
The P versus NP problem is to determine whether
every language accepted by some nondeterministic
algorithm in polynomial time is also accepted by
some (deterministic) algorithm in polynomial time.
To define the problem precisely it is necessary to give a
formal model of a computer. The standard computer
model in computability theory is the Turing machine,
introduced by Alan Turing in 1936 [Tur36]. Although the
model was introduced before physical computers were
built, it nevertheless continues to be accepted as the
proper computer model for the purpose of defining the
notion of computable function.
http://www.claymath.org/millennium/P_vs_NP/Official_
Problem_Description.pdf
30
P=NP?
Comment, GDC:
Comment, Chris Calude:
Computational complexity theory is the part of
the theory of computation dealing with the
resources (time/space) required to solve a given
problem.
So this is essentially a personal remark about P vs.
NP problem; I believe this is a very challenging
and deep and interesting mathematical question,
but I think one that has no computer science
meaning whatsoever.
In such analysis, a model of the computer is
required. Typically, such models assume that the
computer is deterministic (given the computer's
present state and any inputs, there is only one
possible action that the computer might take) and
sequential (it performs actions one after the
other).
The class P consists of all decision problems that
can be solved on a deterministic sequential
machine in an amount of time that is polynomial in
the size of the input; the class NP consists of all
those decision problems whose solution can be
found in polynomial time on a non-deterministic
machine.
For the simple fact that P is not an adequate
model of feasible computation, and there are a
lots of results – both theoretical and
experimental- which point out that P does not
model properly what we understand as feasible
computation. Probably the simplest example is to
think about the simplex algorithm which is
exponentially difficult, but works much better
in practice than all known polynomial solutions.
Randomness through Computation, H Zenil, ed.
2011
31
What is Computation?
Comment 1:
What is computable depends on what is computation.
Both P=NP? and this question pressupose a sort of a
model of a computing machine.
The question connected to the architecture of the
machine is:
What is computation?
Comment 2:
Concerning complex systems, we also want to know how
to control complex systems (might be reducible to the
question of how to build them)
32
What is Intelligence?
Comments:
Blue Brain
http://bluebrain.epfl.ch
http://news.bbc.co.uk/1/hi/sci/tech/8012496.stm
33
What is Information?
comment :
http://www.illc.uva.nl/HPI
34
Complex Systems
35
Computing Universe
and Agent-Based Modeling (ABM)
Computational Thinking Example:
“And how about the entire universe, can it be considered to be a computer? Yes, it certainly
can, it is constantly computing its future state from its current state, it's constantly
computing its own time-evolution! And as I believe Tom Toffoli pointed out, actual computers
like your PC just hitch a ride on this universal computation! “
Chaitin, G “Epistemology as Information Theory”, in Computation, Information, Cognition,
Dodig-Crnkovic G. and Stuart S., 2007
“This would exclude all non-Markovian processes in the world which do not
depend only on their current state for their evolution.”
How to avoid this objection?
•We can think in terms of Agent-Based Modeling (ABM) which is modeling
phenomena as dynamical systems of interacting agents.
•Agents have identity and act autonomously.
•Wofram’s CA are agents who act synchronously.
•In general one assumes asynchrony and one models environment explicitly.
36
Computational Thinking Example:
Agent-Based Modeling (ABM)
•ABM applications go beyond state-determined automata by the inclusion of
random-access memory capabilities.
•That is, agents can engage with their environments beyond concurrent
state-determined interaction by using memory to store descriptions and
representations of their environments. They can also have access to shared
knowledge among the members of their particular agent society.
•Such agents are dynamically incoherent in the sense that their next
state or action is not solely dependent on the previous state but rather
depends also on some (random-access) stable memory that keeps the
same value until it is accessed and that does not change with the
dynamics of the environment-agent interactions.
In the computing universe as well as in the brain, the same hardware that
performs computations is used as memory as well.
37
Computational Thinking Example:
Organic Computing
Organic computing is a form of biologicallyinspired computing with organic properties. It
has emerged recently as a challenging vision
for future information processing systems.
"Organic Computing System" is a technical system,
which adapts dynamically to the current
conditions of its environment. It is
characterised by the self-X properties:
Organic Computing is based on the insight
that we will soon be surrounded by large
collections of autonomous systems, which are
equipped with sensors and actuators, aware
of their environment, communicate freely,
and organise themselves in order to perform
the actions and services that seem to be
required.
•
•
•
•
•
•
•
self-organization,
self-configuration (auto-configuration),
self-optimisation (automated optimization),
self-healing,
self-protection (automated computer
security),
self-explaining,
and context-awareness.
http://en.wikipedia.org/wiki/Organic_computing
38
Computational Thinking Example:
Organic Computing
Once fully developed, Organic Computing will
be a conceptual framework, indeed a branch
of science, that will form the basis for
understanding the organic structure of Life
on its molecular, organismic, cognitive and
societal levels, and for building an organically
structured information technology.
A system is called organic if all of its
components and subsystems are well
coordinated in a purposeful manner. Organic
structures realize themselves as
hierarchically nested processes, structured
such as to be able to meet upcoming
challenges by goal-oriented reactions.
The concepts of Organic Computing will not
rely on the algorithmic division of labor, but
on processes of evolution, development, selforganization, adaptation, learning, teaching,
and goal orientation.
None of the existing fields of science and
technology have the full intellectual
infrastructure, perspectives, motivation,
methodology or experimental models to
embrace the issue in its full extent,
interdisciplinary collaboration is needed.
http://www.organiccomputing.org/ieeetaskforce/index.html
39
Question to answer in your Notebook
What do we see with our ‘info-computational spectacles’ on, that
we don’t see otherwise?
Observe:
Thinking is a process!
Knowledge is a structure.
If you want to see the knowledge-based approach, see:
A Methodology of Human Knowledge course by George
Kampis
http://www.jaist.ac.jp/~g-kampis/Human_Knowledge.html
40
Assignments
DEADLINES
June 18
CLASS-NOTES
July 18
TAKE-HOME EXAM
Important to have in mind: Jan’s lecture on writing and
Diana’s on the correct use of sources.
You are welcome to share your reflections and discuss topics
from the course via mail.
41