An Algorithmic and Social Introduction to Computer Science (CSC-105 2000S)


How might you use genetic algorithms to produce a form of intelligent program? Do you expect this to be a fruitful road to AI?

Adan

I suppose one possible benefit genetic algorithms could provide is the possibility for programs to possess the ability to adapt. Presumably a program that can adapt has the ability to learn and grow(not in the sense that we learn and grow). After a program put together a combination of things, the results are examined and labeled as either inferior/incorrect, in which case it is stored in memory that it was discarded (learns/remembers that it isn't a good combination)or as worthy, in which case the combination is stored and implements. The still is no certainty as to whether adaptation is an indication of intelligence or not.

Cathy

You use genetic algorithms to create a program that can improve upon itself by combining and propagating the best answers to some problem. I'm not sure whether or not this by itself would be labeled an "intelligent program," but put together with other styles of algorithms that work together to figure out what the best options for certain equations (eventually, perhaps even non-equation-type situations) are, choosing them, learning, adapting, etc., you might be well on that road. I think combining the best parts of a bunch of different AI techniques will probably end up being one of the most promising paths to take.

While I admit that I don't totally understand genetic-style algorithms, they do seem really interesting to me. Genetics in general is one of those things that I find fascinating even though I don't completely grasp all of the concepts involved. I think all of the same cautionary statements and qualifications can be applied to genetic algorithms as to neural nets and any other kind of attempt at AI--just about anything will either be proven really fruitful or totally useless if given enough time, and we can never know which before hand.

Ivy

I know this sounds like a cop-out answer but I'm not sure I understand the concept of genetic algorithms well enough to answer the question. So their argument is that these algorithms are genetic because they evolve? And they evolve in the sense that they can find mins and maxes and test them? I'm not sure I consider that "genetic." Does that match current theories about how living organisms evolve?

Jae

In a similar way, you might use genetic algorithms to allow a computer to go through a self-created job search database searching for the specific career advantages until they evolve to a forumla of optimal cooperation. The intelligent program would then balance wieghts and considerations of importance and evolve a career path based on the achievement of one's stated needs and wants in an optimal arrangement.

I do not fully understand how this algorithm system will be fruitful to AI unless we think that our thinking evolves over time, which obviously in some senses, realizations occur in just such a fashion in the human brain. We have one model for something, then we might try something different, and finally we may decide that some elements from both techniques could be recombined in a more efficient or optimal arrangement. What I do not understand precisely is how the computer affects a evolution of ideas within it's structure very well, but assuming these structures mimic the true understood operation of our thinking, then, they would contribute positively to the development of AI. Are there programs which make use of this technique which are more commonly known than the travelling salesman problem analysis?

Jeana

I suppose that to the extent that you could encode problem and solution instances, you could use genetic algorithms to create a program that exhibited rather advanced problem solving capabilities (which I think is an example of an intelligent program). However, seeing as how all possible problem and solution variations must be encoded into numerical sequences in order for a genetic algorithm to actually work, it seems like the scope of genetic algorithms' applicability is highly constrained. The most significant aspect of genetic algorithms, that they exhibit the ability to "evolve," is certainly very promosing; however, my inclination would be to say that the representation problem is a fairly high hurdle that would have to be overcome if genetic algorithms were to be a truly meaningful means of advancing AI.

Jeff

Genetic algorithms change in response to the needs of the specific problem. Certain aspects of the algorithm are determined by the mandates of the problem and passed on to the next generation algorithm. In this way, the next generation algorithm adapts to better address the needs of the problem. According to David Beasley http://www.faqs.org/faqs/ai-faq/genetic/part2/section-2.html natural selection occurs in an algorithm: When the genetic algorithm is implemented it is usually done in a manner that involves the following cycle: Evaluate the FITNESS of all of the individuals in the population. Create a new population by performing operations such as crossover, fitness-proportionate REPRODUCTION and mutation on the individuals whose fitness has just been measured. Discard the old population and iterate using the new population. (Also, available at this website is a simple sample genetic algorithm).

Genetic algorithms exhibit intelligent behavior by making proper decisions when passing on code to the next generation. Each generation (assume natural selection properly selects the code) becomes more intelligent than the previous creating a form of intelligent program.

Will Garnett states http://www.smalltalkchronicles.com/Tech1-2/tech1-2.html:Genetic Algorithms breed solutions. An initial population is built using individuals representing random solutions. Each subsequent population that is built (each subsequent generation ) uses the previous population as a base - taking the more fit individuals to breed better solutions.These algorithms have been used in the past to help solve very complex problems not easily solved using standard, problem-specific methods. The one advantage that GAs have over problem-specific solutions it that problem-specific solutions are...problem-specific. A solution for one problem may not apply to another - the a new and possibly completely different solution would have to be developed. They are 'context specific'.

Genetic algorithms are able to go beyond the original parameters in code in order to solve problems and mutations in an algorithm introduce new ideas and concepts into the code. The code uses both deductive logic in applying the knowledge that has been defined and the knowledge that the algorithm has previously deduced from previous executions and inductive logic by creating a new code based on need or natural selection. If the goal of AI, is to go beyond human knowledge, genetic algorithms have promise.

Joel

I have not heard of "genetic algorithms" but I took molecular genetics last semester so i know how the genetic part works, assuming that this method of AI is close genetic engineering. To evolve a solution or an algorithm to solve a problem sounds like a good method to me. I don't really understand the sequences or DNA part, or how they "cross-breed" or "mutate" computer programs, or what the purpose of that would be, but it sounds interesting and promising. I would be interested to see how one of these genetic algorithms works and what tasks it can/cannot accomplish. From the general picture, though, I think this could be a very fruitful road for AI.

Kevin

I'm not entirely certain the oh-great Dewdney addresses this question as well as he might, because I was expecting something a little more complicated than guess-and-test and get smarter. I look at the genetic algorithms associates with John Holland of the University of Michigan and try to compare it to my own personal model of how people think. I tend to believe that we think in a manner similar to that, where we keep cutting down a problem bit-by-bit until it's gone, but I can't think of a way that's very processor-efficient or really as much like we think as AI people might imagine. I suspect that it will be helpful in getting to AI, but I suspect that our understanding of a good human model of intelligence and cognition is still too far off to really get a machine to do something like become what we define as "intelligent." Fruitful, yes, but the supreme route which gets us the wonderful solution of "AI" . . . probably not.

Liz

I'm not quite sure how to answer the first question, because, as usual, Dewdney lost me after the first page. (see below) My answer to the second question is: No. I don't believe that evolution can be broken down into binary analysis. I came up with a few holes in the "evolution" given for the mathematical examples. While it was good they accounted for the parents and mutation, I do not think the model captured the true way evolution functions. It is possible for a child from a line of brunettes to be blond because of some great-grandfather. This is not a mutation but a random occurrence of a rare gene that still may be carried by the parents even though it is not dominant. The same goes for "selection of the fittest." There are many genetic traits that humans possess that are not genetically fit. There are the ones that are flukes, and there are the ones that are throwbacks to traits that used to be adaptive but aren't anymore and haven't had time to evolve out (or found some new use other than the original.) Anyway, my point is that I don't think a computer dealing with mathematical theories can replicate the patterns of evolution. I see this much as I saw the neural network way to AI: it might be useful to a point, but I don't know if it will ever replicate nature exactly.

Sam

Well, I'm not sure if i completely understand the idea of genetic algorithms, but hopefully I'm right in gathering that it is a type of program that is designed to evolve and eventually be able to solve particular problems, given information. Once again, we see the concern in creating AI with making it as close to humanly possible. I guess that this seems like a more likely route to intelligent programming than a neural net, since there is potential for the program to grow. If the program was given a problem that it initially couldn't solve, but eventually could, then there is some context set for discussing it as "intelligent." Genetic algorithms leave room for the development of learning, which we have already established as a criteria for intelligence.


Disclaimer Often, these pages were created "on the fly" with little, if any, proofreading. Any or all of the information on the pages may be incorrect. Please contact me if you notice errors.

This page may be found at http://www.math.grin.edu/~rebelsky/Courses/CS105/2000S/Questions/question.38.html

Source text last modified Wed Feb 16 08:16:08 2000.

This page generated on Tue Apr 11 09:50:54 2000 by Siteweaver. Validate this page's HTML.

Contact our webmaster at rebelsky@grinnell.edu