Мягкие вычисления
Использование мягких вычислений для создания гибридных интеллектуальных систем. Постановка задачи оптимизации, теорема Вейерштрасса, понятие минимума. Нейронные сети, математическая модель нейрона. Генетическое программирование, деревья поколений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 06.06.2011 |
Размер файла | 19,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
АЗЕРБАЙДЖАНСКАЯ ГОСУДАРСТВЕННАЯ
НЕФТЯНАЯ АКАДЕМИЯ
Институт Повышения Квалификации и Переподготовки
Работников Промышленных Предприятий
КОНТРОЛЬНАЯ РАБОТА
Тема: Мягкие вычисления
Баку - 2011
Что такое мягкие вычисления?
Термин "мягкие вычисления" введен Лофти Заде в 1994 году. Это понятие объединяет такие области как: нечеткая логика, нейронные сети, вероятностные рассуждения, сети доверия и эволюционные алгоритмы; которые дополняют друг друга и используются в различных комбинациях или самостоятельно для создания гибридных интеллектуальных систем. Поэтому создание систем работающих с неопределенностью, надо понимать как составную часть "мягких" вычислений.
По существу в 1970 году Л. Заде был создан новый метод вычислительной математики, который был поддержан аппаратными средствами (нечеткими процессорами) который в ряде проблемных областей стал более эффективным, чем классические методы. Первоначально эти области входили в проблематику искусственного интеллекта. Постепенно круг этих областей существенно расширился и сформировалось направление "вычислительного интеллекта". В это направление в настоящее время входят:
· нечеткая логика и теория множеств;
· нечеткие экспертные системы;
· системы приближенных вычислений;
· теория хаоса;
· фрактальный анализ;
· нелинейные динамические системы;
· гибридные системы (нейронечеткие или нейрологические, генетиконейронные, нечеткогенетические или логикогенетические системы);
· системы, управляемые данными (нейронные сети, эволюционное вычисление).
Постановка задачи оптимизации, теорема Вейерштрасса, понятие минимума
Пусть задана функция q (x), определенная во всех значениях x принадлежащих X. В общем случае x может быть вектором значений многопараметрической функции q (x).
Тогда, в общей задаче оптимизации требуется найти вектор x= (x1,x2,.,xn) из допустимой области X, который обращает в минимум целевую функцию q (x). Если необходимо найти максимум функции, то в качестве целевой берут обратную функцию - q (x).
Теорема Вейерштрасса. Непрерывная функция, определенная на непустом замкнутом ограниченном множестве, достигает своего минимума (максимума) по крайней мере в одной из точек этого множества.
В общем случае глобальный минимум в точке x' области определения X характеризуется:
q (x') <=q (x) для всех x принадлежащих X
Знак '<=' предполагает возможность существования нескольких минимумов. При таком определении глобальный минимум называют слабым.
Сильный глобальный минимум определяется:
q (x') <q (x) для всех x принадлежащих X при x' не равном x
Минимум в точке x=x' называют локальным (относительным), если найдется такая окрестность O (x') точки x', что для всех x принадлежащих O (x') имеет место q (x') <=q (x)
Нейронные сети. Математическая модель нейрона
С конструктивной точки зрения нейрон, являющийся основным элементом нейросети, это устройство для получения нелинейной функции нескольких переменных X с возможностью настройки его параметров. Традиционно нейрон описывается в терминах заимствованных из биологии. Согласно этим представлениям нейрон имеет один выход и несколько входов (синапсов). Синапсы осуществляют связь между нейронами, умножают входной сигнал Xi на вес синапса Wi. Сумматор осуществляет сложение взвешенных входов, а нелинейный преобразователь реализует нелинейную функцию от выхода сумматора. Эта функция называется функцией активации.
Математическая модель нейрона:
y=f (S),
S= Сумма (Wi*Xi+b)
где b - некоторое смещение.
Применение генетического подхода в обучении нейронной сети
При генетическом подходе процесс настройки НС рассматривается как адаптивный процесс, связанный с максимизацией эффективности функционирования НС, т.е. с минимизацией функции ошибки.
Для фиксированной архитектуры НС хромосома представляется в виде вектора Н = (W, B), хранящего значения семантических весов (W), и смещений (B).
Обучение нейронных сетей в основном использует базу знаний, в которой хранится набор примеров с известными правильными ответами. Каждый пример это пара вход - известный выход. В этой связи получаемые выходные сигналы сравниваются с эталонными и строится оценка работы НС. Основная проблема это процесс пошаговой минимизации (максимизации) функции оценки НС. Эти задачи решаются в основном методом градиентного спуска. Отметим, что операторы ГА представляют собой переборные процессы, связанные с перераспределением генетического материала. Это даёт возможность быстрее получить минимум или максимум функции, чем в методах пошаговой оптимизации.
Генетическое программирование. Что такое генетическое программирование?
Уж не знаю почему ГА и ГП разделяют на разные области, но я к ним отношусь как к одному и тому же.
Единственное отличие ГП от ГА состоит в том, что каждая особь в популяции теперь кодирует не числовые характеристики, которые обеспечивают задаче оптимальность, а некоторую "программу", которая решает поставленную проблему.
Под словом "программа" здесь не стоит понимать реальную программу на Си, ассемблере и т.д. Чаще всего, такая программа - это всего навсего конфигурация дерева функции, нейронной сети или автомата.
Алгоритм работает по всем законам ГА, лишь при оценке новой особи происходит "исполнение" программы, а затем оценка её деятельности. Например, в задаче автоматического определения функции хромосома кодирует некоторую сложную, часто многопараметрическую функцию. При оценке происходит расчет закодированной функции на тестовой выборке входных значений, после чего, результаты расчетов сравниваются с тестовыми (экспериментальными) значениями искомой функции на представленной выборке, происходит расчет отклонения текущей функции от искомой, которое используется как оценка особи. Уменьшая отклонение, алгоритм находит неизвестную функцию, представленную тестовой выборкой.
В принципе, возможно создание и реальной программы на некотором простом языке (вроде ассемблера). Но тогда возникает проблема исполнения такой программы (чтоб не подвисла) и оценки результата.
Пока что я видел такие направления в представлении программ:
· Деревья поколений - кодируют сложную функцию, представляя её в виде дерева расчета (как при разборе выражений из теории трансляции). Используются при решении задачи автоматического определения функций.
· Нейронные сети - множество связанных однотипных элементов. Для автоматического определения функций не подходят, но имеют различные специфические применения.
· УНС - унифицированные нейронные сети (модель и принципы применения предложены мной в дипломной работе). Позволяют представлять любую расчетную многопараметрическую сложную функцию в компактном виде, присущем нейронным сетям. Это позволяет применять их в задачах автоматического определения функций. Также, обладают всеми качествами нейронных сетей, однако имеют слишком сложную топологию. Обучаются по ГА/ГП или К-Срезу.
· Автоматы - задают последовательность переходов состояний. Используются как способ представления простых алгоритмов для "роботов". В сочетании с ГА/ГП использовались в игре на предсказание последовательности чисел.
Деревья поколений
В генетическом программировании особи из популяции представляют собой программы. Удобно представлять эти программы в виде деревьев, где функции представлены внутренними узлами, к которым в качестве входных параметров присоединены поддеревья. Листьями такого дерева будут константы, входные параметры задачи или директивные команды программы.
Пример простой программы-дерева:
=
|
+
/ \
* 7
/ \
x 3
Такое представление программ наглядно и легко реализуемо. Однако, работа с деревьями не всегда удобна при выполнении таких операторов, как кроссинговер и мутация. По сути, необходимо реализовать совершенно новые операторы.
Кроссинговер будет заключаться в подмене одного из поддеревьев первого родителя на какое-либо поддерево второго родителя.
Мутация будет выполнять случайное изменение одного из узлов дерева (например смена функции или константы).
Таким образом, использование деревьев влечет за собой несколько проблем: необходимость создания новых операторов мутации и кроссинговера; динамическая длина хромосомы, кодирующей дерево.
Терминальный алфавит, функциональный базис и их свойства
Первый главный шаг в подготовке использования генетического программирования должен идентифицировать множество терминалов. Набор терминалов, наряду с набором функций, представляет собой компоненты, из которых будет создаваться компьютерная программа для полного или частичного решения проблемы.
Второй шаг заключается в определении функционального множества, элементы которого должны использоваться для генерации математических выражений. Каждая компьютерная программа (то есть, анализируемое дерево, математическое выражение) является композицией функций от множества функций F и терминалов из терминального множества T (в случае программ-функций это константы и переменные).
мягкое вычисление генетическое программирование
Множество возможных внутренних узлов (не листовых), используемых в деревьях синтаксического анализа, используемых в генетическом программировании, называется функциональным множеством:
F={f1,f2,.,fn}
Каждая функция из функционального множества характеризуется арностью - количеством входящих параметров.
Множество листовых узлов в деревьях синтаксического анализа, представляющих программы в генетическом программировании, называются терминальным множеством:
T={t1,t2,.,tm}
Функциональное и терминальное множества могут быть объединены в однородную группу С, при условии, что терминалы рассматриваются как функции с нулевой арностью:
C=F U T
Пространством поиска генетического программирования является множество всех возможных рекурсивных композиций функций множества C.
В функциональном множестве могут быть применены арифметические, математические, булевы и другие функции. В терминальное множество могут войти переменные, константы или директивные команды.
Множества F и T должны обладать свойствами замыкания и достаточности.
ЗАМЫКАНИЕ требует, чтобы каждая функция из множества F была способна принять аргументом любые значения и типы данных, которые могут быть возвращены любой функцией из множества C. Это предупреждает ошибки во время выполнения программ, полученных генетическим программированием. Для обеспечения условия замкнутости можно использовать защиту операций - принудительное приведение поступающих данных к диапазону, определяемому конкретной операцией. Например, операцию извлечения корня можно защитить от появления отрицательного аргумента принудительным расчетом модуля от этого аргумента. Альтернативой защите может быть автоматическое исправление ошибок в программе или применение штрафов за ошибки.
ДОСТАТОЧНОСТЬ требует, чтобы функции из множества C были способны выразить решение поставленной задачи, то есть, чтобы решение принадлежало множеству всех возможных рекурсивных композиций функций из C. Однако доказать, что выбранное множество C достаточно, возможно лишь в редких случаях. Поэтому, при выборе этого множества, как и при выборе основных операций генетического алгоритма, приходится полагаться лишь на интуицию и экспериментальный опыт.
Размещено на Allbest.ru
Подобные документы
Механизм работы нервной системы и мозга человека. Схема биологического нейрона и его математическая модель. Принцип работы искусственной нейронной сети, этапы ее построения и обучения. Применение нейронных сетей в интеллектуальных системах управления.
презентация [98,6 K], добавлен 16.10.2013Базовые архитектуры компьютеров: последовательная обработка символов по заданной программе и параллельное распознавание образов по обучающим примерам. Искусственные нейронные сети. Прототип для создания нейрона. Поведение искусственной нейронной сети.
контрольная работа [229,5 K], добавлен 28.05.2010Экономико-математическая модель задачи оптимизации транспорта энергии, газа, трубопроводных систем различного назначения, а также транспортировки продукции от поставщиков к потребителям. Программа оптимизации доставок по заданной схеме сети перевозок.
курсовая работа [114,0 K], добавлен 17.01.2012Сущность и назначение основных алгоритмов оптимизации. Линейное программирование. Постановка и аналитический метод решения параметрической транспортной задачи, математическая модель. Метод решения задачи об оптимальных перевозках средствами MS Excel.
курсовая работа [465,6 K], добавлен 24.04.2009Инструментальные средства проектирования интеллектуальных систем. Анализ традиционных языков программирования и представления знаний. Использование интегрированной инструментальной среды G2 для создания интеллектуальных систем реального времени.
контрольная работа [548,3 K], добавлен 18.05.2019Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Описание структурной схемы искусственного нейрона. Характеристика искусственной нейронной сети как математической модели и устройств параллельных вычислений на основе микропроцессоров. Применение нейронной сети для распознавания образов и сжатия данных.
презентация [387,5 K], добавлен 11.12.2015Математические основы оптимизации. Постановка задачи оптимизации. Методы оптимизации. Решение задачи классическим симплекс методом. Графический метод. Решение задач с помощью Excel. Коэффициенты целевой функции. Линейное программирование, метод, задачи.
реферат [157,5 K], добавлен 21.08.2008Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели, постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации системы. Разработка программного кода для оптимизации системы.
дипломная работа [581,7 K], добавлен 27.10.2017Математическая модель задачи. Система ограничений. Составление симплекс-таблиц. Разрешающий элемент. Линейное программирование. Коэффициенты при свободных членах. Целевая функция. Метод потенциалов, северо-западного угла. Выпуклость, вогнутость функции.
контрольная работа [47,2 K], добавлен 29.09.2008