Home

GRUNGE: Randomized UNcorrelated Gaussian Extrema

This is a function generator, not a single function. Hence the reason why the images look different. Different fitness landscapes result from different inputs to the generator.

Example 1: 20 Gaussians


This landscape was generated from 20 randomly positioned gaussians with weights selected uniformly at random from the range 0 to 1 and widths selected uniformly at random in the range 0 to 10.

Example 2: 20 Gaussians


This landscape was generated from 20 randomly positioned gaussians with weights selected uniformly at random from the range 0 to 1 and widths selected uniformly at random in the range 2 to 4.

Example 3: 200 Gaussians


This landscape was generated from 200 randomly positioned gaussians with weights selected uniformly at random from the range 0 to 1 and widths selected uniformly at random in the range 2 to 4.

Example 4: 200 Gaussians


This landscape was generated from 200 randomly positioned gaussians with weights selected uniformly at random from the range 0 to 1 and widths selected uniformly at random in the range 2 to 4.

Function

Latex

A maximization problem:

$$f(x_0 \cdots x_n) = \sum_{i=0}^M \xi_i \cdot exp[-\zeta_i \cdot \sum_{j=0}^n (x_j - \kappa_j)^2]$$

with the random numbers $\xi_i$, $\zeta_i$ and $\kappa_j$ being the weight, width and position of the $i^{\text{th}}$ Gaussian in $N$-dimensional space.

I used weights selected uniformly at random from the range 0 to 1 and widths selected uniformly at random from the range 2 to 4.

$$0 \leq x_i \leq 10$$

$$\text{maximum at }f(???) = ?$$

The maximum is not generally known. and will be different with different choices for the random values.

Python

Due to speed issues, all the randomized gaussian landscapes were compiled using cython. Code for one 20-gaussian landscape follows:
hills0 = [[4.20571580830845, 2.5891675029296337, 5.112747213686085, 4.049341374504143, 7.837985890347726, 3.0331272607892745, 4.765969541523559, 5.833820394550312, 9.081128851953352, 5.046868558173903],[6.183689966753317, 2.5050634136244057, 9.097462559682402, 9.827854760376532, 8.102172359965895, 9.021659504395828, 3.1014756931933265, 7.298317482601286, 8.988382879679936, 6.839839319154413],[4.341718354537837, 6.1088697344380165, 9.130110532378982, 9.666063677707587, 4.77009776552717, 8.6530992777164, 2.604923103919594, 8.050278270130223, 5.486993038355893, 0.14041700164018955],[8.24844977148233, 6.681532012318509, 0.011428193144282783, 4.935778664653246, 8.676027754927809, 2.4391087688713196, 3.252043627473901, 8.704712321086546, 1.9106709150239054, 5.675107406206719],[8.0317946927987, 4.479695714355704, 0.8044581855253541, 3.2005460467254574, 5.07940642520574, 9.328338242269067, 1.0905784593110368, 5.512672460905512, 7.065614098668896, 5.474409113284238],[9.638385459738009, 6.03185627961383, 5.8761706417543635, 4.4498902627551615, 5.962868615831063, 3.8490114597266043, 5.756510141648885, 2.90329502402758, 1.8939132855435614, 1.867295282555551],[4.765309920093808, 0.8982436119559367, 7.576039219664368, 8.767703708227748, 9.233810159462806, 8.424602231401824, 8.98173121357879, 9.230824398201769, 5.405999249480544, 3.912960502346249],[8.116287085078785, 8.49485965186367, 8.950389674266752, 5.898011835311598, 9.497648732321206, 5.796950107456059, 4.505631066311552, 6.60245378622389, 9.962578393535727, 9.16941217947456],[6.1278310504071225, 4.864442019691668, 6.301473404114728, 8.450775756715153, 2.4303562206185623, 7.3148922079084775, 1.1713429320851798, 2.204605368678285, 7.9458297171057595, 3.3253614921965546],[1.4635848891230385, 6.976706401912388, 0.4523406786561235, 5.7386603678916694, 9.100160146990397, 5.341979682607239, 6.805891325622565, 0.26696794662205203, 6.349999099114583, 6.063384177542189],[3.701399403351875, 9.805166506472688, 0.36392037611485795, 0.21636509855024078, 9.61031280239611, 1.8497194139743833, 1.2389516442443171, 2.1057650988664642, 8.00746590354181, 9.369691586445807],[1.0150021937416975, 2.5991988979283196, 2.2082927131631735, 6.469257198353225, 3.502939673965323, 1.8031790152968785, 5.036365052098873, 0.39378707084692377, 1.0092124118896661, 9.88235148722501],[7.315983062253606, 8.383265651934163, 9.184820619953314, 1.6942460609746768, 6.726405635730526, 9.665489030431832, 0.5805094382649867, 6.7620178429937825, 8.454245937016164, 3.4231254107858398],[4.423140336990789, 1.7481948445144113, 4.71625415096288, 4.0990539565755455, 5.691127395242802, 5.086001300626331, 3.114460010002068, 3.571516825902629, 8.37661174368979, 2.5093266482213705],[7.415743774106636, 3.359165544734606, 0.4569649356841665, 2.8088316421834825, 2.4013040782635398, 9.531293398277988, 3.5222556151550743, 2.878779148564, 3.5920119725374633, 9.46905835657891],[7.156193503014563, 3.8801723531250563, 4.144179882772473, 6.50832862263345, 0.01524221856720187, 1.923095412446758, 3.344016906625016, 2.3941596018595854, 6.373994011293003, 3.7864807032309447],[4.144063966836443, 4.0226707511907955, 7.018296239336754, 4.18226553292466, 6.621958889738174, 0.46779685956798267, 4.453521897188298, 2.5922692344722273, 1.5768657212231085, 5.275731301676147],[7.554847672586825, 8.838751542487008, 4.945826703752868, 3.12058246416873, 4.668922353525236, 8.090458573603623, 8.75016331480271, 8.12414932363759, 1.88001294050828, 9.994203594553303],[7.255543554613125, 9.868214802051282, 4.018168222125436, 6.785150052419683, 3.1617713722134235, 2.135246620646961, 7.173241433110372, 0.023575647193538884, 8.227314105314157, 5.283459768597928],[6.492654248961536, 8.736538239003423, 2.7998274332687254, 9.785151867733981, 1.0018068906370903, 8.539381095973383, 3.9669617733090448, 0.8134541676823415, 2.747138434192621, 4.529781848179143]]
width0 = [3.515908805880605, 3.511608408314448, 2.2014024161367316, 2.7976470844485375, 3.9350805005802867, 3.0805672139406477, 3.3133187779792577, 2.5512682426242543, 2.164745976393295, 2.201215040432192, 2.7824188186456538, 2.8512376639336345, 2.7171106026232037, 3.193582786938822, 2.024872637658629, 3.2421536912373345, 3.1363028418203838, 3.122809851228854, 2.1669341003514586, 2.2378077895694917]
weight0 = [0.8444218515250481, 0.28183784439970383, 0.47214271545271336, 0.7197046864039541, 0.23861592861522019, 0.814466863291336, 0.6127731798686067, 0.7052833998544062, 0.7933250841302242, 0.8159130965336595, 0.5759529480315407, 0.022782575668658378, 0.19935579046706298, 0.25068733928511167, 0.560600218853524, 0.6337478522492526, 0.8754233917130172, 0.48726560106903205, 0.6330887599183004, 0.09778434180065931]

def fitnessFunc0(list chromosome):
	cdef int num_hills = 20
	cdef int dimensions = 10
	cdef double subTotal, total = 0
	for i in xrange(num_hills):
		subTotal = 0
		ith_hill = hills0[i]
		for j in xrange(dimensions):
			subTotal += (chromosome[j] - ith_hill[j])**2
		total += weight0[i] * exp(-width0[i] * subTotal)
	return total

Sources

The following may or may not contain the originator of this function.

Empirical review of standard benchmark functions using evolutionary global optimization
@article{DBLP:journals/corr/abs-1207-4318,
  author    = {Johannes M. Dieterich and
               Bernd Hartke},
  title     = {Empirical review of standard benchmark functions using evolutionary
               global optimization},
  journal   = {CoRR},
  volume    = {abs/1207.4318},
  year      = {2012},
  ee        = {http://arxiv.org/abs/1207.4318},
  bibsource = {DBLP, http://dblp.uni-trier.de}
}

A general-purpose tunable landscape generator
@ARTICLE{1705405,
author={Gallagher, M. and Bo Yuan},
journal={Evolutionary Computation, IEEE Transactions on},
title={A general-purpose tunable landscape generator},
year={2006},
month={oct. },
volume={10},
number={5},
pages={590 -603},
keywords={continuous optimization;distribution algorithm estimation;empirical algorithm;evolutionary computation;general-purpose tunable landscape generator;metaheuristic;test-problem;algorithm theory;distributed algorithms;evolutionary computation;}, 
doi={10.1109/TEVC.2005.863628},
ISSN={1089-778X},}


Notes

More example landscapes follow:

Example 1: 20 Gaussians

Example 2: 20 Gaussians

Example 3: 20 Gaussians

Example 4: 200 Gaussians

Example 5: 20 Gaussians

Example 6: 200 Gaussians

The above examples were generated with weights randomly selected in the range 0 to 1 and widths randomly selected in the range 2 to 4.


Example 1: 20 Gaussians

Example 2: 20 Gaussians

Example 3: 20 Gaussians

Example 4: 200 Gaussians

The above examples were generated with weights randomly selected in the range 0 to 1 and widths randomly selected in the range 1 to 2.


Example 1: 20 Gaussians

Example 2: 20 Gaussians

Example 3: 20 Gaussians

Example 4: 20 Gaussians

Example 5: 200 Gaussians

Example 6: 200 Gaussians

Example 7: 200 Gaussians

The above examples were generated with weights randomly selected in the range 0 to 1 and widths randomly selected in the range 0 to 10.


Example 1: 20 Gaussians

Example 2: 20 Gaussians

Example 3: 200 Gaussians

The above examples were generated with weights randomly selected in the range 0 to 1 and widths randomly selected in the range 0 to 1.