the computational system the evolutionary computational system, which will be presented now,...

47
THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for these calls, applies genetic operations and calculates fitness, in an effort to achieve the goals included in the problem statement. We are going to describe the computational system by answering some questions posed before. Let us remember these questions.

Upload: vincent-craig

Post on 18-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

THE COMPUTATIONAL SYSTEMThe evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for these calls, applies genetic operations and calculates fitness, in an effort to achieve the goals included in the problem statement.

We are going to describe the computational system by answering some questions posed before.

Let us remember these questions.

Page 2: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

Genes Elementary decisions

GenotypesData Generation Scenarios

Fitness

New Data Generation Scenarios

Fitness

Genetic Operations

Substitution

Population SolutionStructuring

Comparison

New Genotypes

How elementary decisions can be determined by genes?

Page 3: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

GENES

F ( INPUT ) OUTPUT

RandomConsider F as a first order atomic multiple confirmation formula.

Recall that given the input values of a multiple confirmation formula, confirmation can be achieved with different data productions. This means that for a fixed input we have a random output.

A gene is a real value ranging in the interval [0, 1].

This interval is mapped onto the range of the output.

Page 4: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

GENE

GENES

F ( INPUT ) OUTPUT

FixedAs a consequence a gene determines the output (given the input).

This can be illustrated in the case of the first order atomic multiple confirmation formulas of our sample program, i.e. the formulas in and mem.

Page 5: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

in (a, b) (x)

a b

0 1

x

g

R1 R2

Q1 Q2

R1

R2

Q1

Q2

=

GENESThe atomic formula in returns a random value x within a real interval [a, b].

The real interval [0, 1] is linearly mapped onto the real interval [a, b].

As a consequence, any value (gene) within [0, 1] determines x.

Page 6: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

mem (L) (x)

0 1

g

L = (x1 , x2 , x3 , x4 )

GENESThe atomic formula mem returns a random element x of a list L.

Given L, the real interval [0, 1] is subdivided in as many equal subintevals as the elements of L, where successive subintervals are mapped to successive elements of L.The subinterval within which an arbitrary value (gene) falls …

Page 7: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

mem (L) (x)

0 1

g

x = x2

L = (x1 , x2 , x3 , x4 )

GENES

… determines the element that is returned.

Page 8: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

Elementary decisions

GenotypesData Generation Scenarios

Fitness

New Data Generation Scenarios

Fitness

Genetic Operations

Substitution

Population SolutionStructuring

Comparison

New Genotypes

GenesHow genes can be structured in genotypes determining data-generation scenarios?

Page 9: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

F0

F1 F2

mem F3 mem

sqr mns

mem sml in(0.5) (0.2) (0.7) (0.6)( )

( ) ( )

This is a call-tree of the sample program presented before. Calls to multiple confirmation atomic formulas are marked in red. The computational system generates genes for these calls. Each gene is considered as the single element of a list.Blanc genes, represented by empty lists, are generated for calls to single confirmation atomic formulas.

All gene representations have to be organized as terminals in an object having the structure of the call-tree.

Unfortunately this structure can be unknown: we saw before cases where the structure of the call-tree depends on the input values of a call, and of course these values may be generated at run-time.

Page 10: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((( ), (0.8)), (0.7), (0.2)), ((0.3), (0.6)), ( ))

((( ), (0.8)), (0.7), (0.2)) ((0.3), (0.6)) ( )

(( ), (0.8)) (0.7) (0.2)

( ) (0.8)

F0

(0.3) (0.6)

Consider a nested list.

(((( ), (0.8)), (0.7), (0.2)), ((0.3), (0.6)), ( ))

This can be interpreted as a tree structure if inclusion relations are interpreted as parent-child relations.

Here, innermost lists (considered as terminals) are either one-element lists, each one including a single gene, or empty lists.

GENE STRUCTURESuch nested lists will be referred to as a "gene-structures".

Any gene-structure can be used as a "guide" for any formula call, meaning that the computational system extracts from the gene-structure information that affects data-generation. At the same time transforms the gene-structure to a genotype, which includes all the information necessary to reproduce the data-generation scenario. Both actions are performed at run-time.

The procedure that maps the input vector value to the output vector value of a call, and the call-guide to a genotype, will be referred to as "genetic mapping".

During an execution, nodes of the gene-structure tree are used as guides for calls represented by homologous nodes of the call-tree.

For instance, consider the call-tree presented before, guided by this gene-structure.

The F0 call, represented by the root node of the call-

tree, is guided by the root node of the gene-structure.

Page 11: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((( ), (0.8)), (0.7), (0.2)), ((0.3), (0.6)), ( ))

((( ), (0.8)), (0.7), (0.2)) ((0.3), (0.6)) ( )

(( ), (0.8)) (0.7) (0.2) (0.3)

( ) (0.8)

F0

F1

(0.6)

Next an F1 call

occurs, guided by the homologous node (i.e. the first element) of the gene-structure.

Page 12: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((( ), (0.8)), (0.7), (0.2)), ((0.3), (0.6)), ( ))

((( ), (0.8)), (0.7), (0.2)) ((0.3), (0.6)) ( )

(( ), (0.8)) (0.7) (0.2) (0.3)

( ) (0.8)

F0

F1

mem(0.6)

Next a mem call occurs, which should be guided by a single gene. However, the homologous node of the gene-structure does not include a single gene.

Page 13: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((( ), (0.8)), (0.7), (0.2)), ((0.3), (0.6)), ( ))

((( ), (0.8)), (0.7), (0.2)) ((0.3), (0.6)) ( )

(0.5) (0.7) (0.2) (0.3)

F0

F1

mem(0.6)

Page 14: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), (0.2)), ((0.3), (0.6)), ( ))

((0.5), (0.7), (0.2)) ((0.3), (0.6)) ( )

(0.5) (0.7) (0.2) (0.3)

F0

F1

mem(0.6)

The subtree rooted at this node is substituted by a terminal that includes a single gene randomly generated by the computational system.

The gene determines the output of the mem call, potentially affecting the remaining call-tree development.

Page 15: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), (0.2)), ((0.3), (0.6)), ( ))

((0.5), (0.7), (0.2)) ((0.3), (0.6)) ( )

(0.5) (0.7) (0.2) (0.3)

F0

F1

mem mem(0.6)

The next call is also a mem call. This time the call-guide is a single-gene list.

Page 16: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), (0.2)), ((0.3), (0.6)), ( ))

((0.5), (0.7), (0.2)) ((0.3), (0.6)) ( )

(0.5) (0.7) (0.2) (0.3)

F0

F1

mem mem(0.6)

This list will remain intact determining the output of the mem call.

Page 17: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), (0.2)), ((0.3), (0.6)), ( ))

((0.5), (0.7), (0.2)) ((0.3), (0.6)) ( )

(0.5) (0.2) (0.3)

F0

F1

mem mem sml(0.6)(0.7)

The next call is a call to the atomic formula sml, which is a single confirmation formula. As a consequence it should be represented in the gene-structure by an empty list.

As this does not happen …

Page 18: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( )), ((0.3), (0.6)), ( ))

((0.5), (0.7), ( )) ((0.3), (0.6)) ( )

(0.5) ( ) (0.3)

F0

F1

mem mem sml(0.6)(0.7)

… a substitution occurs.

Page 19: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( )), ((0.3), (0.6)), ( ))

((0.5), (0.7), ( )) ((0.3), (0.6)) ( )

(0.5) ( ) (0.3)

F0

F1

mem mem sml in(0.6)(0.7)

A call to the atomic formula in comes next.

As the gene-structure does not have a node homologous to this call, such a node should be created. As in is a multiple confirmation atomic formula, the node should be a single-gene list.

Page 20: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), ((0.3), (0.6)), ( ))

((0.5), (0.7), ( ), (0.2)) ((0.3), (0.6)) ( )

(0.5) ( ) (0.3)

F0

F1

mem mem sml in(0.2) (0.6)(0.7)

The gene is randomly generated by the computational system determining the output of the in call.

Page 21: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), ((0.3), (0.6)), ( ))

((0.5), (0.7), ( ), (0.2)) ((0.3), (0.6)) ( )

(0.5) ( ) (0.3) (0.6)

F0

F1

mem mem sml in(0.2)

F2

(0.7)

Then comes a call to F2 …

Page 22: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), ((0.3), (0.6)), ( ))

((0.5), (0.7), ( ), (0.2)) ((0.3), (0.6)) ( )

(0.5) ( ) (0.3) (0.6)

F0

F1

mem mem sml in(0.2)

F2

F3

sqr mnsmns

(0.7)

… and then a call to F3

F3 is a non atomic formula. The call-guide

should have as many elements as the child calls of the F3 call. As the latter calls are calls

to single confirmation atomic formulas, their own guides should be empty lists.

Page 23: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), ((( ), ( )), (0.6)), ( ))

((0.5), (0.7), ( ), (0.2)) ((( ), ( )), (0.6)) ( )

(0.5) ( ) (( ), ( )) (0.6)

F0

F1

mem mem sml in(0.2)

F2

F3

sqr mnsmns

(0.7)

These lists are generated by the computational system and the respective substitution occurs. ( ) ( )

Page 24: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), ((( ), ( )), (0.6)), ( ))

((0.5), (0.7), ( ), (0.2)) ((( ), ( )), (0.6)) ( )

(0.5) ( ) (( ), ( )) (0.6)

F0

F1

mem mem sml in(0.2)

F2

F3

( ) ( )sqr mnsmns

mem(0.7)

The last call is a mem call. The call-guide here is single-gene list, as it should be.

Page 25: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), ((( ), ( )), (0.6)), ( ))

((0.5), (0.7), ( ), (0.2)) ((( ), ( )), (0.6)) ( )

(0.5) ( ) (( ), ( )) (0.6)

F0

F1

mem mem sml in(0.2)

F2

F3

( ) ( )sqr mnsmns

mem(0.7)

This list will remain intact determining the output the mem call.

As the F0 call

does not have a third child-call, the third element of the gene-structure is redundant.

Page 26: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), ((( ), ( )), (0.6)))

((0.5), (0.7), ( ), (0.2)) ((( ), ( )), (0.6))

(0.5) ( ) (( ), ( ))

F0

F1

mem mem sml in(0.2)

F2

F3

( ) ( )sqr mnsmns

mem(0.6)(0.7)

Redundant elements are removed and the respective subtrees are cropped.

Page 27: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), ((( ), ( )), (0.6)))

((0.5), (0.7), ( ), (0.2)) ((( ), ( )), (0.6))

(0.5) ( ) (( ), ( ))(0.2)

( ) ( )

(0.6)(0.7)

A subtree having only empty lists as terminals has no effect on data-generation …

Page 28: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), (( ), (0.6)))

((0.5), (0.7), ( ), (0.2)) (( ), (0.6))

(0.5) ( ) ( )(0.2) (0.6)(0.7)

GENOTYPE

… and can be substituted by a single empty list

Terminals marked in red represent information inherited from the original gene-structure, as they remained intact during the "genetic mapping" process.

The gene-structure derived from "genetic mapping" constitutes a "genotype".

If a genotype is used as the guide of a new call to the same formula having the same input values, it results in exactly the same data-generation scenario, while it remains intact during the new "genetic mapping" process. The confirmation scenario will be also the same, as the confirmation state of each call within the call-tree depends only on the data-generation scenario.

Genotypes can be subjected to genetic operations that either alter or blend their contents. A gene-structure resulting from a genetic operation probably is not a genotype, but it can be converted to one via the "genetic mapping" process if it is used as a call-guide in a new execution of the program. This makes possible variations of the original genetic information.

The evolutionary process should start from a population of random genotypes, unbiased to any genetic information. Such genotypes can be produced if the empty list is used as the call-guide.

Page 29: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

Elementary decisions

Data Generation Scenarios

Fitness

New Data Generation Scenarios

Fitness

Genetic Operations

Substitution

Population SolutionStructuring

Comparison

New Genotypes

Genotypes

Genes

what kind of genetic operations can be applied on these genotypes?

Page 30: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), (( ), (0.6)))

((0.5), (0.7), ( ), (0.2)) (( ), (0.6))

(0.5) ( ) ( )(0.2) (0.6)(0.7)

GENETIC OPERATIONSSubtree Mutation

Gaussian Mutation

Homologous Crossover

The computational system performs three types of genetic operations on genotypes: Subtree Mutation, Gaussian mutation and Homologous Crossover. Variations of these operations have been used in different GA and GP methods.

Page 31: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.5), (0.7), ( ), (0.2)), (( ), (0.6)))

( ) (( ), (0.6))

( ) (0.6)

SUBTREE MUTATION

In a Subtree Mutation, a random node of the genotype-tree is selected while the subtree rooted at this node is substituted by an empty list.

Page 32: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.8), (0.4), ( ), (0.3)), (( ), (0.6)))

((0.8), (0.4), ( ), (0.3)) (( ), (0.6))

(0.8) ( ) ( )(0.3) (0.6)(0.4)

SUBTREE MUTATION

The cropped subtree may be regenerated, having different genes, during a "genetic mapping" process.

Page 33: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

((0.8), (0.4), ( ), (0.3)) (( ), (0.6))

(0.8) ( ) ( )(0.3) (0.6)(0.4)

0.40 1

(((0.8), (0.4), ( ), (0.3)), (( ), (0.6)))

GAUSSIAN MUTATION

In a Gaussian Mutation, a random gene is altered. The new value of the gene is determined by a normal probability density function defined in the real interval [0, 1]. This function is maximized at the original value of the gene.

Page 34: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

(((0.8), (0.2), ( ), (0.3)), (( ), (0.6)))

((0.8), (0.2), ( ), (0.3)) (( ), (0.6))

(0.8) ( ) ( )(0.3) (0.6)(0.2)

0 10.2GAUSSIAN MUTATION

Here is a potential new value. Both the standard deviation of the probability density function and the number of the genes to be mutated can be regulated by the user.

Page 35: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

HOMOLOGOUS CROSSOVER

In a Homologous Crossover two different genotypes are compared, …… a random pair of homologous nodes is selected, …

Page 36: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

HOMOLOGOUS CROSSOVER

… and these nodes are swapped.

It is important for the crossover operation to be homologous, because the semantic context of each node in the genotype-tree depends on the homologous node in the call-tree. Exchange of information is meaningful only between nodes sharing the same semantic context.

In both Subtree Mutations and Crossovers, the expected depth of the mutated nodes in the genotype-tree can be regulated by a user-defined probability function. Usually, high-depth and low-depth nodes are respectively associated to low-level and high-level semantic properties. Crossover depth control has been used in GP methods.

Page 37: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

Elementary decisions

Data Generation Scenarios

Fitness

New Data Generation Scenarios

Fitness

Substitution

Population SolutionStructuring

Comparison

New Genotypes

Genotypes

Genes

Genetic Operations

How fitness can be estimated on data-generation scenarios (especially with respect to confirmation goals) ?

Page 38: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

Confirmed f.o. atomic formulas

DC DD

Disconfirmed f.o. atomic formulas

0 1

1 0

Conjunction (and, app) S ( DC ) min ( DD )

Disjunction (or, chs) min ( DC ) S ( DD )

Negation (not) DD DC

Distance from Confirmation

Distance from Disconfirmation

GENETICA provides a unified definition of fitness of data-generation scenarios, allowing the integration of optimization and confirmation goals.

Consider two quantitative properties of a formula call: distance from confirmation (denoted by a DC) and distance from disconfirmation (denoted by a DD). These properties formulate the fitness list of the call.

Each confirmed first-order atomic formula call has a (0, 1) fitness list, …

… while each disconfirmed one has a (1, 0) fitness list.

Each call to a conjunction formula (that is a formula constructed with either the and connective or the universal quantifier app) has DC the sum of DCs of the child calls and DD the minimum DD of the child calls.

Each call to a disjunction formula (that is a formula constructed with either the or connective or the existential quantifier chs) has DC the minimum DC of the child calls and DD the sum of DDs of the child calls.

In a call to a negation formula DC and DD of the child call are swapped. According to these definitions, the DC of a call to a composite formula constructed with the particular connectives equals the number of the first order atomic formula calls whose confirmation state should change for the confirmation of the composite formula.

Due to this equality, DC can be considered as a criterion for fitness evaluation. Similar criteria have been adopted both in evolutionary methods that consider statistical properties of the portions of data positively and negatively affecting confirmation, and in model-theoretic AI methods.

Page 39: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

DC DD

Recursion (rec)

F0

F1 F2 F0

F1 or (F2 and F0)

Distance from Confirmation

Distance from Disconfirmation

A recursion formula has a call-tree of this form, where F1 is the

termination condition, F2 is the formula creating input values for

the recursive call and F0 (the last child node) is the recursive call.

This is the logical interpretation of the recursion call: confirmation occurs if either the termination condition is confirmed or both the creation of the recursive values and the recursive call are confirmed.

Page 40: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

DC DD

Recursion (rec)

F0

F1 F2 F0

F1 or (F2 and F0)

or (F0)

F1 and

F2 F0

Distance from Confirmation

Distance from Disconfirmation

This is the tree-representation of the logical interpretation, …

Page 41: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

DC DD

Recursion (rec)

F0

F1 F2 F0

F1 F2 F0

F1 F2 F0F1 or (F2 and F0)

or (F0)

F1 and

F2 or (F0)

F1 and

F2 or (F0)

F1 and

F2 or (F0)

Distance from Confirmation

Distance from Disconfirmation

… which grows with the call-tree.

Given the fitness lists of the F1 and F2 calls appearing in the logical tree, the

fitness list of recursion can be computed according to the definitions given so far.

Page 42: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

DC DD

Optimization (opt)F0

F1 F2

Referenced Formula

Confirmation State

F1

F2

0

0 1 2

Distance from Confirmation

Distance from Disconfirmation

DC (F1)

An optimization formula has a call-tree of this form, where F1 is the solution-creation formula

and F2 is the solution-evaluation formula.

If the solution-creation formula is disconfirmed, …… then the DC of the optimization call is a increasing function of the DC of F1, having values

bigger than 2 (Here the horizontal red arrow shows the way to the goal, which is a zero DC).

Page 43: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

DC DD

Optimization (opt)F0

F1 F2

Referenced Formula

Confirmation State

F1

F2

1

0 1 20

Distance from Confirmation

Distance from Disconfirmation

DC (F1)DC (F2)

If the solution-creation formula is confirmed and the solution-evaluation formula is disconfirmed, then it is an increasing function of the DC of F2, having values in the real interval (1, 2].

Page 44: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

DC DD

Optimization (opt)F0

F1 F2

Referenced Formula

Confirmation State

F1

F2

1

0 1 21

Distance from Confirmation

Distance from Disconfirmation

DC (F1)DC (F2)F2

If both child calls are confirmed, then it is a decreasing function of the solution-evaluation magnitude, having values in the real interval (0, 1].

Page 45: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

Some generalizations of the fitness definitions concern the introduction of fuzziness in the DC of calls to specific atomic formulas, as well as the possibility to treat fitness as a term in the language, which allows user intervention in the definition of fitness.

Given any problem formulation, the goal of the evolutionary computational process is to minimize the DC of the root formula.

Page 46: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

This process includes the initialization phase and the execution of computational cycles.

If the best-fitness genotype in the population results in an acceptable solution then the computational procedure stops.

New high-fitness genotypes substitute lower-fitness ones in the population.

The gene-structures are used as call-guides in new program executions. Due to the genetic mappings, the gene-structures are converted to new genotypes.

In each computational cycle different genotypes of the population are subjected to genetic operations. These operations produce gene-structures.

Create a population of genotypes

Initialization

Computational Cycles

1. Genetic operations Gene structures

2. Gene structures New genotypes

3. Substitute low-fitness genotypes in the population

4. Does the population include acceptable solutions ?

- Yes Stop

- No

THE COMPUTATIONAL PROCESS

Now, let us see an overview of the computational process, given a GENETICA program.

During the initialisation phase, the computational system causes different executions of the program. Each execution is a call to the root formula having the empty list as the "call-guide": this results in a population of random, unbiased genotypes.

Otherwise a new computational cycle is performed.

Page 47: THE COMPUTATIONAL SYSTEM The evolutionary computational system, which will be presented now, performs calls to the root formula, creates genotypes for

Continued in Section_5.PPS