Аппаратные
и программные реализации нейросетей.
К аппаратной реализации относятся
нейро компьютеры(это ПК или рабочая
станция в состав которых входят
дополнительная нейроплата FMR — Fujitsu),
нейроплаты, нейробис(большие интегральные
схемы МД1220 MicroDevices).
Программная
реализация BrainMaker CSS для решения
задач прогнозирования, оптимизации
и моделирования ситуации в промышленых
и финансовых компаниях. NeuroSolutions предназначена
для моделирования нейросетей произвольной
структуры. Neuro Shell Ward System's Group.
«Эволюционные
аналоги в искуственых интелектуальных
системах»
- Понятие эволюции
и эволюционных вычислений.
Эволюционные
вычисления это термин обычно используемый
для общего описания алгоритмов поиска,
оптимизации или обучения основанных
на некоторых формализованных принципах
естественного эволюционного процесса.
Преимущества эволюционных вычислений
заключается в возможности решения многомодальных
задач с большой размерностью за счет
сочетания элементов случайности и детерминированности
точно так как это происходит в природной
среде. Детерминированность заключается
в моделировании природных процессов
отбора, размножения и наследования происходящих
по строго определенным правилам. При
этом основным правилом является закон
эволюции: выживает сильнейший, который
обеспечивает улучшение находимого решения,
далее найденные варианты решений могут
по определенному правилу порождать новые
решения которые будут наследовать лучшие
черты своих предков. Выделяют 3 основные
парадигмы среди моделей эволюционных
вычислений:
- Генетические
алгоритмы
- Эволюционные
стратегии
- Эволюционное
программирование
- Генетические
алгоритмы: понятие, классы решаемых задач,
операторы и этапы.
Отличаются от
2ух следующих парадигм в представлении
любой альтернативы в виде битовой строки
фиксированной длинны, манипуляции с которой
производятся в отсутствии всякой связи
с её смысловой интерпритацией т. е. В данном
случае применяется единое универсальное
представление любой задачи. Парадигмы
генетических алгоритмов предложил Джон
Холланд в начале 60ых годов прошлого века,
опубликовав основные положения ГА.
В
настоящее время генетические алгоритмы
представляют собой динамичное и
персепективно развивающееся направление
интелектуальной обработки данных,
связанное с решением задач поиска и оптимизации.
Успешно используются для решения задач
больших и экономически значимых задач
в бизнесе и инженерных разработках, а
также широко используются финансовыми
компаниями для прогнозирования финансовых
рынков при управлении пакетами ценных
бумаг. Вместе с другими методами ГА обычно
используются для оценки значений непрерывных
параметров моделей большой размерности
для решения комбинаторных задач, для
оптимизации моделей включающих одновременно
непрерывные и дискретные параметры, а
также использование в системах извлечения
новых знаний из больших баз данных, создание
и обучение стохастических сетей, обучение
нейронных сетей. Оценка параметров в
задачах многомерного статистического
анализа, получение исходных данных для
работы других алгоритмов поиска и оптимизации.
Генетический алгоритм работает с кодами
без смысловой интерпритации, поэтому
сам код и его структура описываются таким
понятием как генотип, а его интерпритация
— фенотип. Каждый код представляет точку
пространства поиска, следовательно экземпляр
кода называют хромосомой особью или индивидумом.
На каждом этапе работы генетический алгоритм
использует несколько точек поиска одновременно.
Совокупность этих точек является набором
особей, которые называются популяцией.
Количество особей в популяции называют
размером популяции. Количество популяции
всегда должно быть постоянно.
# разрыв
Фиксирует размер
популяции путем уничтожения
ненужных особей. Таким образом остановка
работы генетического алгоритма может
быть спровоцирована одним из трех событий:
- Сформировано
заданное пользователем число поколений.
- Популяция
достигла заданного пользователем уровня
- Достигнут
некоторый уровень сходимости т. е. Особи
в популяции стали идеальными(одинаковыми)
Рассмотрим общую
схему работы генетического алгоритма.
Формирование
исходной популяции происходит с
использованием какого либо случайного
закона на основе которого выбирается
нужное количество особей. В основе
оператора отбора для выбора родительских
пар и уничтожения особей лежит принцип
«выживает сильнейший». Выбор особей для
родителей производится случайно.
#
ГП это способ
создания компьютерных программ для
задач с неизвестным алгоритмом
решения. Исходя из определения объектом
эволюции является программа, а популяция
содержит множество различных программ.
Совершенствование объекта осуществляется
на основе отбора в соответствии с определенной
функцией ценности. Программы строятся
из блоков которые представляют собой
примитивные функции и терминалы. В качестве
примитивных функций рассматривается
арифмитические и логические операции,
математические функции и функции специального
вида характерные для класса решаемых
задач. Множество терминалов содержат
разнообразные данные несоздоваемые программой.
Цель ГП построение наилучшей программы,
которая может быть составлена из заданных
функций и терминалов с учетом определенных
правил синтаксиса. Этапы ГП:
- Формирование
множества терминалов, множества примитивных
функций, синтаксических правил и критериев
оценки создаваемых программ.
- На основе
закона о случайности создается начальная
популяция компьютерных программ ориентированных
на решение поставленной задачи.
- Каждая программа
выполняется, а результаты её работы оцениваются
с помощью целевой функции
- Формируется
новая популяция программ, в которую сгенерированные
программы могут попасть с вероятностью
пропорциональной значению целевой функции.
- Реализуются
генетические операторы репродукции скрещивания
и мутации.
- Производится
тестирование программ, членов новой популяции
и принимается решение о продолжении процесса
эволюции(продолжать генерацию новых
популяций имеет смысл тогда, когда максимальные
средние значения целевой функции улучшаются).
Идеи генетиического программирования
положены в основу программ стимуляторов
искуственной жизни.
- Эволюционные
стратегии.
Оперируют объектами
тесно связанными задачами. Каждая
из альтернатив решения представляется
единым массивом численных параметров,
за каждым из которых скрывается аргумент
целевой функции. Воздействие на
данные массивы осуществляются с учетом
их смыслового содержания и направлено
на улучшение значений входящих в них
параметров. Парадигму эволюционных стратегий
предложили Реченберг 73 год и Шефель 77
год. В качестве стохастического метода
нахождение глобального минимума функции
многих переменных суть которого состоит
в следующем: из случайных векторов решения
задачи многокритериальной оптимизации
формируется начальная популяция объектов
эволюции над которыми выполняются следующие
действия:
- Из решений
формируются новые объекты потомки, путем
сложения каждой компоненты со случайной
переменной, имеющей нормальный закон
распределения с нулевым математическим
ожиданием.
- Вычисляются
значения целевой функции и осуществляется
выбор наилучшего решения которое отбирается
в новую популяцию.
- Процесс продолжается
до тех пор пока не будет достигнуто приемлемое
решение. Таким образом каждый объект
в популяции характеризуется 2умя векторами:
вектором решения и случайным вектором
изменяющее это решение. Совокупность
полученных точек составляет очередное
поколение точек, которые оцениваются
по значениям минимизируемой функции,
в результате отбора одни особи гибнут,
а другие живут и размножаются, вместо
оператора скрещивания в эволюционных
стратегиях используются операторы рекомбинации,
при этом компоненты вектора потомка создаются
из компонент векторов решения двух родителей.
Это можно сделать разными способами:
1) Случайным
образом
2) Как среднее
арифметическое
Кроме этого
иногда применяется глобальная рекомбинация
при которой компоненты вектора
потомка случайным образом выбираются
из векторов всей популяции родителей.
- Эволюционное
программирование. В основе эволюционного
програмирования лежит идея представления
альтернатив в виде универсальных конечных
автоматов способных реагировать на стимулы
поступающие из окружающей среды. Идеи
ИП были предложены в 1966 году Фогелем Оуэлсон
Уолш, которые предложили схему эволюции
логических автоматов решающих задачи
предсказания, диагностики, распознавания
и классификации образцов, а также задачи
управления объектом с неизвестным характером.
Логические(конечные) автоматы это модели
описывающие средствами формальной логики,
возможные переходы исследуемой системы
из некоторого первоначального состояния
в заключительное. Форма представления
автомата графы. Эволюционная программа
реализует моделирование процессов естественной
эволюции моделей автоматов, причем в
каждый момент времени сохраняется тот
автомат который наилучшим образом может
справиться с данной задачей. Следовательно
данный автомат сохраняется и поставляет
потомков в следующее поколение. Процесс
завершается когда получено достаточно
хорошая программа, или исчерпан ресурс
времени. Рассмотрим способы реализации
оператора мутации:
1) Изменение
заключительного состояния.
2) Изменение
в условиях перехода из одного
состояния в другое
3) Добавление
нового состояния
4) Удаление состояния
5) Изменение
начального состояния
Этапы алгоритма
ИП:
- Формулируется
постановка задачи(входной словарь, множество
входных и выходных состояний, набор возможных
состояний, условий перехода из состояния
в состояние и функции ценности для характеристики
модели), случайным образом генерируется
начальная популяция конечных автоматов
родителей
- Отсев неперспективных
моделей
- на основе
случайного применения оператора мутации
производятся потомки
- Тестирование
моделей потомков путем решения поставленой
задачи и оценка поставленных результатов
- Отбор наиболее
перспективных потомков
- Проверка
условий окончания процесса эволюции,
если условия завершения эволюции удовлетворены
то переход на 9ый этап, иначе возврат на
5ый этап, где объекты последней сгенерированной
популяции выступают в качестве родителей.
- Конец алгоритма.
Дальнейшая эволюция
автоматов возможна на основе предъявления
более сложных задач, таким образом
как и всякий метод использующий
элемент случайности ЭП не гарантирует
обнаружение глобального экстремума целевой
функции за определенное время. Преимущества:
позволяет найти более хорошее решение
очень трудных задач за меньшее время
чем другие методы. Недостатки: представляет
собой больше подход к решению задачи,
чем алгоритм, поэтому требует адаптации
к каждому конкретному классу задач, путем
выбора определенных характеристик и
параметров.
Вывод(по 2ум лекциям):
таким образом методы эволюционных
вычислений эффективны при решении
задач инженерного проектирования,
планирования, маршрутизации и размещения,
управления портфелями ценных бумаг, прогнозирования
и др.
Как работает пролог
система:
- Основные
конструкции языка пролог. К основным
конструкциям языка пролог относятся
термы и утверждения, которые заимствованы
из логики. Все утверждения делятся на
2 вида: 1) Факты 2) Правило.
Терм — это
структура данных, которая представляет
любой объект задачи, или отношение
между объектами. К термам относятся
переменные и константы. Эти 2 вида называются
простыми термами, следовательно существует
такое понятие как составной терм, который
содержит функтор и последовательность
из 0 или более аргументов f(x1,x2 … xn) где
f имя функтора, а x1,x2 и т. д. Любой составной
терм это предикат, соответственно составной
терм имеет арность. Например: записать
факт увлечения Тома тенисом с помощью
составного терма; записать составной
терм даты рождения, data(20, october, 2003); добавить
в предыдущий пример конкретную персону
чей день рождения, data(ivan ivanov, 20, october, 2003).
Аргументами терма могут быть целые числа,
атомы типа string или symbol, термы простые
или составные.
- Сопоставление
— это операция над термами при задании
запроса. Для сопоставления в прологе
имеются следующие правила «два терма
сопоставимы если: 1) они идентичны 2) переменным
в обоих термах можно приписать конкретные
значения, а после подстановки термы станут
идентичны», например: дано два терма 1)
data(D, M, 1983) 2) data(D1, may, Y1) — термы сопастовимы;
data(D, M, 1983)
data(D1, may, 1944)
Сопаставление
это процесс на ход которого подаются
2 терма, а он проверяет соответствуют
ли эти термы друг другу, если термы сопастовимы
то говорят что процесс успешный, в противном
случае процесс не успешный. При успешном
процессе находят конкретные значения
переменных, делающие термы тождественными.
Запрос на проведение такой операции можно
передать системе в окне диалога если
использовать знак равенства. data(D, M, 1983)=data(D1,
may, 1944). Процесс сопоставления двух термов
называется унификацией. Для унификации
пролог использует следующие правила:
- Одинаковые
константы сопоставимы друг с другом.
- Если переменная
уже связана(имеет конкретное значение),
то она действует также как обычная константа.
- Свободная
переменная(еще не имеет конкретного значения)
сопоставляется с константой или с ранее
связанной переменной и становится связанной
соответствующим значением.
- 2 свободные
переменные связываются друг с другом,
с этого момента они трактуются как одна
переменная, то есть одна из переменных
принимает значения, то вторая принимает
это же самое значение.
- Свободная
переменная может быть связана с термом
- Два составных
терма сопоставимы если они имеют одно
и то же имя функтора и одинаковое количество
аргументов, например:
birthday(Name, data(_,_,Y))
birthday(persona(«Ivan»,
«Ivanov»), data(«Август», 2, 1980))
Процесс унификации
пролог выполняет в 2ух случаях: 1) когда
цель сопоставляется с заголовком утверждения
2) Когда в цели используется знак
равенства.
- Управление
поиском решений. Рассмотрим основные
методы, которые позволяют управлять работой
программы на прологе: 1) отсечение — используется
для прерывания поиска с возвратом, обозначается
словом cut или ! Это предикат вычисление
которого всегда завершается успешно.
Его помещают в тело правила как обычную
подцель. После того как процесс прошел
отсечение поиск с возвратом предикотов
перед отсечением выполнить невозможно,
а также нельзя возвратиться к другим
предикатам содержащим отсечение. Отсечение
применяют в 2ух случаях: