A great idea for the Fancy Delphi Application Contest ;-)
BoggleGenetic Algorithms (GAs) are adaptive heuristic search algorithms based on the idea of evolution, genetics and natural selection. They employ a population of individuals that undergo selection in the presence of variation-inducing operators such as mutation and recombination (crossover). A fitness function is used to evaluate individuals, and reproductive success varies with fitness. From generation to generation an improvement of the maximum fitness is usually being observed.
The Boggle Algorithm:
- Randomly generate an initial population M(0)
- Compute and save the fitness u(m) for each individual m in the current population M(t)
- Define selection probabilities p(m) for each individual m in M(t) so that p(m) is proportional to u(m)
- Generate M(t+1) by probabilistically selecting individuals from M(t) to produce offspring via genetic operators
- Repeat step 2 until satisfying solution is obtained.
In Boggle, words that can be constructed from the letters of sequentially adjacent cells in a grid, where "adjacent" cells are those horizontally, vertically or diagonally neighboring. Words must be at least three letters long, may include singular and plural (or other derived forms) separately, but may not use the same cell more than once per word.
The interface is pretty self-explanatory. To run it just click 'Start'. The 'best' solution at any time is always displayed in the table on the upper left side.
"Boggle" was submitted by Adi Andrei.
Do you have a FDA(C)? Submit your Delphi code to the Fancy Delphi Application Contest.