Presentation on theme: "Bioinspired Computing"— Presentation transcript:
1Bioinspired Computing Lecture 1:Overview & Biased History
2ObjectivesOn completion of this module, students should be able to:understand both the appeals and limitations of natural systems as the inspiration for artificially intelligent systems;understand of some of the many artificial intelligence techniques that have been inspired by natural systems (eg. artificial neural networks, evolutionary computing, ant-like systems);implement one or more of these systems to solve a particular problem (eg., using an artificial network to control a simple simulated robot).
3SyllabusIntroduction, history and philosophy of bio-inspired computing; artificial neural networks for pattern recognition; artificial neural networks for control; multi-agent systems and swarm intelligence; bio-inspired graphics and art; evolutionary design; coevolutionary design; simulation modelling in biology and beyond; applications of bio-inspired computing.
4Today …. Overview talk Outcome Introduction to the module Insight in why the field is attractive to many peopleFirst review of some of the characteristics that bio-inspired approaches share
5Lecturing Staff Marc de Kamps (email@example.com) Started in high energy physicsPostdoc in cognitive modellingNeural networksSpiking neurons simulationVision, attention (in vision), neural representation of languageSlides based on last year’s lecturesA long string of original contributions over the years: Seth Bullock, Jason Noble, Netta CohenSlides will be handed outAll slides currently available, but these will be updated from last year’s version as the weeks progress (so don’t assume things will be exactly the same as last year!)Next year: third year moduleprereq.: maths
6Timetabling This module has two consecutive lecture slots Mondays 12:00 – 14:00 Roger Stevens LT12Demonstration slot allocatedThursday 15:00 – 16:00 Roger Stevens LT04Demonstration sessions will only be given some weeks- notified in advance in lecture and/or newsgroup.WATCH THE MODULE NEWSGROUP FOR UPDATES
7Resources Course Website: http://www.comp.leeds.ac.uk/ai23 Lecture SlidesModule OutlineReading ListsAssignmentsUseful LinksNewsgroups: local.modules.ai and ai23.talkReading available in library, or via links on course page.Each otherTalk about the material.Talk about the assignments.Help each other; feel free to work together, butSubmit only you own personal original work.
8Bio-inspired computing Biological computation Artificial Intelligence What is this module all about?Bio-inspired computingBiological computationArtificial Intelligence
9What is Bio-inspired computing? What is computing?Answer can be given in some way: Universal Turing MachineExample: compute planet trajectories
16The Birth of AI In the 1940s Alan Turing was already speculating on… …the possibility of general computer intelligence –abstract games: good initial tasks ‘requiring little contact with the outside world’……the potential for a computer chess player –search algorithms to used to find good moves……a way of deciding whether a computer was intelligent – the Turing Test is a totally disembodied interrogation (but a somewhat situated one)…Artificial Intelligence is an attempt to simulate reasoning as:abstract, formal, disembodied, symbol manipulation.Note that Turing was also interested in BiC – “The chemical basis of morphogenesis” (52)
17What is Bio-inspired computing? What is computing?Answer can be given in some way: Universal Turing MachineExample: compute planet trajectoriesFixed recipeChop up state spaceDefine mappingWrite programRun it -> DoneSince ENIAC we’ve been upgrading the UTMStrong AI
18Criticism of AISometimes unfair:"As soon as someone gets a computer to do it, people say: 'That's not what we meant by intelligence.' People subconsciously are trying to preserve for themselves some special role in the universe."- Michael KearnsThe AI Effect: "The great practical benefits of AI applications and even the existence of AI in many software products go largely unnoticed by many despite the already widespread use of AI techniques in software. This is the AI effect. Many marketing people don't use the term 'artificial intelligence' even when their company's products rely on some AI techniques. Why not?"See
19SHRDLUBy 1972, Terry Winograd’s invented a simulated robot arm surrounded by blocks of various shapes and colours on a table.SHRDLU could…understand natural language instructionsask questions to disambiguate these instructionsact & reason in a simulated “blocksworld” environmentanswer questions about the world & its own reasoningIn Winograd’s words, it was “a computer program which ‘understands’ language in a limited domain.”SHRDLU’s algorithms carried out model building, search, planning and logical deduction.See for example:
20A Conversation with SHRDLU > Pick up a big red block.OKAY.> Grasp the pyramid.I DON’T KNOW WHICH PYRAMID YOU MEAN.> What does the box contain?THE BLUE PYRAMID AND THE BLUE BLOCK.> I own blocks which are not red, but I don’t own anything which supports a pyramid.I UNDERSTAND.> Do I own the box?NO.(adapted from Dreyfus’ 1979 What Computers Can’t Do)
21Is that really how our brain works? John Von Neumann, father of modern high-speed computers also thought about neuro-computation and tried, for the first time, to construct a meaningful comparison between brain and computer power.Von Neumann argued that the brain must employ digital computation. Figuring in the number of neurons, connections, and estimates of computational speed and statistical noise in the brain, he then concluded that the brain could not be explained by logic alone.In fact, he apparently postulated (and began writing) an alternative theory but died soon after.
22The manuscript (published post mortem) ends as follows: “The Language of the Brain is Not the Language of Mathematics … whatever language the central nervous system is using, it is characterized by less logical and arithmetical depth than what we are normally used to … Consequently, there exist here different logical structures from the ones we are ordinarily used to...… whatever the system is, it cannot fail to differ considerably from what we consciously and explicitly consider as mathematics.”(John Von Neumann, The Computer and the Brain, 1958.)In a recent commentary, Harold Morowitz writes:“Von Neumann challenged the validity of the underlying conceptualizations we use to study the brain and compare it with computers. Yet, what is surprising, given the great esteem for John Von Neumann, is that no one has taken up on his argument and fully developed its consequences in the mind versus artificial intelligence arguments that had been waging the last few years.”
23Criticism of AI Frame problem Symbol grounding problem (see eg. Pfeifer, “Understanding Intelligence”)Frame problemSymbol grounding problem
24Frame Problem (McCarthy & Hayes, 1969) Example WikipediaPredicates which can depend on time t are called fluentsA situation where a door is closed, the light is off and and the door is opened at t = 1 can be represented by:┐open(0)┐on(0)true →open(1)Direct expression of what is known, but insufficient to correctly draw consequences
25Frame ProblemThe following situation is logically consistent with the known situation:┐open(0) open(1)┐on(0) ┐on(1)The following too:┐on(0) on(1)This makes no sense causally, but perfect sense logicallyA superficial solution requires frame axioma’s:on(0) ≡ on(1)
26Frame ProblemTo formulate frame axioms for every condition, action combination that must not change is not an optionSolution possible but subtle, unlikely for living creatures“The frame problem in philosophy is therefore the problem of how a rational agent bounds the set of beliefs to change when an action is performed.” (Wikipedia)Biological creatures (including humans) seem not overly troubled by it …
27Symbol Grounding Problem (Searle 1980; Harnard 1990) In AI rules are used to operate on symbolsThe rules operate independent of the meaning of symbolsThis is not a problem as long as there is a human around to make sense of the symbolsPowerful formal reasoningDifficulties with interpretationComputer vision, speech recognition, interpretation still difficult
28Chess vs. FootballChessDiscreteFull InformationSingle OpponentsTurn TakingLimited Options per TurnIntellectual, disembodiedOptimal Strategy Exists?Demands General Intelligence?Formal, Analytical, SymbolicFootballContinuousPartial InformationHeterogeneous TeamsContinuous ConfrontationUnlimited OptionsPhysical, embodiedNo Optimal Strategy?Demands Specialist Skills?Dynamic, Physical, ReactiveCan the problems faced by footballers be solved through symbol processing and heuristic search?Commentary v. playing?
29“Intelligence w/out Reason” Rodney Brooks (“Intelligence Without Reason”): Critic of the AI approach & strong proponent of embodiment and situatedness in bioinspired computing (BIC).AI, he claims, followed the abstract route due totechnological gaps in the 40s & 50s.Today (1991), he says, it’s time to move on.Brooks recognised that life-like systems are often intelligent to some degree, yet reasoning is primarily considered to be a human attribute. Rather than modelling complicated human behaviour, why not start simple?
30“There are a number of key aspects characterizing this style of work [Situatedness] The robots are situated in the world - they do not deal with abstract descriptions but with the here and now of the world directly influencing the behavior of the system.[Embodiment] The robots have bodies and experience the world directly their actions are part of a dynamic with the world and have immediate feedback on their own sensations.[Intelligence] They are observed to be intelligent - but the source of intelligence is not limited to just the computational engine. It also comes from the situation in the world, the signal transformations within the sensors, and the physical coupling of the robot with the world.[Emergence] The intelligence of the system emerges from the system's interactions with the world and from sometimes indirect interactions between its components - it is sometimes hard to point to one event or place within the system and say that is why some external action was manifested.”(Brooks 91)
31Why Not The Whole Iguana? (Dennett 78) Traditional computing is task-oriented (vertical).To survive, animals have to be good across the board!AntCricketIguanaHumanWalkingSexMemoryChessVerticalHorizontalRather than build parts of human intelligence, why not build an entire much simpler intelligence?
32Performance without CPU LocomotionExamples of dynamic movers:(museonside.mpg was shown in the lecture)Compare:
33How do biological systems deal with these issues? Biological performance isdynamicflexible, adaptiverobust, noise/defect tolerant
34Slime mouldsFree-rangingamoebaeaggregationmigratory slugsfruiting bodymoundWhen food is plentiful, amoebae live & multiply independently. When food is scarce, they secrete a chemical signal that attracts amoebae towards each other. As cells aggregate they form a mound, then a slug, and eventually fruiting bodies. The slug can migrate to a more desirable location.When a slug reaches an appropriate place, the cells differentiate to form spores and a stalk. The fruiting body consists of mature spore cells on top of dead stalk cells. These spore cells fall off, starting their own colonies.
38Powerful idea Does not really depend on actual mechanism Can be used in artificial systems?Yes, evolve hardware, programsGood search technique!
39The slime mould… Is no more than a collective manifestation of amoeba It self-organised in the face of duress (food deprivation, pressure for self-preservation/self-replication).It is completely decentralised/distributed: There is no leader.Each amoeba follows simple rules.Individual amoebas are not reliable.The amoeba is adaptive; its function is context-dependent.Interactions among different levels of organisationThe solution is defined in terms of the system at large (slime mould and its survival, not individual amoeba).
40Performance without CPU (2) EU project hydraATRON hardware videosSelf-configuring BOEING:
41Some unifying concepts/inspirations Eliminate pre-imposed hierarchies, eliminate leadersAllow a decentralised (distributed) approach and parallelismAllow simple rules for cooperation among componentsAllow interactions among different levels of organisationDefine solutions in terms of system-wide variablesComputers need not be as complex as biological machines. By incorporating key principles we hope to achieve much improved functionality.
42What might computer scientists learn from biological systems? Some limitations of today’s computers:Computers crash! (OS usually to blame)The complexity of computer programs is limited. The biggest programs are less complicated than the simplest biological cell.Computers don’t self-replicate.They don’t self-organise.They don’t fix themselves.Computers are always right (i.e. they follow their programs correctly), but don’t always give the answers we want to know. Computers are unforgiving.
43Potential implications: Pretty soon computers will miniaturise to molecular scales. This transition will requirenoise/defect-toleranceself-assembly/self-organisation at the hardware levelSoftware will need to cope with ever-increasing complexity. Can software self-organise? Self-evolving software is already in use both in traditional computing & robotics.Computer systems are networked in massive complex and dynamic architectures. Distributed approaches to managing networks/grids are being implemented. Specifically, ant algorithms are used in re-organising internet connectivity in the face of node failures.
44Properties of biological systems Collective behaviourself-organisation, self-assembly and self-repairself-replication/reproductionEmergence: Organisation of structure & function is achieved by the system as a coherent, organic and autonomous entity, even though this whole consists of components which are themselves autonomous.The whole is greater than the sum of the parts.
45Collective computations finds reasonable solutions Biological creatures are sometimes faced with very hard problemsSolution does exist, but takes impossible time to solveCollective action sometimes produces a solution that is reasonable in short time
46The problem: Directed Hamiltonian Path Given a graph with directed edges, find a Hamiltonian Path, i.e. a path which starts at one node, finishes at another, and goes through all other nodes exactly once.Variant of the travelling salesman problem where all roads are the same length:A salesman wants to travel over a fixed set of roads between N different towns without ever coming back to a town he has already visited.Find a sequence of fights which goes from Fresno to Boston landing at all other airports exactly once.
47How hard is it?A P problem is one which can be solved in polynomial time, basically at a rate which is some fixed power of N, where N is the size of the problem. An NP hard problem is one for which no one knows an algorithm which does not take exponential time (2 or some other power of a number > 1).Methods taking exponential operations can work out whether or not such a route exists and report it if it does, but even for small problems they take too much time to be practical.Any NP problem can be transformed to another in P time – so solve one efficiently and can solve any NP problem efficiently!
48Emergent solutionsWe will look at solutions that emerge from systems of interacting basic components in:Neural Networks (2x; different!)Swarm IntelligenceDNA computing
49Open questions Can human cognition be understood this way? Is human cognition a dynamical process, which self-organizes, is emergent, …?Does the brain have executive modules?There are manifest differences: e.g. symbols can not be copied
50Examples Collective behaviour self-organisation, self-assembly and self-repairself-replication/reproductionemergenceWhat are the underlying principlesthat give rise to this behaviour?
52From Pattern Formation to Computing? Conjecture:If principles of pattern formation underlie the development of a foetus, why not the development of program or an electronic circuit?Computers need not be as complex as biological machines. Maybe by incorporating key principles from biology we can already achieve much improved functionality.First baby steps:Pattern formation could be useful if…We can extract minimal principles to mimic it.We can harness the patterns for useful computation.
53Why do we care? Computer hardware is “hard”, but must it be? What about ad-hoc configurations of computer and communications networks?Pattern formation is an example of parallel processing that is highly versatile, adaptive, and robust. Can we simplify existing algorithms using similar concepts?Simulations of natural pattern formation processes are a growing industry for art, movies, and even music.
54Lindenmayer SystemsL-systems define sets of local rules for making patterns.Requirements: an initial term and a set of rules.A simple rewriting system:Rule: A ABwould develop as follows:A … AB … ABB … ABBB…Adding rule B BA, gives:A … AB … ABBA …ABBA BAAB …ABBA BAAB BAAB ABBA …ABBA BAAB BAAB ABBA BAAB ABBA ABBA BAAB …ABBA BAAB BAAB ABBA BAAB ABBA ABBA BAAB BAAB ABBA ABBA BAAB ABBA BAAB BAAB ABBA …Notice: early strings are sub-components of later strings. Also, strings are self similar at all levels.
55Geometric Rewriting Systems Replace letters with geometries: Grow pictures, not sentences…Turtle graphics approach: Imagine a turtle that can only understand three commands: F (move forward a distance d, drawing a line); + (turn left through ao), - (turn right through ao).Set d=1, a=90. Give turtle initial string of commands (say F-F-F-F). Then, apply set of rewrite rules again and again and again…(The resulting patterns will be examples of quadratic Koch islands)Example rewrite rule:F F-F+F+FF-F-F+F
56From lines to trees To generate more life-like shapes… First, we need a way of representing branches. To do this, Lindenmayer employs a bracketing notation:[ Before carrying on, push the current state of the turtle onto the top of a pushdown stack (i.e., remember the current position and orientation of the turtle for later).] Before carrying on, pop the state from the top of the stack and make it the current state of the turtle. This will often move the turtle to a different (earlier) part of the shape, or rotate it, or perhaps alter its state in some other way.How does stack system affect L-system’s behaviour?
57Branching structures & self-similarity Imagine a simple L-System featuring brackets…Initiator:F Rewrite Rules:F F [+F] [-F] F ; a=30o0: FRecursion + branching = tree-like structures3: etc.1: F[+F][-F]F2: F[+F][-F]F[+F[+F]-F]F][-F[+F]-F]F]F[+F][-F]FNote rescalingTree-like structures and other shapes that look the same on every scale, are called self-similar systems. These self-similar structures are simple examples of fractals.
58Exploring Simple L-Systems It isn’t hard to discover initial states, rules, and constants which produce recognisably plant-like structures.Image courtesy M. MasseHowever, when generalised to three dimensions, coupled with appropriate textures and colouration, and altered to include leaves, flowers, etc., L-systems have been used to generate some truly remarkable life-like images.Images authored by V. Nový
60Topics in bio-inspired computing Multi-agent systems and Swarm IntelligenceArtificial neural networksEvolutionary design and genetic algorithmsCo-evolutionary designArtificial lifeRobotics and controlInterfacing biology with silicon
61Food foraging in Ant colonies A computer simulation of an ant colony performing an efficient search: Blue spot in the middle is an ant nest; other 3 spots represent food sources. Ants (red dots) use chemical signals (green) to find the shortest path to the food and alter their signals as the food is depleted.Ant algorithms are implemented in many real-world systems.
62System wide variables (Felleman & van Essen, 1991)
63Interaction between hierachies (Felleman & van Essen, 1991)
64Self-organisation and interaction with environment Orientation columns human cortex
69or What is BIC and what does it want to achieve? Bio-inspired BiologicalcomputationArtificialIntelligenceBio-inspiredcomputingor
70Bioinspired programming Some of the best bioinspired applications to computing are the ones we would never associate with biology.Perhaps the most successful and pervasive bioinspired application is…Object-Oriented Programming
71Alan Kay by Scott GaschWhile studying at the University of Utah he learned about the innovative Sketchpad program developed by Ivan Sutherland and began programming in Simula. Borrowing ideas from this and other systems, as well as from his background in biology and mathematics, he formulated his "biological and algebraic analogy.“Kay postulated that the ideal computer would function like a living organism; each "cell" would behave in accord with others to accomplish an end goal but would also be able to function autonomously. Cells could also regroup themselves in order to attack another problem or handle another function.
72How it works What good is this? Autonomous cells Messages (data, sender & receiver addresses)Operations (contained in message)Cell differentiation (context-dependent functionality)What good is this?‘Building’ programs the way civil engineers design buildings. programmers can create objects to mimic generic conceptual building blocks: No need for a new language with each application.Inspiration & technical basis for the MacIntosh OS and subsequent windowing based systems (NextStep, Microsoft Windows, X-Windows, Motif, etc.).
73Consider No biological creature: Developed the wheel Flew to the moon Communications via radioMuch of engineering is not bio-inspired
74Human level cognition Seems to combine much of both worlds Symbol processing, reasoning, explorationUse of toolsLocomotionAdaptation, genetic variation, reproductionSocial structures (like ants, termites)
75Required Reading (at home) Popular Reading“John McCarthy: The uncommon logician of common sense”, in Shasha & Lazere (1995).“Alan Kay: A clear romantic vision”, ibid.“Computers and Brains”, in Morowitz (1997).Required Reading (at home)“Intelligence without reason” – Brooks (1991).
76Some basicsThis module is for you. Think, read, ask questions, tinker, and have fun!Warning: Some of the material covered is, or recently was, cutting edge.There will be programming, some biology, some philosophy.There is a lot of material to cover in lectures, but… lecture slides will not tell the whole story. You must attend lectures and demo sessionsThe module courseware – BEAST – will be introduced over the coming weeks. Help with C++, installation etc. will be given in demo sessions.Originality and innovation will be rewarded. Show enthusiasm, play, contribute original code.
77Assessment 2-Hour Exam (60%) - answer 3 questions of 4 2 assignments (40%) of which1st assignment (15%) will be announced shortly2nd assignment includes BEAST analysis & programming project. (25%) will be announced shortly.Additional exercises may be given in demo sessions.Assignments & exam must be passed to pass module.