генетический алгоритм, в искусственном интеллекте — тип эволюционного компьютерного алгоритма, в котором «размножаются» символы (часто называемые «генами» или «хромосомами»), представляющие возможные решения. Такое «разведение» символов обычно включает в себя использование механизма, аналогичного процессу скрещивания-пересечения в генетической рекомбинации, и регулируемой скорости мутации. Функция пригодности используется в каждом поколении алгоритмов для постепенного улучшения решений по аналогии с процессом естественного отбора. Процесс разработки генетических алгоритмов и автоматизации отбора известен как генетическое программирование. Помимо общего программного обеспечения, генетические алгоритмы иногда используются в исследованиях искусственной жизни, клеточных автоматов и нейронных сетей.
Хотя Джон Холланд не был первым, кто начал экспериментировать с генетическими алгоритмами, он много сделал для развития и популяризации этой области своей работой в начале 1970-х годов в Мичиганском университете. Как описано в его книге «Адаптация в естественных и искусственных системах» (1975; пересмотрено и дополнено в 1992 году), он разработал метод, или теорему о схеме, для оценки каждого поколения генетических алгоритмов. Джон Коза, один из докторантов Холланда и обладатель более десятка патентов, связанных с генетическим программированием, одним из первых разработал коммерческие приложения этой области, став основателем компании, известной как Scientific Games. Коза поделился своим опытом программирования в серии книг, начиная с «Генетическое программирование: On the Programming of Computers by Means of Natural Selection» (1992).
Одна из трудностей, часто встречающихся в генетическом программировании, заключается в том, что алгоритмы застревают в области достаточно хорошего решения («область локального оптимума»), а не находят наилучшее решение («глобальный оптимум»). Для выхода из таких эволюционных тупиков иногда требуется вмешательство человека. Кроме того, генетическое программирование требует больших вычислительных затрат. В 1990-х годах методы программирования для него не были достаточно развиты, чтобы оправдать дорогостоящее использование суперкомпьютеров, что ограничивало его применение довольно упрощенными задачами. Однако по мере того, как дешевые персональные компьютеры становились все мощнее, генетическое программирование стало пользоваться заметным коммерческим успехом в проектировании схем, сортировке и поиске данных, а также в квантовых вычислениях. Кроме того, Национальное управление по аэронавтике и исследованию космического пространства (NASA) использовало генетическое программирование при проектировании антенн для проекта Space Technology 5, в рамках которого в 2006 году были запущены три «микроспутника» для мониторинга влияния солнечной активности на магнитосферу Земли.