Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Системный анализ. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Для этого должны существовать критерии качества (критерии опти-
f
x
f
мальности), которые обычно выражаются в виде функций
(, , , )
xx x
12
. Функция, оценивающая качество, называется целевой.
n
Оптимальное решение – это экстремум целевой функции, т. е. нужно что-то максимизировать (например, прибыль) или минимизировать (например, расходы).
Пример 1.1. Пусть производится три вида продукции в количествах
, ,
123
лимитированы значениями дый вид продукции составляет
, для этого требуется четыре вида ресурсов, запасы которых
xx
, , bb b
123
. Расход каждого ресурса на каж-
a – расходы i-го ресурса на единицу
ij
j-го вида продукции. Известно также, что доход, получаемый при реа­лизации на единицу j-го вида продукции, равен
c . Тогда целевая функ-
j
ция имеет вид
(, , )
xx x cx cx cx 
123 11 22 33
. (1.1)
Ограничения на расход i-го ресурса:
где
1, 3i
.
Требуется найти решение
ax a x ax b
11 2 2 3 3ii i i
(, , )R,xx x
123
, (1.2)
3
удовлетворяющее за-
данным ограничениям и доставляющее функции значение максимума.
Следует отметить, что в зависимости от природы проблемы и харак­тера целевых функций и факторов, участвующих в задаче, возникают различные множества задач, которые решаются разными математиче­скими методами.
Математическое программирование – это раздел теории принятия решений, в котором изучаются методы нахождения экстремумов (
мак­симумов или минимумов) функций многих переменных при наличии ограничений на эти переменные. Выделяются следующие специальные классы задач [3]:
линейное программирование – целевая функция и ограничения ли-
нейны, т. е. выражаются многочленами первой степени;
дискретное (целочисленное) программирование – на переменные
накладываются условия целочисленности;
11
квадратичное программирование – целевая функция квадратична
(является многочленом второй степени), а ограничения линейны.
Принято все задачи математического программирования, не сводя-
щиеся к линейному программированию, называть задачами нелинейного
программирования [4].
Прикладные задачи математического программирования обычно со­держат большое количество переменных и ограничений, поэтому, как правило, их решение без использования компьютерных технологий не
-
возможно.
1.2. ТЕОРИЯ ПРИНЯТИЯ РЕШЕНИЙ
В обычной жизни, принимая решения, мы не обращаемся к каким­либо точным методам. Многие мотивы и обоснования, которыми поль­зуется человек, принимая то или иное решение, не только не поддаются формализации, но и не полностью осознаются им самим. Кроме того, реальные ситуации часто бывают уникальными, и
учесть заранее все внешние факторы, влияющие на выбор решения, невозможно. Теория принятия решений (ее называют также исследованием операций) – это совокупность математических дисциплин, в которых исследуются лишь вполне четко описанные и формализованные модели выбора решений при тех или иных начальных условиях, ограничениях на выбор и воз­можности выбора [5]. Эта теория широко
применяется в задачах плани­рования, управления и проектирования в различных сферах человече­ской деятельности.
В рамках теории принятия решений изучают нормативные (матема­тические) модели выбора. Используемые модели, основанные на выво­дах из экспериментов, носят название дескриптивных моделей выбора. Причем нормативные и дескриптивные модели выбора (принятия реше­ний) в одинаковых условиях
не всегда совпадают. В математической теории принятия решений предпринимаются шаги, направленные к сближению нормативных и дескриптивных моделей выбора. Поэтому одной из важных проблем теории принятия решений становится обос­нование мотивации выбора альтернатив, стратегий и планов.
Термины «планирование», «управление», «проектирование» и «ре-
шение» встречаются в литературе обычно в сочетании с определениями
«
оптимальное», «целенаправленное», «целеустремленное». При этом понятия целей и путей их достижения обычно не разъясняют, а обраща­ются к интуиции читателя. Между тем в сколько-нибудь серьезной
12
ситуации принятие решения или формирование цели как в содержатель­ном, так и в формальном смысле представляет собой далеко не простую и не всегда однозначную задачу. Только в простейших ситуациях уда­ется указать шкалу – целевую функцию, значения которой измеряют ка­чество решения. Для качественного и численного анализа возникающих при этом задач оптимизации
решения созданы и развиты теория и ме­тоды математического программирования. В более сложных ситуа­циях качество решения (его полезность) нельзя оценить (во всяком слу­чае, непосредственно) единственной функцией и даже несколькими шкалами. Тогда механизм рационального выбора требует некоторой до­полнительной косвенной информации, позволяющей, по крайней мере, сравнивать альтернативы. Таково, в
частности, положение дел в ситуа­циях, когда решение должно учитывать интересы различных лиц (так называемый групповой выбор), и при выборе стратегии рациональ­ного поведения в конфликтных ситуациях (теория игр). Во всех этих случаях выбор равновесного компромиссного справедливого решения требует дополнительного априорного определения понятий равновесия, компромисса и справедливости.
Основные разделы теории
принятия решений – это математическое программирование, векторная оптимизация (многокритериальные за­дачи), теория групповых решений и теория игр.
Теория принятия решений представляет собой синтез и развитие мо­делей и методов, возникших в дисциплинах, составляющих в настоящее время ее разделы. В центре внимания теории принятия решений нахо­дятся две основные проблемы: концепция (обоснование) выбора
реше-
ния и механизм существования этого выбора.
Концепции выбора отвечают на вопрос «что выбирать?», механизмы выбора определяют, как выбирать, причем первые обеспечивают ка­чественный анализ, а вторые предназначены для качественного иссле­дования задач принятия решений. Эти задачи относятся к так называе­мому типу интеллектуальных задач, и для развития вычислительных ме­тодов их решения унификация идей и алгоритмов является важным условием.
1.3. ИССЛЕДОВАНИЕ ОПЕРАЦИЙ
Исследование операций – это математическая дисциплина, изучаю­щая методы поиска наилучших решений для случаев, когда и сами ре­шения, и факторы, которые надо учесть при их принятии, могут быть выражены в качественной форме или в виде предпочтений. Методы
13
исследования операций используются, когда необходимо реализовать
x
x
f
какую-либо операцию – совокупность действий, связанных с достиже­нием определенных целей. Это может быть, например, планирование производства тех или иных изделий; разработка схемы перевозок, обес­печивающих снабжение населенных пунктов или объектов промышлен­ности (транспортная задача); выбор пищевого рациона, содержащего достаточное количество питательных веществ (задача о
диете), и др.
Операция характеризуется двумя видами количественных факторов:
неконтролируемыми факторами, значения которых в данной си- туации известны, но не зависят от лица, принимающего решение;
контролируемыми (управляемыми) факторами
, , ,
xx
12
, ко-
n
торые от него зависят, но в определенных пределах, выражаемых мате­матическими ограничениями: неравенствами, равенствами или какими-то специальными условиями.
Если найденные исходя из ограничений значения управляемых фак­торов удовлетворяют этим ограничениям, то считается, что такой набор
, , ,
xx
12
является допустимым решением. Характерной чертой
n
рассматриваемых интеллектуальных задач является неоднозначность их решения, т. е. возможных (допустимых) решений много, и жела­тельно уметь выбрать из них наилучшее (оптимальное). Для этого должны существовать критерии (оптимальности) качества, которые, как правило, выражаются в виде функций
(, , , )
xx x
12
. Функция, оце-
n
нивающая качество, называется целевой. Оптимальное решение – это экстремум целевой функции. Таким образом, исследование операций тесно связано с теорией принятия решений.
В зависимости от характера целевых функций и факторов, участву­ющих в задаче, выделяются различные классы задач исследования опе­раций, которые решаются различными математическими методами. Задачи с одной целевой
функцией называются задачами математиче­ского программирования. Описанная в примере 1.1 задача относится к этому классу. Задачи с несколькими целевыми функциями (критери­ями оптимальности) называются многокритериальными задачами. Они возникают, когда лицо, принимающее решение, стремится его оп­тимизировать сразу по нескольким критериям, а также когда лиц, при­нимающих решение, несколько и у каждого из
них свой критерий опти­мальности. Пример многокритериальной задачи – типичная бытовая си­туация, когда в пределах имеющейся суммы хочется купить и побольше, и получше. Математическая специфика многокритериальных задач
14
заключается в том, что решение, оптимальное по одному критерию, не
x
f
f
f
является оптимальным по всем остальным. Поэтому требуется некото­рое дополнительное правило, согласующее различные критерии и назы­ваемое принципом оптимизации.
Наиболее употребительны принцип Парето и различные приемы
сведения задачи к однокритериальной [3]. Решение
(, , , )
xx
12
n
называется оптимальным по Парето, если любое отклонение от него ухудшает хотя бы один из критериев. Сведение задачи к однокритери­альной происходит либо путем свертки, либо путем выбора главного критерия. Свертка заключается в том, что в качестве целевой функции выбирается некоторая функция от исходных критериев
Чаще всего это бывает взвешенная сумма вес
тем больше, чем важнее критерий
i
i
, , ,
11 2 2
ff
. При выборе главного кри-
, , ,
ff
12
nn
.
n
, где
терия оптимизация ведется по нему, а остальные либо учитываются (если приходится выбирать между решениями, оптимальными для глав­ного критерия), либо формулируются как ограничения.
Например, если нужно купить конфет на 1 тыс. руб. побольше и по­лучше, но главный критерий – «получше», то в первом случае сначала выбираются те
конфеты, которые больше нравятся, а если самых луч­ших несколько сортов, то из них выбираются самые дешевые. Во втором случае с самого начала учитываются ограничения на цену и выбираются лучшие среди тех, которые не дороже некоторой цены (условленной за­ранее). Этот пример показателен тем, что в нем наряду с количествен­ным критерием (стоимостью) участвует критерий качества конфет, ко­торый нельзя выразить числом, но можно представить системой пред­почтений (например, сорт «а» лучше сорта «б», сорт «в» лучше сорта «б», а сорта «б» и «д» почти одинаковы).
Часто в задаче, для которой нужно принимать решение, взаимосвязи
между факторами хотя и могут
быть выражены математическими фор­мулами, но настолько сложны, что методы поиска оптимальных реше­ний либо отсутствуют, либо неприемлемы по затратам машинного вре­мени. В этих случаях приходится обходиться машинным прогнозом по­следствий отдельных (как правило, неоптимальных) решений. Такой анализ называется имитационным моделированием. Машинная имита­ция начинается с некоторого исходного состояния. После
выбора реше­ния в этом состоянии вычисляется следующее состояние, затем снова выбирается решение и т. д. При этом моделируются и источники не­контролируемых внешних факторов. Помимо проблем, связанных
15
с математическим описанием и программной реализацией имитацион­ной модели, важными и плохо формализуемыми проблемами здесь яв­ляются выбор конкретных решений, которые надо продемонстрировать, и интерпретация полученных результатов.
1.4. КЛЕТОЧНЫЙ АВТОМАТ
Эту конструкцию проще всего представить, взяв лист бумаги, раз­графленный на клетки. Каждая клетка пространства занята отдельным элементарным автоматом. Совокупность клеток
образует клеточное пространство, в котором функционирует клеточный автомат. Эти авто­маты имеют конечный набор состояний, а их выходные сигналы есть номера их состояний. Каждый автомат имеет четырех соседей, с кото­рыми он обменивается информацией о состояниях. Среди состояний вы­делено одно специальное – пассивное. В этом состоянии автомат вклю­чен и не
передает соседям никаких сигналов. Поэтому пустое клеточное пространство заполнено автоматами, но все они находятся в пассивных состояниях.
Чтобы активизировать клеточный автомат, надо в пустое клеточное пространство внести начальную активность в виде «зародыша». Здесь под зародышем понимается совокупность элементарных автоматов, ко­торые внешним образом переведены из пассивных состояний в какие­либо
активные состояния. С этого момента начинается функционирова­ние клеточного автомата, которое мы проиллюстрируем на простом и наглядном примере.
Пусть автоматы имеют четыре состояния, включая пассивное. Эти состояния обозначаются цифрами 1, 2, 3 для активных состояний и цифрой 0 для пассивного состояния.
Пример 1.2. Пусть зародыш будет представлен в виде креста (
рис. 1.1) [1]. Правила работы автоматов таковы, что они не меняют своих состояний во всех случаях (комбинациях входных сигналов от со­седей и своего текущего состояния), кроме перечисленных ниже:
если автомат находится в состоянии 0 и лишь один из его соседей
находится в состоянии 1, то этот автомат переходит в состояние 2
;
если автомат находится в состоянии 0 и лишь один из его соседей
находится в состоянии 2, то этот автомат переходит в состояние 3;
если автомат находится в состоянии 2 и хотя бы один из его сосе-
дей находится в состоянии 3, то автомат переходит в состояние 3;
16
если автомат находится в состоянии 1 и хотя бы один из его сосе-
дей находится в состоянии 3, то этот автомат переходит в состояние 3;
если автомат находится в состоянии 0 и все четыре соседа нахо-
дятся в состоянии 3, то этот автомат переходит в состояние 3.
Рис. 1.1. Эволюция исходного креста в за­ ключительную фигуру:
состояние 0 соответствует незакрашенной клетке пространства; состояния 1, 2 и 3 изобра­жены соответственно светло-серым цветом, вер­ тикальной штриховкой и темно-серым цветом
Относительно клеточных автоматов была создана развитая теория. В ее основу легли работы Джона фон Неймана, который ввел в науку само понятие клеточный автомат. Эта теория лежит в основе многих практически важных результатов, полученных в области однородных
17
сред, частным случаем которых являются клеточные автоматы. Боль­шой интерес к клеточным автоматам проявляют также специалисты в области искусственного интеллекта, идущие от моделей, характерных для бионики (например, нейронных сетей).
Количество информации. Так называют числовую характеристику сигнала, которая характеризует степень неопределенности, исчезаю­щую после выбора (получения) сообщения в виде данного сигнала. Стандартная единица носит наименование бита и представляется од­ним символом двойного алфавита (0, 1).
Пример 1.3. Пусть имеется колода карт, содержащая 32 различные карты. Для выбора одной карты из колоды существуют 32 возможности, которые характеризуют исходную неопределенность ситуации. С выбо­ром нужной карты эта определенность исчезает. Таким образом, число 32 в рассматриваемом примере можно было бы считать количе­ством информации, заложенным в одном выборе из 32 возможностей.
Пусть нужно
выбрать даму пик. Определим число вопросов (двоич­ных), ответы на которые позволяют это сделать, т. е. выбрать одну из альтернатив:
№ п/п
Вопрос Ответ
Карта красной масти? Нет
1
Трефы? Нет
2
Одна из четырех старших? Да
3
Одна из двух старших? Нет
4
Дама? Да
5
Этот выбор можно описать последовательностью из пяти двоичных
символов 00101, здесь 0 соответствует ответу «нет», а 1 – ответу «да».
1.5. НЕЧЕТКИЕ (РАСПЛЫВЧАТЫЕ) МНОЖЕСТВА
Мы привыкли рассматривать задачи с измерениями объектов и яв­лений с четко различными состояниями. В действительности встре­чаются случаи, когда тождество или различие двух состояний или наблюдений нельзя утверждать с полной
уверенностью. Так, например,
18
встречаясь с множеством «Высокие люди», мы не в состоянии четко определить, что именно понимается под понятием «высокий человек». Это понимание зависит от многих сугубо человеческих факторов, а также и других особенностей, например, антропологических. Обычно высокий японец не будет высоким среди представителей племени масаи, славящихся весьма высоким средним ростом. Для измерения таких
объ­ектов вводится понятие лингвистической переменной, значения которой расплывчаты по своей природе как метки нечеткого, расплывчатого множества.
Расплывчатое множество А состоит из неопределенного числа эле-
ментов
x A
. Признаки, по которым элементы включаются в расплыв­чатое множество, не позволяют однозначно отделить все элементы, вхо­дящие в него, от элементов, ему не принадлежащих; по крайней мере, некоторые элементы можно считать как относящимися к множеству, так и не входящими в него. Термин нечеткая логика впервые применил аме- риканский математик и
логик, профессор Калифорнийского универси-
тета Лотфи Заде, основавший теорию нечетких множеств [6].
Функция принадлежности (характеристическая функция):
Здесь
 
() ,если принадлежит с уверенностью ,
fm m

 
01
, т. е.
0, если не принадлежит ,
() 0,1fm
m
M
1, если принадлежит .

m
M
.
M
(1.3)
У характеристической функции средняя строчка отсутствует. С ее
помощью определяется принадлежность к некоторому множеству.
Пример 1.4. Пусть универсальное множество U представляет собой интервал [0, 100] и переменная u, принимающая значения из этого ин­тервала, интерпретируется как «возраст». Нечеткое подмножество уни­версального множества U, обозначаемое термином «старый», можно определить функцией принадлежности вида
 
()
u

A




0 при 050,
1
2
50
u

1 при 50 100.


5

19
u

u
(1.4)
В этом примере носителем нечеткого множества «Старый» является интервал [50, 100], высота множества «Старый» близка к единице, а точ­кой перехода является значение u = 55.
С функцией принадлежности тесно связаны лингвистические пере­менные и нечеткий вывод. Они широко используются для формализа­ции качественных знаний в процедурах представления знаний.
Лингвистическая переменная – это специальная переменная, ис-
пользуемая в нечеткой математике. Значениями лингвистической пере­менной являются словесные оценки, расположенные на порядковой шкале. Примером лингвистической переменной может служить пере­менная «Частота» с набором значений «никогда», «почти никогда»,
«очень редко», «редко», «нечасто», «нередко», «часто», «очень часто», «почти всегда», «всегда». Другой пример – лингвистическая перемен­ная «Расстояние
» с набором шкалированных значений «вплотную»,
«очень близко», «близко», «на среднем расстоянии», «далеко», «очень
далеко», «чрезвычайно далеко».
Нечеткие множества в обычной жизни встречаются на каждом шагу: «старые люди», «большой город», «хорошая погода».
Лингвистические переменные используются при нечетком выводе и связаны с функциями принадлежности к некоторым нечетким множе­ствам.
Пример 1.5. Приведем
график для лингвистической переменной «Рост человека». Сам график есть функция принадлежности элементов, лежащих на оси абсцисс, к нечеткому множеству «Высокие люди» (рис. 1.2).
Нечеткий вывод – это вид вывода, часто встречающийся при моде-
лировании рассуждений, опирающихся на человеческую практику. Лю­бой вид человеческой деятельности так или иначе связан с рассужде­нием. В искусственном интеллекте понятие «рассуждение» использу­ется в его общечеловеческом смысле, причем как нестрогое и неодно­значное. Рассуждения могут приводить к некоторым выводам, важность которых
определяет развитие тех или иных процессов и составляет по-
веденческие мотивации.
Моделирование рассуждений является одним из предметов исследо­вания в современном системном анализе. Конечно, в реальной жизни при обосновании своих рассуждений и утверждений люди, как правило, не придерживаются законов математической логики – слишком формальных и сужающих рамки возможностей, особенно при динами-
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]