Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Нечеткая логика и нейронные сети

Содержание:

Введение

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

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

Рассматривая нейронную сеть как набор элементов, производящих некоторые вычисления над приходящими к ним данными, можно изучать решение главной и вспомогательных задач. К главной относятся функции генерации, обучения и тестирования нейронных сетей. Вспомогательные задачи: определение значимости входных сигналов, контрастирование нейронных сетей, обучение примеров, определение минимального решающего набора входных параметров, получение логически прозрачной нейронной сети и, в конечном счете, знаний из данных. Для решения этих задач разработан и используется математический аппарат искусственных нейронных сетей.

Таким образом, целью написания работы является рассмотрение нечеткой логики и нейронных сетей.

Задачами курсовой работы в связи с указанной целью являются:

1. Рассмотреть историю развития нейронных сетей;

2. Изучить аналогия нейронных сетей с мозгом и биологическим нейроном;

3. Дать понятие искусственного нейрона;

4. Раскрыть виды искусственных нейронных сетей;

5. Проанализировать обучение нейронных сетей;

6. Разработать нечеткую логику на практике.

1.Теоретическая часть

1.1 История развития нейронных сетей

Нейронные сети применяются для решения различных задач классификации и прогнозирования. Нейронная сеть обучается решению задачи на основании 11 некоторой обучающей выборки – "задачника", состоящего из набора пар "вход–требуемый выход, и далее способна решать примеры, не входящие в обучающую выборку.[1]

Термин «нейронные сети» сформировался к середине 50-х годов XX века. Основные результаты в этой области связаны с именами У. Маккалоха, Д. Хебба, Ф. Розенблатта, М. Минского, Дж. Хопфилда. Приведем краткую историческую справку:

  1. г. У. Маккалох (W. McCulloch) и У. Питтс (W. Pitts) предложили модель нейрона и сформулировали основные положения теории функционирования головного мозга.
  2. г. Д. Хебб (D. Hebb) высказал идеи о характере соединений нейронов мозга и их взаимодействии (клеточные ансамбли, синаптическая пластичность). Впервые предложил правила обучения нейронной сети. 1970-1976 гг. Активные разработки в области персептронов в СССР (основные заказчики - военные ведомства). Конец 1970-х гг. Возобновление интереса к искусственным нейронным сетям как следствие накопления новых знаний о деятельности мозга, а также значительного прогресса в области микроэлектроники и компьютерной техники.[2]
  3. г. Появление первых коммерческих нейрокомпьютеров, например, Mark III фирмы TRW (США). 1989 г. Разработки и исследования в области ИНС и НК ведутся практически всеми крупными электротехническими фирмами. Нейрокомпьютеры становятся одним из самых динамичных секторов рынка (за два года объем продаж вырос в пять раз). Агентством DARPA (Defence Advanced Research Projects Agency) министерства обороны США начато финансирование программы по созданию сверхбыстродействующих образцов НК для разнообразных применений. 1990 г. Активизация советских исследовательских организаций в области ИНС и НК (Институт кибернетики им. Глушкова в Киеве, Институт многопроцессорных вычислительных систем в Таганроге, Институт нейрокибернетики в Ростове-на-Дону). Общее число фирм, специализирующихся в области ИНС и НК, достигает трехсот. 1991 г. Годовой объем продаж на рынке ИНС и НК приблизился к 140 млн. долларам. Создаются центры нейрокомпьютеров в Москве, Киеве, Минске, Новосибирске, С.-Петербурге. 1992 г. Работы в области ИНС находятся стадии интенсивного развития. Ежегодно проводится десятки международных конференций и форумов по нейронным сетям, число специализированных периодических научных изданий по указанной тематике достигло двух десятков наименований. 1997 г. Годовой объем продаж на рынке ИНС и НК превысил 2 млрд. долларов, а ежегодный прирост составил 50%. 2000 г. Переход на субмикронные и нанотехнологии, а также успехи молекулярной и биомолекулярной технологии приводят к принципиально новым архитектурным и технологическим решениям по созданию нейрокомпьютеров.[3]

1.2 Аналогия нейронных сетей с мозгом и биологическим нейроном

Биологические нейроны и нейронные сети служили прототипами при создании искусственных нейронных сетей. Была сделана попытка использования процессов, происходящих в нервных системах, для выработки новых технологических решений. В большинстве современных нейросетевых архитектур былое сходство стало существенно меньше. Тем не менее, знакомство с естественными нейронными сетями полезно, т.к. они успешно решают задачи, к выполнению которых лишь стремятся искусственные сети.

Нервная система человека построена из специальных нервных клеток, называемых нейронами. Мозг имеет около 1011 нейронов, которые образуют около 1015 передающих связей, имеющих длину до метра и более.

Биологический и искусственный нейроны.

Нервная клетка, сокращенно называемая нейроном, является основным элементом нервной системы. Изучение механизмов функционирования отдельных нейронов и их взаимодействия принципиально важно для познания протекающих в нервной системе процессов поиска, передачи и обработки информации. С этой точки зрения представляется необходимым изучить модель биологического нейрона.[4]

1.3 Понятие искусственного нейрона

Искусственные нейронные сети (ИНС или НС) строятся по принципам организации и функционирования их биологических аналогов. Они способны решать широкий круг задач распознавания образов, идентификации, прогнозирования, оптимизации, управления сложными объектами. Дальнейшее повышение производительности компьютеров все в большой мере связывают с ИНС, в частности, с нейрокомпьютерами (НК), основу которых составляет искусственная нейронная сеть.

Развитие ИНС основывается на биологии. То есть, рассматривая сетевые конфигурации и алгоритмы, исследователи применяют термины, заимствованные из принципов организации мозговой деятельности. Но на этом аналогия заканчивается. Наши знания о работе мозга столь ограничены, что мало бы нашлось точно доказанных закономерностей для тех, кто пожелал бы руководствоваться ими. Поэтому разработчикам сетей приходится выходить за пределы современных биологических знаний в поисках структур, способных выполнять полезные функции. Во многих случаях это приводит к необходимости отказа от биологического правдоподобия, мозг становится просто метафорой, и создаются сети, невозможные в живой материи или требующие неправдоподобно больших допущений об анатомии и функционировании мозга.

Несмотря на то, что связь с биологией слаба и зачастую несущественна, ИНС продолжают сравнивать с мозгом. Их функционирование часто имеет внешнее сходство с человеческим познанием, поэтому трудно избежать этой аналогии.

Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона.

На рисунке 1 показана структура искусственного нейрона. Он состоит из элементов трех типов: умножителей (синапсов), сумматора и нелинейного преобразователя. Синапсы осуществляют связь между нейронами, умножают входной сигнал на число, характеризующее силу связи, (вес синапса). Сумматор выполняет сложение сигналов, поступающих по синаптическим связям от других нейронов, и внешних входных сигналов. Нелинейный преобразователь реализует нелинейную функцию одного аргумента - выхода сумматора. Эта функция называется функцией активации или передаточной функцией нейрона.[5]

Рисунок 1 - Структура искусственного нейрона

Нейрон в целом реализует скалярную функцию векторного аргумента.

Математическая модель нейрона:

y = f(s)

где wi, - вес (weight) синапса, i = 1...n; b - значение смещения (bias); s - результат суммирования (sum); x - компонент входного вектора (входной сигнал), xi = 1... n; у - выходной сигнал нейрона; n - число входов нейрона; f - нелинейное преобразование (функция активации).

1.4 Виды искусственных нейронных сетей

Однослойная ИНС - входящие сигналы сразу передаются с входного слоя на выходной, который обрабатывает их и выдает готовый результат. На изображении распределяющий слой изображен кружочками, а обрабатывающий - квадратиками.

Многослойная ИНС - сеть, которая состоит из входного, скрытого и обрабатывающего слоев. Сигнал с распределяющего слоя частично обрабатывается скрытым слоем, после чего передается на последний слой нейронов, вычисляющий конечный результат.

Скрытые слои ИНС ученые научились обучать совсем недавно и это большой шаг вперед, поскольку многослойные нейросети существенно превосходят по производительности и возможностям однослойные.

Также стоит знать, что работают сети в двух направлениях - прямое распределение и обратное. ИНС прямого распределения дают возможность решать с успехом большинство задач: прогнозирование, кластеризация и распознавание. В таких нейросетях сигнал передается только вперед, назад он возвращаться не имеет возможности.

1.5 Обучение нейронных сетей

Значительная часть аппарата нейронных сетей заимствована в других разделах математики, среди которых методы оптимизации, численные методы, распознавание образов, математическая статистика. Многие методы и способы созданы для нейроинформатики и в нейроинформатике. При заимствовании готовые методы преобразованы так, чтобы их можно было реализовать на высокопараллельных компьютерных системах. Кроме того, как было сказано выше, нейроинформатика предложила некоторые новые подходы к решению вспомогательных задач, оказавшихся важными для пользователей.[6]

Множество задач, решаемых с помощью нейронных сетей, постоянно пополняется, поэтому сложно дать их завершенную классификацию. Однако многие задачи, для решения которых используются нейронные сети, могут рассматриваться как частные случаи следующих основных проблем.

1) Построение функции по конечному набору значений.

2) Оптимизация.

3) Построение отношений на множестве объектов.

4) Распределенный поиск информации и ассоциативная память.

5) Фильтрация.

6) Сжатие информации.

7) Идентификация динамических систем и управление ими.

Нейросетевая реализация классических задач и алгоритмов вычислительной математике: решение систем линейных уравнений, решение задач математической физики сеточными методами и др. [7]

Однозначно построить функцию (обычно многих действительных переменных) по конечному набору значений невозможно без специальных дополнительных условий. В качестве таких условий могут использоваться требования минимизации различных функционалов, например интеграла суммы квадратов вторых производных – требование максимальной гладкости. При этом известные в конечном множестве точек значения функции превращаются в набор ограничений, при которых ищется минимум функционала.

С помощью нейронных сетей строится, естественно, нейросетевая реализация функции: создается нейронная сеть, которая, получая на входе вектор аргументов, выдает на выходе значение функции. Обычно предполагается, что типичные нейросетевые реализации достаточно «хорошие» и любая из них подойдет в качестве решения задачи. При необходимости вместо наложения условий типа максимальной гладкости минимизируют число слоев, количество нейронов и/или число связей, а также требуют, чтобы функция активации нейронов была «максимально пологой».[8]

2. Практическая часть. Применение нечеткой логики на практике

2.1 Постановка задачи

В задаче требуется определить расход воды при поливе с/х угодий. Входные сигналы:

а) количество с/ч культур (много культур, мало культур),

б) температура воздуха летом (засушливое лето, нормальное лето, холодное лето).

Выходной сигнал: расход воды на полив (большой расход, средний расход, маленький расход).

Правила:

1. Если с/х культур много, лето засушливое, то расход воды большой.

2. Если с/х культур много, лето нормальное, то расход воды средний.

3. Если с/х культур мало, лето холодное, то расход воды маленький.

2.2 Описание пакета Fuzzy Toolbox

Пакет Fuzzy Logic Toolbox (пакет нечеткой логики) - это совокупность прикладных программ, позволяющих конструировать нечеткие экспертные и/или управляющие системы [1]. Данный пакет является одним из инструментальных средств широко известной и распространенной в нашей стране математической системы MATLAB. Основные возможности пакета:

-Построение систем нечеткого вывода (экспертных систем, регуляторов, аппроксиматоров зависимостей) 

-Построение адаптивных нечетких систем (гибридных нейронных сетей)

-Интерактивное динамическое моделирование в Simulink
Пакет позволяет работу:

-в режиме графического интерфейса,

-в режиме командной строки,

-с использованием блоков и примеров пакета Simulink.
Ниже рассмотрены основные свойства и правила работы с пакетом Fuzzy Logic Toolbox версий 2.0.1 и 2.1, используемых, соответственно, в системах MATLAB версий 5.3 и 6.12.

Графический интерфейс Fuzzy Logic Toolbox. В состав программных средств Fuzzy Logic Toolbox входят следующие основные программы, позволяющие работать в режиме графического интерфейса:

-редактор нечеткой системы вывода Fuzzy Inference System Editor (FIS Editor или FIS-редактор) вместе со вспомогательными программами - редактором функций принадлежности (Membership Function Editor), редактором правил (Rule Editor), просмоторщиком правил (Rule Viewer) и просмоторщиком поверхности отклика (Surface Viewer);

-редактор гибридных систем (ANFIS Editor, ANFIS-редактор);

-программа нахождения центров кластеров (программа Clustering - кластеризация).

Набор данных программ предоставляет пользователю максимальные удобства для создания, редактирования и использования различных систем нечеткого вывода.

2.3 Руководство пользователя

В рамках пакета пользователь может выполнять необходимые действия по разработке и использованию нечетких моделей в одном из следующих режимов:

-В интерактивном режиме с помощью графических средств редактирования и визуализации всех компонентов систем нечеткого вывода

-В режиме команд с помощью ввода имен соответствующих функций с необходимыми аргументами непосредственно в окно команд системы MATLAB

-Для разработки и дальнейшего применения систем нечеткого вывода в интерактивном режиме могут быть использованы следующие графические средства, входящие в состав пакета Fuzzy Logic Toolbox.

-Редактор систем нечеткого вывода Fuzzy Inference System (FIS Editor) или сокращенно редактор FIS.

-Редактор функций принадлежности системы нечеткого вывода (Membership Function Editor) или сокращенно редактор функций принадлежности.

-Редактор правил системы нечеткого вывода (Rule Editor) или сокращенно редактор правил.

-Программа просмотра правил системы нечеткого вывода (Rule Viewer).

-Программа просмотра поверхности системы нечеткого вывода (Surface Viewer).

Кроме этих графических средств, в состав пакета Fuzzy Logic Toolbox также входят следующие специальные программы.

Если функция fuzzy вызывается без аргументов, то редактор FIS вызывается для вновь создаваемой системы нечеткого вывода с именем Untitled по умолчанию.

При этом по умолчанию также задается целый ряд параметров, таких как тип системы нечеткого вывода (Мамдани), нечеткие логические операции, методы импликации, агрегирования и дефазификации и некоторые другие. Пользователь может согласиться с этими значениями или изменить их.

Если функция fuzzy вызывается с аргументом в форме fuzzy ('а'), где а - имя внешнего файла с расширением fis с уже разработанной системой нечеткого вывода, то редактор вызывается с уже загруженной системой FIS с именем а.

Редактор FIS имеет главное меню, которое позволяет пользователю вызывать другие графические средства работы с системой нечеткого вывода FIS, загружать и сохранять структуру FIS во внешних файлах и т.д.

Главное меню редактора содержит позиции:

    • File — работа с файлами моделей (их создание, сохранение, считывание и печать);
    • Edit — операции редактирования (добавление и исключение входных и выходных переменных);
    • View — переход к дополнительному инструментарию.

Пункт меню File (Файл) редактора FIS содержит следующие операции:

    • New FIS... - позволяет выбрать тип задаваемой новой системы нечеткого вывода: Mamdani - типа Мамдани или Sugeno - типа Сугено. При этом задаваемая система нечеткого вывода не имеет ни входных, ни выходных переменных, а ее имя задается по умолчанию как Untitled;
    • Import - позволяет загрузить в редактор FIS существующую систему нечеткого вывода одним из следующих способов: From Workspace... - из рабочего пространства программы MATLAB или From Disk... - из внешнего файла;
    • Export - позволяет сохранить редактируемую систему нечеткого вывода одним из следующих способов: То Workspace... - в рабочем пространстве программы MATLAB или То Disk... - во внешнем файле;
    • Print - позволяет распечатать на принтере редактируемую систему нечеткого вывода;
    • Close - закрывает редактор FIS.
    • Пункт меню Edit (Редактирование) содержит следующие операции:
    • Undo - отменяет выполнение последнего действия;
    • Add Variable... - позволяет добавить в редактируемую систему нечеткого вывода переменную одного из следующих типов: Input - входную переменную или Output - выходную переменную;
    • Remove Selected Variable - удаляет выбранную переменную из редактируемой системы нечеткого вывода;
    • Membership Functions... - вызывает редактор функций принадлежности;
    • Rules - вызывает редактор правил нечеткого вывода.
    • Пункт меню View (Вид) содержит следующие операции:
    • Rules - вызывает программу просмотра правил нечеткого вывода;
    • Surface - вызывает программу просмотра поверхности нечеткого вывода.

В левой нижней части рабочего интерфейса редактора FIS имеется 5 всплывающих меню:

    • And method (Метод логической конъюнкции) - позволяет задать один из следующих методов для выполнения логической конъюнкции в условиях нечетких правил:
    • min - метод минимального значения; prod - метод алгебраического произведения; Custom - метод, определенный пользователем. Or method (Метод логической дизъюнкции) - позволяет задать один из следующих методов для выполнения логической дизъюнкции в условиях нечетких правил:
    • max - метод максимального значения (нечеткий логический оператор дизъюнкции);
    • probor - метод алгебраической суммы; Custom - метод, определенный пользователем. Implication method (Метод вывода заключения) - позволяет задать один из следующих методов для выполнения (активизации) логического заключения в каждом из нечетких правил (не используется для систем типа Сугено):
    • min - метод минимального значения (нечеткий логический оператор конъюнкции);
    • prod - метод алгебраического произведения; Custom - метод, определенный пользователем. Aggregation method (Метод агрегирования) - позволяет задать один из следующих методов для агрегирования значений функции принадлежности каждой из выходных переменных в заключениях нечетких правил:
    • max - метод максимального значения;
    • sum - метод граничной суммы;
    • probor - метод алгебраической суммы;
    • Custom - метод, определенный пользователем.

Defuzzification method (Метод дефазификации) - позволяет задать один из следующих методов для выполнения дефазификации выходных переменных в системе нечеткого вывода типа Мамдани:

    • centroid - метод центра тяжести для дискретного множества значений функции принадлежности;
    • bisector - метод центра площади;
    • mom (middle of maximum) - метод среднего максимума, определяемый как среднее арифметическое левого и правого модальных значений;
    • som (smallest of maximum) - метод наименьшего (левого) модального значения;
    • lom (largest of maximum) - метод наибольшего (правого) модального значения;
    • Custom - метод, определенный самим пользователем.

Для систем нечеткого вывода типа Сугено можно выбрать один из следующих методов дефазификации:

    • wtaver (weighted average) - метод взвешенного среднего;
    • wtsu

2.4 Результаты работы

Основываясь на интуитивном представлении и логических умозаключениях согласно условию задачи зададим:

    • входной сигнал количества с/ч культур (много культур, мало культур) в относительных единицах в диапазоне от 0 до 1:
    • входной сигнал температуры воздуха летом (засушливое лето, нормальное лето, холодное лето) в диапазоне от 0 до 50 ОС:
    • выходной сигнал расхода воды на полив (большой расход, средний расход, маленький расход) в относительных единицах в диапазоне от 0 до 1.

Правила:

1. Если с/х культур много, лето засушливое, то расход воды большой.

2. Если с/х культур много, лето нормальное, то расход воды средний.

3. Если с/х культур мало, лето холодное, то расход воды маленький.

Таким образом, согласно условию, задача будет описана следующими основными правилами:

  1. Если «С/х культур» много и «Лето» засушливое то «Расхода воды на полив» будет большой.
  2. Если «С/х культур» много и «Лето» нормальное то «Расхода воды на полив» будет средний.
  3. Если «С/х культур» мало и «Лето» холодное то «Расхода воды на полив» будет маленький.

Используя пакет нечеткой логики Fuzzy Toolbox системы MatLab, покажем, как можно построить нечеткую аппроксимирующую систему, базирующуюся на алгоритме Mamdani. Командой (функцией) Fuzzy (рис.1) из режима командной строки запускается основная интерфейсная программа пакета Fuzzy Logic – редактор нечеткой системы вывода (Fuzzy Inference System Editor, FIS Editor, FIS – редактор). Вид открывающегося при этом окна приведен на рисунке 2.

Рисунок 1 – Вызов команды открытия Fuzzy Logic Toolbox

Рисунок 2 – Интерфейс главного окна Fuzzy Logic Toolbox (модель Mamdani)

Через пункт меню Edit/Add Variable…->Input добавляем в систему второй вход (входную переменную) и называем их соответствующим образом (рис.3).

Рисунок 3 – Измененный вид входных и выходных параметров главного окна модели в Fuzzy Logic Toolbox

Через пункт меню Edit/MFs… перейдем к окну Membership Functions и добавим соответствующие функции принадлежности треугольного типа (рис.4 и 5), аналогично и для выходной переменной используем функции принадлежности треугольной формы (рис.6).

Обозначим названия каждой функции принадлежности для входных переменных «Температура воздуха летом» как «Холодное», «Нормальное» и «Засушливое», «Количество с/ч культур» как «Мало» и «Много», а для выходной переменной «Расход воды на полив» как «Маленький», «Средний» и «Большой». Зададим их границы.

Рисунок 4 – Вид функций принадлежности для входной переменной «Количество с/ч культур» в окне Membership Function Editor

Рисунок 5 – Вид функций принадлежности для входной переменной «Температура воздуха летом» в окне Membership Function Editor

Рисунок 6 – Вид функций принадлежности для выходной переменной «Расход воды на полив» в окне Membership Function Editor

Далее зададим соответствующие логические правила с помощью Rule Editor (рис.7).

Рисунок 7 – Задание правил соответствия в окне Rule Editor

Откроем окно просмотра правил (View/Rules) и установим значения переменных (рис.8): «Количество с/ч культур» =0,5 и «Температура воздуха летом» = 25. Увидим ответ: «Расход воды на полив» =0,5. Приведем еще несколько вариантов (рис.9 и 10). Результаты проверок подтверждают правильность работы созданной нечеткой модели оценки расхода воды на полив.

Подтверждением отмеченной зависимости выходной переменной от входных может служить вид поверхности отклика, который представляется при выборе пункта меню View/Surface (рис.11). С помощью мышки график можно поворачивать во все стороны.

Рисунок 8 – Результат проверки разработанной системы в окне Rule Viewer

Рисунок 9 – Результат проверки разработанной системы в окне Rule Viewer

Рисунок 10 – Результат проверки разработанной системы в окне Rule Viewer

Рисунок 11 – Результат проверки разработанной системы в окне просмотра поверхности отклика (Surface Viewer) в 3-D

В открывшемся окне, меняя имена переменных в полях ввода, можно задать и просмотр одномерных зависимостей (рис.12).

Рисунок 12 – Результат проверки разработанной системы в окне просмотра поверхности отклика (Surface Viewer) в 2-D

Заключение

Нейронные сети представляют собой совокупность однотипных базовых элементов – нейронов, соединенных между собой линиями передачи информации или синаптическими связями с определенными коэффициентами веса и, благодаря такой структуре, обладающих очень высокой степенью внутреннего параллелизма. Выделяют группу связей, по которым сеть получает информацию из внешнего мира, и группу выходных связей, с которых снимаются выдаваемые сетью сигналы.

В результате выполнения практической части была построена нечеткая экспертная система на базе использования модуля системы Matlab – Fuzzy Logic Toolbox. Построенная система позволяет осуществлять оценку расхода воды на полив сельскохозяйственных культур в зависимости от температуры воздуха летом и количества сельскохозяйственных культур. В процессе реализации системы использовались модули Rule Viewer, Rule Editor и Surface Viewer.

С помощью Fuzzy Logic Toolbox на любом этапе проектирования нечеткой модели в нее можно внести необходимые коррективы, вплоть до задания какой-либо особенной пользовательской функции принадлежности. Разработанные системы могут быть сохранены в соответствующие файлы, формата *.fis.

Список литературы

1.Галушкин А.И. Нейронные сети : основы теории : для научных работников, аспирантов и студентов / Галушкин Александр Иванович ; рец.: Ю.В. Гуляев, Э.Д. Аведьян. - Москва: Горячая линия-Телеком, 2010. - 496 с.

2.Донской Д.А. Моделирование искусственных нейронных сетей в системме MatLab: часть первая / Д. А. Донской, Б. Д. Шашков, Д. М. Деревянчук, Н.В. Деревянчук, Ю. Г. Квятковский. – Пенза: ПГУ, 2015. – 36с.

3.Избранные главы теории нечетких множеств : учеб. Пособие В. И. Ухоботов. Челябинск : Челяб. гос. ун-т, 2011. 245 с.

4.Круглов В.В. Нечеткая логика и искусственные нейронные сети: Учебные пособия для студентов вузов, обучающихся по специальности "Прикладная информатика (по областям)" / В.В. Круглов, М.И. Дли, Р.Ю. Голунов; Рец.: В.П. Дьяконов, В.В. Борисов. - Москва: Физматлит, 2001.- 224 с.

5.Макеев А.В. Основы нечеткой логики. Учебное пособие для вузов. – Н.Новгород:ВГИПУ, 2013. – 59с.

6.Портал искусственного интеллекта [Электронный ресурс] – http://www.aiportal.ru/.

7.Редько В.Г. Эволюция, нейронные сети, интеллект: модели и концепции эволюционной кибернетики / В.Г. Редько. - 8-е изд. - Москва: ЛИБРОКОМ, 2013. - 220 с.

8.Рутковская Д. Нейронные сети, генетические алгоритмы и нечеткие системы = Sieci neuronowe, algorytmy genetyczne i systemy rozmyte Д. Рутковская, М. Пилиньский, Л. Рутковский; пер. с польск. И.Д. Рудинского. - 2-е изд. - Москва: Горячая линия - Телеком, 2013. - 383 с.

  1. Донской Д.А. Моделирование искусственных нейронных сетей в системме MatLab: часть первая / Д. А. Донской, Б. Д. Шашков, Д. М. Деревянчук, Н.В. Деревянчук, Ю. Г. Квятковский. – Пенза: ПГУ, 2015. – 36с.

  2. Галушкин А.И. Нейронные сети : основы теории : для научных работников, аспирантов и студентов / Галушкин Александр Иванович ; рец.: Ю.В. Гуляев, Э.Д. Аведьян. - Москва: Горячая линия-Телеком, 2010. - 496 с.

  3. Макеев А.В. Основы нечеткой логики. Учебное пособие для вузов. – Н.Новгород:ВГИПУ, 2013. – 59с.

  4. Избранные главы теории нечетких множеств : учеб. Пособие В. И. Ухоботов. Челябинск : Челяб. гос. ун-т, 2011. 245 с.

  5. Круглов В.В. Нечеткая логика и искусственные нейронные сети: Учебные пособия для студентов вузов, обучающихся по специальности "Прикладная информатика (по областям)" / В.В. Круглов, М.И. Дли, Р.Ю. Голунов; Рец.: В.П. Дьяконов, В.В. Борисов. - Москва: Физматлит, 2001.- 224 с.

  6. Рутковская Д. Нейронные сети, генетические алгоритмы и нечеткие системы = Sieci neuronowe, algorytmy genetyczne i systemy rozmyte Д. Рутковская, М. Пилиньский, Л. Рутковский; пер. с польск. И.Д. Рудинского. - 2-е изд. - Москва: Горячая линия - Телеком, 2013. - 383 с.

  7. Редько В.Г. Эволюция, нейронные сети, интеллект: модели и концепции эволюционной кибернетики / В.Г. Редько. - 8-е изд. - Москва: ЛИБРОКОМ, 2013. - 220 с.

  8. Портал искусственного интеллекта [Электронный ресурс] – http://www.aiportal.ru/.