Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Системный анализ. Учебное пособие
.pdf
Для этого должны существовать критерии качества (критерии опти-
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
