next up previous
Next: Results Up: Novelty Engine Previous: Tunable Parameters

Pseudocode of the Novelty Engine

1.
(Reset)  
Create a population \( P=\{p_{1},\ldots ,p_{1000}\} \) of random robots  
and a random training set T2 of t-f agents.

2.
(Seed) 
If option SEED is true,

(a)
fetch 100 best from main population

(b)
replace \( \{p_{901},\ldots ,p_{1000}\} \) with them

3.
(Refetch)  
Fetch f best agents from the main server  
and call this group T1

4.
Let g=0

5.
Repeat forever

(a)
Let \( T=T_{1}\cup T_{2} \)

(b)
Play each \( a\in P \) against each \( a'\in T \)

(c)
Sort \( P=\{p_{1},\ldots ,p_{1000}\} \) according to eq. (3.2)

(d)
For i=1 to 500 
Select random \( a_{1},\, a_{2}\in \{p_{1},\ldots ,p_{500}\} \)and 
replace pi+500 with a random crossover of a1and a2

(e)
Let \( T'=\varnothing \), then for i=1 to t-f 
add a new agent to T' by eq. (3.3).  
Let T2=T'

(f)
Let g=g+1

(g)
If the main population has finished a new generation, then

i.
Send \( \{p_{1},\ldots ,p_{10}\} \) to main population as next group of rookies

ii.
If \( g>\text {MAXGEN} \) then go to (Reset) else goto (Refetch)


next up previous
Next: Results Up: Novelty Engine Previous: Tunable Parameters
Pablo Funes
2001-05-08