Download presentation
Presentation is loading. Please wait.
Published byLinette Cross Modified over 8 years ago
1
Seminar on Computational Intelligence Timetable 12.1.UBI-Health etc.Iiro Jantunen 13.1.IntroductionPekka Toivanen 19.1.PositioningMikko Asikainen 20.1.Self-OrganizationPekka Toivanen 26.1.Genetic algorithmsPekka Toivanen 27.1.No seminar delayed to future 2.2.Seminar presentations 3.2.Seminar presentations …
2
Seminar on Computational Intelligence Presentation topics Health 1.Automatic context (behavior) analysis of elderly people 2.Technology for self-made measurements of health parameters 3.Ubiquitous health, e-health and e-Medical centre 4.Ubiquitous health architecture 5.Brain imaging and analysis in multiple sclerosis 6.Brain imaging and analysis in dementia Swarm Intelligence 1.Swarm Intelligence in computer games 2.Basic ideas of swarm intelligence and applications Positioning 1.Positioning of animals indoors 2.Positioning of animals outdoors 3.Positioning of humans indoors
14
“Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions you might not otherwise find in a lifetime.” - Salvatore Mangano Computer Design, May 1995 Genetic Algorithms: A Tutorial
15
Classes of Search Techniques
16
Genetic Algorithms - History Pioneered by John Holland in the 1970’s Got popular in the late 1980’s Based on ideas from Darwinian Evolution Can be used to solve a variety of problems that are not easy to solve using other techniques
17
Evolution in the real world Each cell of a living thing contains chromosomes - strings of DNA Each chromosome contains a set of genes - blocks of DNA Each gene determines some aspect of the organism (like eye colour) A collection of genes is sometimes called a genotype A collection of aspects (like eye colour) is sometimes called a phenotype Reproduction involves recombination of genes from parents and then small amounts of mutation (errors) in copying The fitness of an organism is how much it can reproduce before it dies Evolution based on “survival of the fittest”
18
Start with a Dream… Suppose you have a problem You don’t know how to solve it What can you do? Can you use a computer to somehow find a solution for you? This would be nice! Can it be done?
19
A dumb solution A “blind generate and test” algorithm: Repeat Generate a random possible solution Test the solution and see how good it is Until solution is good enough
20
Can we use this dumb idea? Sometimes - yes: – if there are only a few possible solutions – and you have enough time – then such a method could be used For most problems - no: – many possible solutions – with no time to try them all – so this method can not be used
21
A “less-dumb” idea (GA) Generate a set of random solutions Repeat Test each solution in the set (rank them) Remove some bad solutions from set Duplicate some good solutions make small changes to some of them Until best solution is good enough
22
How do you encode a solution? Obviously this depends on the problem! GA’s often encode solutions as fixed length “bitstrings” (e.g. 101110, 111111, 000101) Each bit represents some aspect of the proposed solution to the problem For GA’s to work, we need to be able to “test” any string and get a “score” indicating how “good” that solution is
23
Silly Example - Drilling for Oil Imagine you had to drill for oil somewhere along a single 1km desert road Problem: choose the best place on the road that produces the most oil per day We could represent each solution as a position on the road Say, a whole number between [0..1000]
24
Where to drill for oil? 0 5001000 Road Solution2 = 900Solution1 = 300
25
Digging for Oil The set of all possible solutions [0..1000] is called the search space or state space In this case it’s just one number but it could be many numbers or symbols Often GA’s code numbers in binary producing a bitstring representing a solution In our example we choose 10 bits which is enough to represent 0..1000
26
Convert to binary string 5122561286432168421 9001110000100 3000100101100 1023 1111111111 In GA’s these encoded strings are sometimes called “genotypes” or “chromosomes” and the individual bits are sometimes called “genes”
27
Drilling for Oil 0 1000 Road Solution2 = 900 (1110000100)Solution1 = 300 (0100101100) O I L Location 30 5
28
Summary We have seen how to: represent possible solutions as a number encoded a number into a binary string generate a score for each number given a function of “how good” each solution is - this is often called a fitness function Our silly oil example is really optimisation over a function f(x) where we adapt the parameter x
29
Search Space For a simple function f(x) the search space is one dimensional. But by encoding several values into the chromosome many dimensions can be searched e.g. two dimensions f(x,y) Search space an be visualised as a surface or fitness landscape in which fitness dictates height Each possible genotype is a point in the space A GA tries to move the points to better places (higher fitness) in the the space
30
Fitness landscapes
31
Search Space Obviously, the nature of the search space dictates how a GA will perform A completely random space would be bad for a GA Also GA’s can get stuck in local maxima if search spaces contain lots of these Generally, spaces in which small improvements get closer to the global optimum are good
32
Back to the (GA) Algorithm Generate a set of random solutions Repeat Test each solution in the set (rank them) Remove some bad solutions from set Duplicate some good solutions make small changes to some of them Until best solution is good enough
33
Adding Sex - Crossover Although it may work for simple search spaces our algorithm is still very simple It relies on random mutation to find a good solution It has been found that by introducing “sex” into the algorithm better results are obtained This is done by selecting two parents during reproduction and combining their genes to produce offspring
34
Adding Sex - Crossover Two high scoring “parent” bit strings (chromosomes) are selected and with some probability (crossover rate) combined Producing two new offspring (bit strings) Each offspring may then be changed randomly (mutation)
35
Selecting Parents Many schemes are possible so long as better scoring chromosomes more likely selected Score is often termed the fitness “Roulette Wheel” selection can be used: – Add up the fitness's of all chromosomes – Generate a random number R in that range – Select the first chromosome in the population that - when all previous fitness’s are added - gives you at least the value R
36
Main idea: better individuals get higher chance – Chances proportional to fitness – Implementation: roulette wheel technique » Assign to each individual a part of the roulette wheel » Spin the wheel n times to select n individuals SGA operators: Selection fitness(A) = 3 fitness(B) = 1 fitness(C) = 2 A C 1/6 = 17% 3/6 = 50% B 2/6 = 33%
37
Example population No.ChromosomeFitness 110100110101 211111000012 310110011003 410100000001 500000100003 610010111115 701010101011 810111001112
38
Roulette Wheel Selection 12313512 0 18 21345678 Rnd[0..18] = 7 Chromosome4 Parent1 Rnd[0..18] = 12 Chromosome6 Parent2
39
Crossover - Recombination 1010000000 1001011111 Crossover single point - random 1011011111 1010000000 Parent1 Parent2 Offspring1 Offspring2 With some high probability (crossover rate) apply crossover to the parents. (typical values are 0.8 to 0.95)
40
SGA operators: 1-point crossover Choose a random point on the two parents Split parents at this crossover point Create children by exchanging tails P c typically in range (0.6, 0.9)
41
n-point crossover Choose n random crossover points Split along those points Glue parts, alternating between parents Generalisation of 1 point (still some positional bias)
42
Uniform crossover Assign 'heads' to one parent, 'tails' to the other Flip a coin for each gene of the first child Make an inverse copy of the gene for the second child Inheritance is independent of position
43
Mutation 1011011111 1010000000 Offspring1 Offspring2 1011001111 1000000000 Offspring1 Offspring2 With some small probability (the mutation rate) flip each bit in the offspring (typical values between 0.1 and 0.001) mutate Original offspring Mutated offspring
44
The GA Cycle of Reproduction reproduction population evaluation modification discard deleted members parents children modified children evaluated children
45
Back to the (GA) Algorithm Generate a population of random chromosomes Repeat (each generation) Calculate fitness of each chromosome Repeat Use roulette selection to select pairs of parents Generate offspring with crossover and mutation Until a new population has been produced Until best solution is good enough
46
Many Variants of GA Different kinds of selection (not roulette) – Tournament – Elitism, etc. Different recombination – Multi-point crossover – 3 way crossover etc. Different kinds of encoding other than bitstring – Integer values – Ordered set of symbols Different kinds of mutation
47
Many parameters to set Any GA implementation needs to decide on a number of parameters: Population size (N), mutation rate (m), crossover rate (c) Often these have to be “tuned” based on results obtained - no general theory to deduce good values Typical values might be: N = 50, m = 0.05, c = 0.9
48
Why does crossover work? A lot of theory about this and some controversy Holland introduced “Schema” theory The idea is that crossover preserves “good bits” from different parents, combining them to produce better solutions A good encoding scheme would therefore try to preserve “good bits” during crossover and mutation
49
Genetic Programming When the chromosome encodes an entire program or function itself this is called genetic programming (GP) In order to make this work encoding is often done in the form of a tree representation Crossover entials swaping subtrees between parents
50
Genetic Programming It is possible to evolve whole programs like this but only small ones. Large programs with complex functions present big problems
51
Implicit fitness functions Most GA’s use explicit and static fitness function (as in our “oil” example) Some GA’s (such as in Artificial Life or Evolutionary Robotics) use dynamic and implicit fitness functions - like “how many obstacles did I avoid” In these latter examples other chromosomes (robots) effect the fitness function
52
Problem In the Travelling Salesman Problem (TSP) a salesman has to find the shortest distance journey that visits a set of cities Assume we know the distance between each city This is known to be a hard problem to solve because the number of possible routes is N! where N = the number of cities There is no simple algorithm that gives the best answer quickly
53
Problem Design a chromosome encoding, a mutation operation and a crossover function for the Travelling Salesman Problem (TSP) Assume number of cities N = 10 After all operations the produced chromosomes should always represent valid possible journeys (visit each city once only) There is no single answer to this, many different schemes have been used previously
54
A Simple Example “ The Gene is by far the most sophisticated program around.” - Bill Gates, Business Week, June 27, 1994
55
A Simple Example The Traveling Salesman Problem: Find a tour of a given set of cities so that – each city is visited only once – the total distance traveled is minimized
56
Representation Representation is an ordered list of city numbers known as an order-based GA. 1) London 3) Dunedin 5) Beijing 7) Tokyo 2) Venice 4) Singapore 6) Phoenix 8) Victoria CityList1 (3 5 7 2 1 6 4 8) CityList2 (2 5 7 6 8 1 3 4)
57
Crossover Crossover combines inversion and recombination: * * Parent1 (3 5 7 2 1 6 4 8) Parent2 (2 5 7 6 8 1 3 4) Child (5 8 7 2 1 6 3 4) This operator is called the Order1 crossover.
58
Mutation involves reordering of the list: * Before: (5 8 7 2 1 6 3 4) After: (5 8 6 2 1 7 3 4) Mutation
59
TSP Example: 30 Cities
60
Solution i (Distance = 941)
61
Solution j (Distance = 800)
62
Solution k (Distance = 652)
63
Best Solution (Distance = 420)
64
Using Genetic Algorithms [GAs] to both design composite materials and aerodynamic shapes for race cars and regular means of transportation (including aviation) can return combinations of best materials and best engineering to provide faster, lighter, more fuel efficient and safer vehicles for all the things we use vehicles for.race cars Rather than spending years in laboratories working with polymers, wind tunnels and balsa wood shapes, the processes can be done much quicker and more efficiently by computer modeling using GA searches to return a range of options human designers can then put together however they please.
65
Getting the most out of a range of materials to optimize the structural and operational design of buildings, factories, machines, etc. is a rapidly expanding application of GAs. These are being created for such uses as optimizing the design of heat exchangers, robot gripping arms, satellite booms, building trusses, flywheels, turbines, and just about any other computer-assisted engineering design application. T here is work to combine GAs optimizing particular aspects of engineering problems to work together, and some of these can not only solve design problems, but also project them forward to analyze weaknesses and possible point failures in the future so these can be avoided
66
Robotics involves human designers and engineers trying out all sorts of things in order to create useful machines that can do work for humans. Each robot's design is dependent on the job or jobs it is intended to do, so there are many different designs out there. GAs can be programmed to search for a range of optimal designs and components for each specific use, or to return results for entirely new types of robots that can perform multiple tasks and have more general application. GA-designed robotics just might get us those nifty multi-purpose, learning robots we've been expecting any year now since we watched the Jetsons as kids, who will cook our meals, do our laundry and even clean the bathroom for us
67
Evolvable hardware (EH) is a new field about the use of evolutionary algorithms (EA) to create specialized electronics without manual engineering. It brings together reconfigurable hardware, artificial intelligence, fault tolerance and autonomous systems.evolutionary algorithmselectronicshardwareartificial intelligencefault tolerancesystems Evolvable hardware refers to hardware that can change its architecture and behavior dynamically and autonomously by interacting with its environment.
68
In its most fundamental form an evolutionary algorithm manipulates a population of individuals where each individual describes how to construct a candidate circuit. Each circuit is assigned a fitness, which indicates how well a candidate circuit satisfies the design specification. The evolutionary algorithm uses stochastic operators to evolve new circuit configurations from existing ones. Done properly, over time the evolutionary algorithm will evolve a circuit configuration that exhibits desirable behavior.evolutionary algorithmfitness Each candidate circuit can either be simulated or physically implemented in a reconfigurable device. Typical reconfigurable devices are field-programmable gate arrays (for digital designs) or field-programmable analog arrays (for analog designs). At a lower level of abstraction are the field-programmable transistor arrays that can implement either digital or analog designs.
69
In many cases conventional design methods (formulas, etc.) can be used to design a circuit. But in other cases the design specification doesn't provide sufficient information to permit using conventional design methods. For example, the specification may only state desired behavior of the target hardware. The fitness of an evolved circuit is a measure of how well the circuit matches the design specification. Fitness in evolvable hardware problems is determined via two methods::fitness extrinsic evolution: all circuits are simulated to see how they perform intrinsic evolution : physical tests are run on actual hardware. In extrinsic evolution only the final best solution in the final population of the evolutionary algorithm is physically implemented, whereas with intrinsic evolution every individual in every generation of the EA's population is physically realized and tested. Evolvable hardware problems fall into two categories: original design and adaptive systems. Original design uses evolutionary algorithms to design a system that meets a predefined specification. Adaptive systems reconfigure an existing design to counteract faults or a changed operational environment.
70
Do you find yourself frustrated by slow LAN performance, inconsistent internet access, a FAX machine that only sends faxes sometimes, your land line's number of 'ghost' phone calls every month? Well, GAs are being developed that will allow for dynamic and anticipatory routing of circuits for telecommunications networks. These could take notice of your system's instability and anticipate your re-routing needs.telecommunications networks Using more than one GA circuit-search at a time, soon your interpersonal communications problems may really be all in your head rather than in your telecommunications system. Other GAs are being developed to optimize placement and routing of cell towers for best coverage and ease of switching, so your cell phone and blackberry will be thankful for GAs too.
71
New applications of a GA known as the "Traveling Salesman Problem" or TSP can be used to plan the most efficient routes and scheduling for travel planners, traffic routers"Traveling Salesman Problem" or TSP can be used to plan the most efficient routes and scheduling for travel planners, traffic routers and even shipping companies. The shortest routes for traveling. The timing to avoid traffic tie-ups and rush hours. Most efficient use of transport for shipping, even to including pickup loads and deliveries along the way. The program can be modeling all this in the background while the human agents do other things, improving productivity as well! Chances are increasing steadily that when you get that trip plan packet from the travel agency, a GA contributed more to it than the agent did
72
On the security front, GAs can be used both to create encryption for sensitive data as well as to break those codes. Encrypting data, protecting copyrights and breaking competitors' codes have been important in the computer world ever since there have been computers, so the competition is intense. Every time someone adds more complexity to their encryption algorithms, someone else comes up with a GA that can break the code.create encryption It is hoped that one day soon we will have quantum computers that will be able to generate completely indecipherable codes. Of course, by then the 'other guys' will have quantum computers too, so it's a sure bet the spy vs. spy games will go on indefinitely
73
The de novo design of new chemical molecules is a burgeoning field of applied chemistry in both industry and medicine. GAs are used to aid in the understanding of protein folding, analyzing the effects of substitutions on those protein functions, and to predict the binding affinities of various designed proteins developed by the pharmaceutical industry for treatment of particular diseases.new chemical molecules The same sort of GA optimization and analysis is used for designing industrial chemicals for particular uses, and in both cases GAs can also be useful for predicting possible adverse consequences. This application has and will continue to have great impact on the costs associated with development of new chemicals and drugs
74
The development of microarray technology for taking 'snapshots' of the genes being expressed in a cell or group of cells has been a boon to medical research. GAs have been and are being developed to make analysis of gene expression profiles much quicker and easier. This helps to classify what genes play a part in various diseases, and further can help to identify genetic causes for the development of diseases. Being able to do this work quickly and efficiently will allow researchers to focus on individual patients' unique genetic and gene expression profiles, enabling the hoped-for "personalized medicine" we've been hearing about for several yearsanalysis of gene expression
75
In the current unprecedented world economic meltdown one might legitimately wonder if some of those Wall Street gamblers made use of GA-assisted computer modeling of finance and investment strategies to funnel the world's accumulated wealth into what can best be described as dot-dollar black holes. But then again, maybe they were simply all using the same prototype, which hadn't yet been de-bugged. It is possible that a newer generation of GA-assisted financial forecasting would have avoided the black holes and returned something other than bad debts the taxpayers get to repay. Who knowsfinance and investment strategiesGA-assisted financial forecasting
76
Those who spend some of their time playing computer Sims games (creating their own civilizations and evolving them) will often find themselves playing against sophisticated artificial intelligence GAs instead of against other human players online.sophisticated artificial intelligence GAs instead of against other human players online. These GAs have been programmed to incorporate the most successful strategies from previous games - the programs 'learn' - and usually incorporate data derived from game theory in their design. Game theory is useful in most all GA applications for seeking solutions to whatever problems they are applied to, even if the application really is a game
77
When to Use a GA Alternate solutions are too slow or overly complicated Need an exploratory tool to examine new approaches Problem is similar to one that has already been successfully solved by using a GA Want to hybridize with an existing solution Benefits of the GA technology meet key problem requirements
78
Some GA Application Types
79
Conclusions Question:‘If GAs are so smart, why ain’t they rich?’ Answer:‘Genetic algorithms are rich - rich in application across a large and growing number of disciplines.’ - David E. Goldberg, Genetic Algorithms in Search, Optimization and Machine Learning
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.