solving iterated functions using genetic programming

13
Solving Iterated Functions Using Genetic Programming Michael Schmidt Hod Lipson 2010 HUMIES Competition (f(x))

Upload: kimama

Post on 23-Feb-2016

51 views

Category:

Documents


0 download

DESCRIPTION

f ( f ( x )). Solving Iterated Functions Using Genetic Programming. Michael Schmidt Hod Lipson 2010 HUMIES Competition. Iterated Functions. Iterated Function:. Answer:. f ( f ( x )) = x. f ( x ) = x. f ( f ( x )) = x + 2. f ( x ) = x + 1. f ( f ( x )) = x 4. f ( x ) = x 2. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Solving Iterated Functions Using Genetic Programming

Solving Iterated Functions Using Genetic Programming

Michael SchmidtHod Lipson2010 HUMIES Competition

f(f(x))

Page 2: Solving Iterated Functions Using Genetic Programming

Iterated Functions

f(f(x)) = x f(x) = x

f(f(x)) = x + 2 f(x) = x + 1

f(f(x)) = x4 f(x) = x2

f(f(x)) = (x2 + 1)2 +1 f(x) = x2 + 1

f(f(x)) = x2 – 2 f(x) = ?

Iterated Function: Answer:

Why is this problem so hard for humans?

Page 3: Solving Iterated Functions Using Genetic Programming

Test of Intelligence:

f(f(x)) = x2 – 2

B. A. Brown, A. R. Brown, and M. F. Shlesinger, "Solutions of Doubly and Higher Order Iterated Equations," Journal of Statistical Physics, vol. 110, pp. 1087-1097, 2003.

"Mathvn journal problems," in Mathvn. vol. 01/2009 mathvn.org, 2009.

This problem has become famous in math and physics circles for requiring deep mathematical insight in order to solve.

Appeared in mathematical competitions

The rumored fastest solver Michael Fisher

Page 4: Solving Iterated Functions Using Genetic Programming

The known solution requires deep human insight to solve a special case

Assume f(f(x)) = g(a2g-1(x)): g(a2g-1(x)) = x2 – 2

Next assume a2 = 2 and let θ = g-1(x) : g(2θ) = x2 – 2,

g(2θ) = g(θ)2 – 2,

x2 – 2 = g(θ)2 – 2

x = g(θ) = 2 cos(θ),x = g(g-1(θ)) = 2 cos(g-1(θ))

By inspection:

2cos2cos2)( 1 xxfDouble angle formula:

Page 5: Solving Iterated Functions Using Genetic Programming

But there are possibly many solutions

f(f(x)) = x f(x) = x

f(x) = –x

f(x) = 1/x

This a dark area of mathematics; Only a few special cases of functional problems have ever been solved.

Yet, Genetic Programming can find these solutions easily….

Page 6: Solving Iterated Functions Using Genetic Programming

f(f(x)) = x2 – 2

What is f(x)?

x

f(f(x))

x2 – 2

Straightforward application of Symbolic Regression

Solutions iterated twice:

Fitness of a candidate f(x) =

n

iii xffy

n 1

21

Page 7: Solving Iterated Functions Using Genetic Programming

Solved in 81 seconds

100

101

102

103

-10

-8

-6

-4

-2

0

Time [seconds]

Fitn

ess

[-erro

r]

100

101

102

103

0

20

40

60

80

100

Time [seconds]

Con

verg

ed R

uns

[%]

And Solved Reliably:

50 trials 50 trials

Page 8: Solving Iterated Functions Using Genetic Programming

))1016871.1(24916.16()1016871.1()1016871.1(24916.16)( 21818

18

xxxxf

222lim)(

axbaxaxbxf

a

Nearly Perfect Fitness

The genetic program is trying to take a limit….

Page 9: Solving Iterated Functions Using Genetic Programming

2)(2)(

)(2)(xfabxfa

xfabxff

2)(2)(

)(2lim)(limxfabxfa

xfabxffaa

2)(lim 2

xxffa

Exactly Correct Symbolicly

The solution is symbolicly correct

Page 10: Solving Iterated Functions Using Genetic Programming

New Solution Found with Genetic Programming

22121lim)(

axaxaxxf

a

f(f(x)) = x2 – 2

Page 11: Solving Iterated Functions Using Genetic Programming

Human Competitive:

• Long-developed and infamous problem in physics and mathematics

• Has required deep human insight into mathematics to solve special cases

• No other general method exists

Page 12: Solving Iterated Functions Using Genetic Programming

Human Competitive:

• Long-developed and infamous problem in physics and mathematics

• Has required deep human insight into mathematics to solve special cases

• No other general method exists

The Best Entry:• Entirely new solution found via GP

• Fastest this problem has ever been solved

• Potential impact in many fields, where such problems have never been solved before

Page 13: Solving Iterated Functions Using Genetic Programming

Conclusions

Use GP to Solve Iterated Functions

f(f(x))