- •Введение
- •Глава 1 системы, основанные на знаниях
- •1.1. История создания искусственного интеллекта
- •1.2. Процесс мышления
- •1.3. Основные понятия и классификация систем, основанных на знаниях
- •1.4. Экспертные системы как элемент искусственного интеллекта
- •1.5. Теоретические аспекты извлечения знаний
- •1.6. Коммуникативные методы извлечения знаний
- •1.7. Текстологические методы извлечения знаний
- •Глава 2 модели представления знаний
- •2.1. Представление знаний и выводы в экспертных системах
- •2.2. Модель представления знаний средствами логики предикатов первого порядка
- •2.3. Представление знаний продукционными правилами
- •2.4. Модель представления знаний в виде фреймов
- •2.5. Представление знаний в виде семантической сети
- •2.6. Модель доски объявлений
- •2.7. Модель представления знаний в виде сценария
- •Глава 3 архитектура и технология разработки экспертных систем
- •3.1. Основные положения
- •3.2. Технология разработки экспертной системы
- •3.3. Механизм вывода (интерпретатор правил)
- •3.4. Взаимодействие пользователей с экспертной системой
- •3.5. Подсистема анализа и синтеза сообщений
- •3.6. Морфологический анализ входных сообщений
- •3.7. Синтаксический анализ входных сообщений
- •3.8. Семантический анализ входных сообщений
- •3.9. Синтез выходных сообщений
- •3.10. Диалоговая подсистема
- •3.11. Объяснительные способности эс
- •Глава 4 применение нечеткой логики в эксперТнЫх системах
- •4.1. Предпосылки возникновения нечеткой логики
- •4.2. Нечеткая логика
- •4.3. Нечеткие подмножества
- •4.4. Нечеткие правила вывода в экспертных системах
- •4.5. Задания для разработки экспертных систем
- •Глава 5 ГенетическиЙ алгоритм
- •5.1. Предисловие
- •5.2. Генетический алгоритм
- •5.3. Параметры и этапы генетического алгоритма
- •5.3.1. Кодирование информации и формирование популяции
- •5.3.2. Оценивание популяции
- •5.3.3. Селекция
- •5.3.4. Скрещивание и формирование нового поколения
- •7.3.5. Мутация
- •5.4. Настройка параметров генетического алгоритма
- •5.5. Канонический генетический алгоритм
- •5.6. Пример работы и анализа генетического алгоритма
- •5.7. Общие рекомендации к программной реализации генетического алгоритма
- •5.8. Задания для лабораторных работ
- •Глава 6 искусственные нейронные сети
- •6.1. Биологические нейронные сети
- •6.2. Формальный нейрон
- •6.3 Нейронные сети
- •6.4. Обучение инс
- •8.5. Алгоритм обратного распространения ошибки
- •6.6. Работа нейронной сети
- •6.7. Пример работы и обучения нейронной сети
- •6.8. Программная реализация
- •6.9. Задания для лабораторных работ
- •Заключение
- •Приложение 1 Контрольные вопросы
- •Приложение 2 Темы рефератов и индивидуальных заданий Темы рефератов
- •Темы индивидуальных заданий
- •Приложение 3 Ресурсы в сети Интернет
- •Список литератуРы
- •Оглавление
5.7. Общие рекомендации к программной реализации генетического алгоритма
Программную реализацию ГА можно создать, используя как объектно-ориентированный, так и структурный подход. Ниже предлагается способ реализации различных компонентов генетического алгоритма с использованием обоих подходов (табл. 5.2).
Табл. 5.2. Варианты реализации компонентов ГА
Компонент генетического алгоритма |
Структурный подход |
Объектно-ориентированный подход |
Особь |
Одномерный массив для записи значений генов. Размерность массива совпадает с количеством генов у одной особи (количество генов равно числу настраиваемых параметров) |
Класс «Особь», содержащий массив генов |
Популяция |
Двумерный массив, в котором i-я строка содержит гены i-й особи |
Отдельный класс «Популяция», содержащий одномерный массив объектов класса, представляющего особь
|
Оценивание популяции |
Подпрограмма оценки строк массива популяции в соответствии с выбранной целевой функцией |
Метод управляющего класса, оценивающий популяцию в соответствии с выбранной целевой функцией |
Приспособленность популяции |
Одномерный массив, в котором i-й элемент соответствует приспособленности i-й особи |
Одномерный массив со значениями ошибок особей, входящий в управляющий класс |
Особи, выбранные для скрещивания |
Двумерный массив, строки которого соответствуют хромосомам особей, выбранным для скрещивания |
Объект класса «Популяция», содержащий объекты класса «Особь», соответствующие выбранным особям |
Реализация скрещивания, мутации, формирования нового поколения |
Подпрограммы, обрабатывающие элементы массива, представляющего популяцию особей, а также популяцию особей, выбранных для скрещивания |
Методы управляющего класса, работающие с основной популяцией и популяцией особей для скрещивания |
Приведенный в табл. 5.2 способ реализации генетического алгоритма не является эталонным и, вполне возможно, далек от идеала. Данные в табл. 5.2 могут служить в качестве «опорных» для конкретной реализации генетического алгоритма. Отметим, что бóльшую гибкость и расширяемость программной реализации не только генетического алгоритма, но и любого другого алгоритма и системы вообще можно достичь, используя компонентно-ориентированный подход и паттерны проектирования [35].
5.8. Задания для лабораторных работ
-
Аппроксимировать набор точек линейной функцией:
.
Вариант А) Использовать целочисленное кодирование.
Вариант Б) Использовать вещественное кодирование.
-
Аппроксимировать набор точек экспоненциальной функцией:
.
Вариант А) Использовать целочисленное кодирование.
Вариант Б) Использовать вещественное кодирование.
-
Найти минимум функции:
Вариант А) Использовать целочисленное кодирование.
Вариант Б) Использовать вещественное кодирование.
-
Найти максимум функции:
x [– 4; 0).
Вариант А) Использовать целочисленное кодирование.
Вариант Б) Использовать вещественное кодирование.
-
Найти точку перегиба функции:
f(х) = (x–1.5)3 + 3.
Вариант А) Использовать целочисленное кодирование.
Вариант Б) Использовать вещественное кодирование.
-
Найти точку пересечения функции с осью Ох.
f(х) = ln (x+1) – 2,25, x > –1.
Вариант А) Использовать целочисленное кодирование.
Вариант Б) Использовать вещественное кодирование.
-
Сгенерировать с помощью генетического алгоритма слово “МИР”.
-
Найти с помощью генетического алгоритма особь, гены которой соответствуют, в формате RGB, фиолетовому цвету (96, 96, 159).