GeneHunter представляет собой комплекс мощных программных средств для решения оптимизационных задач с помощью последних достижений методологии генетических алгоритмов. В состав GeneHunter входит надстройка Microsoft® Excel™, которая позволяет пользователю запускать решение оптимизационной задачи прямо из рабочего листа. Кроме того, GeneHunter содержит динамическую библиотеку функций генетических алгоритмов, которые могут быть вызваны из таких языков программирования, как Microsoft® Visual Basic или Cи.
Например, если некоторый вид животных обитает в болотистой среде, то со временем эволюция приведет к возникновению особей с перепончатыми лапами. Причина этого заключается в том, что члены популяции, будем называть их индивидуумы, будут вымирать, если они плохо плавают и не могут легко добыть себе пищу, а выживут и будут размножаться те, которые плавают хорошо. Потомство двух хороших пловцов, возможно, тоже окажется хорошими пловцами, поскольку обычно оно несет в себе генетические признаки родителей, такие как, например, перепонки между пальцами. Эти генетические признаки содержатся в хромосомах индивидуумов.
GeneHunter решает Вашу задачу, позволяя (мирно) вымирать индивидуумам, наименее удовлетворяющим условиям задачи, и отбирая для скрещивания наиболее подходящих индивидуумов (тех, которые дают наилучшее решение задачи). Этот процесс называется селекцией, аналогично отбору наиболее приспособленных индивидуумов в природе. GeneHunter берет двух подходящих индивидуумов и производит между ними частичный обмен генетической информацией (этот процесс называется скрещивание). Потомство скрещенной пары будет нести в себе часть признаков от матери, а часть - от отца.
В природе потомство часто имеет некоторые небольшие отклонения от нормы, называемые мутацией. Обычно такие мутации являются калечащими и приводят к гибели потомства, однако иногда они улучшают приспособляемость индивидуума (как это было в случае соединения пальцев перепонкой). Подобным образом GeneHunter иногда вызывает мутации в своих популяциях.
После того, как GeneHunter скрещивает подходящих индивидуумов и производит мутации, наступает смена поколений. Теперь популяция будет состоять из потомства плюс несколько старых индивидуумов, которым GeneHunter позволяет выжить, поскольку они являются наилучшими в популяции, и мы хотим, чтобы они продолжали участвовать в скрещивании. Такие наиболее подходящие индивидуумы называются элитой.
Через десятки и даже сотни "поколений" в конце концов возникает популяция, в которой индивидуумы решают задачу очень хорошо. Фактически, наилучший (элитный) индивидуум даст оптимальное или близкое к оптимальному решение.
|
|
|
|
|