Academic Research and Projects

Genetic Algorithm Research (Spring / Summer 2013)


DNA Sequence During the Spring Semester of 2013, I was enrolled in CSIS-375, Artificial Intelligence taught by Dr. Larry Medsker. Throughout said course, we formed groups to specifically study an area of artificial intelligence with the intent being, that each group would be "experts" in the corresponding area of AI that they had chosen. My group chose to research Genetic Algorithms, which is an area of artificial intelligence that is modeled based on the real life concept of "survival of the fittest". Our final project was a program that combined elements of info. extraction with genetic algorithms to parse through a research article and based on the keywords provided by the user, determine just how relevant an article was to the user.

Within a typical Genetic Algorithm structure there exists a number of entities, typically known as chromosomes which represent potential solutions to the problem that you seek the answer to. These chromosomes, which are collectively known as the Population, as the number of iterations of the genetic algorithm increase, will hopefully begin to look like a reasonable, or the exact solution that you are looking for. The G.A. process can be simply described in 3 steps:

  1. Define an initial population. Typically the initial population is composed of chromosome's that are randomly generated based off of the composition of a chromosome. In our case, the chromosomes were initialized with random keywords.

  2. Either until you reach the desired number of generations, or until the fitness of a chromosome has reached an optimal value, sort the population based on fitness, then crossover the population. Without getting into more lengthy details, the crossover process can be thought of as taking preferable elements of two chromosomes from the current generation's population, and passing them to a chromosome in the next generation. This process will continuously increase the fitness of the population if implemented correctly.

  3. Finally you obtain back results on what the G.A. determined to be the best solution.

During the summer I extended the project to include searching through any number of articles, and based on the user defined keywords, present the user with the most relevant articles found, as well as the most noteworthy keywords associated with said article.


For more information feel free to read this instruction manual which provides a more specified description of what the software that was created does.
Download the User-Guide

Sample Screenshot of the GA

Pictured below is a screenshot displaying part of the parameter retrieval process, which currently is done via terminal window, and the respective output after the genetic algorithm had finished processing.
An image of the G.A. application.