19
25/03/22 DMI - Università di Catania 1 Combinatorial Landscapes & Evolutionary Algorithms Prof. Giuseppe Nicosia University of Catania Department of Mathematics and Computer Science [email protected] www.dmi.unict.it/~nicosia

Combinatorial Landscapes & Evolutionary Algorithms

Embed Size (px)

DESCRIPTION

Combinatorial Landscapes & Evolutionary Algorithms. Prof. Giuseppe Nicosia University of Catania Department of Mathematics and Computer Science [email protected] www.dmi.unict.it/~nicosia. Talk Outline. Combinatorial Landscapes Evolutionary Computing. 1. Combinatorial Landscapes. - PowerPoint PPT Presentation

Citation preview

Page 1: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 1

Combinatorial Landscapes &Evolutionary Algorithms

Prof. Giuseppe Nicosia

University of Catania

Department of Mathematics and Computer Science

[email protected]

www.dmi.unict.it/~nicosia

Page 2: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 2

Talk Outline

1. Combinatorial Landscapes

2. Evolutionary Computing

Page 3: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 3

1. Combinatorial LandscapesThe notion of landscape is among the rare existing concepts which help to understand the behaviour of search algorithmsthe behaviour of search algorithms and heuristics and to characterize the difficultyto characterize the difficulty of a combinatorial problem.

Page 4: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 4

Search SpaceGiven a combinatorial problem PP, a search search spacespace associated to a mathematical formulation of PP is defined by a couple (S,f)(S,f)

– where SS is a finite set of configurations (or nodes or points) and

– ff a cost functioncost function which associates a real number to each configurations of SS.

For this structure two most common measures are the minimum and the maximum coststhe minimum and the maximum costs.In this case we have the combinatorial combinatorial optimization problemsoptimization problems.

Page 5: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 5

Example: K-SATAn instance of the K-SAT problem consists of a set V of variables, a collection C of clauses over V such that each clause c C has |c|= K.

The problem is to find a satisfying truth assignment for C.

The search space for the 2-SAT with |V|=2 is (S,f) where

– SS={ (T,T), (T,F), (F,T), (F,F) } and

– the cost functionthe cost function for 2-SAT computes only the number of satisfied clauses

ffsatsat (s)= #SatisfiedClauses(F,s), s (s)= #SatisfiedClauses(F,s), s S S

Page 6: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 6

An example of Search Space

Let we consider F = (A B) ( A B)

A B fsat(F,s)

T T 1

T F 2

F T 1

F F 2

Page 7: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 7

Search Landscape• Given a search space (S,f)(S,f), a search search

landscapelandscape is defined by a triplet (S,n,f)(S,n,f) where nn is a neighborhood functionneighborhood function which verifies

n : S n : S 2 2SS -{ 0} -{ 0}

• This landscape, also called energy landscapeenergy landscape, can be considered as a neutralneutral one since no search process is involved.

• It can be conveniently viewed as weighted weighted graphgraph G=(S, n , F) where the weights are defined on the nodes, not on the edges.

Page 8: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 8

Example and relevance of Landscape

The search Landscape for the K-SAT problem is a N dimensional hypercubeN dimensional hypercube with

N = number of variables = |V| .

• Combinatorial optimization problems are often hard to solvehard to solve since such problems may have huge and complex search landscapehuge and complex search landscape.

Page 9: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 9

Hypercubes

Page 10: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 10

Solvable & Impossible

•The New York Times, July 13, 1999 “Separating Separating Insolvable and DifficultInsolvable and Difficult”.

• B. Selman, R. Zecchina, et al.“Determing computational complexity from characteristic ‘phase transitions’ ”, Nature, Vol. 400, 8 July 1999,

Page 11: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 11

Phase Transition, =4.256=4.256

Page 12: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 12

Characterization of the Landscape in terms of Connected Components

Number of solutions, number of connected components and CCs' cardinality versus for #3-SAT#3-SAT problem with n=10n=10 variables.

Page 13: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 13

CC's cardinality at phase transition (3)=4.256(3)=4.256

Number of Solutions, number of connected components and CC's cardinality at phase transition (3)=4.256(3)=4.256 versus number of variables nn for #3-SAT problem#3-SAT problem.

Page 14: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 14

Process LandscapeProcess LandscapeGiven a search landscape (S, n, f), a process process landscapelandscape is defined by a quadruplet (S, n, f, (S, n, f, )) where is a search processsearch process.

• The process landscape represents a particular view of the neutral landscape (S, n, f) seen by a search algorithm.

• Examples of search algorithms:

– Local Search Algorithms.

– Complete Algorithms (e. g. Davis-Putnam algorithm).

– Evolutionary AlgorithmsEvolutionary Algorithms: Genetic Algorithms, Genetic Programming, Evolution Strategies, Evolution Programming, Immune Algorithms.

Page 15: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 15

2. Evolutionary Algorithms

EAs are optimization methods based on EAs are optimization methods based on an evolutionary metaphor that showed an evolutionary metaphor that showed effective in solving difficult problems.effective in solving difficult problems.

““Evolution is the natural way to program”Evolution is the natural way to program” Thomas Ray

Page 16: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 16

Evolutionary Algorithms

1. Set of candidate solutions (individuals): Population.

2. Generating candidates by:

– ReproductionReproduction: Copying an individual.

– CrossoverCrossover: 2 parents 2 children.

– MutationMutation: 1 parent 1 child.

3. Quality measure of individuals: Fitness functionFitness function.

4. Survival-of-the-fittestSurvival-of-the-fittest principle.

Page 17: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 17

Main components of EAsMain components of EAs

1. Representation of individuals: CodingCoding.

2. Evaluation method for individuals: FitnessFitness.

3. Initialization procedure for the 1st generation1st generation.

4. Definition of variation operators (mutationmutation and crossovercrossover).

5. Parent (matingmating) selection mechanism.

6. Survivor (environmentalenvironmental) selection mechanism.

7. Technical parametersTechnical parameters (e.g. mutation rates, population size).Experimental tests, Adaptation based on measured quality,Self-adaptation based on evolution.

Page 18: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 18

Mutation and CrossoverEAs manipulate partial EAs manipulate partial solutions in their search for solutions in their search for the overall optimal solutionthe overall optimal solution . These partial solutions or `building blocks' correspond to sub-strings of a trial solution - in our case local sub-structures within the overall conformation.

Page 19: Combinatorial Landscapes & Evolutionary Algorithms

20/04/23DMI - Università di Catania 19

Algorithm Outlineprocedure EA; {

t = 0;

initialize population (P(t), d);

evaluate P(t);

until (done) {

t = t + 1;

parent_selection P(t);

recombine (P(t), pcross);

mutate ( P(t), pmut);

evaluate P(t);

survive P(t);

}

}