Projects By
Branches of Science
Primary School
Projects
Elementary School
Projects
Middle School
Projects
High School
Projects
Advanced
Projects
Award Winning
Projects
Warning!
 
 


Electronics science fair project:
Finding a practical mathematical function for f(x) with genetic algorithms




 

Science Fair Project Guide

Science Fair Projects Home
Physical Sciences
Electronics
Genetic Algorithms


Electronics Science Fair Projects Home

  • Computers
  • Robotics & (AI)
  • Radio & Wireless
  • Telecommunications
  • Electronics Devices
  • Components
  • Power Supplies
  • Clocks & Counters
  • Radar & Sonar
  • Cell Phones
  • Solar Cells
  • Software
  • Electronics Circuits
  • Books














  • Science Fair Project Information
    Title: Finding a practical mathematical function for f(x) with genetic algorithms
    Subject: Robotics / Artificial Intelligence
    Grade level: High School - Grades 10-12
    Academic Level: Advanced
    Project Type: Experimental
    Cost: Medium
    Awards: First Place, Canada Wide Virtual Science Fair (2007)
    Affiliation: Canada Wide Virtual Science Fair (VSF)
    Year: 2007
    Description: This project addresses the following problem: Given a set of points on a graph, can a computer accurately find a practical mathematical function through the use of a genetic algorithm without any prior knowledge of what function that set of points may resemble?
    Link: http://www.virtualsciencefair.org/2007/chin7j2/
    Short Background

    In artificial intelligence, an evolutionary algorithm (EA) is a subset of evolutionary computation, a generic population-based metaheuristic optimization algorithm. An EA uses some mechanisms inspired by biological evolution: reproduction, mutation, recombination, and selection. Candidate solutions to the optimization problem play the role of individuals in a population, and the fitness function determines the environment within which the solutions "live" (see also cost function). Evolution of the population then takes place after the repeated application of the above operators. Artificial evolution (AE) describes a process involving individual evolutionary algorithms; EAs are individual components that participate in an AE.

    Evolutionary algorithms often perform well approximating solutions to all types of problems because they ideally do not make any assumption about the underlying fitness landscape; this generality is shown by successes in fields as diverse as engineering, art, biology, economics, marketing, genetics, operations research, robotics, social sciences, physics, politics and chemistry.

    Apart from their use as mathematical optimizers, evolutionary computation and algorithms have also been used as an experimental framework within which to validate theories about biological evolution and natural selection, particularly through work in the field of artificial life. Techniques from evolutionary algorithms applied to the modelling of biological evolution are generally limited to explorations of microevolutionary processes, however some computer simulations, such as Tierra and Avida, attempt to model macroevolutionary dynamics.

    A possible limitation of many evolutionary algorithms is their lack of a clear genotype-phenotype distinction. In nature, the fertilized egg cell undergoes a complex process known as embryogenesis to become a mature phenotype. This indirect encoding is believed to make the genetic search more robust (i.e. reduce the probability of fatal mutations), and also may improve the evolvability of the organism. Recent work in the field of artificial embryogeny, or artificial developmental systems, seeks to address these concerns.

    Evolutionary algorithm techniques:

    Genetic algorithm - This is the most popular type of EA. One seeks the solution of a problem in the form of strings of numbers (traditionally binary, although the best representations are usually those that reflect something about the problem being solved), by applying operators such as recombination and mutation (sometimes one, sometimes both). This type of EA is often used in optimization problems;

    Genetic programming - Here the solutions are in the form of computer programs, and their fitness is determined by their ability to solve a computational problem.

    Evolutionary programming - Like genetic programming, only the structure of the program is fixed and its numerical parameters are allowed to evolve;

    Evolution strategy - Works with vectors of real numbers as representations of solutions, and typically uses self-adaptive mutation rates.

    A genetic algorithm (GA) is a search technique used in computing to find exact or approximate solutions to optimization and search problems. Genetic algorithms are categorized as global search heuristics. Genetic algorithms are a particular class of evolutionary algorithms (also known as evolutionary computation) that use techniques inspired by evolutionary biology such as inheritance, mutation, selection, and crossover (also called recombination).

    In artificial intelligence, genetic programming (GP) is an evolutionary algorithm-based methodology inspired by biological evolution to find computer programs that perform a user-defined task. It is a specialization of genetic algorithms where each individual is a computer program. Therefore it is a machine learning technique used to optimize a population of computer programs according to a fitness landscape determined by a program's ability to perform a given computational task.

    Source: Wikipedia (All text is available under the terms of the GNU Free Documentation License)

    For More Information: Genetic Algorithms & Genetic Programming


    Useful Links
    Science Fair Projects Resources
    Electronics Resources
    Citation Guides, Style Manuals, Reference
    General Safety Resources
    Electrical Safety FAQ
    Electronics Science Fair Project Books


                  

    Sites for Teachers

    Scientists and Inventors    Scientists and Inventors    Scientists and Inventors   

    My Dog Kelly

    Comments and inquiries could be addressed to:
    webmaster@julianTrubin.com

    Last updated: December 2008
    Copyright © 2003-2008 Julian Rubin