All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.cicirello.math.rand.package-info Maven / Gradle / Ivy

/*
 * Ziggurat Gaussian and other randomization related algorithms.
 * Copyright 2015, 2017-2022 Vincent A. Cicirello, .
 *
 * This program is free software: you can
 * redistribute it and/or modify it under the terms of the GNU
 * General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your
 * option) any later version.
 *
 * This program is distributed in the hope
 * that it will be useful, but WITHOUT ANY WARRANTY; without even
 * the implied warranty of MERCHANTABILITY or FITNESS FOR A
 * PARTICULAR PURPOSE.	See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see .
 */

/**
 *
 *
 * 

org.cicirello.math.rand

* *

Copyright © 2015, 2017-2024 Vincent A. * Cicirello. * *

Maven Central GitHub
 * release (latest by date) GitHub Repository GNU General Public
 * License Version 3 (GPLv3) * *

Support

* *

GitHub Sponsors Liberapay Ko-Fi * *

See ρμ for Expanded Functionality

* *

If you find the functionality of this package useful, please see the ρμ library, which has absorbed this entire package and has greatly expanded * upon it. * *

About

* *

This package originated as part of an effort to speed up the runtime of a parallel genetic * algorithm (PGA). The PGA in question evolved its control parameters (i.e., crossover and mutation * rates, etc) using Gaussian mutation. The only Gaussian implementation within the Java API is the * polar method (nextGaussian method of the {@link java.util.Random Random} and {@link * java.util.concurrent.ThreadLocalRandom ThreadLocalRandom} classes, however the polar method is * quite slow relative to other newer available alternatives, such as the Ziggurat method. * *

You can find information on when this ziggurat implementation is likely advantageous, * including results of experiments in the following report: * *

* *

You can find some experimental data comparing the performance of a sequential genetic * algorithm (GA) using the implementation of the Ziggurat method for Gaussian mutation vs using the * more common polar method, as well as experimental data for the same comparison but with a PGA, in * the following paper: * *

* * @author Vincent A. Cicirello, https://www.cicirello.org/ */ package org.cicirello.math.rand;




© 2015 - 2025 Weber Informatics LLC | Privacy Policy