Классический генетический алгоритм в задаче коммивояжера.
Пусть дана некоторая перестановка обозначающая последовательность прохожде-
ния вершин графа размерности n. Очевидно, что ее можно представить в виде p1, p2, …, pn. Для получения кода перестановки выписывается последовательность чисел от 1 до n. Обозначим ее K. Далее закодированный цикл будет составляться следующим образом: выбирается очередной элемент подстановки s, находится его номер в последовательности K и записывается в закодированный цикл.
Из последовательности K число подстановки s вычеркивается. Так продолжается до
тех пор, пока не будут вычеркнуты все числа или, что то же самое, не будут пройдены все числа в перестановке. Обратное преобразование проводится аналогично: выписывается последовательность чисел от 1 до n. Очередной элемент закодированного цикла – это номер числа в этой последовательности. Найденное число записывается в гамильтонов цикл и вычеркивается из последовательности. Такое кодирование позволяет ввести стандартные операторы скрещивания и мутации.
Оператор выбора основывается на принципе рулетки.
Оператор скрещивания. Выбираются две родительские особи и точка (точки) разрыва. Точки разрыва делят родителей на 2 и более частей. Первый потомок получает первую часть от первой родительской особи, вторую – от второй, третью – от первой и т.д. Второй – наоборот: первую часть – от второй родительской особи, вторую – от первой, третью – от второй и т.д.
Оператор мутации. Выбирается особь, над которой будет проводиться мутация. В ней случайным образом выбирается мутирующий ген и новое значение гена после мутации. Пусть мутирует i-й ген и новое значение гена равно bi, тогда должно выполняться
неравенство: bi < n – i + 1. В этом случае при раскодировании получится перестановка из n элементов.
Понятие функции одной переменной не охватывает все существующие зависимости. Пусть – некоторое упорядоченное множество чисел .
Отображение, которое каждому набору этих чисел сопоставляет одно и только одно число называется функцией от переменных .
Множество называется областью определения этой функции.
В дальнейшем будем рассматривать случай только двух переменных, так как все основные свойства функции многих переменных проявляются в этом случае. Записывают функцию двух переменных в виде . В этом случае область определения этой функции будет представлять собой некоторое множество координатной плоскостиили всю плоскость (рис.82). Так для функции областью определения будет вся координатная плоскость , а для функции
областью определения будет круг с центром в начале координат и радиусом, равным 2 (рис. 83).