- •О.А. Печень
- •Оглавление
- •Предисловие
- •Раздел 1. Теоретические основы построения иис Тема 1.1. Развитие и области применения интеллектуальных информационных систем
- •1.1.1. Предмет, цель и задачи дисциплины
- •1.1.2. Классификация иис, место и роль иис в ит
- •Контрольные вопросы по теме
- •Тема 1.2. Знания и методы представления знаний
- •1.2.1. Знания, свойства и классификация знаний
- •1.2.2. Модели представления знаний
- •1.2.3. Логическая модель представления знаний
- •1.2.3. Нечеткая логика как расширение логической модели
- •1.2.4. Продукционная модель представления знаний
- •База правил
- •База правил
- •1.2.5. Модель представления знаний на основе семантических сетей
- •1.2.6. Представление знаний с применением фреймов
- •1.2.8. Использование различных моделей представления знаний
- •Контрольные вопросы по теме
- •Тема 1.3. Инженерия знаний и получение знаний
- •1.3.1. Инженерия знаний
- •1.3.2. Методы получения знаний
- •Контрольные вопросы по теме
- •Раздел 2. Технологии экспертных систем
- •2.1.2. Структура экспертных систем
- •2.1.3. Классификация экспертных систем
- •Контрольные вопросы по теме
- •Тема 2.2. Технология разработки экспертных систем
- •2.2.1. Этапы разработки экспертной системы
- •2.2.2. Состав и взаимодействие участников процесса разработки и эксплуатации эс
- •Контрольные вопросы по теме
- •Тема 2.3. Процесс поиска решений и механизмы вывода и рассуждений
- •2.3.1. Поиск как основа функционирования иис
- •2.3.2. Методы поиска решений в пространстве состояний
- •2.3.3. Стратегии поиска в глубину и ширину
- •2.3.4. Стратегия эвристического поиска
- •2.3.5. Формализация задач в пространстве состояний
- •Контрольные вопросы по теме
- •Раздел 3. Технологии нейронных сетей
- •Тема 3.1. Введение в нейронные сети и нейросетевые системы
- •3.1.1. Основы нейросетевого подхода
- •3.1.2. Построение и применение нейросетей
- •Контрольные вопросы по теме
- •Тема 3.2. Классификация и выбор структуры нейросетей
- •3.2.1. Классификация нейросетей
- •3.2.2. Выбор структуры нейросетей
- •Контрольные вопросы по теме
- •Тема 3.3. Решение задач с помощью нейросетей
- •3.3.1. Общий подход к построению нейросети
- •3.3.2. Обучение нейросети
- •3.3.3. Применение обученной нейросети
- •Контрольные вопросы по теме
- •Раздел 4. Эволюционные вычисления
- •Тема 4.1. Эволюционные вычисления и генетические алгоритмы
- •4.1.1. Сущность эволюционного подхода к вычислениям
- •4.1.2. Основы теории генетических алгоритмов
- •4.1.3. Направления развития генетических алгоритмов
- •Контрольные вопросы по теме
- •Раздел 5. Средства разработки и интерфейсы иис
- •Тема 5.1. Инструментальные средства разработки иис
- •5.1.1. Общие сведения о средствах разработки иис
- •5.1.2. Языки программирования для разработки иис
- •Тема 5.2. Интеллектуальные интерфейсы
- •5.2.1. Речевое взаимодействие с иис
- •5.2.2. Графические интеллектуальные интерфейсы
- •5.2.3. Интеллектуальные поисковые системы
- •5.2.4. Обучающие системы и тренажеры
- •Контрольные вопросы по теме
- •Литература
Контрольные вопросы по теме
Опишите общий подход к решению задач с помощью нейронных сетей.
Расскажите зачем необходимо обучение нейросети.
Сформулируйте, что происходит в результате обучения нейросети.
Опишите особенности применения готовых нейросетей для решения задач.
Приведите примеры решения задач с помощью нейросетей.
Раздел 4. Эволюционные вычисления
Тема 4.1. Эволюционные вычисления и генетические алгоритмы
4.1.1. Сущность эволюционного подхода к вычислениям
Общие сведения об эволюционных вычислениях
Эволюционные вычисления- термин, обычно используемый для общего описания алгоритмов поиска, оптимизации или обучения, основанных на некоторых формализованных принципах естественного эволюционного процесса. Основное преимущество эволюционных вычислений в этой области заключается в возможности решения многомодальных (имеющих несколько локальных экстремумов) задач с большой размерностью за счет сочетания элементов случайности и детерминированности точно так, как это происходит в природной среде.
Детерминированность этих методов заключается в моделировании природных процессов отбора, размножения и наследования, происходящих по строго определенным правилам. Основным правилом при этом является закон эволюции: "выживает сильнейший", который обеспечивает улучшение находимого решения. Другим важным фактором эффективности эволюционных вычислений является моделирование размножения и наследования. Рассматриваемые варианты решений могут по определенному правилу порождать новые решения, которые будут наследовать лучшие черты своих "предков".
В качестве случайного элемента в методах эволюционных вычислений может использоваться, например, моделирование процесса мутации. В этом случае характеристики того или иного решения могут быть случайно изменены, что приведет к новому направлению в процессе эволюции решений и может ускорить процесс выработки лучшего решения.
История эволюционных вычислений началась с разработки ряда различных независимых моделей эволюционного процесса. Среди этих моделей можно выделить три основные парадигмы :
Генетические алгоритмы.
Эволюционные стратегии.
Эволюционное программирование.
Основное отличие генетических алгоритмов заключается в представлении любой альтернативы решения в виде битовой строки фиксированной длины, манипуляции с которой производятся в отсутствие всякой связи с ее смысловой интерпретацией. То есть в данном случае применяется единое универсальное представление любой задачи. Парадигму генетических алгоритмов предложил Джон Холланд, опубликовавший в начале 60-х годов ее основные положения. А всеобщее признание она получила после выхода в свет в 1975 году его классического труда "Адаптация в естественных и искусственных системах".
Эволюционные стратегии, напротив, оперируют объектами, тесно связанными с решаемой задачей. Каждая из альтернатив решения представляется единым массивом численных параметров, за каждым из которых скрывается, по сути, аргумент целевой функции. Воздействие на данные массивы осуществляется, в отличие от генетических алгоритмов, с учетом их смыслового содержания и направлено на улучшение значений входящих в них параметров. Парадигму эволюцибнных стратегий предложили в 1973 году Реченберг (I. Rechenberg) в своей работе "Эволюционные стратегии: оптимизация технических систем на основе принципов биологической эволюции" и в 1977 году Шефель (Н.-Р. Schwefel) в работе "Численная оптимизация компьютерных моделей посредством эволюционной стратегии".
В основе направления эволюционного программирования лежит идея представления альтернатив в виде универсальных конечных автоматов, способных реагировать на стимулы, поступающие из окружающей среды. Соответствующим образом разрабатывались и операторы воздействия на них. Идеи эволюционного программирования были предложены в 1966 году Фогелем, Оуэнсом и Уолшем в работе "Построение систем искусственного интеллекта путем моделирования эволюции".
Особенности эволюционного подхода
Как и всякий метод, использующий элемент случайности, эволюционные вычисления не гарантируют обнаружения глобального экстремума целевой функции (цли оптимального решения) за определенное время. Основное их преимущество в том, что они позволяют найти более хорошие решения очень трудных задач за меньшее время, чем другие методы. Естественно, эволюционные вычисления не являются оптимальным средством для решения любых задач, поскольку было доказано, что не существует метода поиска, который был бы наилучшим во всех случаях. Тем не менее методы эволюционных вычислений оказались достаточно эффективными для решения ряда реальных задач инженерного проектирования, планирования, маршрутизации и размещения, управления портфелями ценных бумаг, прогнозирования, а также во многих других областях.
Отрицательной чертой эволюционных вычислений является то, что они представляют собой скорее подход к решению задач оптимизации, чем алгоритм. И вследствие этого требуют адаптации к каждому конкретному классу задач путем выбора определенных характеристик и параметров, речь о которых применительно к генетическим алгоритмам пойдет ниже.
В настоящее время наблюдается взаимное проникновение указанных парадигм и их сращивание в единую концепцию эволюционных вычислений. Поэтому далее имеет смысл рассматривать только одну из них. Здесь, в частности, будут описаны генетические алгоритмы как наиболее распространенные.