- •Основные направления исследований в области искусственного интеллекта.
- •Свойства и отношения. Классификация отношений.
- •Представление знаний и работа с ними. Обзор языков представления знаний.
- •Знания экспертов. Экспертные системы (области применения). Архитектура эс.
- •Система представления знаний.
- •Фреймы. Семантические сети. Классификация базовых понятий сс. Сущности и отношения.
- •Логическая модель представления знаний. Декларативное и процедурное представление знаний. Система логического вывода (слв).
- •Система приобретения знаний. Подсистемы объяснения эс. Организация интерфейса в эс. Жизненный цикл эс.
- •Данные и знания. Управление знаниями.
- •Исчисление предикатов. Правила вывода на основе исчисления предикатов.
- •Нечеткая логика. Модели нечеткой логики.
- •Онтологии. Разработка концептуальной модели предметной области на основе онтологического подхода.
- •Программные агенты и мультиагентные системы.
- •Стохастический подход к описанию неопределенностей.
- •Байесовские сети доверия.
- •Основы искусственных нейронных сетей. Обучение персептрона.
- •Процедура обратного распространения. Сети встречного распространения.
- •Слои Кохоненна
- •Слой Гроссберга
- •Применение стохастических методов для обучения искусственных нейронных сетей.
- •Сети Хопфилда.
- •Ассоциативная память. Адаптивная резонансная теория. Оптические нейронные сети.
- •Описание apt
- •Задачи распознавания образов. Когнитрон и неокогнитрон.
- •Структура
- •Алгоритмы обучения нейронных сетей. Обучение с учителем и без учителя. Самоорганизация. Алгоритмы обучения
- •Цель обучения
- •Обучение с учителем
- •Обучение без учителя
- •Нейронная сеть Хемминга. Нейронная сеть Хебба.
- •Генетические алгоритмы. Адаптивные методы поиска.
- •Алгоритмы роевого интеллекта. Алгоритм роя частиц.
- •Метод пчелиной колонии
- •Моделирование перемещения бактерий
- •Муравьиный алгоритм
- •Жадные алгоритмы
- •Эволюционные вычисления и эволюционное программирование
- •Алгоритм имитации отжига
- •Меметический алгоритм
- •Алгоритм культурного обмена
- •Системы поддержки принятия решений
- •Многомерные данные и olap-технологии
Жадные алгоритмы
Жадный алгоритм на каждом шаге делает локально оптимальный выбор в расчете на то, что итоговое решение также будет оптимальным. Это не всегда оправдано, но для многих задач жадные алгоритмы действительно дают оптимум.
Принцип жадного выбора
Говорят, что к оптимизационной задаче применим принцип жадного выбора (greedy choice property), если последовательность локально оптимальных (жадных) выборов дает глобально оптимальное решение. Различие между жадными алгоритмами и динамическим программированием можно пояснить так: на каждом шаге жадный алгоритм берет “самый жирный кусок”, а потом уже пытается сделать наилучший выбор среди оставшихся вариантов, каковы бы они ни были. Алгоритм динамического программирования принимает решение, просчитав заранее последствие всех вариантов.
Оптимальность для подзадач
Решаемые с помощью жадных алгоритмов задачи обладают свойством оптимальности для подзадач: оптимальное решение всей задачи содержит оптимальное решение подзадач.
И жадные алгоритмы, и динамическое программирование основываются на свойстве оптимальности для подзадач, поэтому может возникнуть желание применить жадный алгоритм вместо динамического, и наоборот. В одном случае это может не дать оптимального решения, во втором может привести к менее эффективному решению.
Эволюционные вычисления и эволюционное программирование
Эволюционные вычисления (ЭВ) — термин, обычно используемый для общего описания алгоритмов поиска, оптимизации или обучения, основанных на некоторых формализованных принципах естественного эволюционного процесса. Они часто используются для организации стохастического поиска, особенно в случае многомодальных задач, когда детерминированные методы оптимизации или более простые стохастические методы не позволяют исследовать поведение целевой функции вне областей локальных оптимумов.
Достоинства эволюционных вычислений:
широкая область применения;
возможность проблемно-ориентированного кодирования решений, подбора начальной популяции, комбинирования эволюционных вычислений с неэволюционными алгоритмами, продолжения процесса эволюции до тех пор, пока имеются необходимые ресурсы;
пригодность для поиска в сложном пространстве решений большой размерности;
отсутствие ограничений на вид целевой функции;
ясность схемы и базовых принципов эволюционных вычислений;
интегрируемость эволюционных вычислений с другими неклассическими парадигмами искусственного интеллекта, такими, как искусственные нейросети и нечеткая логика.
Недостатки эволюционных вычислений:
эвристический характер эволюционных вычислений не гарантирует оптимальности полученного решения (правда, на практике, зачастую, важно за заданное время получить одно или несколько субоптимальных альтернативных решений, тем более что исходные данные в задаче могут динамически меняться, быть неточными или неполными);
относительно высокая вычислительная трудоемкость, которая однако преодолевается за счет распараллеливания на уровне организации эволюционных вычислений и на уровне их непосредственной реализации в вычислительной системе;
относительно невысокая эффективность на заключительных фазах моделирования эволюции (операторы поиска в эволюционных алгоритмах не ориентированы на быстрое попадание в локальный оптимум);
нерешенность вопросов самоадаптации.
В ЭП популяция рассматривается как центральный объект эволюции. ЭП исходит из предположения о том, что биологическая эволюция является, в первую очередь, процессом приспособления на поведенческом уровне, а не на уровне таких генетических структур как хромосомы. Особь в ЭП-популяции отражает характер поведенческой реакции, вид общения и пр. Этот уровень абстракции в природе не предусматривает рекомбинации. Поэтому в ЭП отсутствует оператор кроссинговера, также как и некоторые другие операторы, используемые в ГП (например, инверсия). Мутация в ЭП является единственным оператором поиска альтернативных решений на уровне фенотипа, а не на уровне генотипа, как в ГП.
В ЭП отсутствуют ограничения на вид целевой функции и представление альтернативных решений, кроме тех, которые вытекают из постановки задачи. Стандартная форма ЭП-алгоритма включает следующие этапы.
1) Инициализация. На этапе инициализации случайным образом генерируется популяция. В ходе дальнейшей эволюции пространство поиска в принципе является неограниченным.
2) Оценка решения.
Совокупность из особей образует множество родителей, необходимых для следующего этапа ЭП.
3) Генерация потомков.
3.1) Репликация путем копирования родителя.
3.2) Мутация скопированного родителя путем сложения нормально распределенной случайной величины с нулевым математическим ожиданием и динамически изменяемым среднеквадратичным отклонением. Идея состоит в том, чтобы повысить эффективность процесса оптимизации путем сокращения «ширины мутации» при приближении к оптимуму.
3.3) Оценка потомка происходит путем определения значения его функции соответствия
4) Случайная селекция. Селекция выполняется по соревновательному принципу, согласно которому каждый родитель или потомок попарно сравнивается с противниками. Противники выбираются случайно с помощью закона равномерного распределения. Победитель определяется путем попарного сравнения функций соответствия. После этого все особи сортируются по убыванию числа побед (а не по значению функций соответствия). Лучшие особи образуют новую родительскую популяцию. При одинаковом числе побед преимущество получает особь с лучшим значением функции соответствия. Очевидно, что при таком механизме селекции «слабые» особи имеют некоторую отличную от нуля вероятность репродукции.
5) Критерий останова. В качестве критерия останова могут быть следующие заданные пользователем события:
a) достижение в ходе эволюции заданного числа поколений tmax ;
b) достижение заданного уровня качества, когда, например, значение функций соответствия всех особей в популяции превысило некоторое по
c) достижение заданного уровня сходимости, когда особи в популяции настолько подобны, что дальнейшее их улучшение происходит чрезвычайно медленно.
Параметры ЭП выбираются таким образом, чтобы обеспечить скорость работы алгоритма и поиск как можно лучшего решения.
