Мягкие вычисления

Использование мягких вычислений для создания гибридных интеллектуальных систем. Постановка задачи оптимизации, теорема Вейерштрасса, понятие минимума. Нейронные сети, математическая модель нейрона. Генетическое программирование, деревья поколений.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.