Skip to main content

surF - Fourier surrogate modeling

Project description

surF - Surrogate Fourier modeling

surF is a novel surrogate modeling technique that leverages the discrete Fourier transform to generate a smoother, and possibly easier to explore, fitness landscape.

Usage

First of all, import surF as follows (please mind the upper case F):

from surfer import surF

Assume now that you have a fitness function f() defined over a search space hypercube.

In order to build a surrogate model with surF, considering gamma Fourier coefficients, built with sigma samples of the fitness landscape and interpolated with a grid with rho steps, use the following code:

S = surF()
S.specify_fitness(fitness)
S.specify_search_space(hypercube)
S.build_model(coefficients=gamma, numpoints=sigma, resolution=rho)

Now, it is possible to exploit surF's approximate(x) method to calculate the fitness value of a candidate solution x using the Fourier surrogate model.

Citing surF

If you find surF useful for your research, please cite our work as follows:

Manzoni L., Papetti D.M., Cazzaniga P., Spolaor S., Mauri G., Besozzi D., and Nobile M.S.: Surfing on Fitness Landscapes: FST-PSO Powered by Fourier Surrogate Modeling (under revision)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

surfer-0.0.1.tar.gz (4.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page