1 / 66

Biologically Inspired Computation

Biologically Inspired Computation. Lecture 5: Introducing Swarm Intelligence contents: the behavior of natural swarms and flocks -- Reynold’s rules and swarm simulation. Some of the images in this lecture come from slides for a Course in Swarm Intelligence given at :. But first:.

raimondo
Télécharger la présentation

Biologically Inspired Computation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Biologically Inspired Computation Lecture 5: Introducing Swarm Intelligence contents: the behavior of natural swarms and flocks -- Reynold’s rules and swarm simulation. Some of the images in this lecture come from slides for a Course in Swarm Intelligence given at :

  2. But first: • Finishing off encodings • Information about mandatory reading • Information about CW2

  3. E.g. encoding a timetable I 4, 5, 13, 1, 1, 7, 13, 2 Exam2 in 5th slot Exam1 in 4th slot Etc … • Generate any string of 8 numbers between 1 and 16, • and we have a timetable! • Fitness may be <clashes> + <consecs> + etc … • Figure out an encoding, and a fitness function, and • you can try to evolve solutions.

  4. E.g. encoding a timetable II 4, 5, 13, 1, 1, 7, 13, 2 Etc … Use the 13th clash-free slot for exam3 Use the 5th clash-free slot for exam2 (clashes with E4,E8) Use the 4th clash-free slot for exam1

  5. So, a common approach is to build an encoding around an algorithm that builds a solution • Don’t encode a candidate solution directly • … instead encode parameters/features for a constructive algorithm that builds a candidate solution E2

  6. e.g.: bin-packing – given collection of items, pack them into the fewest possible number of bins

  7. e.g.: bin-packing – given collection of items, pack them into the fewest possible number of bins

  8. Engineering Constructive Algorithms A typical constructive algorithm for bin-packing: Put the items in a specific sequence (e.g. smallest to largest) Initialise solution Repeat nitems times choose next item, place it in first bin it fits (create a new empty bin if necessary) Indirect Encodings often involve using a constructive algorithm,

  9. Example using ‘First-Fit Ascending’ (FFA) constructive algorithm for bin-packing FFA

  10. First-fit Ascending

  11. First-fit Ascending

  12. First-fit Ascending

  13. First-fit Ascending

  14. First-fit Ascending

  15. First-fit Ascending

  16. Example using First-Fit Descending First-fit Descending

  17. First-Fit Descending

  18. First-Fit Descending

  19. First-Fit Descending

  20. First-Fit Descending

  21. First-Fit Descending

  22. Notes: • In other problems, FFA gets better results than FFD • There are many other constructive heuristics for bin packing, e.g. Using formulae that choose next item based on distribution of unplaced item sizes and empty spaces ... • There are constructive algorithms for most problems (e.g. Timetabling, scheduling, etc ....) • Often, ‘indirect encodings’ for EAs use constructive algorithms. • Common approach: the encoding is permutation, and the solution is built using the items in that order • READ THE FALKENAUER PAPER TO SEE GOOD EA ENCODING FOR BIN-PACKING

  23. Encodings that use constructive algorithms The indirect encoding for timetabling, a few slides ago, is an example. The ‘underlying’ constructive algorithm is: Line up the exams in order e1, e2, … eN Repeat until all exams are scheduled: take the next exam in the list, and put it in the first place it can go without clashes This provides only a single solution, the same every time we run it. This may be very bad in terms of other factors, such as consecutive exams, time allowed for marking, etc. How did we modify it so that it could generate a big space of different solutions?

  24. Encodings that use constructive algorithms Line up the exams in order e1, e2, … eN Repeat until all exams are scheduled: take the next exam in the list, and put it in the first place it can go without clashes

  25. Encodings that use constructive algorithms Line up the exams in order e1, e2, … eN Repeat until all exams are scheduled: take the next exam in the list, and put it in the first place it can go without clashes

  26. Encodings that use constructive algorithms Line up the exams in order e1, e2, … eN Repeat until all exams are scheduled: take the next exam in the list, and put it in the Nth place it can go without clashes The chromosome encodes each of the Ns. The original constructive algorithm corresponds to running the above on the chromosome “111111111….”. We could also engineer the original constructive algorithm into an encoding in a quite different way. How?

  27. Encodings that use constructive algorithms Line up the exams in order e1, e2, … eN Repeat until all exams are scheduled: take the next exam in the list, and put it in the first place it can go without clashes

  28. Encodings that use constructive algorithms Randomly permute the exams e1, …, eN Repeat until all exams are scheduled: take the next exam in the list, and put it in the first place it can go without clashes This is a fine constructive algorithm, which will provide a different solution depending on the permutation. It is easily used as an encoding: the chromosome provides the permutation.

  29. Other well known constructive algorithms • Prim’s algorithm for building the minimal spanning tree (see an earlier lecture) is an example. • Djikstra’s shortest path algorithm is also an example. • In both of these cases, the optimal solution is guaranteed to be found, since MST and SP are easy problems. • But usually we see constructive methods used to give very fast `OK’ solutions to hard problems.

  30. On engineering constructive methods Some Constructive Heuristics are deterministic. I.e. they give the same answer each time. Some are stochastic – I.e. they may give a different solution in different runs. Usually, if we have a deterministic constructive method such as FFD, we can engineer a stochastic version of it. E.g. instead of choosing the next-lightest item in each step, we might choose randomly between the lightest three unplaced items.

  31. Bin packing example direct encoding: 2, 3, 2, 3, 1 ....  item 1 is in bin 2, item 2 is in bin 3, item 3 is in bin 2, etc... (often a bin will be over capacity, so fitness function will have to include penalties) Bin packing example indirect encoding: candidate solution is a perm of the items, e.g. 4, 2, 1, 3, 5 ...meaning: First place item 4 in the first available bin it fits in, then place item 2 in the first available ... etc.

  32. Direct vs Indirect Encodings Direct: • straightforward genotype (encoding)  phenotype (actual solution) mapping • Easy to estimate effects of mutation • Fast interpretation of chromosome (hence speedier fitness evlaluation) Indirect/Hybrid: • Easier to exploit domain knowledge – (e.g. use this in the constructive heuristic) • Hence, possible to `encode away’ undesirable features • Hence, can seriously cut down the size of the search space • But, slow interpretation • Neighbourhoods are highly rugged.

  33. Example real-number Encoding (and: How EAs can innovate, rather than just optimize) D1, D2, D3, D4 D5 D6 D1 >= D2 >= D3, D4 <= D5 <= D6 Fixed at six diameters, five sections Design shape for a two-phase jet nozzle

  34. A simple encoding 2, 1.8, 1.1, 1.3 1.3 1.5 The encoding enforces these constraints: D1 >= D2 >= D3, D4 <= D5 <= D6 Fixed at six diameters, five sections

  35. A more complex encoding– bigger search space, slower, but potential for innovative solutions Num sections before smallest Section diameters Z1, Z2, D1, D2, D3 Dsmall…, Dn, Dn+1, … Num sections after smallest Middle section constrained to be smallest, That’s all Mutations can change diameters, add sections, and delete sections

  36. About CW2

  37. About CW2

  38. About CW2 Pamela Hardaker, Benjamin N. Passow and David Elizondo. Walking State Detection from Electromyographic Signals towards the Control of Prosthetic Limbs UKCI 2013 got signals like this, but on her thigh just above the knee: running walking standing

  39. Current knee-joint prospects need manual intervention to change between standing/walking/running modes (the wearer presses a button) Can we train a Neural Network to automatically detect when to change, on the basis of nerve signals from the last 30ms ?

  40. About CW2 Snapshot of Pamela’s data Time signal state

  41. Max signal strength in last 30ms Max signal strength in last 20ms Max signal strength in last 10ms range of sig in last 30ms range … last 20ms range … last 10ms mean … last 30ms mean … last 20ms mean … last 10ms About CW2 Snapshot of Pamela’s data Time signal state State: 0, 1 or 2

  42. Max signal strength in last 30ms Max signal strength in last 20ms Max signal strength in last 10ms range of sig in last 30ms range … last 20ms range … last 10ms mean … last 30ms mean … last 20ms mean … last 10ms About CW2 Snapshot of Pamela’s data Time signal state CW2: evolve a neural network that predicts the state. State: 0, 1 or 2

  43. What you will do From me, you get: Working NN code that does the job already What you will do: Implement new mutation and crossover operators within my code, and test them on Pamela’s data Write a report comparing the performance of the different operators

  44. Swarms, and how they might inspire us There are some interesting things that come to mind when we think of swarms (flocks, schools, etc …): • A swarm sometimes seems to behave as if it is an individual organism. • Ants or wasps on a hunt for food, or on the attack, behave as if with a single • mind, co-ordinating different actions with different parts of the swarm. • A swarm, of ants/bees/locusts/etc often exhibits behaviours that seem clearly more intelligent than any of the individual members of it. • The way in which swarms in some species change direction is astoundingly well co-ordinated. • The way in which swarms in some species avoid obstaclesseems to be extremely well choreographed

  45. Other puzzling things that swarms do • Termites build huge nests – how?? Is an individual • termite clever enough to do this? • Bees build hives, with complex internal structure • -- same question. How on earth can these things happen? HERE IS A LIVE EXAMPLE

  46. Two simple rules: While continually wandering randomly: If you are empty-handed and encounter a disc, pick it up If you are carrying a disc and encounter another of the same colour, put yours down. Emergent order arises from simple local rules.

  47. We sometimes exhibit swarm behaviour too

  48. Because we might learn something But we’re mainly interested in animals and insects locusts ants

  49. Helping to catch prey: e.g. tuna school in a crescent shaped flock with the concave part forward: This is thought to help channel their prey to the “focus”, and stop them from escaping Why does flocking/swarming occur so much in nature? Energy savings: Geese in V formation have around a 70% greater range than in flying individually. Individuals can fly around 25% faster (why?). Frightening and confusing predators; avoiding being “picked off”

More Related