Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rubencodes/evolalgorithms
An Implementation of Genetic Algorithms and Population Based Incremental Learning
https://github.com/rubencodes/evolalgorithms
Last synced: 3 days ago
JSON representation
An Implementation of Genetic Algorithms and Population Based Incremental Learning
- Host: GitHub
- URL: https://github.com/rubencodes/evolalgorithms
- Owner: rubencodes
- Created: 2013-03-09T16:57:09.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2013-03-09T17:03:24.000Z (almost 12 years ago)
- Last Synced: 2024-11-23T16:14:12.439Z (2 months ago)
- Size: 117 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
/*****************************************************************
* READ ME:
* Evolutionary Algorithms
* An Implementation of Genetic Algorithms
* and Population-Based Incremental Learning
*
* By Tyler Higgins, Marissa Rosenthal, and Ruben Martinez
*
* Included Files:
* SATFileReader.java
* EvolAlg.java
*
* Required Arguments:
* For Genetic Algorithms:
* [1] Name of File
* i.e. file.cnf
* [2] Number of Individuals (Population)
* i.e. 100
* [3] Selection Method
* [a] Tournament select ( ts )
* [b] Rank select ( rs )
* [c] Boltzmann ( bs )
* [4] Crossover Method
* [a] One-Point Crossover ( 1c )
* [b] Uniform Crossover ( uc )
* [5] Crossover Probability
* i.e. 0.7
* [6] Mutation Probability
* i.e. 0.02
* [7] Number of Generations
* i.e. 100
* [8] Algorithm
* [a] Genetic Algorithm ( g )
* Example: java EvolAlg file.cnf 100 ts 1c 0.7 0.01 100 g
*
* For Population-Based Incremental Learning:
* [1] Name of File
* i.e. file.cnf
* [2] Number of Individuals (Population)
* i.e. 100
* [3] Positive Learning Rate
* i.e. 0.1
* [4] Negative Learning Rate
* i.e. 0.075
* [5] Mutation Probability
* i.e. 0.02
* [6] Mutation Amount
* i.e. 0.05
* [7] Number of Generations
* i.e. 100
* [8] Algorithm
* [a] PBIL ( p )
* Example: java EvolAlg file.cnf 100 0.1 0.075 0.02 0.05 100 p
*
* Instructions:
* Our program takes in a file containing formatted MAXSAT
* problems. Depending on the arguments, it will either run
* a genetic algorithm, or run a population-based incremental
* learning algorithm for a specified number of generations,
* and outputs the best individual created by the algorithm,
* the generation it was found, the number of clauses it
* satisfies, the percent satisfied clauses, as well as some
* information about the input file such as name, number of
* variables, number of clauses, and the maximum number of
* variables in a clause.
* When running a genetic algorithm, the user can choose among
* tournament selection, rank selection, or Boltzmann selection.
* They can also choose between one-point crossover and uniform
* crossover, as well as select custom values for population
* size, number of generations, and crossover and mutation
* probabilities.
* When running in PBIL mode, the user can also choose a custom
* population size, number of generations, and mutation amount.
* They can also specify positive and negative learning rates,
* as well as, mutation amount.
*****************************************************************/