Генетические алгоритмы. Генетические алгоритмы — популярный вариант эволюционных алгоритмов. Они являются прежде всего средством решения разнообразных комбинаторных задач и задач оптимизации, но входят также и в стандартный набор инструментов Data Mining. Основой для создания генетических алгоритмов считается модель биологической эволюции и методы случайного поиска; производится имитация механизмов наследственности, изменчивости и естественного отбора в живой природе. Генетические алгоритмы работают со специально закодированными данными решаемой задачи — хромосомами (строками), состоящими из элементарных логических высказываний (генов). Все множество таких комбинаций называют популяцией хромосом. Для поиска оптимального решения вводится способ сопоставления хромосом — функция жизнеспособности, определяющая показатель качества, ценность строки (хромосомы). Вся работа генетического алгоритма направлена на поиск строки с максимальной жизнеспособностью, которая и станет решением задачи.
Популяция обрабатывается с помощью процедур репродукции, изменчивости (мутаций), генетической композиции. Наиболее важными среди этих процедур являются случайные мутации в индивидуальных хромосомах, обмен генами между хромосомами (кроссинговер) и рекомбинация генетического материала индивидуальных родительских хромосом (аналогично гетеросексуальной репродукции), миграции генов. Мутация состоит в том, что у случайно выбранной хромосомы изменяется один или несколько генов, в результате чего изменяются свойства всей хромосомы. Отбор заключается в выборе пары «родителей» для последующего скрещивания. В ходе совершения процедур на каждой стадии эволюции получается популяция со все более совершенными индивидуумами, пока не будут выполнены заданные условия.
Генетические алгоритмы привлекательны тем, что их удобно распараллеливать. Например, можно разбить «поколение» на несколько групп и работать с каждой из них независимо, обеспечивая время от времени межгрупповой обмен несколькими хромосомами. Однако генетические алгоритмы имеют ряд серьезных недостатков. В частности, процесс создания исходного набора хромосом, критерии отбора хромосом и используемые процедуры являются эвристическими и не гарантируют нахождения «лучшего» решения. Как и в живой природе, эволюция может «заклиниться» на какой-либо непродуктивной ветви. И наоборот, два неперспективных «родителя», который будут исключены из эволюции генетическим алгоритмом, могут оказаться способными через несколько итераций произвести высокоэффективного потомка. Это особенно заметно при решении высокоразмерных задач со сложными внутренними связями. Генетические алгоритмы «капризны» в настройке и трудоемки при решении задач поиска логических закономерностей в данных. Генетические алгоритмы не составляют серьезной конкуренции деревьям решений и алгоритмам ограниченного перебора при решении задач поиска логических закономерностей в данных, несмотря на то, что оба последних метода тоже имеют свои принципиальные недостатки.
Do'stlaringiz bilan baham: |