• No results found

Artificial Intelligence

N/A
N/A
Protected

Academic year: 2020

Share "Artificial Intelligence"

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)

Artificial Intelligence

CSAL3243

Dr. Muhammad Humayoun

Assistant Professor

University of Central Punjab, Lahore.

[email protected]

https://sites.google.com/a/ucp.edu.pk/ai/

(2)

Genetic algorithms

Chapter 14

(3)

Evolutionary Computing

• Natural systems as guiding metaphors

• Charles Darwinian Evolution – 1859

• Theory of natural selection

– It proposes that the plants and animals that exist today are the result of millions of years of adaptation to the demands of the environment

• Over time, the entire population of the ecosystem is

said to evolve to contain organisms that, on average,

are fitter for environment than those of previous

generations of the population

(4)

Genetic Algorithms

• The concepts of GAs are directly derived from natural

evolution.

• In the early 70’s John Holland introduced this concept

(Holland, 1975).

• GAs emulate ideas from genetics and natural

selection and can search potentially large spaces

• Based on: survival of the most fittest individual

• Two key steps: reproduction, survive

• Try to simulate life.

• Individual = solution

(5)

Genetic Algorithms

• Before we can apply Genetic Algorithm to a

problem, we need to answer:

– How can an individual be represented? – What is the fitness function?

– How are individuals selected? – How do individuals reproduce?

(6)

Representation of states (solutions)

• State as sequence of strings

• Each state or individual is represented as a string

over a finite alphabet {0,1}. It is also called

chromosome which contains genes.

6

1001011111

Solution: 607 Encoding Chromosome: Binary String genes

(7)

Reproduction: building new states

• After representing States (solutions)

• Build a population of random solutions

• Let them

reproduce

using genetic operators

– At each generation: apply ”survival of the fittest”

– Hopefully better and better solutions evolve over time – The best solutions are more likely to survive and more

likely to produce even better solutions

(8)

Genetic Operators

• Crossover

• Mutation

These operators mimic what happens to our

genetic material when we reproduce

(9)

Crossover operator

– Cut two solutions at a random point and switch the respective parts

– Typically a value of 0.7 for crossover probability gives good results.

9

a1 a2 a3 a4 a5 a6 b1 b2 b3 b4 b5 b6

(10)

Mutation operator

• Randomly

change one bit

in the solution

– Mutation is a unary operator (i.e., applied to just one argument—a single gene)

• Occasional mutation makes the method much less

sensitive to the original population and also allows

”new” solutions to emerge

a1 a2 a3 a4 a5 a6

a1 b1 a3 a4 a5 a6

(11)

Evaluation and Selection

• We then see how good the solutions are, using an

evaluation function (recall f(n) in infomed search)

– Often it is a heuristic, especially if it is computationally expensive to do a complete evaluation

– The final population can then be evaluated more deeply to decide on the best solution

(12)

Survival of the Fittest

• Select the surviving population

• Likelihood of survival is related in some way to

your score on the fitness function

– The most common technique is roulette wheel selection

• Note we always keep the best solution so far

• Remember: Its local search

(13)

Applications of GA

• Genetic algorithm can be used to find a goal

(optimal value) of a:

– Shortest path problem, – 8-queens problem,

– 8-puzzle problem,

– or a mathematic function, – etc.

(14)

Fitness Function (Optimization)

• Fitness Function for a mathematic function • Ex. attempt to maximize the function:

– 𝑓(𝑥) = sin (𝑥) in range 0 ≤ 𝑥 ≤ 15 14 -1 -0.5 0 0.5 1 1.5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 f(x)=sin(x)

(15)

Fitness Function (Optimization)

• Using population size of 4 chromosomes

• First Generation: Generate a random population:

• To calculate fitness of a chromosome, we calculate 𝑓(𝑥) for its decimal value

• Assign fitness as a numeric value from 0 to 100

– 0 is the least fit – 100 is the most fit.

• 𝑓(𝑥) generates real numbers between -1 and 1.

• Assign a fitness score of 100 to 𝑓(𝑥) = 1 and fitness of 0 to 𝑓 𝑥 = −1

• Fitness of 50 will be assigned to 𝑓(𝑥) = 0 15

c1 = 1001 (9) c2 = 0011 (3)

c3 = 1010 (10) c4 = 0101 (5)

(16)

Fitness Function (Optimization)

Fitness of x, 𝒇

𝒙 :

• 𝑓′(𝑥) = 50(𝑓(𝑥) + 1) • 𝑓′(𝑥) = 50(sin (𝑥) + 1) 16 x f(x)=sin(x) f'(x) = 50(f(x)+1) 0 0 50 1 0.84 92.07 2 0.91 95.46 3 0.14 57.06 4 -0.76 12.16 5 -0.96 2.05 6 -0.28 36.03 7 0.66 82.85 8 0.99 99.47 9 0.41 70.61 10 -0.54 22.8 11 -1 0 12 -0.54 23.17 13 0.42 71.01 14 0.99 99.53 15 0.65 82.51 57.06, 38% 2.05, 1% 70.61, 46% 22.8, 15% 3 5 9 10

(17)

Fitness Function (Optimization)

• The range of real numbers from 0 to 100 is divided up between the chromosomes proportionally to each

chromosome’s fitness.

• In first generation:

– c1 has 46.3% of the range (i.e., from 0 to 46.3) – c2 37.4% of the range (i.e., from 46.4 to 83.7) – ….

(18)

Computing fitness ratio

• Fitness ratio of c1:

70.61

70.61 + 57.06 + 22.8 + 2.05

× 100 = 46.29

• Fitness ratio of c2:

57.06

70.61 + 57.06 + 22.8 + 2.05

× 100 = 37.4

18

(19)

Roulette-wheel selection

• A

random number is generated

between 0 − 100

• This number will fall in the range of one of the

chromosomes (suppose c1)

– c1 chromosome has been selected for reproduction

• The next random number is used to select second

chromosome’s (suppose c2)

• Hence,

fitter chromosomes will tend to produce

more offspring than less fit chromosomes

.

• Important: Method does not stop less fit

chromosomes from reproducing, to ensure that

populations do not stagnate, by constantly breeding

from the same parents.

(20)

Next Generation

• Need 4 random numbers for next generation

• Assume that:

• First random number is 56.7 (c2 is chosen)

• Second random number is 38.2 (c1 is chosen)

• Third random number is 20 (c1 is chosen)

(21)

Next Generation cont.

• Combine first two to produce two new offspring:

– Crossover point

• Combine last two to produce two new offspring:

– Crossover point 21 c1 = 1001 (9) c2 = 0011 (3) c5 = 1011 (11)   c6 = 0001 (1)   c1 = 1001 (9) c3 = 1010 (10) c8 = 1011 (11)   c7 = 1000 (8)  

(22)

Second generation: c5 to c8

• c4 did not have a chance to reproduce (its genes will be lost)

• Fittest chromosome in the first generation (c1), able to

reproduce twice

• Passing on its highly fit genes to all members of the next generation

(23)

Termination criteria

• Termination criteria would probably determine

that c7 is the most fit (local optimum) and the

algorithm will be stopped.

(24)

8-Queens Problem

• State = position of 8 queens each in a column – 3 4 5 6 1 3 8 7

• Start with k randomly generated states (population)

• Evaluation function (fitness function). • Higher values for better states.

• Produce the next generation of states by “simulated evolution”

• Random selection – Crossover

– Random mutation 24

(25)

8-Queens Problem

(26)

Effect of Crossover on 8-Queens

(27)

Advantages of GA’s

• Interesting idea, parallelism

• Need no knowledge about the solution

• Could be efficient

• Often outperform “brute force” approaches by

randomly jumping around the search space

• Ideal for problem domains in which near-optimal

(as opposed to exact) solutions are adequate

(28)

Disadvantages of GA’s

• Slow (blind search).

• No proof (or hints) about the quality of the

solution.

• Sometimes difficult to use them efficiently.

• Tradeoff between mutation and crossover?

• Tradeoff between speed and quality?

(29)

Summary

• It’s a big family, with a lot of possibilities

• Easy to use

• Efficiency ?

• Areas: Graph problems (Graph coloring),

optimization (Networks, schedulings etc)

(30)

Another Example:

The Traveling Salesman Problem (TSP)

The traveling salesman must visit every city in his territory exactly once and then return to the starting point; given the cost of travel between all cities, how should he plan his itinerary for minimum total cost of the entire tour?

TSP  NP-Complete

Note: we shall discuss a single possible approach to approximate the TSP by GAs

(31)

TSP (Representation, Evaluation,

Initialization and Selection)

Introduction to Genetic Algorithms 31

A vector v = (i1 i2… in) represents a tour (v is a permutation of {1,2,…,n})

Fitness f of a solution is the inverse cost of the

corresponding tour

Initialization: use either some heuristics, or a

random sample of permutations of {1,2,…,n}

(32)

TSP (Crossover1)

32

Builds offspring by choosing a sub-sequence of a tour from one parent and preserving the relative order of cities from the other parent and feasibility

Example:

p1 = (1 2 3 4 5 6 7 8 9) and

p2 = (4 5 2 1 8 7 6 9 3)

First, the segments between cut points are copied into offspring

o1 = (x x x 4 5 6 7 x x) and

(33)

TSP (Crossover2)

33

Next, starting from the second cut point of one

parent, the cities from the other parent are copied in the same order

The sequence of the cities in the second parent is 9 – 3 – 4 – 5 – 2 – 1 – 8 – 7 – 6

After removal of cities from the first offspring we get 9 – 3 – 2 – 1 – 8

This sequence is placed in the first offspring

o1 = (2 1 8 4 5 6 7 9 3), and similarly in the second

(34)

TSP (Inversion)

The sub-string between two randomly selected points in the path is reversed

Example:

(1 2

3 4 5 6 7

8 9) is changed into

(1 2

7 6 5 4 3

8 9)

Such simple inversion guarantees that the resulting offspring is a legal tour

(35)

Read it yourself

(36)

Place 8 queens on an 8x8 chessboard in

such a way that they cannot check each other

(37)

The 8 queens problem:

representation

1 3 5 2 6 4 7 8 Genotype: a permutation of the numbers 1 - 8 Phenotype: a board configuration Obvious mapping

(38)

8 Queens Problem: Fitness evaluation

• Penalty of one queen:

– the number of queens she can check.

• Penalty of a configuration:

– the sum of the penalties of all queens.

• Note: penalty is to be minimized

• Fitness of a configuration:

(39)

Small variation in one permutation, e.g.:

• swapping values of two randomly chosen positions,

1 3 5 2 6 4 7 8 1 3 7 2 6 4 5 8

(40)

8 7 6 2 4 1 3 5 1 3 5 4 2 8 7 6 8 7 6 5 4 3 2 1

1 3 5 2 6 4 7 8

The 8 queens problem: Recombination

• Combining two permutations into two new permutations:

• choose random crossover point • copy first parts into children

• create second part by inserting values from other parent:

• in the order they appear there • beginning after crossover point • skipping values already in child

(41)

The 8 queens problem: Selection

• Parent selection:

– Pick 5 parents and take best two to undergo crossover

• Survivor selection (replacement)

– When inserting a new child into the population, choose an existing member to replace by:

– sorting the whole population by decreasing fitness – enumerating this list from high to low

– replacing the first with a fitness lower than the given child

(42)

References

Related documents

o Most of the work in solving hard search problems optimally is in coming up with admissible heuristics. o Often, admissible heuristics are solutions to relaxed problems, where

This paper presents a broad overview of twelve topics in ethics in AI, including function, transparency, evil use, good use, bias, unemployment, socio-economic inequality,

Deep Blue examined 200M positions per second, used very sophisticated evaluation and undisclosed methods for extending some lines of search up to 40 ply.. Current programs are

Heuristic optimisation is used when an optimal solution is not required or exact methods are computationally intractable. Heuristics find good solutions that are not guaranteed to

Consider the following search space where we want to find a path from the start state S to the goal state G.. The table shows three different heuristic functions h1, h2, and

We subdivide the AI approaches that we encountered in the discovered literature into two groups: (i) More traditional, knowledge-based approaches, such as heuristic search, plan-

The search algorithms use an evaluation function F (n) where n is the node to evaluate. The heuristic influences the exploration because based on it, a value is assigned to each

▪ For Markov decision processes, “Markov” means action outcomes depend only on the current state. ▪ This is just like search, where the successor function could only depend on