Здавалка
Главная | Обратная связь

Сучасне еволюційне програмування



Еволюційне програмування було винайдено доктором Лоуренсом Дж. Фогелем в Національному Науковому Фонді США в 1960 році. Йому було доручено представити доповідь Конгресу США щодо суми інвестицій у фундаментальні дослідження. Одним з питань розгляду був штучний інтелект.

Моделювання еволюції як оптимізації процесу стало наслідком досвіду доктора Фогеля в нових галузях біотехнології, кібернетики і техніки. Доктор Фогель провів серію експериментів, в яких автомати представляли окремі організми. Автомати - це графічні моделі, які використовуються для опису поведінки або програмного забезпечення та апаратних засобів, тому він назвав свій підхід еволюційним програмуванням.

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

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

Процес побудови таких програм будується як еволюція у світі програм (цим метод трохи схожий на генетичні алгоритми).

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

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

Для того, щоб зробити отримані результати зрозумілішими для користувача-нематематика, існує великий арсенал різноманітних засобів візуалізації виявлених залежностей.

Пошук залежності цільових змінних від інших проводиться у формі функцій якогось певного виду.

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

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

Вивчення еволюційного програмування було продовжено в 1980-х у використанні довільних представлень даних і застосовувалося до узагальненої проблеми оптимізації.

Еволюційне програмування, засноване на випадковій мінливості і відборі, було застосовано до таких структур, як речові вектори (Фогель і Атмар, 1990; Фогель, 1990; Девіс, 1994), перестановки(Фогель, 1998), матриці (Фогель, 1993), вектори змінної довжини (Фогель, 1990), бінарні ряди (Фогель, 1989) і так далі [4].

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.