Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
exp_sys_lab5_ГА.doc
Скачиваний:
15
Добавлен:
19.02.2016
Размер:
297.98 Кб
Скачать

4.3 Геометрична інтерпретація

Розглянемо на прикладі простої одномірної функції f(x) процедуру переходу з евклідова простору параметрів в простір представлень.

f(x) = 10 + x cos(x), на відрізку [0, 10].

Нехай кодування буде здійснюватися бінарними рядками довжини 3. Тобто відрізок [0,10] потрібно розбити на 23= 8 підінтервалів, кожному з яких буде відповідати унікальна двійкова комбінація, одержувана перекладом номера підінтервала, рахуючи зліва направо, у двійковій позиційній системі. Довжина кожного такого інтервалу будеh=10:8=1,25.

Простором пошуку, таким чином, стає безліч усіх бінарних рядків довжини 3. Цей простір можна представити у вигляді тривимірного куба, вершинам якого відповідають кодові комбінації, розташовані так, що хемінінгова відстань між суміжними вершинами дорівнює 1.

Задача алгоритму пошуку полягає в тому, щоб по деякому правилу переміщуватися в нові вершини цього куба, що буде відповідати дослідженню нових підінтервалів у просторі.

Рис. 2.Символьна модель для одномірної задач

Спочатку досліджуємо шими, чий порядок дорівнює трьом, тобто всі три біти в шаблоні визначені. В даному випадку шимам порядку 3 будуть відповідати вершинам куба.

Рис. 3.Простір пошуку трьохбітового представлення

Тепер подивимося, чому будуть відповідати шими порядку 2. Таких шим 2o(H)Cl=22C3=12: {00*, 01*, 10*, 11*, 0*0, 0*1, 1*0, 1*1, *00, *01, *10, *11}. Геометрично, усі такі шаблони описують поверхні, розмірність яких на одиницю перевершує розмірність крапки - вершини куба, тобто шими порядку 2 довжини 3 відповідають ребрам куба (Рис.4), шими порядку 1 довжини 3 – граням куба (Рис.5), порядку 0 и довжини 3 – цілий куб.

Рис. 4. Розташування шим 2-го порядку Рис. 5 - Розташування шим 1-го порядку

В евклідовому просторі шими 2-го та 1-го порядків будуть відповідати таким просторам (наприклад, для шим: 11*, 00* та 0**, 1**) (Рис. 6):

а б

Рис. 6. Інтерпретація шим

а)2-го порядку у просторі параметрів, б)1-го порядку у просторі параметрів

Пристосованість шими визначається як середнє значення пристосованостей всіх прикладів, до яких вона входить. Після процедури відбору залишаються тільки ті рядки, які мають більш високу пристосованість. Тобто рядки з високою пристосованістю вибираються частіше.

5. Програмна реалізація розв’язку задачі про комівояжера на основі генетичного алгоритму

5.1 Постановка задачі

Задача Комівояжера може бути сформульована таким чином. Комівояжер повинен виїхати з заданого міста, побувати в кожному з інших n-1 міст рівно один раз і повернутися в початкове місто (також можливі варіації без повернення в початкове місто). Задача полягає в визначенні послідовності об'їзду міст, при якій комівояжер проїде найменшу сумарну відстань. При цьому припускається, що відстань для кожної пари міст відома. Дозволяє синтезувати оптимальне кільце. Замість довжини дуги можна розглядати будь-які інші критерії ефективності, такі, як вартість, час і т.д.

    • переборний метод є найпростішим. Для пошуку оптимального рішення (максимум цільової функції) потрібно послідовно обчислити значення функції у всіх точках. Недоліком є велика кількість обчислень.

    • іншим способом є градієнтний спуск. Обираємо випадкові значення параметрів, а потім значення поступово змінюють, досягаючи найбільшої швидкості зросту цільової функції. Алгоритм може зупинитись, досягнувши локального максимуму. Градієнтні методи швидкі, але не гарантують оптимального рішення (оскільки цільова функція має декілька максимумів).

Генетичний алгоритм представляє собою комбінацію переборного та градієнтного методів. Механізми кросоверу (схрещування) та мутації реалізують переборну частину, а відбір кращих рішень - градієнтний спуск.

Розв’яжемо модифікацію задачі комівояжера, при якому можна не повертатися до початкового місця обходу (це не несе ніякої принципіальної різниці на складність програми, але буде більш наглядним при великій кількості вершин обходу).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]