- •Теоретические материалы
- •Эксперимент 2 Задание на выполнение
- •Варианты заданий
- •Теоретические материалы
- •Структура отчета по лабораторной работе
- •Рекомендуемые интернет-ресурсы
- •Лабораторная работа № 2. «Программная реализация структур генетического алгоритма»
- •Задание на выполнение лабораторной работы
- •Варианты заданий
- •Теоретические материалы
- •Вещественное кодирование
- •Структура отчета по лабораторной работе:
- •Рекомендуемые интернет ресурсы
- •Лабораторная работа № 3. «Программная реализация и экспериментальное исследование генетического алгоритма»
- •Задание на выполнение лабораторной работы
- •Варианты заданий
- •Теоретические материалы
- •Структура отчета по лабораторной работе:
- •Лабораторная работа № 4. «Программная реализация и экспериментальное исследование персептрона и алгоритма обучения»
- •Задание на выполнение лабораторной работы
- •Варианты заданий
- •Теоретические материалы
- •Структура отчета по лабораторной работе:
- •Рекомендуемые интернет ресурсы
- •Лабораторная работа № 5. «Программная реализация и экспериментальное исследование нейроэволюционного алгоритма»
- •Задание на выполнение лабораторной работы
- •Теоретические материалы
- •Структура отчета по лабораторной работе:
- •Рекомендуемые интернет ресурсы
Теоретические материалы
Пример кода на языке Prolog, реализующего возведение в степень с использованием рекурсии представлен в листинге 1.2.
Листинг 1.2. Реализация рекурсии
% Copyright implement main open core, console class predicates power : (integer, integer, integer [out]) nondeterm. clauses power(X, 1, X). power(X, Y, Z) :- Y > 1, Y1 = Y - 1, power(X, Y1, Z1), Z = Z1 * X. run() :- nl, write("Power 1"), nl, power(5, 1, Z), write(Z), nl, fail. run() :- nl, write("Power 8"), nl, power(2, 8, Z), write(Z), nl, fail. run() :- stdio::write("\nEnd"). end implement main goal console::runUtf8(main::run).
Структура отчета по лабораторной работе
Цель работы.
Эксперимент 1.
Код программы на языке Prolog, реализующей формальную логическую модель с подробными комментариями.
Результаты выполнения программы.
Задание на выполнение 2.
Эксперимент 2.
Задание на выполнение эксперимента 2.
Формальная логическая модель.
Код программы на языке Prolog, реализующей формальную логическую модель с подробными комментариями.
Результаты выполнения программы (с учетом требований, содержащихся в индивидуальном задании).
Рекомендуемые интернет-ресурсы
Ссылки на рекомендуемые ресурсы представлены в табл. 1.3.
Таблица 1.3.
Рекомендуемые интернет-ресурсы
Название ресурса |
Ссылка на ресурс (QR-код) |
Ссылка на ресурс (текст) |
Visual Prolog (официальный сайт) |
|
https://www.visual-prolog.com/
|
Fundamental Visual Prolog (руководство по использованию) |
|
https://wiki.visual-prolog.com/index.php?title=Fundamental_Visual_Prolog |
Установка Visual Prolog 5.2 и разработка программы HelloWorld |
|
https://www.youtube.com/watch?v=58bBbf-Y_lw |
Логическое программирование на языке Visual Prolog Учебное пособие |
|
https://ssau.ru/files/resources/sotrudniki/soldatova_lezina.pdf |
Лабораторная работа № 2. «Программная реализация структур генетического алгоритма»
Цель работы: приобретение навыков разработки и программной реализации на C# структур и операторов генетических алгоритмов.
Трудоемкость: 4 академических часа.
Лабораторная работа выполняется в составе бригад по 2 человека. Номер варианта определяется по последней цифре студенческого билета (вариант №10 соответствует цифре 0) или задаётся преподавателем.
Задание на выполнение лабораторной работы
Разработать модель хромосомы, фитнес-функцию, операторы мутации и кроссинговера согласно своему варианту. Выполнить тестирование моделей и операторов с помощью xUnit.Net.
Варианты заданий
Варианты указаны в табл. 2.1.
Таблица 2.1.
Варианты заданий для лабораторной работы №2
№ |
Задание |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R ; разрядность гена (отдельного рабочего параметра) – 8; количество рабочих параметров задается специальным методом и может быть от 2 до N; целочисленное кодирование с помощью двоичных чисел; диапазон изменения вектора рабочих параметров от xmin до xmax. Фитнес функция: Функция сферы:
Глобальный минимум:
Оператор мутации: Мутация у отдельной особи происходит с вероятностью 0,09 – 0,99. Выбирается случайным образом ген, и в нем инвертируется один бит, выбранный случайным образом. Оператор кроссинговера: Двухточечный кроссинговер. |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R ; разрядность гена (отдельного рабочего параметра) – 16; количество рабочих параметров задается специальным методом и может быть от 2 до N; целочисленное кодирование с помощью кода Грея; диапазон изменения вектора рабочих параметров от от xmin до xmax. Фитнес функция: Функция Роземброка:
Глобальный минимум:
Оператор мутации: Мутация у отдельной особи происходит с вероятностью 0,08 – 0,95. Выбирается случайным образом ген, и в нем инвертируется один бит, выбранный случайным образом. Оператор кроссинговера: Простой одноточечный кроссинговер. |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R ; разрядность гена (отдельного рабочего параметра) – 16; количество рабочих параметров задается специальным методом и может быть от 2 до N; целочисленное кодирование с помощью кода Грея; диапазон изменения значений элементов вектора рабочих параметров от xmin до xmax.,
Фитнес функция: Функция Экли:
Глобальный минимум:
Оператор мутации: Мутация у отдельной особи происходит с вероятностью 0,09 – 0,0995. Выбирается случайным образом ген, и в нем инвертируется два бита, выбранные случайным образом. Оператор кроссинговера: Трехточечный кроссинговер. |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R; разрядность гена (отдельного рабочего параметра) – 32; количество рабочих параметров задается специальным методом и может быть от 2 до N; целочисленное кодирование с помощью двоичных чисел; диапазон изменения элементов вектора рабочих параметров от – xmin до xmax. Фитнес функция: Функция Била:
Глобальный минимум:
Оператор мутации: Мутация у отдельной особи происходит с вероятностью 0,08 – 0,001. Выбирается случайным образом два гена, которые меняются местами. Оператор кроссинговера: Простой двухточечный кроссинговер. |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R ; разрядность гена (отдельного рабочего параметра) – 16; количество рабочих параметров задается специальным методом и может быть от 2 до N; целочисленное кодирование с помощью двоичных чисел; диапазон изменения вектора рабочих параметров от – xmin до xmax. Фитнес функция: Функция Бута:
Глобальный минимум:
Оператор мутации: Мутация у отдельной особи происходит с вероятностью 0,08 – 0,001. Выбирается случайным образом ген, и в нем инвертируется два бита, выбранные случайным образом. Оператор кроссинговера: Простой двухточечный кроссинговер. |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R; количество рабочих параметров задается специальным методом и может быть от 2 до N; вещественное кодирование; диапазон изменения значений элементов вектора рабочих параметров от xmin до xmax.,
Фитнес функция: Функция МакКормика:
Глобальный минимум:
Оператор мутации: Мутация с нормальным распределением (Random Mutation). Мутация у отдельной особи происходит с вероятностью 0,01 – 0,05. Выбирается случайным образом ген, и в нем генерируется случайное вещественное число x ϵ [xmin, xmax] с нормальным распределением, смещенным от текущего значения:
Оператор кроссинговера: BLX-a-b кроссинговер. |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R; количество рабочих параметров задается специальным методом и может быть от 2 до N; вещественное кодирование; диапазон изменения значений элементов вектора рабочих параметров от xmin до xmax.,
Фитнес функция: Функция «подставка для яиц»:
Глобальный минимум:
Оператор мутации: Случайная мутация (Random Mutation). Мутация у отдельной особи происходит с вероятностью 0,01 – 0,1. Выбирается случайным образом ген, и в нем генерируется случайное вещественное число x ϵ [xmin, xmax] с равномерным распределением вероятности:
Оператор кроссинговера: BLX-a-b кроссинговер. |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R; количество рабочих параметров задается специальным методом и может быть от 2 до N; вещественное кодирование; диапазон изменения значений элементов вектора рабочих параметров от xmin до xmax., Фитнес функция: Функция Изома:
Глобальный минимум:
Оператор мутации: Альтернативная случайная мутация (Alternate Random Mutation). Мутация у отдельной особи происходит с вероятностью 0,005 – 0,1. Выбирается случайным образом ген, и в нем генерируется случайное смещение Δ ϵ [xmin/5, xmax/5] с равномерным распределением вероятности:
Если после смещения текущее значение выходит за пределы интервала, то округляем до xmin или xmax.
Оператор кроссинговера: BLX-a кроссинговер. |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R; количество рабочих параметров задается специальным методом и может быть от 2 до N; вещественное кодирование; диапазон изменения значений элементов вектора рабочих параметров от xmin до xmax.,
Фитнес функция: Функция Химмельблау:
Глобальный минимум:
Оператор мутации: Мутация с нормальным распределением (Random Mutation). Мутация у отдельной особи происходит с вероятностью 0,01 – 0,05. Выбирается случайным образом ген, и в нем генерируется случайное вещественное число x ϵ [xmin, xmax] с нормальным распределением, смещенным от текущего значения:
Оператор кроссинговера: BLX-a кроссинговер. |
|
|
Хромосома: вектор рабочих параметров для задач непрерывного нелинейного математического программирования X = {x1, x2, xn}, xi ϵ R; количество рабочих параметров задается специальным методом и может быть от 2 до N; вещественное кодирование; диапазон изменения значений элементов вектора рабочих параметров от xmin до xmax.,
Фитнес функция: Функция трехгорбого верблюда:
Глобальный минимум:
Оператор мутации: Альтернативная случайная мутация (Alternate Random Mutation). Мутация у отдельной особи происходит с вероятностью 0,005 – 0,1. Выбирается случайным образом ген, и в нем генерируется случайное смещение Δ ϵ [xmin/5, xmax/5] с равномерным распределением вероятности:
Если после смещения текущее значение выходит за пределы интервала, то округляем до xmin или xmax.
Оператор кроссинговера: BLX-a-b кроссинговер. |
