* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Course Wrap-up
Knowledge representation and reasoning wikipedia , lookup
Affective computing wikipedia , lookup
Incomplete Nature wikipedia , lookup
Wizard of Oz experiment wikipedia , lookup
Human-Computer Interaction Institute wikipedia , lookup
Agent-based model wikipedia , lookup
History of artificial intelligence wikipedia , lookup
Ecological interface design wikipedia , lookup
Philosophy of artificial intelligence wikipedia , lookup
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