Dr. Mark Humphrys

School of Computing. Dublin City University.

Home      Blog      Teaching      Research      Contact

My big idea: Ancient Brain


CA114      CA170

CA668      CA669      Projects

Maximising a function

e.g. Each value of parameter x constructs a solution with fitness f(x).
Find the x value that gives maximum fitness f(x).

  1. If we have an equation for the function and it is differentiable:
    • Differentiate. Search for slope = 0. This will give local max and min points if they exist (if not infinite).

  2. Interesting case is where no equation known / not differentiable (but can still judge fitness of any given x).
    • Example of an Unknown or postulated function: Input x = All the parameters that control a mobile robot. Fitness f(x) = How well the robot played soccer. Find x that maximises f(x).
    General approach:
    • Learn from exemplars (many samples of x and f(x)). Build up a map of the function, ever increasing in accuracy and detail.
    • If only interested in max fitness, the map will end up in more detail in uplands (keep exploring) than in lowlands (which we abandon).

The idea of Maximising a function from exemplars is that "nearby" Input should generate "nearby" Output.

But some functions defeat this simple idea:

Chaotic functions

Chaos Theory demo

Non-chaotic functions

We do not expect in general to be able to maximise a chaotic (or discontinuous) function from exemplars.
The global maximum must be surrounded by some continuous zone of uplands, otherwise how can we find it.
It cannot be a single, isolated point or else the odds of finding that precise x go to zero.

ancientbrain.com      w2mind.org      humphrysfamilytree.com

On the Internet since 1987.

Wikipedia: Sometimes I link to Wikipedia. I have written something In defence of Wikipedia. It is often a useful starting point but you cannot trust it. Linking to it is like linking to a Google search. A starting point, not a destination. I automatically highlight in red all links to Wikipedia and Google search and other possibly-unreliable user-generated content.