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

Задача на определение затрат на свадьбу (История развития нейронных сетей)

Содержание:

Введение

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

условиях нечёткости, размытости, и их применение в вычислительных системах. Она применяется в экспертных системах, нейронных сетях и системах искусственного интеллекта.

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

В данной курсовой работе применен на практике  пакет прикладных программ для решения задач технических вычислений и одноимённый язык программирования, а именно один инструмент из его набора – MATLAB Fuzzy Logic Toolbox.

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

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

Нейронная сеть — математическая модель, а также её программное или аппаратное воплощение, построенная по принципу организации и функционирования биологических нейронных сетей — сетей нервных клеток живого организма[1]. Первые работы, которые освещали данное направление науки , были проделаны учеными Мак-Каллоком и Питтсом[2]. Выдвинув предположение, что нейроны можно рассматривать, хоть и упрощенно как устройства, оперирующие двоичными числами. Они назвали эту модель «пороговой логикой». Подобно биологическому прототипу нейроны Мак-Каллока–Питтса имели возможность обучаться путём подстройки параметров, характеризующих синоптическую проводимость. Ученые предложили конструкцию сети из электронных нейронов и показали, что данная сеть может выполнять практически любые придуманные числовые или логические операции. Мак-Каллок и Питтс думали, что такая сеть в состоянии также обучаться, распознавать образы, обобщать, или даже обладает всеми чертами интеллекта.

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

В далеком 1949 году Дональд Хебб высказал идеи о соединении нейронов головного мозга и их взаимодействия. Хебб предположил, что обучение заключается в первую очередь от силы синоптических связей. Теория Хебба[3] считается стандартным случаем самообучения, при котором та или иная система спонтанно обучается выполнять поставленную задачу без вмешательства со стороны экспериментатора. Позднее в вариантах теория Хебба стала основой описания явления долговременной потенцией.

В Массачусетском технологическом институте, в начале 1954 года с использованием компьютеров Фарли и Кларк разработали имитацию сети Хебба. Также исследования нейронных сетей с помощью компьютерного моделирования были проведены Рочестером, Холландом, Хебитом и Дудой в 1956 году[4].

В 1957 году Розенблатт разработал математическую и компьютерную модели восприятия информации мозгом на основе двухслойной обучающейся нейронной сети[5]. Во время обучения данная сеть использовала арифметические действия сложения и вычитания. Он описал также схему не только основного персептрона, но и схему логического сложения. Он в 1958 году предложил модель электронного устройства, которое имитировало бы процессы человеческого мышления. Два года спустя была продемонстрировал первую действующую машину. Она могла научиться распознавать некоторые из букв которые подносили к его «глазам», написанные на карточках, глаза напоминали кинокамеры.

Интерес к исследованию нейронных сетей поубавился. После публикации работ по машинному обучению Минского и Пейперта в 1969 году[6]. Они обнаружили перечень основных вычислительных проблем, которые возникали при компьютерном воплощении искусственных нейронных сетей. Основная проблема состояла в том, что однослойные нейронные сети не имели возможности совершать сложение по модулю 2, реализовать функцию «Исключающее ИЛИ». Не менее важной проблемой было то, что компьютеры не обладали достаточной вычислительной мощностью на данном этапе развития, чтобы эффективно обрабатывать большие объём вычислений, необходимый для крупных нейронных сетей.

Дальнейшее бурное исследование нейронных сетей началось только тогда, когда компьютеры достигли более больших вычислительных мощностей. Важным шагом, стимулировавшим дальнейшие исследования, стала разработка в 1975 году Вербосом[7] метода обратного распространения ошибки. Он позволит наиболее продуктивно решать задачу обучения многослойных сетей и решить проблему со «сложением по модулю 2».

В 1975 году ученый Фукусима[8] разработал когнитрон, который стал одной из первых многослойных нейронных сетей, но далеко не последней. Фактически структура сети и методы, которые используются в когнитроне для настройки относительных весов синоптических связей, переходили от одной стратегии к другой. Стратегии имели свои преимущества и недостатки. Сети могли перебрасывать информацию из одного конца в другой или распространять информацию только в одном направлении, до тех пор пока активировались все узлы и сеть не приходила в нужное состояние. Данная проблема была решена лишь в сети Хопфилда (1982)[9], в первых гибридных сетях была введена специализация этих узлов для конкретных целей.

В середине 1980 годов стал популярен алгоритм параллельной распределённой обработки данных - коннективизма. В 1986 году Руммельхарт и Мак-Клелланд в своей работе, коннективизм, использовали для компьютерное моделирование нейронных процессов.

Но даже большой энтузиазм, который был вызван в научном сообществе, после разработки метода обратного распространения ошибки, это также породило многочисленные споры. Может ли такое обучение быть на самом деле реализовано в головном мозге или нет? Это связывали с механизмом обратного прохождения сигнала. Он не был очевидным в то время, так как не было явного источника обучающего и целевого сигналов. Однако уже в 2006 году было предложено несколько неконтролируемых процедур обучения нейронных сетей[10]. Не важно с одним или несколькими слоями, с использованием, так называемых алгоритмов глубокого обучения. Такие алгоритмы могут быть использованы для изучения промежуточных представлений, как с выходным сигналом, так и без него. Это помогает понять основные особенности распределения сенсорных сигналов, поступающих на каждый слой нейронной сети.

Задачи высокой сложности требуют применения далеко не одного, а нескольких методов решения, а иногда их синтеза. Исключение не стали и искусственные нейронные сети. С самого начала двадцать первого столетия в различных работах исследователей очень активно описываются нейро-нечёткие сети, ячеечно-нейросетевые[11] модели. Современные нейронные сети используются, например, для настройки параметров нечётких систем управления и во многих других случаях. Не возникает абсолютно никаких сомнений и в дальнейшей интеграции методов искусственного интеллекта между собой и с другими методами решения задач.

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

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

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

Базисный элемент мозга, биологический нейрон – это специальная клетка, которая структурно состоит из ядра, тела клетки и отростков.[13] Ключевой и основной задачей нейрона является передача электрохимического импульса по всей нейронной сети через доступные связи с другими нейронами. Притом, каждая связь характеризуется некоторой величиной, называемой силой синоптической связи, но это далеко не единственная ее характеристика. Эта величина определяет, насколько ослабится электрохимический импульс при передаче его дендриту, т. е. сила синоптической связи определяется электрической проводимостью синапса[14] (величиной, обратной электрическому сопротивлению).

Сигналы которые принял синапс подводятся к телу нейрона. Здесь они суммируются. Тогда когда суммарное возбуждение в теле нейрона превышает некоторый порог , называемый «сон-бодрствование», нейрон возбуждается, посылая по аксону сигнал другим нейронам. Это схема предельно упрощенная показывает взаимодействия естественных нейронов, тем не менее большинство искусственных нейронных сетей моделируют лишь эти простые свойства.

Строго говоря, говоря о «силе» электрохимического импульса в мозгу человека мы имеем в виду некую интегральную характеристику. Данная характеристика зависит не только от создаваемой разности потенциалов, но и от частоты следования импульсов от нейрона к нейрону[15]. Так как нейрон, размышляя о степени возбуждения принимает во внимание не только амплитуду приходящих от других нейронов импульсов, но так же их частоту, то есть в локальном временном масштабе обладает способностью «накапливать» возбуждение.[16] При построении моделей мозга, то есть, искусственных нейронных сетей, эти частотно-временные нюансы как правило игнорируются и считается, что искусственные нейроны взаимодействуют друг с другом путем передачи постоянных потенциалов.

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

Биологическая нейронная сеть обладает высокой степенью связности: на один нейрон может приходиться тысячи связей с другими нейронами[17]. Но это приблизительное значение и в каждом конкретном случае оно разное. Передача импульсов от одного нейрона к другому порождает определенное возбуждение всей нейронной сети. Величина возбуждения определяет реакцию нейронной сети на какие-то входные сигналы.

Мозг человека обладает возможностью организовывать работу нейронов, дабы они могли выполнять конкретные задачи (такие как распознавание образов, обработку сигналов органов чувств, моторные функции) во много раз быстрее, чем могут позволить самые быстродействующие современные компьютеры. [18] Обычное зрение может служить примером такой задачи обработки информации. В функции зрительной системы входит создание представления окружающего мира в таком виде, который обеспечивает возможность взаимодействия с этим миром. [19] Более точно, мозг последовательно выполняет ряд задач распознавания, такие как распознавание знакомых лиц. На это у него уходит около 100-200 миллисекунд, а вот на компьютере может занять несколько дней, даже если задача будет гораздо более низкой сложности.

Другим примером может служить эхо - локатор летучей мыши. Он представляет из собой систему активной акустической локации[20]. Кроме предоставления информации о расстоянии до нужного объекта этот локатор предоставляет информацию об относительной скорости объекта, о его размерах и размерах его отдельных элементов, а также об азимуте и высоте движения объекта. Для выделения этой информации из получаемого сигнала миниатюрный мозг летучей мыши проводит сложные нейронные вычисления. Эхо-локация летучей мыши по своим характеристикам качества и быстродействия превосходит самые сложные приборы, созданные инженерами, и даже супер компьютеры, чья вычислительная мощность порой кажется бесконечной.

У нейронных сетей много важных свойств, но ключевое из них – это способность к обучению. Обучение нейронной сети[21] в первую очередь заключается в изменении «силы» синоптических связей между нейронами. В классическом опыте Павлова[22], каждый раз непосредственно перед кормлением собаки звонил колокольчик. Собака достаточно быстро научилась ассоциировать звонок колокольчика с приемом пищи. Все это явилось следствием того, что синоптические связи между участками головного мозга, ответственными за слух и слюнные железы, усилились. И в последующем возбуждение нейронной сети звуком колокольчика, стало приводить к более сильному слюноотделению у собаки.

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

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

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

Для сигмоидальных элементов в зависимости от входного сигнала, выход варьируется непрерывно, но не линейно, по мере изменения входа. Сигмоидальные элементы имеют больше сходства с реальными нейронами, чем линейные или пороговые, но любой из этих типов можно рассматривать лишь как приближение.[24]

Множество входных сигналов, обозначенных , поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором , соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес , и поступает на суммирующий блок, обозначенный Каждый вес соответствует "силе" одной биологической синоптической связи.[25] (Множество весов в совокупности обозначается вектором) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть.

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

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

Коэффициент усиления вычисляется как отношение приращения величины к вызвавшему его небольшому приращению величины. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным. По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. С. Гроссберг 1973 обнаружил, что подобная нелинейная характеристика решает поставленную им дилемму шумового насыщения[27].

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

Другой широко используемой активационной функцией является гиперболический тангенс.[29] По форме она сходна с логистической функцией и часто используется биологами в качестве математической модели активации нервной клетки.

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

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

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

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

Даже один нейрон и способен выполнять простейшие процедуры распознавания, но тем не менее для серьезных нейронных вычислений необходимо соединять нейроны в сети.[31] Самая простейшая сеть состоит из группы нейронов, образующих слой. Для большей наглядности обозначим их кругами, чтобы отличать их от вычисляющих нейронов, обозначенных квадратами. Каждый элемент из множества входов отдельным весом соединен с каждым искусственным нейроном. А каждый нейрон выдает взвешенную сумму входов в сеть. В искусственных и биологических сетях многие соединения могут отсутствовать, но здесь они показаны все для демонстрации общей картины. Между выходами и входами элементов в слое также могут существовать соединения.[32]

Для удобства счета веса лучше использовать матрицу. Матрица имеет строк и столбцов, где — число входов, а — число нейронов. Например, — это вес, связывающий второй вход с третьим нейроном. Таким образом, вычисление выходного вектора , компонентами которого являются выходы нейронов, сводится к матричному умножению , где и — векторы-строки[33].

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

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

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

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

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

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

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

Существует два основных алгоритма обучения, обучение с учителем и без него. Обучение с учителем означает, что для каждого входного вектора существует целевой вектор, представляющий собой требуемый выход. Их называют обучающей парой.[38] Обычно сеть обучается на некотором числе таких обучающих пар. Предъявляется выходной вектор, вычисляется выход сети и сравнивается с соответствующим целевым вектором, разность с помощью обратной связи подается в сеть, веса изменяются в соответствии с алгоритмом, стремящимся минимизировать ошибку. [39] Векторы обучающего множества предъявляются последовательно, ошибки вычисляются и веса подстраиваются для каждого вектора до тех пор, пока ошибка по всему обучающему массиву не достигнет приемлемо низкого уровня.

Даже учитывая многочисленные прикладные достижения, обучение с учителем критиковалось за свою биологическую неправдоподобность и отдаленность от естественного хода событий в реальном мире. Трудно вообразить обучающий механизм в мозге, который бы сравнивал желаемые и действительные значения выходов, выполняя коррекцию с помощью обратной связи. Обучение без учителя является намного более правдоподобной моделью обучения для биологической системы, и более схоже с процессами, протекающими в мозгу[40]. Развитая Кохоненом и многими другими, она не нуждается в целевом векторе для выходов и, следовательно, не требует сравнения с предопределенными идеальными ответами. Обучающее множество состоит лишь из входных векторов. Обучающий алгоритм подстраивает веса сети так, чтобы получались согласованные выходные векторы, т. е. чтобы предъявление достаточно близких входных векторов давало одинаковые выходы.[41] Процесс обучения выделяет статистические свойства обучающего множества и группирует сходные векторы в классы. Предъявление на вход вектора из данного класса даст определенный выходной вектор, но до обучения невозможно предсказать, какой выход будет производиться данным классом входных векторов. Тут можно сказать, что выходы подобной сети должны трансформироваться в некоторую понятную форму, обусловленную процессом обучения. Данное заявление не является серьезной проблемой. Обычно не сложно идентифицировать связь между входом и выходом, установленную сетью.[42]

2. Практическая часть

2.1 Применение нечеткой логики на практике

Решение задачи при помощи MATLAB Fuzzy Logic Toolbox

Практическая часть курсовой работы заключается в решении задачи на нечеткую логику, с помощью Fuzzy Logic Toolbox. Данный пакет является расширением MATLAB, содержащим инструменты для проектирования систем нечеткой логики[43]. В данной курсовой работе будет отображена лишь очень малая часть функциональных возможностей как пакета, так и всего комплекса MATLAB. За рубежом по большинству таких расширений опубликованы отдельные книги, а объем документации по ним составляет сотни мегабайт. В России же данная тематика освещена менее разнообразна.

Задача на определение затрат на свадьбу:

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

Правила:

1.Если количество гостей маленькое, мало приглашенных артистов, мало блюд на столе, то свадьба бедная.

2.Если среднее количество гостей , мало артистов, среднее количество блюд, то свадьба средняя.

3. Если много приглашенных гостей, много приглашенных артистов, много количество блюд на столе, то свадьба богатая.

Решение задачи:

Для решения задачи применю десятибалльную шкалу.

Что бы начать решение необходимо открыть программу MATLAB (рис.1)

Рис.1 Открытие MATLAB

Следующим шагом необходимо вызвать фаззи-систему, для этого есть несколько способов. Я использую наиболее быстрый, написание в строке функций MATLAB записи «fuzzy» и нажатие Enter (рис.2).

Рис. 2 Открытие Fuzzy

Далее в открывшемся окне fuzzy (рис.3) необходимо задать наши входные сигналы, и добавить им название. Для этого нажимаем в редакторе Edit-Add variable-Input. После данных действий в редакторе появится новый блок. Так как у нас три входных сигнала, добавляем еще один.

Вводим их имена, а так же имя сигнала выхода. Входные: гости, артисты, блюда. Выходные: стоимость. Присваиваем имя всей сети «marriage» (по англ. Свадьба), для этого File-Export-To workspace (рис.4).

Рис.3 Окно fuzzy

Рис.4 Меняем имена входных и выходных сигналов

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

Зададим и отредактируем входную функцию «гости». Сначала в поле Range, Display range установим диапазон изменения переменных [0 10]. Зададим три типа принадлежности. Через Edit-Add MFs перейдем к диалоговому окну в котором зададим функцию гауссовского вида «gaussmf» (рис. 5). Изменим их имена на мало, средне, много (рис. 6).

Рис.5 Зададим функцию гауссовского вида

Рис. 6 Изменим их имена «гости»

Рис. 7 Зададим функцию трапецеидальной формы «tramf»

Зададим и отредактируем входную функцию «артисты». Сначала в поле Range, Display range установим диапазон изменения переменных [0 10]. Зададим 2 функции принадлежности. Через Edit-Add MFs перейдем к диалоговому окну в котором зададим функцию трапецеидальной формы «tramf»(рис.7). Изменим их имена на мало, много. Для функции мало установим Params [0 0 1 3] и для функции много Params [7 9 10 10] (рис. 8).

Рис.8 Params [7 9 10 10]

Зададим и отредактируем входную функцию «блюда». Сначала в поле Range, Display range установим диапазон изменения переменных [0 10]. Зададим три типа принадлежности. Через Edit-Add MFs перейдем к диалоговому окну в котором зададим функцию гауссовского вида «gaussmf»(рис. 9). Изменим их имена на мало, средне, много (рис. 10).

Далее отредактируем переменную характеризующую затраты на свадьбу «стоимость» (рис.11). Зададим три функции принадлежности треугольной

Рис. 9 Зададим и отредактируем входную функцию «блюда».

Рис. 10 Зададим и отредактируем входную функцию «блюда».

формы (trimf) c именами бедная (Params [0 5 10]), средняя (Params [10 15 20], богатая (Params [20 25 30]). Установим для переменной Range [0 30] (рис. 12).

Рис. 11 Зададим и отредактируем входную функцию «блюда».

Рис. 12 Установим для переменной Range [0 30]

Теперь все готово для конструирования правил.

Начинаем создание правил, для этого Edit-Rules(рис. 13).

Правила из условий:

1.Если количество гостей маленькое, мало приглашенных артистов, мало блюд на столе, то свадьба бедная.

2.Если среднее количество гостей , мало артистов, среднее количество блюд, то свадьба средняя.

3. Если много приглашенных гостей, много приглашенных артистов, много количество блюд на столе, то свадьба богатая.

Рис.13 Зададим правила

Единица в скобках обозначает вес правил. У нас вес одинаковый для всех правил.

На этом конструирование системы закончено. Сохраним нашу систему File-Export-To File- папка на компьютере (рис. 14).

После того как мы полностью закончили проект, нам необходимо про-

Рис. 14 Сохраним нашу систему

Рис. 15 Открываем View

верить его работу. Для этого открываем View-View rules (рис. 15). Установим переменные гости=0 (мало), артисты=3 (мало), блюда=0 (мало) увидим ответ=5.26 (бедная) (рис.16). Установим переменные гости=5 (средне), артисты=3 (мало), блюда=5 (средне) увидим ответ=15 (средняя) (рис. 17). Установим переменные гости=10 (много), артисты=10 (много), блюда=10 (много) увидим ответ=24.7 (богатая).

Подтверждением отмеченной зависимости выходной переменной от входных может служить вид поверхности отклика, который представляется при выборе пункта меню View-View surface. На ней в виде 3D модели можно посмотреть результат.

Рис. 16 Гости=0 (мало), артисты=3 (мало), блюда=0 (мало)

Рис.17 Гости=5 (средне), артисты=3 (мало), блюда=5 (средне)

Рис. 18 Гости=10 (много), артисты=10 (много), блюда=10 (много)

Рис. 19 View-View surface

Рис. 20 3D модель

Вывод: условия задачи выполнены, результат достигнут, задача решена.

Заключение

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

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

Список использованных источников

Шеннона К. Э. Дж. Маккарти  Автоматы - М.: иностранная литература, 1956. 

Комарцова Л. Г. А. В. Максимов Нейрокомпьютеры - М.: МГТУ им. Н.Э. Баумана, 2002.

Ясницкий Л. Н. Введение в искусственный интеллект - М.: Изд. центр Академия , 2005.

Н. Винер. Кибернетика. 2-е изд. - М.: Наука Москва, 1961.

Голубев Ю. Ф.  Нейросетевые методы в мехатронике - М.: Москва Унта, 2007

Минский,М.,  Персептроны - М.: Мир 2005.

Галушкин А. И. Синтез многослойных систем распознавания образов - М.: Энергия, 1974.

Уоссермен Ф. Нейрокомпьютерная техника: Теория и практика - М.: Мир, 1992.

Барцев С. И., Охонин В.А. сети обработки информации - Красноярск: Ин-т физики СО АН СССР 1986.

Папаев П. Л., Дударов П.Л. Разработка организационной и функциональной структур информационно-моделирующей системы для оценки последствий аварий на химических производствах с использованием ячеечно-нейросетевых моделей - М.: Издательский центр ОГАУ 2013.

Аверкин А. Н. Гаазе-Рапопорт М. Г. Поспелов Д.А.Толковый словарь по искусственному интеллекту -М.:Радио и связь, 1992.

Jeff Bezos Neuronal Man – The Biology of Mind М.: - Princeton University 1999.

Савельев А. В. Методология синаптической самоорганизации и проблема дистальных синапсов нейронов. Журнал проблем эволюэволюции открытых систем. - М.: Казахстан, Алматы, 2006.

Блум Ф., Лейзерсон А., Хофстедтер Л., Мозг, разум и поведение - М.: Казахстан, Алматы, 2006.

Савельев А. В. Реализм теории модульной самоорганизации мозжечка. Журнал проблем эволюции открытых систем - М.: Открытые системы ,Казахстан, Алматы, 2007.

Петровский Б. В. Краткая медицинская энциклопедия - М.: Советская энциклопедия 1989.

Молковский А. Зрение человека - М.: «Слово», 1983. 

Морозов В. П. Занимательная биоакустика. Изд. 2-е, доп. - М.: Знание 1987.  Круглов В. В., Борисов В.В.  Искусственные нейронные сети. Теория и практика - М.: Телеком, 2001. 

Прохоров А.М. Профессор Павлов И.П  3-е изд. - М.: Советская энциклопедия, 1969.

Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры - М.: МГТУ им. Н. Э. Баумана, 2004.

Миркес Е. М., Нейрокомпьютер. Проект стандарта - М.: Новосибирск: Наука, 1999.

Бескоровайный В. В., Соболева Е.В. Бионика интеллекта. - М.: Харьков: ХНУРЕ, 2010.

Лифшиц И. М., Гросберг А. Ю. , Хохлов А. Р. Объемные взаимодействия в статистической физике полимерной макромолекулы - М.: УФН 127 ,1979.

Войшвилло Г. В. Усилительные устройства: Учебник для вузов. 2-е изд.- М.: Радио и связь 1983.

Бугров Я. С., Никольский С. М. Высшая математика. Дифференциальные уравнения. Кратные интегралы. Ряды. Функции комплексного переменного - М.: Москва: Наука, 1985. 

Ильясов Ф. Н. Разум искусственный и естественный - М.: Известия АН Туркменской ССР, серия общественных наук. 1986.

Пенроуз Р. Новый ум короля. О компьютерах, мышлении и законах физики -М.: УРСС, 2005.

Гарри Гаррисон. Выбор по Тьюрингу - М.: Эксмо-Пресс, 1999.

Хорн Р., Джонсон Ч. Матричный анализ - М.: Мир, 1989.

Базарова Д.Р., Демочкина А.В. Новая нейробионическая модель онтогенеза  Нейроинформатика - М.: Москва: МИФИ, 2002. 

Jang J.-S. R. ANFIS: Adaptive-Network-Based Fuzzy Inference System -М.:IEEE Trans. Systems & Cybernetics. - 1993.

  1. [Шеннона К. Э. Автоматы / К Э.Шеннона, Дж. Маккарти  М.: иностр. лит., 1956. — с. 363—384]

  2. [Комарцова Л. Г. Нейрокомпьютеры/ Л. Г. Комарцова, А. В Максимов. М.: МГТУ им. Н.Э. Баумана, 2002. —  320 с.]

  3. [Ясницкий Л. Н. Введение в искусственный интеллект/ Л. Н.Ясницкий М.: Изд. центр Академия , 2005— с.30-32]

  4.  [Н. Винер. Кибернетика. 2-е изд.,/ Н. Винер М.: Наука Москва, 1961, -123 с.]

  5. [Голубев Ю. Ф.  Нейросетевые методы в мехатронике./ Ю. Ф. Голубев  М.: Моск. унта, 2007. — 157 с]

  6. [Минский,М.,  Персептроны / М.Минский, — М.: Мир, 1971. — 261 с.]

  7. [ Галушкин А. И. Синтез многослойных систем распознавания образов./ А. И Галушкин.  — М.: Энергия, 1974. – 125 с].

  8. [Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика./ Ф. Уоссермен,— М.: Мир, 1992. — 240 с.]

  9. [Уоссермен, Ф. Нейрокомпьютерная техника: Теория и практика/ Ф.Уоссермен,  — М.: Мир, 1992. — 135 с.]

  10. [Барцев С. И., сети обработки информации./С.И.Барцев,В.А Охонин.  — Красноярск: Ин-т физики СО АН СССР, 1986.Препринт N 59Б. —20 с.]

  11. [ Папаев П. Л. Разработка организационной и функциональной структур информационно-моделирующей системы для оценки последствий аварий на химических производствах с использованием ячеечно-нейросетевых моделей./ П. Л. Папаев., С. П. Дударов М.: Издательский центр ОГАУ – 2013. – 141 с.]

  12. [Аверкин А. Н. Толковый словарь по искусственному интеллекту. / А. Н Аверкин., М. Г Гаазе-Рапопорт., Д.А Поспелов.-М.:Радио и связь, 1992. — 256 с.]

  13. [Jeff Bezos Neuronal Man – The Biology of Mind./ Jeff Bezos  — Princeton University 1997. —  28 c.]

  14. [Савельев А. В. Методология синаптической самоорганизации и проблема дистальных синапсов нейронов./ А. В.   Савельев // Журнал проблем эволюции открытых систем. —М.: Казахстан, Алматы, 2006. — Т. 8, № 2. — c. 96—104.]

  15. [Блум, А. Мозг, разум и поведение/ Ф. Блум, А. Лейзерсон, Л. Хофстедтер,М.: Казахстан, Алматы, 2006. — Т. 8, № 2. — С. 96—110.]

  16. [Савельев А. В. Реализм теории модульной самоорганизации мозжечка/ А. В.Савельев / Журнал проблем эволюции открытых систем.М.: Открытые системы ,Казахстан, Алматы, 2007. — Т. 9, № 1. — С. 93-101.]

  17. [Петровский Б. В. Краткая медицинская энциклопедия / Гл. редактор Б. В. Петровский. — М.: Советская энциклопедия, 1989.-124c.]

  18. [ Блум Ф.Мозг, разум и поведение./ Ф. Блум., А Лейзерсон., Л. Хофстедтер.- М.: Знание 1988.-327 с.]

  19. [Молковский А. Зрение человека./ А. Молковский.  — М.: «Слово», 1983. — 347 с.]

  20. [Морозов В. П. Занимательная биоакустика. Изд. 2-е, доп.,./ В.П. Морозов— М.: Знание, 1987. — 208 с.]

  21. [Круглов В. В.  Искусственные нейронные сети. Теория и практика./ В. В Круглов., В. В. Борисов — М.: Телеком, 2001. — 382 с.]

  22. [Павлов И.П. Профессор Павлов И.П. / под ред. гл. ред. А. М. Прохоров — 3-е изд. — М.: Советская энциклопедия, 1969. 325 c.]

  23. [Комарцова Л. Г. Нейрокомпьютеры/ Л. Г .Комарцова. , А.В. Максимов -М.: МГТУ им. Н. Э. Баумана, 2004.-17 c.]

  24. [КругловВ.В. Искусственные нейронные сети. Теория и практика/ В. В. Круглов, В. В. Борисов M.: Наука, 1999  — с.11]

  25. ? [Миркес Е. М., Нейрокомпьютер. Проект стандарта/ Е. М Миркес  М.: Новосибирск: Наука, 1999. — 337 с.] 

  26. [Бескоровайный В. В., Бионика интеллекта. / В. В. Бескоровайный , Е. В. Соболева —М.: Харьков: ХНУРЕ, 2010. — № 1(72). — С. 50-54.]

  27. [Лифшиц И. М.  Объемные взаимодействия в статистической физике полимерной макромолекулы / И. М.  Лифшиц, А. Ю Гросберг. , А. Р Хохлов. -М.: УФН 127 ,1979.-26 c.]

  28. [Войшвилло Г. В. Усилительные устройства: Учебник для вузов. 2-е изд./ Г. В. Войшвилло М.: Радио и связь. 1983 138 c.]

  29. [Бугров Я. С., Никольский С. М. Высшая математика. Дифференциальные уравнения. Кратные интегралы. Ряды. Функции комплексного переменного./ Я. С Бугров.,С. М  Никольский М.: Москва: Наука, 1985. — 464 c].

  30. [Ильясов Ф. Н. Разум искусственный и естественный / Ф. Н.  Ильясов М.:Известия АН Туркменской ССР, серия общественных наук. 1986. № 6. С. 46—54.]

  31. [Пенроуз Р. Новый ум короля. О компьютерах, мышлении и законах физики./ Р.Пенроуз.  — М.: УРСС, 2005.- 16-21 с.]

  32. [Гарри Гаррисон. Выбор по Тьюрингу./ Гарри Гаррисон.  — М.: Эксмо-Пресс, 1999. — 480 с.]

  33. [Хорн Р. Матричный анализ./Р. Хорн, Ч.Джонсон — М.: Мир, 1989 - 655с.]

  34. [Ильясов Ф. Н. Разум искусственный и естественный / Ф. Н.  Ильясов-М.: Известия АН Туркменской ССР, серия общественных наук. 1986. № 6. 46—54 с.]

  35. [Аверкин А. Н. Толковый словарь по искусственному интеллекту./ А. Н Аверкин., М. Г Гаазе-Рапопорт., Д. А  Поспелов М.: Радио и связь, 1992. — 356 с.]

  36. [Базарова Д.Р., Новая нейробионическая модель онтогенеза  Нейроинформатика./ Д.Р. Базарова., Л.В. Демочкина., А.В. Савельев  М.: Москва: МИФИ, 2002. — Т. 1. — С. 97-106 с.]

  37. [Аверкин А. Н. Толковый словарь по искусственному интеллекту./ А. Н Аверкин., М. Г Гаазе-Рапопорт., Д. А.Поспелов  М.:Радио и связь, 1992. — 256 с.]

  38. [Ильясов Ф. Н. Разум искусственный и естественный / Ф. Н Ильясов.-М.: Известия АН Туркменской ССР, серия общественных наук. 1986. № 6. - 46—54 с.]

  39. ? [Гарри Гаррисон. Выбор по Тьюрингу./ Гарри Гаррисон. — М.: Эксмо-2003 г. – 78 с.]

  40. [Базарова Д.Р.Новая нейробионическая модель онтогенеза Нейроинформатика./ Д.Р. Базарова, Л.В Демочкина., А.В  Савельев М.: Москва: МИФИ, 2002 — 97-106 с.]

  41. [Ильясов Ф. Н. Разум искусственный и естественный / Ф. Н Ильясов М.: Известия АН Туркменской ССР, серия общественных наук. 1986. № 6. 46—54 с.]

  42. [Гарри Гаррисон. Выбор по Тьюрингу./ Гарри Гаррисон.  — М.: Эксмо-Пресс, 1999. — 480 с.] 

  43. [Jang J.-S. R. ANFIS: Adaptive-Network-Based Fuzzy Inference System / Jang J.-S. R. ANFIS-М.:IEEE Trans. Systems & Cybernetics. - 1993. - Vol. 23. - P. 665 - 685.]