Инструментальная среда исследования генетических алгоритмов «GenSearch»

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

Таблица 4

Выбор концепции методом продукционных правил

Дискриминатор, Д Продукционное правило «Если... То» Выбранный атрибут

Условие («Если») Решение («То»): Выбрать атрибут ац

01 Система управления Единичный тип производства аи Ручное управление

Серийный тип производства а12 Числовое управление а12

02 Класс точности Умеренные требования к точности детали а21 Класс Н

Повышенные требования к точности детали а22 Класс П агг

Высокие требования к точности детали а2з Класс В

Оз Накопитель инструментов Изготовление деталей простой формы аз1 Револьверная головка

Изготовление деталей сложной формы аз2 Магазин аз2

Выбранная концепция: К10 = { а12 а22, а32} = Станок с числовым управлением, класса точности П, с магазином инструментов

Например, если выбирается концепция металлорежущего станка для рассмотренного выше

примера, то применение метода продукционных правил дает приведенный результат.

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

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

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

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

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

1. A Guide to the Project Management Body of Knowledge -PMI (USA), 1969.

2. International Competence Baseline - IPMA (Europe), 1965.

3. Васильев В.В., Щарабарова А.Г. Управление проектами - М.: ЛАНИТ, 2004. - 134 с.

4. Евгенев Г.Б. Системология инженерных знаний - М.: Изд-во МГТУ им. Н.Э.Баумана, 2001 - 376 с.

5. Бобровников Г.Н., Клебанов А.И. Комплексное прогнозирование создания новой техники - М.: Экономика, 1989. -201 с.

6. Калянов Г.Н. Консалтинг при автоматизации предприятий - М.: СИНТЕГ, 1997. - 316 с.

ИНСТРУМЕНТАЛЬНАЯ СРЕДА ИССЛЕДОВАНИЯ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ «GENSEARCH»

А.В. Голубин

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

(ГА), моделирующие процессы природной эволюции [4, 5].

Разработано большее количество программ, использующих в той или иной мере ГА. К наиболее известным можно отнести GenAlgo, ActiveGA, Generator, Genetic Server. Большинство из существующих программ разработаны под определенные

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

Инструментальная среда ОепБеатск позволяет настраивать более 20 различных параметров ГА. К основным можно отнести следующие:

- размер популяции;

- количество потомков;

- количество поколений;

- точность представления генотипа;

- точность определения фенотипа;

- метод выбора родительской пары;

- метод отбора;

- изменение метода отбора во время работы программы;

- тип мутации;

- вероятность мутации;

- коэффициент изменения мутации;

- тип кроссинговера;

- метод локальной оптимизации;

- количество популяций в многопопуляцион-ном алгоритме;

- способ взаимодействия популяций в много-популяционном алгоритме;

- количество запусков ГА;

- настройка «встряхивания» популяции.

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

Для проведения исследований и проверок гипотез и предлагаемых методик в инструментальной среде реализованы 12 тестовых непрерывных функций, а также 2 комбинаторные ОТ-полные

задачи: коммивояжера и размещения. В инструментальной среде реализованы функции, имеющие один локальный экстремум (Розенброка, Жи-линскаса, Пауэлла), функции, имеющие несколько глобальных экстремумов (Химмельблау, Растри-гина п=2), а также сложные многоэкстремальные функции высокой размерности (многоэкстремальная функция, функция п-переменных, Растригина п=10), имеющие как локальные, так и глобальные экстремумы и практически не решаемые классическими методами оптимизации.

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

Инструментальная среда разрабатывалась не только для тестирования существующих, но и для разработки и проверки новых методик. Особое внимание стоит уделить следующим, повышающим эффективность ГА: многопопуляционный алгоритм; использование двухэтапной оптимизации; изменение вероятности мутации; «встряхивание» популяции.

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

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

• Равномерное распределение на фенотипе. После объединения популяций, они сортируются по мере возрастания функции пригодности. Пусть у нас есть N популяций. В 1 популяцию попадут 1, 1+^ 1+2*^ хромосомы. При данном подходе мы получаем разнообразие хромосом по значению функции пригодности.

• Равномерное распределение на генотипе. Данный метод отличается от предыдущего тем, что сортировка происходит не на фенотипе, а на генотипе.

Для увеличения разнообразия после объединения возможно добавление определенного коли-

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

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

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

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

Для выполнения процедуры настройки ГА необходимо:

1) подобрать представление оптимизационных параметров в виде определенного формата данных: строки, вектора, таблицы и т.д.;

2) разработать или выбрать из набора генетических операторов такие, которые наилучшим образом учитывают особенности поискового пространства;

3) определить размер начальной популяции;

4) разработать методику использования генетических операторов;

5) задать функцию пригодности;

6) разработать методику отбора вариантов в новую популяцию;

7) задать критерий останова эволюционного процесса.

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

В первых исследованиях ГА использовались различные варианты комбинаций параметров ГА. Наиболее полные исследования были проведены Де Йонгом на 5 тестовых функциях, позднее ставших стандартными тестовыми функциями для ис-

следования ГА. Для данных функций он эмпирически обнаружил следующие оптимальные параметры ГА: размер популяции 50 - 100 хромосом; кроссинговер одноточечный с вероятность 60 %; мутация битовая с вероятностью 0,1 %.

Эти параметры впоследствии широко использовались в различных исследованиях и признаны как стандартное множество параметров.

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

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

Лис ввел технику адаптации скорости мутации в модель параллельного ГА. Несколько популяций развиваются независимо на разных процессорах, используя различные скорости мутации. Через заранее определенное время эти популяции сравниваются. Если лучшие результаты были у популяции с большой скоростью мутации, то скорость мутации у остальных популяций повышается, и наоборот.

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

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

1. Функция Розенброка:

Е(Х1, Х2)=100*(Х2-Х1)2 + (1-Х1)2.

Ограничения: -10< Xi <10, 1=1,2.

Минимум: Е(х )=0.

2. Функция Жилинскаса:

Е(хь х2) = XI2 + х22 - 008(18x1) - соэ(18х2). Ограничения: 0< Xi < 2п, 1=1,2. Минимум: Е(х ) = 2.

3. Многоэкстремальная функция: F(x1_x8)=[(x1-2)2+(x2-1)2+5h2-g2x1x2me"t]/9.3741. Ь=(х1-2.03314х2+1.0541)/(1+т),

m=xзx42 х53 х64 х75 х86, g = 0.0016/(0.01 + т12), 8

' = I х1 ,

1=1

т1=1-х1-1.3х2+4.15х3+0.5х4+х5+1.8х6-х7-х81.

Ограничения: -10< х1 <10, 1=1,8 Минимум: F(х )= -1.

4. Функция п переменных (в данном исследовании N = 10):

ф(х1,...,^ ) =

ехр

и = 2.251 хп - хп .

п=1 1

Ограничения: 0< х1 <10, i=1,N.

Минимум: F(х )=0, для которой и=0, х1=х1, i=1,N.

5. Функция Растригина п=10:

F(хl...Xlo)=E(10cos(2лxi)- х12)-100

Ограничения: -5.12<х1<5.12, 1=1,2.10.

Максимум: Ф(х*)=0.

Среди тестовых функций такие, которые имеют как один локальный экстремум (Г1-Г2), так и сложные многоэкстремальные функции высокой размерности (Ж3, F4, F5), имеющие и локальные, и глобальные экстремумы и практически не решаемые классическими методами оптимизации.

Для исследования использовались следующие параметры:

• размер популяции - 50 хромосом;

• вероятность кроссинговера - 100 %;

• количество запусков алгоритма - 500.

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

N N _

_ IXI I (XI - X)2

X = ^- 82 = ^-,

N N -1

где X - математическое ожидание; 8 - дисперсия; N - число независимых наблюдений.

Доверительный интервал может быть рассчитан по формуле:

_ 8 <-

< X +-^ ; п = N - 1,

— 8 >

X - ^^ < м

л/^ X

где 1па/2 - коэффициент распределения Стьюдента.

Были получены параметры, приведенные в таблице 1 [2]:

Таблица 1

Функция Кроссин-говер Мутация Отбор Выбор род. пары

Розенброка Одноточечный Генная Элитный Элитный

Жилинскаса Двухточечный Генная С вытеснением Элитный

Многоэкстремальная Рекомбинация Инверсия С вытеснением Дальний род. на фенотипе

N переменных Рекомбинация Инверсия С вытеснением Ближ. род. на фенотипе

Растригина п=10 Рекомбинация Инверсия С вытеснением Дальний род. на фенотипе

С найденными параметрами было произведено 500 запусков для каждой функции и построены доверительные интервалы с использованием двух-этапной оптимизации (табл. 2).

Таблица 2

Функция

Розен- Жилин- Много- N пере- Растриги-

брока скаса экстремальная менных на п=10

0,9 (0,0887; (-1.9108; (-0,4381; (1,0429; (-7,3505;

0,2627) -1.3254) 0,4332) 1,1720) -6,6343)

0,99 (0,0384; (-1.9768; (-0,7421; (1,0054; (-7,4657;

0,3130) -1.2687) 0,9157) 1,2102) -6,5191)

Однако проведение таких исследований очень трудоемко и не решает проблему подбора параметров под произвольную задачу. Для правильного выбора параметров необходимо знать поведение функции на всей области определения. В реальных задачах знать заранее тип функции практически невозможно. Для решения этой задачи был разработан конструктор ГА. Его задача состоит в подборе 7 основных параметров для выбранной функции. Принцип действия конструктора следующий:

• пользователь выбирает параметры ГА, которые конструктор будет искать, и накладывает необходимые ограничения на эти параметры. Количество параметров определяет количество генов хромосом конструктора;

• происходит запуск конструктора: формируется популяция, причем хромосомами являются параметры ГА;

• для вычисления функции пригодности для каждой хромосомы производится запуск ГА (вложенный ГА) с теми параметрами, которые хранятся в хромосоме на выбранной пользователем функции. Значением функции пригодности хромосомы конструктора ГА будет являться лучшее значение функции пригодности, полученное вложенным ГА на основе параметров из данной хромосомы;

• следующие этапы соответствуют этапам работы обычного ГА.

В результате действия конструктора ГА пользователь получает параметры, наиболее эффективные при оптимизации исследуемой функции. Тесты, проведенные с конструктором ГА, доказали его эффективность.

N

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

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

При производстве комбайнов используются т заготовок прямоугольной формы z=1..m, где ^ - соответственно ширина и длина заготовки. Для удобства расчета примем, что wz<dz, следовательно, Ь]. Множество всех

заготовок обозначим через М. Для производства каждого комбайна необходимо некоторое множество Zj, 1=1..к заготовок, причем ZjcM, 1=1..к и в общем случае Zj п Zj ^0, 1,|=1..к.

Получение заготовок происходит путем вырубания их из полубесконечной полосы заданной ширины Ь и неограниченной длины. Введем прямоугольную систему координат: оси ОХ и ОУ совпадают со сторонами полосы, причем ОХ направлена вдоль неограниченной грани полосы. Положение z-й заготовки назовем горизонтальным, если ее сторона dz параллельна неограниченной грани полосы, а вторая сторона перпендикулярна ей. В противном случае положение назовем вертикальным. Заготовки могут находиться только в горизонтальном или вертикальном положении. Положение каждой заготовки z зададим вектором (х„ у2).

Всего за смену возможно обработать полосу длиной Ьтах.

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

где 1=1min •• 1тах, 1mjn—0; 1тах>0; 1min < 1тах, wz< 1тах, dz< 1тах, Z=1..m.

Обозначим через гь получившийся раскрой, через 1гь его длину, а через п^ обозначим количество заготовок типа z=1..m, которые находятся в раскрое, где Ь= 1.. Ьтах, Ьтах - количество отрезов в течение дня. Через гЬопг обозначим оптимальный раскрой, который возможен для гЬ упаковки, а через 1гЬопт - ее длину. После каждого отреза меняется состав и количество заготовок, поэтому гЬопт зависит от Ь. Через 1гЬ обозначим верхнюю оценку раскроя Ь, полученную аналитически.

График заказов комбайнов имеет вид: ОО, d, пь Сштр.), где i=1..k - тип комбайна, d - дата заказа, п^>0 - количество комбайнов типа i, которое необходимо произвести к дате заказа, Сштр. -

штраф за невыполнение заказа. Сштр.= Сш

AT+

+ Сштр.ф., где Сштр.д- штраф за один день просрочки; AT - количество дней просрочки выполнения заказа; Сштр.ф - фиксированная часть суммы штрафа; Сштр.д. > 0; Сштр.ф. > 0.

Через Pz, z = 1..m обозначим остаток заготовок типа z на складе на начало расчета, а Cxp.z, z = 1..m - стоимость хранения единицы заготовки типа z на складе в течение одного дня. Площадь склада, то есть максимальная площадь всех заготовок, которые могут находиться на складе одновременно, - S^. S^. > ZPz Wz dz, z = 1..m для любого момента расчета; Сштр8. - штраф за превышение вместимости склада за единицу площади.

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

Предлагаемый алгоритм можно сформулировать следующим образом:

1) на основе заданных справочников заготовок, комбайнов и графика производства комбанов формируется массив всех деталей, которые необходимо изготовить с указанием типа заготовки (z = 1..m), даты и количества заготовок;

2) на основе этих данных запускается ГА, решающий задачу раскроя. В качестве генов выступают индексы заготовок z = 1..m;

3) задача управления запасами решается через вычисления функции пригодности.

Функция пригодности ГА зависит от следующих параметров:

• F% - процент заполнения данной хромосомы (F% -> max);

• Sxp - затраты на хранение заготовок, уложенные в данной хромосоме (Sxp ^ min);

• Кост - коэффициент, учитывающий вероятность выполнения плана изготовления всех заготовок в срок (Кост ^ max).

Для вычисления Кост используются следую -щие параметры:

- nmax z - максимальное количество заготовок z-го типа, которое может быть уложено на один метр полотна;

- NMz - оставшееся количество метров полотна, которое планируется вырубить, до даты готовности заготовок;

- Nocl. z - осталось вырубить заготовок данного типа.

Кост i ~ (nmax z * Nm z) ! Nocт z; Кост

Ко

Точные формулы определены эмпирически.

Fitn = F(F%, Sxp, Кост), Fitn ^ max.

Полученные результаты доказали работоспособность предложенного алгоритма.

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

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

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

1. Комарцова Л.Г. Двухэтапный алгоритм обучения нейронной сети на основе генетического поиска // Нейрокомпьютеры. Разработка и применение.-М.: Радиотехника. -2001. -№»1.

2. Комарцова Л.Г., Голубин А.В. Исследование свойств генетических алгоритмов оптимизации //Методы исследования и проектирования сложных технических систем: Сб. статей. -М.: Изд-во МГТУ им. Н.Э. Баумана. - 2001 (Тр. МГТУ №580).

3. Комарцова Л.Г., Голубин А.В. Использование Конструктора для определения параметров генетического алгоритма // Тр. V Междунар. симпоз.: Интеллектуальные системы (INTELS'2002). -М.:МГТУ им. Н.Э. Баумана.-2002.

4. Курейчик В.М. Генетические алгоритмы. Состояние. Проблемы. Перспективы // Изв. РАН. Теория и системы управления. -1999. - №1.

5. Practical Handbook of Genetic Algorithms// Ed. By I. Chambers. -Washington. USA, CRC Press, 1999.

6. Tongchim S., Chongstitvatana P. Parallel genetic algorithm with parameter adaptation // In Proceedings of IEEE International Conference on Evolutionary Computation, 1999.

ИНТЕГРАЦИЯ ПРИКЛАДНЫХ СИСТЕМ НА ОСНОВЕ БАЗ ЗНАНИЙ

Г.Б. Евгенев

Любой программный комплекс можно представить как триаду РС = <Г, Б, С>, где РС - программный комплекс; Г - функциональные компоненты, осуществляющие обработку данных; Б -базы данных; С - управляющий программный комплекс. Графически такая декомпозиция представлена на рисунке 1.

Для проведения функционального анализа прикладных областей и разработки функциональных моделей имеется международный стандарт ГОЕБО. На рисунке 1 функциональная схема интегрированного комплекса представлена в нотации этого стандарта. В этом комплексе функциональными компонентами Г являются исполняемые модули прикладных систем в совокупности со служебными модулями, необходимыми для обеспечения совместной работы объединяемых систем.

Для построения концептуальных моделей данных в системе международных стандартов имеется стандарт ГОЕР1Х. Нотация этого стандарта (рис. 1) использована для представления схемы данных интегрированного комплекса. Все интегрируемые системы должны выбирать необходимые для своей работы исходные данные из баз данных Б и помещать в них результаты.

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

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

быть использованы средства экспертного программирования [1]. С использованием этих средств необходимо разработать методику описания управляющих комплексов в форме сетей Петри.

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

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

СХЕМА ФУНКЦИОНАЛЬНАЯ

_I_^

\ A1 f \

/ СХЕМА ДАННЫХ

Рис. 1. Компоненты программных комплексов