• No results found

Driver 3: An expectation that APNs would add value to the provision

6. Initial Stages: The Impetus and policy development for APN roles in Singapore

6.3 Drivers influencing APN development in Singapore

6.3.3 Driver 3: An expectation that APNs would add value to the provision

Fogel (1997) describes an EA as a search for the extrema of a functional, considering the value of alternatives as solutions to the problem at hand. In section 2.1, supervised learning was defined as the task of inferring a function from labelled training data. This process is usually performed as a sequential search, where the solution will, over time, converge to a local minima. In section 2.2, the parameters provided to clustering algorithms played a significant role in the results these algorithms achieved. These hyper-parameters are often selected by experts heuristically, chosen sequentially and tested by experimentation. Evolutionary algorithms provide the ability to optimise both of these searches, considering alternate solutions in parallel. These algorithms are extremely robust, exhibiting the ability to adapt in dynamic environments. This ability is of critical importance in practical problem solving (Fogel, 1997), such as those considered by the case studies in this dissertation (Chapters 4, 5 and 6).

Evolutionary algorithms are also able to address problems for which there are no human experts (Fogel, 1997). An example of a typical EA is presented in algorithm 1.

The initial population of an EA is usually generated at random, performed as uniformly as possible (Eiben and Schoenauer, 2002). The

population comprises a number of individually encoded solutions (genotypes), where the value of genes fall within the bounds of the search space. These candidate solutions do not necessarily have to be unique to the population. Each candidate solution is parsed by a fitness function, which uses an objective function to evaluate the solution. The objective function for each task is defined as D → O, where D is the search space and O the objective. Each candidate solution (genotype) is therefore measured as a direct relation to its objective function value. The resulting value is set as the fitness of the genotype, where a higher fitness score delineates a more suitable solution than a candidate with a lower score.

The fitness function represents the push toward quality improvements within the population, supporting the selection operator (Eiben and Schoenauer, 2002). The design and implementation of a suitable fitness function for each problem is therefore of critical importance.

/* Start with generation 0 */

set t = 0;

/* Initialise a random population of individuals */

initialisePopulation P(t);

/* Determine the fitness of the current population */

evaluatePopulation P(t);

/* Iterate until termination criterion is met */

whilenot terminate-condition do

/* Select sub-population for breeding */

P’(t) = selectParents P(t);

/* Breed parents using recombination (crossover) */

applyRecombination P’(t);

/* Apply genetic mutation stochastically */

applyMutation P’(t);

/* Evaluate fitness of resultant offspring */

evaluatePopulation P’(t);

/* Replace current generation with best from P’ */

P(t+1) = selectNextGeneration P’(t);

/* Increment generation count */

t += 1;

end

Algorithm 1: Example pseudo-code for an EA.

An EA executes a number of generations, evolving the population until a termination condition is met (algorithm 1). This termination, or stopping criteria can be a simple measure - such as the traversal of a fixed number of generations (t) - or fitness of the best scoring solution breaching a particular threshold. These termination conditions could also be complex such as a measure of the gradient gains over some number of generations -or some measure of diversity amongst the population (Schoenauer, 1997).

At the end of each generation, a selection and replacement scheme is used to produce a succeeding population. Here, a selection operator highlights the best individuals within a population for the given problem.

Selection is one of the driving forces behind an EA to ensure increased quality, while reducing genetic diversity (Eiben and Schoenauer, 2002).

Identifying the best candidates within a population ensures that resources are concentrated on those that show the most potential. It is important to

A B C D E

Total Fitness ( )

0 T

T f f

Result (0, ) T f

Figure 2.6: An example of roulette wheel selection probabilities for a generation consisting of five genotypes.

note that no new solutions are found by this operator; it simply selects the most suitable candidate solutions, discarding those found to be less suitable. Isolating strong candidates from weaker ones is usually accomplished by filtering them by their fitness scores, as those with a higher fitness have a stronger chance of selection. The genotypes of the succeeding generation’s population can be chosen from offspring only or, alternatively, include one or more parents from the current population, through a process called elitism (Eiben and Smith, 2003). In either case, this process can be deterministic or stochastic, depending on the operator (Schoenauer, 1997;

Eiben and Schoenauer, 2002). Some of the most popular selection operators employed today include: Fitness Proportionate Selection (Mitchell, 1997), Rank Based Selection (Mitchell, 1997), Tournament Selection (Mitchell, 1997) and Elitist Selection (Eiben and Smith, 2003).

Fitness proportionate selection, also known as roulette wheel selection, uses the assigned fitness scores of a population to calculate and assign a probability of selection to each genotype. The probability of selecting an individual,i, whereFiis the fitness of the individual in the current population andN is the number of genotypes within the population, is given by equation 2.2.

Pi = Fi PN

j=1Fj (2.2)

The result of calculating a probability of selection for each candidate with respect to the total fitness of a population is illustrated in Figure 2.6. Here, candidates with a higher probability occupy more space on the proverbial

“roulette wheel” and therefore have a higher chance of being selected.

The Rank Based Selection operator differs from fitness proportionate selection by assigning a probability to a candidate according to their rank, rather than their fitness. All candidates of a population are ordered by their fitness in descending order and assigned a probability based on their position with respect to the rest of the population.

Basing selection strategies on global, shared information about the whole population arguably makes both fitness proportionate selection and rank-based selection unsuitable for parallel-based EAs. To overcome this, Tournament Selection elicits a set of k candidates from the population with uniform probability and has them engage in a tournament. The victor of the tournament can be chosen either deterministically - as the individual with the highest fitness - or probabilistically, where the probability of the individual winning is proportional to its fitness (Miller and Goldberg, 1995).

Finally, Elitist Selection, or elitism is a process that links the lifetime of an individual genotype proportionately to its attained fitness. The result is that suitable solutions are retained over a number of generations, rather than being discarded immediately. When elitism is implemented, the best candidate will be copied (unmodified) into the succeeding generation.

Depending on the configuration, more than one candidate may be copied in this fashion. Elitism is usually implemented with another selection operator, such as fitness proportionate selection, rank-based selection or tournament selection (Eiben and Smith, 2003).

During the breeding process (algorithm 1) those genotypes chosen by selection methods other than elitism, are cloned. These clones are subjected to genetic operators, which modify the genotype in order to maintain genetic diversity in succeeding populations. This push toward genetic diversity is in contrast to the selection operators and ensures novel solutions are developed and tested by the algorithm (Eiben and Schoenauer, 2002).

Genetic operators are generally classified as one of two types: Mutation and Crossover (Recombination). Mutation operators are stochastic (Eiben and Schoenauer, 2002), mutating or altering specific elements within the genotype to genetically modify the offspring. The purpose of mutation operations is to simulate transcription errors found in nature. While there is no standard method of implementing mutation, general trends are toward

0 0 0 0 1 0 0 1 1 0 0 0 0

Mutate Mutate

0 0 0 1 1 0 0 1 1 1 0 0 0

Figure 2.7: An example of bit string mutation (flip bit).

modifying genes of a cloned genotype by a very low probability (Eiben and Schoenauer, 2002). Bit String Mutation is one of the more popular mutation operators applied to genotypes encoded as bit strings. These genotypes are described by {0,1}n, where the genotype consists of n genes with values of 0 or 1. One popular example of a bit string mutator is Flip Bit. This operator considers each gene (bit) independently, flipping or inverting the value based on a specified mutation rate (probability). Figure 2.7 illustrates the concept of bit string mutation on an example genotype, where two genes were mutated using the flip bit mutation operator.

While there are many other mutation operators available, most of those remaining are applicable to genes represented by continuous values, integer or floating points. This type of encoding is not implemented by the method proposed in this dissertation and are thus not discussed here. B¨ack et al.

(2000) and Deep and Mebrahtu (2011) provide further insights into these and other genetic operators.

The purpose of crossover operators is to take two or more fit parents and exchange their genetic material to form novel solutions. The new offspring offer solutions that incorporate inheritance information (genetics) from multiple parents, describing new solutions. K-point crossover is one of the most popular operators applicable in today’s EA implementations (Jansen, 2013).

The k-point crossover technique is applied by selecting k randomly assigned crossover positions in the parent genotype. Offspring are created by taking segments of each parent, alternating between the two genotypes at each crossover point. This process, illustrated in Figure 2.8, allows one or more crossover points to be specified, permitting parents to contribute toward offspring at a gene, rather than segment, level (Uniform Crossover).

It is important to note that the use of crossover to form offspring may not be applicable where the ordering of variables is important (for example,

1 0 0 1 1 0 1

1 1 0 0 1 0 1

Parent 1 Parent 2

0

1

1 1 0 1 1 0 1 1

1 0 0 0 1 0 1 0

Crossover Random

Crossover Points

Figure 2.8: An example demonstrating 2-Point Binary Crossover.

the case study described in Chapter 6). For this reason, a number of EA paradigms forgo the use of crossover operators all together, while others consider crossover an integral variation operator (Eiben and Schoenauer, 2002).