Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системный анализ.docx
Скачиваний:
5
Добавлен:
15.08.2019
Размер:
511.19 Кб
Скачать

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

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

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

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

Схема простой нейросети. Зеленым цветом обозначены входные нейроны, голубым скрытые нейроны, жёлтым — выходной нейрон 1. Формальный нейрон

Большинство моделей основывается на схеме формального нейрона У.С.Мак-Каллока и У.Питтса (1943 год) [1], согласно которой нейрон представляет собой пороговый элемент (Рис.1). На входах нейрона имеются возбуждающие и тормозящие синапсы, в нейроне определяется взвешенная сумма (с учетом весов синапсов) входных сигналов, при превышении этой суммой порога нейрона вырабатывается выходной сигнал.

Рис. 1. Схема формального нейрона. Xi – входные сигналы, Y – выходной сигнал нейрона.

Работа формального нейрона (Рис.1) может быть описана уравнениями:

Yj = F(netj Kj) ,                                                                      (1)

netj = i wji Xi ,                                                                         (2)

где j – номер нейрона в сети, Xi – входные сигналы, Yj – выходной сигнал нейрона, wji – веса синапсов, netj – суммарное входное воздействие на нейрон, Kj – порог нейрона, F(.) – активационная функция.

Активационная функция характеризует реакцию нейрона на входное воздействие netj , она может быть пороговой:

или некоторой непрерывной, например, линейной:

F(a) = ka                                                                                  (3a)

или логистической:

F(a) = 1/[1+exp(-a)] .                                                              (3b)

В зависимости от реализуемого алгоритма на допустимые значения входов и выходов нейрона накладываются определенные ограничения: значения Xi и Yj могут бинарными (т.е. равными 0 или 1), бинарными биполярными (+1 или -1), принадлежащими интервалу (0,1), неотрицательными или действительными. Аналогичные ограничения накладываются на веса синапсов нейронов wij .

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

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

2. Немного истории

2.1. Первый бионический бум. Перцептрон

История исследования нейронных сетей испытывала взлеты и падения. Первый всплеск энтузиазма был в 50-60-х годах. Его можно связать с работами Дж. фон Неймана по сравнительному анализу работы биологических нейронных сетей и компьютеров [2] и по разработке принципов построения надежных вычислительных систем из ненадежных компонент (фактически из формальных нейронов) [3] и с работами Ф.Розенблата по перцетронам [4]. Работы по перцептронам – наиболее значимое направление исследований первого бионического бума.

Кратко опишем работы по перцептронам, следуя в основном изложению, представленному в книге С.В. Фомина и М.В. Беркенблита "Математические проблемы в биологии" [5]. Перцепторон состоит из элементов 3-х типов: S - элементов, A - элементов и R - элемента (Рис.2) . S - элементы это – слой рецепторов. Эти рецепторы соединены с A - элементами с помощью тормозных или возбуждающих связей. Каждый рецептор может находиться в одном из двух состояний – покоя или возбуждения. A - элементы представляют собой сумматоры с порогом (т.е. формальные нейроны). Это означает, что A - элемент возбуждается, если алгебраическая сумма возбуждений, приходящих к нему от рецепторов, превышает определенную величину – его порог. При этом сигнал от рецептора, приходящий по возбуждающей связи, считается положительным, а приходящий по тормозной связи – отрицательным. Сигналы от возбудившихся A - элементов передаются в сумматор R, причем сигнал от i-го ассоциативного элемента передается с коэффициентом ki .

Рис. 2. Схема перцептрона.

 

Система связей между рецепторами S и A - элементами, так же как и пороги A - элементов выбираются некоторым случайным, но фиксированным образом, а обучение состоит лишь в изменении коэффициентов ki. Считаем, что мы хотим научить перцептрон разделять два класса объектов, и потребуем, чтобы при предъявлении объектов первого класса выход перцептрона был положителен, а при предъявлении объектов второго класса – отрицательным. Начальные коэффициенты ki полагаем равными нулю. Далее предъявляем обучающую выборку: объекты (например, круги либо квадраты) с указанием класса, к которым они принадлежат. Показываем перцетрону объект первого класса. При этом некоторые A - элементы возбудятся. Коэффициенты ki , соответствующие этим возбужденным элементам, увеличиваем на 1. Затем предъявляем объект второго класса и коэффициенты  ki тех A - элементов, которые возбудятся при этом показе, уменьшаем на 1. Этот процесс продолжим для всей обучающей выборки. В результате обучения сформируются значения весов связей ki .

После обучения перцептрон готов работать в режиме распознавания. В этом режиме перцептрону предъявляются "не знакомые" перцептрону объекты, и перцептрон должен установить, к какому классу они принадлежат. Работа перцептрона состоит в следующем: при предъявлении объекта возбудившиеся A - элементы передают сигнал R - элементу, равный сумме соответствующих коэффициентов ki. Если эта сумма положительна, то принимается решение, что данный объект принадлежит к первому классу, а если она отрицательна – то второму.

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

Исследования также показали, что слабые стороны перцептрона (в частности большое время обучения) в значительной степени связаны со случайностью связей между его элементами. Однако эта конструктивная особенность обеспечивает перцептрону и положительное качество – надежность: выход из строя заметного числа элементов перцептрона слабо сказывается на качестве его работы (Рис.3).

Первые успехи исследований перцептронов и других нейросетей вызвал взрыв активности и энтузиазма. М. Минский, Ф.Розенблат, Б. Уидроу и другие разработали ряд искусственных нейронных сетей. В течение некоторого времени казалось, что ключ к интеллекту найден, и воспроизведение человеческого мозга является лишь вопросом конструирования достаточно большой сети.

Рис.3. Поведение перцептрона при выходе из строя ассоциативных элементов. По оси ординат – процент правильных ответов, по оси абсцисс – доля выключенных ассоциативных элементов. Схематично.

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

Критика перцептронов М. Минским (а он – один из признанных авторитетов в теории искусственного интеллекта), а также сравнительно небольшой прогресс нейрокибернетики 50-60 –х годов привели к тому, что период энтузиазма сменился периодом спада активности исследований искусственных нейронных сетей. Многие исследователи ушли в те области, которые им показались более привлекательными.

Только немногие кибернетики (Т. Кохонен, С. Гроссберг, Дж.Андерсон, Г.С. Бриндли, Д. Мар, В.Л.Дунин-Барковский, А.А.Фролов и др.) продолжали исследования нейросетей в 70-х годах.

2.2. Второй бионический бум

Однако в середине 80-х годов снова возник нейросетевой бум. Причиной бума, по-видимому, послужил постоянный интерес человечества к изучению работы нервной системы и ряд новых интересных моделей, разработанных к этому времени. Одной из таких "стимулирующих" моделей стали работы Дж.Дж. Хопфилда [7,8], которые позволили привлечь методы теоретической физики к исследованию нейронных сетей.

Во второй половине 80-х годов был предложен целый ряд интересных и содержательных моделей нейронных сетей. В моделях строятся нейросети, выполняющие различные алгоритмы обработки информации: ассоциативная память [7-11], категоризация, т.е. разбиение множества образов на кластеры, состоящие из подобных друг другу [12], топологически корректное картирование [13], распознавание зрительных образов, инвариантное относительно деформаций и сдвигов в пространстве [14], решение задач комбинаторной оптимизации [15]. Хотя ряд исследований посвящен анализу характеристик НС с целью понимания свойств естественных нейронных систем, подавляющее изобилие работ относится к исследованию алгоритмов нейросетей с прагматическими целями.

В большинстве моделей запоминание информации в нейронной сети (обучение) происходит в результате формирования весов синапсов нейронов. Во многих случаях это интерпретируется как формализация гипотезы Хебба [16], в соответствии с которой изменение состояния произвольного синапса определяется его текущим состоянием и активностью пре- и постсинаптических нейронов.

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

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

3. Ассоциативная память

Одно из ведущих направлений исследования нейронных сетей – ассоциативная память. Теория нейроподобной ассоциативной памяти была развита в фундаментальных работах Г.С. Бриндли, Д. Мара, Т. Кохонена, Г.Пальма, Д. Д.Уилшоу, В.Л.Дунина-Барковского, Дж.Хопфида, С.Амари, А.А.Фролова И.П. Муравьева и ряда лругих авторов.

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

В случае автоассоциативной памяти при записи происходит запоминание набора эталонных образов, задаваемых векторами Xk , k = 1,2,…, n ; а при воспроизведении по искаженному образу Xj + X (Xj – один из эталонов, X – вектор, характеризующий искажение) восстанавливается эталон Xj .

В случае гетероассоциативной памяти нейронная сеть при записи запоминает отображение Xk --> Yk между векторами Xk и Yk , k = 1,2,…, n ; при воспроизведении предъявляется один из эталонных векторов Xj (возможно несколько искаженный), и с помощью нейронной сети восстанавливается парный ему вектор Yj .

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

4. Сеть Хопфилда: нейронная сеть + гамильтониан

4.1. Общий подход

Отличительная черта работ Хопфилда - попытка применить физический подход к нейронным сетям. Ход рассуждений основополагающей работы Хопфилда примерно таков [7] . Допустим, что имеется некоторая физическая система, имеющая множество устойчивых особых точек: X1 , X2 , ... Эти точки могут рассматриваться как память устройства, реализуемого физической системой. Начиная с некоторой точки Xj + X (Xj – один из эталонов,X – вектор, характеризующий искажение), при малом X мы придем к Xj . Это вариант автоассоциативной памяти, в которой запомненный образ восстанавливается по искаженному образу.

Удобно построить физическую систему, имеющую локальные минимумы энергии, соответствующие устойчивым особым точкам. Для того чтобы систему можно было бы рассматривать как память, нужно иметь большое число локальных минимумов. Пример физической системы с большим числом локальных минимумов энергии – спиновые стекла, т.е. система спинов, матрица обменных взаимодействий между которыми стохастична. (Модель спиновых стекол кратко описана в Лекции 3 ) В [7] Хопфилд строит модель нейроподобной ассоциативной памяти, допускающую проведение явных аналогий со спиновыми стеклами. Опишем в общих чертах эту модель.

4.2. Схема нейросети

Схема нейросети по Хопфилду показана на Рис.4. Сеть состоит из N нейронов, все нейроны связаны со всеми, каждая связь характеризуется своим весом wij , матрица весов предполагается симметричной: wji = wij . Считаем, что N >> 1.

Рис.4. Схема нейронной сети по Хофилду. – нейроны, – синапсы

Состояние нейронной сети характеризуется вектором X = X1 , X2 , …, XN .

Каждый нейрон может находиться в двух состояниях Xi = 0 – покой, Xi = 1 – возбужденное состояние, i – номер нейрона.

4.3. Режим записи и режим воспроизведения

В режиме записи формируется матрица связей между нейронами wij , равная

wij = k (2Xki –1) (2Xkj –1), k = 1, 2, …,                                      (4)

при i j , wii = 0, – запоминаемые бинарные векторы, n – число запоминаемых паттернов. Эталоны предполагаются случайными, компоненты векторов Xki компоненты выбираются равными 0 либо 1 с равной вероятностью: p{Xki = 0} = p{Xki = 0}= 0,5. Отметим, что (2Xki –1) = +1 либо -1.

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

Xj (t+1) = 1 при netj > 0 и Xj (t+1) = 0 при netj < 0 ,                (5)

netj = i wji Xi (t) ,                                                                      (6)

где t – момент "пересмотра" состояния j - го нейрона.

Работу нейронной сети в режиме воспроизведения можно рассматривать как динамическую систему. Покажем, что если число эталонов не слишком высоко, то эталоны соответствуют устойчивым состояниям (особым точкам) рассматриваемой динамической системы.

Оценим величину

nets j = i wji Xs i (t) ,                                                              (7)

где Xs i (t) – компоненты какого-либо эталонного вектора. С учетом (4) имеем:

nets j = k (2Xkj –1) [i (2Xki –1) Xs i (t)] .                            (8)

В силу случайности эталонов среднее значение величины в квадратных скобках равно 0 при s k и равно N/2 при s = k . Следовательно, в силу такой псевдоортогональности имеем:

nets j (2Xs i –1) N/2 .                                                          (9)

Итак, имеем: nets j > 0 при Xs i = 1 и nets j < 0 при Xs i = 0.

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

4.4. Минимизация энергии нейронной сети

Определим "энергию" нейронной сети как

E = - 0,5 i ,j wji Xi Xj , i j                                           (10)

Так как wji = wij , то изменение энергии, обусловленное текущим изменением состояния нейрона, равно

E = - Xj i wji Xi = - Xj netj , i j.                      (11)

В силу (5)  E 0 . Таким образом, алгоритм изменения состояний нейронов приводит к монотонному уменьшению энергии. Состояния изменяются до тех пор, пока не будет достигнут локальный минимум энергии. Энергия играет роль функции Ляпунова для рассматриваемой динамической системы. Из (9), (11)  следует, что эталоны соответствуют минимумам энергии  E .

Формула для энергии (10) совпадает с таковой для спинового стекла (см. лекцию 3). Для спиновых стекол известно, что число локальных минимумов энергии экспоненциально растет с ростом размерности системы N. Аналогия со спиновыми стеклами показывает, что в сети Хопфилда можно ожидать большое число локальных устойчивых состояний. Как показано выше, часть из этих состояний (в пренебрежении шумами) совпадает с записанными эталонами. Численный расчет, выполненный в [7], показал, что эталоны устойчивы, если отношение числа эталонов к числу нейронов не превышает величины 0,15. В дальнейшем эта оценка была уточнена аналитически с помощью методов статистической физики: было показано, что для устойчивости эталонов необходимо выполнение неравенства

n/N < 0,14 .                                                                  (12)

Работа Хопфилда послужила мощным стимулом для исследований нейронных сетей физиками. Аналогия между нейронными сетями и спиновыми стеклами привлекла к нейронным сетям интерес большого числа физиков-теоретиков, которые стали записывать гамильтониан системы нейронов и исследовать свойства искусственных нейронных сетей высокоэффективными методами математической физики [17-19].

5. Метод обратного распространения ошибок

Здесь мы приведем только общее описание одного из важных и наиболее исследованных способов обучения нейронных сетей – метода обратного распространения ошибок [11]. Предполагается, что нейронная сеть имеет многослойную структуру (Рис.5). Нейроны сети представляют собой формальные нейроны с логистической активационной функцией (см. формулу (3b)). Сеть не имеет обратных связей: при вычислении выхода нейронной сети по ее входу сигналы нейронов передаются от слоя к слою, слева направо. Схема такой сети напоминает перцептрон (Рис.2). Иногда ее так и называют "обобщенный перцептрон".

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

 

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

В режиме обучения нейронная сеть запоминает отображение Xk --> Yk между векторами Xk и Yk , k = 1,2,…, n ; при воспроизведении предъявляется один из эталонных векторов Xj (возможно несколько искаженный), и с помощью нейронной сети восстанавливается парный ему вектор Yj .

Режим воспроизведения фактически тривиален: на вход нейронной сети поступают входные векторы X и в процессе функционирования формальных нейронов вычисляется выходной вектор Y .

Обучение многослойной нейронной сети осуществляется путем оптимизации весов синапсов методом градиентного спуска. Это обучение может быть представлено как последовательность следующих операций [20]:

  1. Выбрать очередную пару векторов Xk и Yk из обучающей выборки.

  2. Вычислить выход сети Y .

  3. Вычислить разность между выходом сети Y и требуемым выходным вектором Yk (целевым вектором обучающей пары). Т.е. определить ошибку нейронной сети.

  4. Подкорректировать веса сети wji так, чтобы минимизировать ошибку.

  5. Повторять шаги с 1 по 4 для каждой пары обучающей выборки до тех пор, пока ошибка не достигнет приемлемого уровня.

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

IDEF0 — Function Modeling — методология функционального моделирования и графическая нотация, предназначенная для формализации и описания бизнес-процессов. Отличительной особенностью IDEF0 является её акцент на соподчинённость объектов. В IDEF0 рассматриваются логические отношения между работами, а не их временна́я последовательность (WorkFlow).

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

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

Также отображаются все сигналы управления, которые на DFD (Диаграмме Потоков Данных) не отображались. Данная модель используется при организации бизнес-проектов и проектов, основанных на моделировании всех процессов: как административных, так и организационных.

История возникновения стандарта IDEF0

IDEF0, как стандарт, был разработан в 1981 году департаментом Военно-Воздушных Сил США в рамках программы автоматизации промышленных предприятий, которая носила обозначение ICAM (Integrated Computer Aided Manufacturing). Набор стандартов IDEF унаследовал свое название от этой программы (IDEF=ICAM DEFinition). В процессе практической реализации, участники программы ICAM столкнулись с необходимостью разработки новых методов анализа процессов взаимодействия в промышленных системах. При этом кроме усовершенствованного набора функций для описания бизнес-процессов, одним из требований к новому стандарту было наличие эффективной методологии взаимодействия в рамках «аналитик-специалист». Другими словами, новый метод должен был обеспечить групповую работу над созданием модели, с непосредственным участием всех аналитиков и специалистов, занятых в рамках проекта.

В результате поиска соответствующих решений родилась методология функционального моделирования IDEF0. C 1981 года стандарт IDEF0 претерпел несколько незначительных изменений, в основном, ограничивающего характера, и последняя его редакция была выпущена в декабре 1993 года Национальным Институтом По Стандартам и Технологиям США (NIST).

IDEF1 (Information Modeling) — одна из методологий семейства IDEF. Применяется для построения информационной модели, которая представляет структуру информации, необходимой для поддержки функций производственной системы или среды.

Метод IDEF1, разработанный Т. Рэмей (T. Ramey), также основан на подходе П. Чена и позволяет построить модель данных, эквивалентную реляционной модели в третьей нормальной форме. В настоящее время на основе совершенствования методологии IDEF1 создана ее новая версия — методология IDEF1X. IDEF1X разработана с учетом таких требований, как простота изучения и возможность автоматизации. IDEF1X–диаграммы используются рядом распространённых CASE–средств (в частности, ERwin, Design/IDEF).

IDEF3 англ. Integrated DEFinition for Process Description Capture Method— методология моделирования и стандарт документирования процессов, происходящих в системе. Метод документирования технологических процессов предоставляет механизм документирования и сбора информации о процессах. IDEF3 показывает причинно-следственные связи между ситуациями и событиями в понятной эксперту форме, используя структурный метод выражения знаний о том, как функционирует система, процесс или предприятие[1]

Применение

IDEF3 широко применяется при разработке информационных систем. При этом используется инструмент визуального моделирования бизнес-процессов

[Править] Описание [править] Два типа диаграмм в idef3

Система описывается как упорядоченная последовательность событий с одновременным описанием объектов, имеющих отношение к моделируемому процессу.

IDEF3 состоит из двух методов. Process Flow Description (PFD) — Описание технологических процессов, с указанием того, что происходит на каждом этапе технологического процесса. Object State Transition Description (OSTD) — описание переходов состояний объектов, с указанием того, какие существуют промежуточные состояния у объектов в моделируемой системе.

Основу методологии IDEF3 составляет графический язык описания процессов. Модель в нотации IDEF3 может содержать два типа диаграмм:

  • диаграмму Описания Последовательности Этапов Процесса (Process Flow Description Diagrams, PFDD)

  • диаграмму Сети Трансформаций Состояния Объекта (Object State Transition Network, OSTN)

[Править] Компоненты диаграммы описания процесса

Диаграмма IDEF3 Process Flow Description может состоять из 4 основных описательных блоков:

  • работы (boxes, activities)

  • стрелки или связи (arrows, links)

  • перекрёстки (junctions)

  • объекты ссылок

  • Unit of Behavior

  • Decomposition

  • Elaboration

IDEF — методологии семейства ICAM (Integrated Computer-Aided Manufacturing) для решения задач моделирования сложных систем, позволяет отображать и анализировать модели деятельности широкого спектра сложных систем в различных разрезах. При этом широта и глубина обследования процессов в системе определяется самим разработчиком, что позволяет не перегружать создаваемую модель излишними данными.

IDEF — методологии создавались в рамках предложенной ВВС США программы компьютеризации промышленности — ICAM, в ходе реализации которой выявилась потребность в разработке методов анализа процессов взаимодействия в производственных (промышленных) системах. Принципиальным требованием при разработке рассматриваемого семейства методологий была возможность эффективного обмена информацией между всеми специалистами — участниками программы ICAM (отсюда название: Icam DEFinition — IDEF другой вариант — Integrated DEFinition). После опубликования стандарта он был успешно применен в самых различных областях бизнеса, показав себя эффективным средством анализа, конструирования и отображения бизнес-процессов (к слову сказать, он активно применяется и в российских госструктурах, например в Государственной Налоговой Инспекции). Более того, собственно с широким применением IDEF (и предшествующей методолoгии — SADT) и связано возникновение основных идей популярного ныне понятия — BPR (бизнес-процесс реинжиниринг).

[править] Семейство стандартов

В настоящий момент к семейству IDEF можно отнести следующие стандарты:

  • IDEF0 — Function Modeling — методология функционального моделирования. С помощью наглядного графического языка IDEF0 изучаемая система предстает перед разработчиками и аналитиками в виде набора взаимосвязанных функций (функциональных блоков — в терминах IDEF0). Как правило, моделирование средствами IDEF0 является первым этапом изучения любой системы. Методологию IDEF0 можно считать следующим этапом развития хорошо известного графического языка описания функциональных систем SADT (Structured Analysis and Design Technique);

  • IDEF1 — Information Modeling — методология моделирования информационных потоков внутри системы, позволяющая отображать и анализировать их структуру и взаимосвязи;

  • IDEF1X (IDEF1 Extended) — Data Modeling — методология построения реляционных структур (баз данных), относится к типу методологий «Сущность-взаимосвязь» (ER — Entity-Relationship) и, как правило, используется для моделирования реляционных баз данных, имеющих отношение к рассматриваемой системе;

  • IDEF2 — Simulation Model Design — методология динамического моделирования развития систем. В связи с весьма серьёзными сложностями анализа динамических систем от этого стандарта практически отказались, и его развитие приостановилось на самом начальном этапе. В настоящее время присутствуют алгоритмы и их компьютерные реализации, позволяющие превращать набор статических диаграмм IDEF0 в динамические модели, построенные на базе «раскрашенных сетей Петри» (CPN — Color Petri Nets);

  • IDEF3 — Process Description Capture — Документирование технологических процессов,

IDEF3 — методология документирования процессов, происходящих в системе (например, на предприятии), описываются сценарий и последовательность операций для каждого процесса. IDEF3 имеет прямую взаимосвязь с методологией IDEF0 — каждая функция (функциональный блок) может быть представлена в виде отдельного процесса средствами IDEF3;

  • IDEF4 — Object-Oriented Design — методология построения объектно-ориентированных систем, позволяют отображать структуру объектов и заложенные принципы их взаимодействия, тем самым позволяя анализировать и оптимизировать сложные объектно-ориентированные системы;

  • IDEF5 — Ontology Description Capture — Стандарт онтологического исследования сложных систем. С помощью методологии IDEF5 онтология системы может быть описана при помощи определенного словаря терминов и правил, на основании которых могут быть сформированы достоверные утверждения о состоянии рассматриваемой системы в некоторый момент времени. На основе этих утверждений формируются выводы о дальнейшем развитии системы и производится её оптимизация;

  • IDEF6 — Design Rationale Capture — Обоснование проектных действий. Назначение IDEF6 состоит в облегчении получения «знаний о способе» моделирования, их представления и использования при разработке систем управления предприятиями. Под «знаниями о способе» понимаются причины, обстоятельства, скрытые мотивы, которые обуславливают выбранные методы моделирования. Проще говоря, «знания о способе» интерпретируются как ответ на вопрос: «почему модель получилась такой, какой получилась?» Большинство методов моделирования фокусируются на собственно получаемых моделях, а не на процессе их создания. Метод IDEF6 акцентирует внимание именно на процессе создания модели;

  • IDEF7 — Information System Auditing — Аудит информационных систем. Этот метод определён как востребованный, однако так и не был полностью разработан;

  • IDEF8 — User Interface Modeling — Метод разработки интерфейсов взаимодействия оператора и системы (пользовательских интерфейсов). Современные среды разработки пользовательских интерфейсов в большей степени создают внешний вид интерфейса. IDEF8 фокусирует внимание разработчиков интерфейса на программировании желаемого взаимного поведения интерфейса и пользователя на трех уровнях: выполняемой операции (что это за операция); сценарии взаимодействия, определяемом специфической ролью пользователя (по какому сценарию она должна выполняться тем или иным пользователем); и, наконец, на деталях интерфейса (какие элементы управления, предлагает интерфейс для выполнения операции);

  • IDEF9 — Scenario-Driven IS Design (Business Constraint Discovery method) — Метод исследования бизнес ограничений был разработан для облегчения обнаружения и анализа ограничений в условиях которых действует предприятие. Обычно, при построении моделей описанию ограничений, оказывающих влияние на протекание процессов на предприятии уделяется недостаточное внимание. Знания об основных ограничениях и характере их влияния, закладываемые в модели, в лучшем случае остаются неполными, несогласованными, распределенными нерационально, но часто их вовсе нет. Это не обязательно приводит к тому, что построенные модели нежизнеспособны, просто их реализация столкнется с непредвиденными трудностями, в результате чего их потенциал будет не реализован. Тем не менее в случаях, когда речь идет именно о совершенствовании структур или адаптации к предсказываемым изменениям, знания о существующих ограничениях имеют критическое значение;

  • IDEF10 — Implementation Architecture Modeling — Моделирование архитектуры выполнения. Этот метод определён как востребованный, однако так и не был полностью разработан;

  • IDEF11 — Information Artifact Modeling. Этот метод определён как востребованный, однако так и не был полностью разработан;

  • IDEF12 — Organization Modeling — Организационное моделирование. Этот метод определён как востребованный, однако так и не был полностью разработан;

  • IDEF13 — Three Schema Mapping Design — Трёхсхемное проектирование преобразования данных. Этот метод определён как востребованный, однако так и не был полностью разработан;

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

Описание метода IDEF0

Основным рабочим элементом при создании модели IDEF0 является диаграмма.

Каждая диаграмма содержит функциональные блоки и интерфейсные дуги (см. рис1).

Блоки (прямоугольники) обозначают функции системы. Названия блоков – это глаголы или глагольные обороты. Например: сделать деталь, обработать заказ, выписать квитанцию.

Каждая сторона блока имеет свое значение (см. рис. 1):

  • левая - вход;

  • правая - выход;

  • верхняя - управление;

  • нижняя - механизм.

Рис. 1. Функциональный блок

Блоки размещаются на диаграмме по степени важности, как это видит автор диаграммы и исходя из того, как один блок оказывает влияние на другие блоки. Это называется доминированием. Наиболее доминирующий блок располагается в левом верхнем углу, наименее в правом нижнем. Блоки нумеруются начиная с 1, в правом нижнем углу. Номер блока так же как расположение может указывать на степень важности функции. Дуги (стрелки) устанавливают связи и взаимодействия между блоками и обозначают объекты. Названия дуг – существительные. Например: деньги, инструкция, детали, продукт, станки.

Интерфейсная дуга отображает элемент системы, который обрабатывается функциональным блоком или оказывает иное влияние на функцию, отображенную данным функциональным блоком.

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

Диаграммы в IDEF0 строятся по принципу декомпозиции.

Первая диаграмма, которая называется контекстной (на чертеже обозначается A-0) содержит всего один функциональный блок, который представляет систему как единое целое. Контекстная диаграмма обязательно содержит цель и точку зрения. Цель – это список вопросов, на которые должна отвечать разрабатываемая система, то есть краткое описание системы, точка зрения – это контекст, в котором рассматривается система.

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

Рис. 2. Принцип декомпозиции при построении IDEF0 модели

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

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

Рис.3. Туннелирование

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