Книга
Книга
ОТ АВТОРОВ
Приступая к написанию книги, авторы обычно ставят перед собой определенные цели, к достижению которых и стремятся в ходе работы над ней. Есть такие цели и у нас.
Вследствие того, что в роли читателей нам доводится выступать значительно чаще, чем в роли авторов, мы отчетливо понимаем разницу между теми, кто читает книгу впервые, теми, кто книгу перечитывает, и теми, кто хорошо знаком с затрагиваемой в ней тематикой.
Нам кажется, что именно неискушенный читатель испытывает наибольшие трудности. Поэтому мы старались сделать нашу книжку такой, какой хотели бы видеть книгу по совершенно новой для нас тематике, чтобы, впервые взяв ее в руки уже как читатели, мы не отложили бы в сторону после двух-трех начальных страниц.
Это намерение во многом определило характер изложения. Мы стремились к тому, чтобы:
мотивировка в отборе материала была ясна и понятна,
изложение было доступным,
вопросы, естественно возникающие по ходу чтения, были вовремя угаданы, причем так, чтобы вызревание вопроса читателя как бы сливалось с помещенным в книжке ответом на него,
цепочки авторских рассуждений постепенно выводили читателя на целостное восприятие обсуждаемого круга вопросов
и, конечно, чтобы книжку было интересно читать.
То think up this kind of idea, you need to discover the want in youself [1, P. Ю5].
В какой степени нам удалось воплотить обозначенное стремление, судить читателю.
Литература
1. Jay A. Management and Machiavelli: discovering a new science of management in the timeless principles of statecraft. — Pfeiffer & company, 1994.
Глава 1
ВСТУПИТЕЛЬНАЯ
RAND scientists tried to tell their wives that the decision to buy or not to buy a washing machine was an ^optimization problem "
([1], c. 110)
К тому моменту, когда читателю попадет в руки эта книжка, его школьные годы, скорее всего, будут уже позади, и словосочетание решить задачу он встретит как хорошо знакомое — например, после уроков математики в школе, где изложение в меру необходимого теоретического материала весьма нередко сопровождалось предложением сделать одно или несколько упражнений или решить одну или несколько задач; при этом под решением предлагаемой задачи понимался процесс успешного поиска ответа к ней. Кроме того, учащемуся, как правило, тут же предоставлялась возможность сравнить найденный им результат с заранее подготовленным авторами учебного пособия и помещенным где-нибудь в его конце.
Именно такая триада .
условие — решение — ответ
является привычной для большинства выпускников средней школы —— задача уже сформулирована (поставлена) и имеет (как правило) однозначный ответ, который нужно обоснованно (в рамках отпущенной строгости) найти, применив сведения, помещенные в нескольких предшествующих параграфах, и затем сравнить с предложенным. Не стоит, однако, забывать о том, что
решение задач — вовсе не привилегия математики. Все человеческое познание есть не что иное, как непрекращающийся процесс постановки и разрешения все новых “ новых задач — вопросов, проблем, трудностей ([2], с. 15).
В нашей повседневной жизни происходит невероятно большое количество повторяющихся событий. Одни из них случаются чаще других, а некоторые особенно часто. Повторяемость событий, естественно, подталкивает нас к поиску путей их более или менее успешного разрешения и последующему выбору в том или ином смысле наиболее удобного из них. Включенные в круг повторяющихся обстоятельств, мы привычно используем однажды найденные подходы к их разрешению, нередко по-
1"лава1. Вступительная «5 том даже не вспоминая, при каких обстоятельствах и когда именно нам довелось обрести лучшие как по своей природе, так и по существу.
Простые обстоятельства порождают простые решения, хотя и не всегда. Что же до обстоятельств, устроенных сложно, то таковые е сплошной лихорадке буден встречаются значительно реже и, как правило, требуют заметно большего внимания. Зачастую, для того чтобы сделать взвешенный выбор и найти достойный выход, требуется отвести на дельные размышления довольно времени ——обдумав, прийти к какому-нибудь выводу, необходимости каких-либо действий или, распутав, сделать нужное заключение, может быть, производя для этого какие-то вычисления. Осмысленное привлечение к разрешению разнообразно проявляющихся проблем простых соображений и естественных подходов, используемых нами в обстоятельствах, близких к бытовым и более или менее успешно себя зарекомендовавших, часто приводит к вполне содержательным результатам.
Чтобы немного пояснить точку зрения авторов на предлагаемый курс, нам кажется уместным начать с обсуждения его не столь уж короткого названия.
Обратимся сначала ко второй части
методы поиска оптимальных решений полного названия
исследование операций: методы, поиска оптимальных решений.
Толчковым в этой части является не входящее в нее явно емкое слово
решить.
Среди многих его толкований мы отобрали два наиболее соответствующих, по нашему мнению, содержанию курса:
решить — распугать что-либо и сделать заключение ([3] с. 1773), решить — обдумав, прийти к какому-нибудь выводу, к необходимости каких-либо действий; производя вычисления, определить искомое ([4], с. 626).
Нелишне отметить, что ни в первом, ни во втором из этих разъяснений, равно как и в других, опущенных нами, нет слова
правильный
(или иного слова, хоть как-то его заменяющего). А это означает, в частности, что поставленную задачу можно решить неправильно и прийти к ошибочному, неверному заключению или решить далеко не лучшим образом. Поэтому, для того чтобы на ранней стадии обучения помочь
учащемуся в противостоянии подобному, неблагоприятному развитию событий, в большинстве школьных учебников, тем более в решебниках, приводятся упражнения и задачи с (единственным) ответом, которые нередко сопровождаются единственным (образцовым) решением, приводящим к этому единственному ответу. Правда, не до конца ясно, насколько хорошо подобное сдерживание в отроческом возрасте.
Большинство из нас считает само собой разумеющимся наличие у °е・ тей способности к творчеству и утрату ее впоследствии. Мы не только не пытаемся предотвратить эту утрату, но даже не стремимся понять ее причины ([5], с. 10).
Но вернемся к названию курса. По нашему мнению, именно из приведенных выше толкований Даля и Ожегова черпает свое наполнение термин решение, входящий в обсуждаемую часть полного названия курса, и это позволяет нам понимать под решением достаточно продолжительное и внутренне обоснованное рассуждение или обдумывание, приводящее к определенному результату.
Пойдем дальше: предложенное понимание решения дает нам возможность сказать, что методы решений суть способы рассуждений и/или обдумываний, приводящие к некоторому результату.
Стоит напомнить, что собственный смысл древнегреческого / /ггводоа (способ исследования) происходит от 〃£©о — после того как, потом; путь вслед за чем-то ([6], с. 788) (может быть, за ключевой идеей (!)).
Многообразие методов решений практически необозримо. Методы могут быть разными — простыми или сложными, громоздкими или изящными, прямыми или обратными, обоснованными или не очень и т. д. Наше же внимание привлекают методы поиска оптимальных решений (напомним, что optimus (лат.) — лучший т】;^оей природе “ по своему существу ([7], с. 72, 437)), т. е. такие, в kotoi ^аилучшими, в том или ином смысле, являются как получаемые p、3}.tL* i (разумеется, наилучшие из допустимых), так и пути, используемы^ яля получения этих результатов.
Мы ограничим наши рассмотрения лишь несколькими классами типичных задач, с которыми удалось разобраться, и притом наилучшим образом (оставаясь в заданных условиях). Ясно, что это ограничение сильно повлияет на количество привлекаемых к обсуждению задач, но мы будем стараться выстроить изложение таким образом, чтобы не потерялась качественная сторона. И здесь важно подчеркнуть, что при описании подходов к разрешению типичных задач мы ставим перед собой цель не только познакомить читателя с известными здесь подходами, но и подготовить его к посильному участию в разработке действен-
「лава,Вступительная«7 ного инструментария для тех случаев, когда возникнет необходимость разобраться с задачами иного, нетипичного свойства.
В ряде наиболее простых случаев оптимальность рассматривается как нечто равносильное экстремальности (когда требуется отыскать наибольшее или наименьшее значение той или иной величины, максимум или минимум). В этом случае словосочетание методы поиска оптимальных решений означает, что, во-первых, в результате получено наибольшее или, наоборот, наименьшее значение искомой величины и, во-вторых, это значение найдено наиболее простым способом. Конечно, экстремальность найденной величины нужно доказывать, а алгоритм отыскания экстремума должным образом обосновывать. Иногда сделать это довольно трудно, а порой просто не нужно.
В качестве иллюстрации к сказанному выше опишем коротко обстоятельства, связанные с одной из наиболее известных оптимизационных задач — задачей Дидоны.
Столько купили земли и дали ей имя Бирса, Сколько смогли окружить бычьей шкурой. Публий Вергилий Марон «Энеида» [9]Столько купили земли и дали ей имя Бирса, Сколько смогли окружить бычьей шкурой. Публий Вергилий Марон «Энеида» [9]Mercatique solum, facti de nomine Byrsam Taurino quantum possent circumdare tergo.Publius Vergilius Maro «Aeneas» [8]Mercatique solum, facti de nomine Byrsam Taurino quantum possent circumdare tergo.Publius Vergilius Maro «Aeneas» [8]
Столько купили земли и дали ей имя Бирса, Сколько смогли окружить бычьей шкурой. Публий Вергилий Марон «Энеида» [9]
Столько купили земли и дали ей имя Бирса, Сколько смогли окружить бычьей шкурой. Публий Вергилий Марон «Энеида» [9]
Mercatique solum, facti de nomine Byrsam Taurino quantum possent circumdare tergo.
Publius Vergilius Maro «Aeneas» [8]
Mercatique solum, facti de nomine Byrsam Taurino quantum possent circumdare tergo.
Publius Vergilius Maro «Aeneas» [8]
Жизнь воспетой Вергилием легендарной царевны Дидоны сложилась непросто. Вынужденная покинуть родной город Тир, что в Финикии, спасаясь от преследований тирана Пигмалиона (ее брата), убившего мужа Дидоны, жреца Геракла Акербаса, чтобы захватить его богатства, отправилась она со многими спутниками и сохраненными сокровищами на нескольких кораблях в поисках пристанища и счастья на запад вдоль африканского побережья Средиземного моря. После долгих и изнурительных скитаний и многочисленных бесплодных попыток Дидона сумела откупить у воинственного берберского царя Ярба, предводителя аборигенов, живших на берегу нынешнего Тунисского залива, столько земли, сколько покроет бычья шкура. Повелев разрезать бычью шкуру на тонкие полоски и связать их одну с другой, она затем распорядилась положить полученный ремень на землю так, чтобы площадь огораживаемого им участка была как можно больше, и заложила на этой земле цитадель Карфагена Бирсу (греч.夕叩g — снятая кожа, шкура, ([6], с. 260). Это название употребляется до сих пор, хотя описываемые события легенда относит к 825 (или 814) г. до н. э. ([10], с. 377).
Сейчас уже трудно однозначно восстановить случившееся, удаленное от нас почти на три тысячелетия. Поэтому после неторопливого анализа ситуации мы обнаруживаем две основных возможности поставить (сформулировать) здесь задачу, разрешенную Дидоной.
Среди замкнутых плоских кривых, имеющих заданную длину, найти кривую, охватывающую фигуру наибольшей площади (современное название — классическая изопериметрическая задача) (рис. 1).
Среди всех плоских кривых заданной длины, концы которых лежат на заданной прямой, найти кривую, которая вместе с прямолинейным отрезком, соединяющим ее концы, ограничивает фигуру наибольшей площади (современное название — задача Дидоны) (рис. 2).
С какой именно из этих задач столкнулась Дидона, сказать трудно — слишком мало сведений. Есть доводы, говорящие в пользу каждой из них. В первой задаче речь идет о клочке земли, который можно окружить бычьей шкурой, во второй отражено стремление Дидоны сохранить выход к морю.
Предложенное Дидоной решение (рис. 3 и 4) является наиЛучшим (оптимальным). И вот что интересно — оптимальное решение задачи
Рис. 3
Рис. 4
было найдено задолго до того, как наступила наша эра, а вот отвечающее современному уровню строгости доказательство того факта, что ее разрешение, предложенное Дидоной, является наилучшим, было получено лишь в XIX веке (см. [11] — [13]). Особую пикантность рассматриваемой ситуации придает тот факт, что основные пути решения изопериметрической задачи (вторая задача легко к ней сводится) были намечены еще в античные времена. Именно один из этих путей, предложенный Зено- дором — математиком, жившим где-то между III и I веком до н. э. ([14], с. 123), и был развит в работах Штейнера и Шварца.
Чтобы ответить на естественно возникающий вопрос: почему же для получения безупречного доказательства потребовалось так много времени, стоит заметить, что все оно (это время) ушло на придание точного смысла понятиям — кривая, длина и площадь ([15], с. 15). Только после такого осмысления стало возможным довести до логического завершения идеи, высказанные Зенодором. Что же касается решения, предложенного Дидоной, то какой была толчковая идея, которая вывела ее на описанную выше последовательность действий, восстановить, по-види- мому, уже нельзя. Вместе с тем довольно ясно, что его появлению способствовали следующие три обстоятельства: Дидона была для того времени хорошо образована (все-таки, царская дочь), бесспорно обладала острым природным умом и, кроме того, сама она была поставлена в экстремальные обстоятельства (а это совсем нередко способствует успешному разрешению кажущейся безвыходной ситуации). Как тут не вспомнить чуткое наблюдение Борхеса:
Четкое определение элементов во многих случаях приходит последним, практика предваряет теорию… ([16], с. 256).
Перейдем к обсуждению первой части — исследование операций — полного названия курса. По-английски это называется
operations research
и имеет массу синонимов —
management science, decision science, operations analysis, quantitativeanalysis, mathematical programming.
Приведем перевод официального определения операционного анализа (официального в том смысле, что оно регулярно появляется на обложке каждого выпуска британского журнала «Operational Research Quarterly» с момента его основания в 1950 году):
Операционный анализ представляет собой применение научных методов 汇 сложным проблемам, возникающим 6 управлении большими системами людей, машин, материалов и денег в промышленности, деловых кругах, правительстве и обороне. Характерной особенностью подхода является построение для системы научной модели, включающей факторы вероятности “ риска, при помощи которой можно рассчитать “ сравнить результаты различных решений, стратегий “ управлений. Цель анализа ——помочь управлению научно определить свою политику “ действия.
Научность, на которую здесь сделан заметный упор, в разные времена и в разных обстоятельствах понимали и продолжают понимать по-разному. И это следует воспринимать совершенно естественно — поиск ответов на сложные вопросы требует серьезного и вдумчивого подхода. Мы тоже попытаемся внести в понимание научности рассматриваемых ниже проблем свой скромный вклад.
Мощный толчок развитию исследования операций дали события, связанные со Второй мировой войной и годами, непосредственно следующими за ней [17].
Одной из первых активно и продуктивно работающих групп, занимавшихся исследованием операций, была группа, ставшая известной как кружок Блэкетта (Blacketts circus) ([18], с. 14). Эта группа, состоявшая из одиннадцати человек, включала в себя трех психологов, двух специалистов по математической физике, астрофизика, военного, геодезиста, специалиста по общей физике и двух математиков и была сконцентрирована на изучении военных проблем. Несмотря на свою малочисленность, эта группа добилась выдающихся результатов, которые оказали заметное влияние на исход битвы за Великобританию и сражений в Северной Атлантике.
Создание в Соединенных Штатах Америки невиданного ранее по силе атомного оружия породило не менее сложную проблему ——как действовать обладателю такого оружия в новых условиях, как лучше
использовать его разрушающую мощь. На излете 1945 года в США был создан проект RAND (research and development, позднее (1 ноября 1948 года) преобразованный в RAND Corporation ([1], с. 106). В РЭНДе были собраны лучшие математики и экономисты, политологи и инженеры-вычислители, психологи. Требовалось выработать ответы на вопросы послевоенной стратегии, особенно в условиях явно намечающегося противостояния между США и СССР. Поле исследований расширилось необыкновенно.
Such war methods wew taken into industry, from industry into government, social services, finance, commerce and banking. But although they are widely practised in many contexts under other names, they are all essentially the attitude of mind of defining relevant variables and objectives, quantifying, and generalising by means of 〃 model ([19], c. 7).
Полученные тогда результаты были признаны мировым сообществом как выдающиеся, а многие участники этого проекта позднее стали лауреатами престижных премий, в том числе и Нобелевской премии. Кстати, Нобелевскую премию по физике в 1948 году получил и Blackett.
Линейное и динамическое программирование, разнообразные оптимизационные задачи, теория игр, принятие решений, в том числе принятие решений в группах, системный анализ и математическое моделирование ——весь этот инструментарий, вся эта техника были нацелены на разрешение проблемы, которую они скромно называли thinking the unthinkable.
Поэтому, говоря о наполнении нашего курса, небесполезно остановиться на том, откуда именно (из попыток разрешения каких конкретных проблем) возникли задачи, разбираемые в последующих главах.
Что же до самого термина
исследование операций,
то нам кажется довольно естественным предположение, что им мы во многом обязаны Чарльзу Бэббиджу (Charles Babbage, 1791—1871), который был неутомимым поборником применения количественного научного подхода к самым разным проблемам и сам выполнил массу исследований: в почтовой сортировке, производстве булавок, печатном деле. Исследуя операции в Почтовом ведомстве Соединенного королевства, он пришел к заключению, что большая часть стоимости пересылаемого письма зависит не от дальности его путешествия от отправителя к получателю, а от его обработки на сортировочном участке. Опираясь на это, он утверждал, что стоимость пересылки письма не должна зависеть от расстояния, на которое оно посылается. Вскоре по-
еле этого, в 1840 году, в Британии была введена «почтовая оплата в 1 пенни» ([20], с. 197).
Нам кажется уместным завершить эту главу цитированием высказываний двух видных специалистов по исследованию операций —— E.G. Вентцель [21] и Т.Л. Саати [22].
Под исследованием операций понимается применение математических, количественных методов для обоснования решений во всех областях целенаправленной человеческой деятельности.
Исследование операций представляет собой искусство давать плохие ответы на практические вопросы, на которые даются еще худшие ответы другими методами.
Литература
Nasar S. Beautiful mind. — Simon & Schuster, 1998.
Ильенков З.В. Школа должна учить мыслить.——М.: Изд-во Московского психолого-социального института; Воронеж: Изд-во НПО «М0Д9К», 2002.
Даль В.И., Толковый словарь живого великорусского языка: Т. 1—4: Т. 3: 1bp. — М.: A/О Издательская группа «Прогресс», «Универе», 1994.
Ожегов С.И. Словарь русского языка.——М.: «Русски而 язык», 1978.
Акофф Р. Искусство решения проблем. — М.: Мир, 1982.
Вейсман АД. Греческо-русский словарь.——М.: Греко-латинский кабинет Ю.А. Шичалина, 1991 (репринт V издания 1899 г.).
Петрученко О. Латинско-русский словарь.——М.: Греко-латинский кабинет Ю.А. Шичалина, 2001 (репринт 9-го издания 1914 г.).
Р. Vergilius Maro. Aeneis. — Пг.: XXXVII, 1915.
Вергилий М.П. Энеида. — М.-Л.: Academia, 1933.
Мифы народов мира. Энциклопедия: в 2 т. — М.: «Советская энциклопедия», 1980. — Т. 1. А-К.
И. Steiner Z Einfache Beweis der isoperimetrischen Hauptsatz, Z. reine angew. Math., 18 (1838), S. 281—296.
Steiner J. Uber Maximum und Minimum bei den Figuren in der Ebene, auf der Kugelflache und Raume tiberhaupt, Z. reine angew. Math., 24 (1842), S. 93—152 u. 189-250.
Schwarz HA Beweis des Satzes, dafi die Kugel kleinere Oberflache besitzt, als jeder andere Kdrper gleichen Volumens, Nach. Ges. Wiss. Gottingen, Math.phys. KL, 1884. S. 1—13.
Бляшке В. Греческая и наглядная геометрия // Математическое просвещение, вып. 3. — М.: Физматгиз, 1958. С. 101—138.
Тихомиров В.М. Рассказы о максимумах и минимумах. — М.: Наука, 1986.
Борхес XJL Сочинения: в 3 т. Т. 1. — Рига: Полярис, 1994.
Waddington CH OR in World War 2. — London: Elek Science, 1973.
Исследование операций: в 2 т. T. 1. — М.: Мир, 1981.
Rivett Р. The craft of decision modelling. — John Wiley & Sons, 1994.
Новые области применения математики. — Минск: Вышэйшая школа, 1981.
Вентцель ЕС Исследование операций. — М.: Знание, 1976.
Саати TJI. Математические методы исследования операций.—— М.: Воениздат, 1963.
Глава 2
ПОСТАНОВКА ЗАДАЧ
I keep six honest serving-men (They taught me all I knew);
Their names are
What and Why and When And How and Where and Who. I send them over land and sea, I send them east and west…
([1], c. 88)
Изложение материала мы начнем с формулировки вопросов, поиску ответов на которые и будут посвящены последующие главы.
Начинать с постановки задач — такой способ построения материала в учебнике нельзя отнести к общепринятым. Более распространенным является часто почти немотивированное, но стройное и систематичное изложение теории, иллюстрациями к возможностям которой служат отдельные, тщательно подобранные примеры. В этом случае вырисовывается достаточно цельная картина, иногда даже широкое полотно, в ходе создания которого тщательно и аккуратно, нередко с подробным обоснованием, изготовляется изящный инструментарий, особенные возможности которого и показываются на редкой россыпи немногих примеров. То, что разбираемые примеры (задачи) располагаются после теоретических конструкций, вряд ли идеально подходит для тех, кто впервые знакомится с предлагаемой тематикой, и вместо естественного вопроса, как решить эту задачу, возникает совершенно иной, поражающий своей однозначной категоричностью ——зачем это мне нужно. Конечно, систематическое изложение выглядит взвешенным и соразмерным, но способно привлечь к себе дельное любопытство лишь немногих читателей, среди которых те, для кого предлагаемый материал является первым шагом в возникающий круг проблем, составляют исчезающе малую долю. Большинству же читателей почти все время (на протяжении всей книжки) нужна мотивация, в роли каковой теория, даже очень стройная, чаще всего выступать не может.
Поэтому мы и решили начать с неформального описания тех вопросов, ответы на которые мы постараемся более или менее обоснованно изложить в нашей книжке, уделив значительное внимание безусловной естественности появления как самих вопросов, так и предлагаемых далее ответов на них.
Заметим, что многие из этих вопросов и задач появились уже довольно давно. Тогда же были найдены и ответы на некоторые из них, правда, далеко не оптимальные.
Итак, у вас возник вопрос, на который вам нужно ответить, или задача, которую вам необходимо разрешить, причем желательно сделать это наилучшим (по возможности) способом.
Уже при самом ближайшем рассмотрении возникают два новых вопроса:
Существует ли у возникшей задачи какое-либо решение вообще, тем более оптимальное?
Если (оптимальное) решение существует, то как это решение можно найти по возможности путем наиболее простым, и к тому же так, чтобы избранный путь был в достаточной степени обоснованным — ведь наличие определенной доли уверенности в возможностях окончательного результата заметно влияет на действенность его последующего воплощения?
Если из каких-то предварительных соображений или на основании известных фактов можно сделать вывод о том, что (оптимальное в том или ином смысле) решение существует, то это может помочь в поиске такого решения чисто психологически.
Именно поэтому мы и обратимся в первую очередь к одному весьма интересному классу задач, в котором оптимальное (наилучшее) решение всегда существует и где его можно сравнительно легко выделить из конечного числа претендентов простым перебором.
Начнем с простейшего примера. Предположим, что задан набор из п целых чисел
〃,Ь, с, d,…,х, у, z
и нужно найти среди них самбе большое.
Сравнив anb, возьмем большее из них, скажем 仇 и сравним его с с. Наибольшее число новой пары сравним с d н, взяв большее из них, сравним се. И так будем выделять наибольшее число в каждой новой паре до тех пор, пока не исчерпаем всех чисел заданного набора. В итоге после л — 1-го сравнения мы найдем наибольшее из представленных чисел.
Не упустив в описанном процессе сравнения ни одного из возможных п претендентов, посредством простого перебора мы получим ответ на поставленный вопрос.
Уже здесь видно, что даже при решении очень простой задачи приводящий к ожидаемому результату перебор требуется строить вполне определенным образом, руководствуясь по меньшей мере одним из двух
следующих соображений: либо сама организация процесса перебора должна быть предельно простой (чтобы ни в коем случае не запутаться), либо количество шагов, выполнение которых приводит к выяснению, какое же из представленных чисел является самым большим, должно быть как можно меньшим. Одновременно оба эти условия выполняются далеко не всегда ——нельзя требовать, чтобы дорога, по которой идешь, была бы сразу и самой удобной, и самой короткой.
Каждая из предложенных далее задач имеет свою собственную историю. Иногда этих историй несколько. Мы выбираем те из них, которые по тем или иным причинам показались нам наиболее привлекательными. С одними из этих историй, а значит, и со связанными с ними задачами, вы встречались в далеком детстве, с другими столкнулись в более поздние времена, с некоторыми знакомитесь впервые. Поэтому изложение этих задач-историй и оказалось различным и по форме, и по стилю, и по используемому языку. Выбирая такой путь, мы на самом деле просто хотим заинтересовать читателя поставленным вопросом, полагая, что тогда легче будет искать ответ на него (хотя бы оттого, что этот поиск мы будем вести совместно с ним).
И еще одно: в этой главе мы постараемся по возможности обойтись без формул, хотя намеренный отказ от них делает описание задач более сложным. С другой стороны, широко распространено мнение (интересно, откуда оно взялось?), что наличие в книге одной формулы вдвое уменьшает число ее читателей. В последующих главах нашей книжки формул будет немного больше, так что мы рассчитываем на читателя весьма стойкого.
Форма есть деспотизм внутренней идеи, не дающий материи разбегаться, Разрывая узы этого естественного деспотизма, явление гибнет ([2], с. 75).
Итак,
История (задача) первая
(о королях и дорогах)
В далекие времена королевств в Европе было много, но были они настолько маленькими, что почти каждое можно было за день объехать на карете. Чтобы знать, как живут их подданные, а более всего оттого, что времени государственные дела отнимали немного и со скукой нужно было как-то бороться, короли любили регулярно и лично навещать подвластные им поселения. Подданные, а особенно самое ближайшее окружение короля (двор), старались, чтобы у их короля все было по-королев-
ски ——и жилище (дворец), и одежда (наряды), и выезд (форейторы, карета и лошади). Разумеется, и дороги тоже должны были быть достойными короля, то есть быть королевскими. Королевства были тогда, как правило, небогатыми, на всем приходилось экономить. Потому дороги решили строить так, чтобы при отменном качестве изъять из скудного бюджета королевства как можно меньше средств, сохранив королю возможность доехать по хорошей дороге до любого поселения.
Комиссия, созданная специально для решения этой задачи, решила заменить имеющиеся грунтовые дороги, состояние которых резко ухудшалось в дождливую погоду, дорогами более высокого качества, мощенными камнем. Для воплощения принятого решения было необходимо рассчитать минимальные затраты на строительство. Полевые изыскания, проведенные с учетом рельефа местности, почв и растительности, позволили определить наименьшую стоимость строительства каждой дороги, соединяющей любые два поселения (таковых оказалось ровно л (л - 1)/2, где п — число всех населенных пунктов королевства). Подсчеты показали, что общая сумма, требуемая для строительства всех дорог, весьма обременительна для бюджета, и председатель комиссии уже был почти готов идти с невеселым докладом к королю, но тут один из ее членов предложил построить всего лишь 〃 一 1 дорог, причем так, что, перемещаясь только по ним, можно было попасть из каждого поселения в любое другое. Более того, эти дороги можно было выбрать таким образом, чтобы, обеспечивая свободные перемещения из одного населенного пункта в другой, их прокладка привела к минимально возможным финансовым затратам.
(Вспомним предбальный осмотр королем своих владений в старом кинофильме «Золушка».)
Рассказывая далее, как можно решить эту, а также и иные подобные ей задачи, мы будем называть ее задачей об отыскании минимального порождающего дерева.
История (задача) вторая (вновь о королях и дорогах)
Спустя некоторое время мы вновь возвращаемся в то же королевство. Проведя несколько удачных военных кампаний, королевство усилилось и окрепло, увеличилось в размерах, и король был уже не в состоянии добираться до каждого поселения. Однако по-прежнему не желая обходить вниманием своих подданных, он распорядился соединить со своей резиденцией каждый из населенных пунктов, в том числе и все вновь приобретенные, короткими и удобными дорогами с тем, чтобы все его распоряжения доходили до мест как можно быстрее, да и со све-
дениями с мест тоже задержки не возникало. Для разрешения этого вопроса была создана новая комиссия. Решение, которое было ею предложено, заметно отличалось от решения предыдущей комиссии (но ведь и задача ставилась другая). Оно было доложено королю и после некоторого обсуждения утверждено высочайшим указом.
Показывая далее, как можно без особых затруднений решить эту, а также подобные ей задачи, мы будем называть ее задачей об отыскании кратчайшего маршрута.
История (задача) третья
(о Василисе Премудрой и ее мамках-няньках)
Помните детскую сказку «Царевна-лягушка», в которой отец Ивана-царевича «приказал за единую ночь соткать ему шелковый ковер»? «Вышла Василиса Премудрая на красное крыльцо и закричала громким голосом: «Мамки-няньки! Собирайтесь, снаряжайтесь шелковый ковер ткать ——чтобы таков был, на каком я сиживала у родного моего батюшки!»... Наутро проснулся Иван-царевич, ковер давно готов: изукрашен златом-серебром, хитрыми узорами...» ([3], с. 22).
Соткать подобный ковер — работа большая даже для сказки. Чтобы выполнить ее за одну ночь, Василисе Премудрой или ее доверенному лицу — производителю работ — нужно было разумно выстроить все необходимые и весьма разнообразные операции, обеспечить бесперебойное и быстрое снабжение материалами, спланировать и организовать работу так, чтобы мамки-няньки успели выполнить ее целиком, да еще и не в ущерб качеству.
Показывая далее, как можно решать подобные задачи, мы будем называть их задачами об отыскании критического пути и критических работ на этом пути.
История (задача) четвертая
(о зрелищах и хлебе)
И вновь мы оказываемся в королевстве. Сегодня там большой праздник, даже два. На двух самых больших площадях столичного города приуроченные к празднику притягательные зрелища — сначала казнь злодея (очень интересно посмотреть, как он будет выглядеть на плахе), а затем выступление заезжих артистов (факиры, говорящие лошади, волосатые женщины и тому подобные веселости). Ясно, что толпа, не до конца удовлетворенная лицезрением кровавого зрелища, после его завершения разом хлынет на второе, тоже интересное. Будет давка (как часто случалось такое, и не только в этом королевстве). Можно ли ее избежать? Вообще говоря, можно, но только королевским спецслужбам
придется здорово потрудиться ——ведь средневековые улочки так узки, а толпа уже так разгорячена, и не только увиденным (об актуальности разрешения подобных задач говорят не только дошедшие до нас средневековые хроники, но и совсем недавние трагические события).
Показывая далее, как можно решать такие задачи, мы будем говорить о задачах отыскания максимального потока “ минимального разделяющего сечения.
Другой, не менее интересный класс задач, в которых наилучшее в том или ином смысле решение, как правило, существует, а его поиск можно относительно несложными приемами свести к разумно организованному, осмысленному перебору, составляют задачи, имеющие линейную природу. Язык изложения этих задач уже более деловой.
Наличие линейных связей можно пояснить, например, так: выручка от продажи пирожков с брусникой (прямо) пропорциональна числу проданных пирожков, а для того, чтобы найти общую выручку от продажи пирожков с брусникой и с курагой, нужно сложить выручку от продажи пирожков с брусникой с деньгами, полученными от продажи пирожков с курагой.
Задача пятая
(о диете)
Дама просто приятная решила похудеть и, как это нередко случается, обратилась за советом к подруге. Подруга ——дама приятная во всех отношениях ——посоветовала перейти на рациональное питание, состоящее из новомодных продуктов. Так как дама просто приятная в это время была весьма стеснена в средствах, то ее интересовал вопрос, в каких пропорциях нужно брать эти продукты с тем, чтобы выдержать условия диеты и истратить как можно меньше денег.
Попробуем теперь изложить эти дамские проблемы посредством более бесстрастной терминологии. Для жизнедеятельности человеку ежесуточно требуется питание, содержащее известное число ингредиентов в количествах, не меньших предписанных нормами. Эту потребность в пище можно покрыть (и даже перекрыть) посредством ежесуточного потребления различных продуктов во вполне определенных количествах. Предполагая известным, какое количество единиц того или иного из предусмотренных нормами ингредиентов содержит единица потребляемого продукта, а также стоимость этой единицы, нужно составить наиболее дешевый суточный рацион.
Рассказывая далее, как можно решить эту задачу, мы будем называть ее задачей о диете.
Задача (история) шестая
(о том, как следует поступать для того, чтобы получить максимальный доход)
У предпринимателя на складах имеется несколько видов сырья. Из этого сырья можно, соответствующим образом организовав производство, изготовить определенное количество разных видов продукции. Затраты сырья на изготовление одной единицы продукции каждого вида и цена ее реализации известны. Каким при этих условиях может быть максимальный доход от реализации произведенной продукции, если разумно организовать производство?
Показывая далее, как можно решать подобные задачи, мы будем называть эту задачу задачей об отыскании оптимального плана производства продукции из имеющегося сырья.
Задача седьмая
(о том9 как выгоднее поступить с имеющимся сырьем)
Мы вновь возвращаемся к предпринимателю, у которого на складах имеется несколько видов сырья. Из этого сырья можно, соответствующим образом организовав производство, изготовить определенное количество разных видов продукции. После подсчета затрат сырья на изготовление и цены реализации одной единицы продукции каждого вида возникающий у предпринимателя вопрос, не проще ли продать все имеющееся сырье, вместо того чтобы производить из него продукцию, порождает новый вопрос: а по каким ценам нужно продавать сырье, чтобы нашелся покупатель и, конечно, чтобы это бьию выгоднее производства.
Показывая далее, как можно решить эту, а также и иные подобные ей задачи, мы будем называть ее задачей о том, как наиболее выгодно распорядиться имеющимися запасами сырья: продать или произвести из него продукцию “ потом продать.
Здесь немаловажно подчеркнуть весьма ограниченные рамки задачи: во временном разрезе и в больших масштабах использование сырья для изготовления продукции выгоднее торговли сырьем (в особенности невозобновляемым).
Задача восьмая
(о наиболее выгодной организации перевозок)
Имеется ряд предприятий, потребляющих известные виды сырья, и есть ряд сырьевых баз, которые могут поставлять это сырье предприятиям. Базы связаны с предприятиями какими-то путями сообщения
(железнодорожными, водными, автомобильным^, воздушными) со своими тарифами. Требуется разработать такой план снабжения предприятий сырьем (с какой именно базы, в каком количестве и какое сырье доставляется), чтобы потребности в сырье были обеспечены при минимальных расходах на перевозки.
Показывая далее, как можно решить эту, а также иные подобные ей задачи, мы будем называть ее транспортной задачей.
Задача девятая
(проблема путешественника)
Отправляющемуся в путешествие нужно упаковать в рюкзак определенное количество предметов, среди которых могут оказаться и одинаковые. При наличии некоторого количества известных ограничений такого типа, как вес, объем, линейные размеры и полезность каждого предмета, требуется поместить их в рюкзак заданной вместимости таким образом, чтобы общая полезность вмещенного была бы наибольшей. То, что эта задача давно актуальна, весьма выразительно показано классиком ([4], с. 36).
Рассказывая далее, как можно решить эту задачу, мы будем называть ее задачей о рюкзаке.
Задача десятая
(о наиболее выгодном использовании имеющегося парка самолетов)
У фирмы имеется некоторое количество самолетов разной вместимости и комфорта, которые необходимо распределить между таким же числом авиалиний. Известен размер дохода, который будет приносить каждый самолет при условии его эксплуатации на той или иной авиалинии. Требуется так распределить имеющиеся самолеты, чтобы приносимый ими суммарный доход был наибольшим.
Показывая далее, как можно решить эту задачу, мы будем называть ее задачей о назначениях.
Заметим, что в реальных условиях жесткой конкуренции фирмы, занимающиеся авиаперевозками, в немалой степени озабочены уровнем комфорта пассажиров, а это приводит к необходимости решать задачу с большим числом требований (см. задачу 11).
В нижеследующих задачах поиск оптимального решения уже более сложен, особенно если учесть, что и само понимание оптимальности здесь уже не столь очевидно. Впрочем, это обстоятельство делает эти задачи не менее интересными для изучения.
Задача одиннадцатая
(о том, как можно усидеть одновременно на нескольких стульях)
У предпринимателя на складах имеется несколько видов сырья. Из этого сырья можно, соответствующим образом организовав производство, изготовить определенное количество разных видов продукции. Затраты сырья на изготовление единицы продукции каждого вида, объем издержек на каждую единицу продукции и цена ее реализации известны. Как следует поступить предпринимателю при этих условиях, чтобы выгода от реализации произведенной продукции была как можно большей, а необходимые издержки — как можно меньшими?
Показывая далее, как можно решать подобные задачи, мы будем называть эту задачу задачей с многими критериями, или многокритериальной задачей.
Конфликтными мы называем ситуации, в которых принимают участие две или более стороны с несовпадающими интересами. Конфликты бывают очень разными. Весьма разнообразны и способы их разрешения. Вот несколько примеров.
Задача двенадцатая
(о том9 кого же мы выбираем)
В 1996 году перед первым туром президентских выборов в России по московскому радио передавали выступление избирателя, недовольного системой голосования. Он предлагал разрешить каждому избирателю не только голосовать за одного кандидата, но и упорядочивать всех кандидатов по своему предпочтению от лучшего к худшему. Только после этого, утверждал выступавший, будет ясно истинное отношение населения России к кандидатам в президенты. Насколько верно это суждение и, вообще, существует ли идеальная система голосования? ([5], с. 281).
Задача тринадцатая
(чет-нечет)
Хорошо известна следующая простая игра: два игрока по команде одновременно оттопыривают (выбрасывают) один или два пальца (разумеется, каждый на своей руке). Если количество выброшенных пальцев у обоих игроков одинаково, то первый игрок получает у второго заранее оговоренную сумму, а если разное, то наоборот ——первый игрок передает второму такую же сумму. Спрашивается, как следует вести себя каждому из игроков, для того чтобы при многократном повторении игры не подорвать свои финансовые возможности? ([6], с. 215).
Задача четырнадцатая (семейный спор)
В молодой семье возникла проблема: муж, первый игрок, и жена, второй игрок, должны выбрать одно из двух развлечений на сегодняшний вечер: матч бокса или балет. Согласно общепринятому стандарту, мужчина бесспорно должен предпочесть бокс, а женщина — балет. Однако обоим гораздо важнее быть вместе, чем смотреть предпочитаемое зрелище. Как им лучше поступить, чтобы не нарушить постепенно складывающиеся мир и согласие?
Эта задача допускает разнообразные интерпретации. Вот, например, еще одна.
Каждый из двух деловых партнеров предлагает другому, объединив свои капиталы, выгодно вложить их в дело, делить получаемую прибыль в соотношении, выгодном для себя. Финансовые возможности каждого таковы, что без дополнительных средств начинать ни то, ни другое дело невозможно. Что можно посоветовать этим предпринимателям? ([7], с. 11).
Задача пятнадцатая
(дилемма заключенного)
Два преступника находятся в разных камерах предварительного заключения по подозрению в тяжком преступлении. Однако прямых улик против них нет, и возможность их обвинения в значительной мере зависит от того, сознаются ли преступники сами. Если оба сознаются, то, несомненно, будут осуждены на длительный срок тюремного заключения, но с учетом чистосердечного признания ——не самый большой. Если ни один из них не сознается, то за отсутствием улик обвинение в тяжком преступлении будет снято, но суд может доказать их виновность в совершении менее значительного преступления, в результате чего оба получат некоторое, небольшое, наказание. Если же сознается лишь один из них, а второй будет хранить молчание, то по законам той страны, в которой находятся и тюрьма, и суд, первый будет выпущен на свободу, а второй получит полную меру возмездия. Что бы мы могли им посоветовать в данной ситуации? ([8], с. 133).
Задача шестнадцатая
(пираты делят золото)
Несколько пиратов делят захваченные ими золотые слитки. Процедура дележа происходит следующим образом: сначала старший пират предлагает дележ по своему выбору. Если большая часть пиратов предложенный дележ отвергает, второй по старшинству пират предлага-
ет новый дележ добычи среди оставшихся пиратов (старший после неудачного предложения из дележа выводится и в дальнейших событиях никакого участия не принимает). Если новое предложение вновь отвергается большинством голосов, то предлагавший его пират от дальнейшего участия в дележе устраняется, а для оставшихся пиратов процедура дележа повторяется. При этом право на предложение получает следующий по старшинству пират. Как будут распределены слитки золота, если каждый пират из двух предложенных ему дележей предпочитает тот, в котором его доля золотых слитков больше? ([9], с. 62).
Задача семнадцатая
(ведение переговоров)
Рассматриваются двусторонние переговоры, проводимые по следующей простой схеме. Сначала одна из сторон, сторона Л, высказывает одно из нескольких предложений, способных заинтересовать другую сторону. Затем эта другая сторона, сторона 3, ознакомившись со сделанным ей предложением, высказывает одно из нескольких встречных предложений, способных, по ее мнению, заинтересовать сторону 4 В свою очередь, сторона 4 ознакомившись с реакцией стороны В на сделанные ей предложения, высказывает новое, внося одну из нескольких возможных корректив в свое начальное предложение с учетом мнения стороны Д и т. д.
Задача восемнадцатая
(джаз-оркестр)
Владелец ночного клуба обещает $1000 певцу, пианисту и ударнику за совместную игру в его клубе. Выступление дуэта певца и пианиста он расценивает в $800, ударника и пианиста — в $650 и одного пианиста в $300. Дуэт певец-ударник зарабатывает $500 за вечер на одной станции метро, певец зарабатывает $200 за вечер в открытом кафе. Ударник один ничего не может заработать. Какое распределение дохода в $1000 следует считать оптимальным, учитывая описанные возможности музыкантов? ([10], с. 112).
В каждой из приведенных выше задач-историй содержится требующий ответа вопрос. Чтобы обозначить этот вопрос явно или, по крайней мере, более отчетливо, мы поступим следующим образом. Оставив в стороне те обстоятельства, которые не кажутся нам существенными, мы попытаемся записать то, что по нашему мнению заслуживает внимания, на более удобном для последующих действий языке, привлекая формулы, схемы, графики и/или таблицы.
Понятно, что при подобном переводе что-то окажется потерянным, но нередко именно потери позволяют обнажить существо рассматриваемого вопроса, лучше понять совокупность потревоженных им проблем.
Кто своего е чужое не добавил? Так поступали всюду и всегда! ([И], с. 559).
Но вот что важно подчеркнуть.
Распространенный в преподавании математических дисциплин абстрактно-дедуктивный стиль изложения, возникший еще в древности, воспитывает представление об особом — принудительном для индивидуального сознания ——характере математических утверждений. Однако этот сложившийся метод преподавания математики, по нашему мнению, мало что дает для понимания эффективности ее применения в одних жизненных ситуациях и, наоборот, неэффективности попыток применения математики в других ситуациях. Доказательство утверждений на основе общих определений и аксиом позволяет демонстрировать непреложный характер положений математики, но совершенно оставляет в стороне прикладную составляющую математических подходов и методов, выходящую на передний план в практической деятельности менеджера. Трудно ожидать, что менеджер, обучавшийся математике путем заучивания немотивированных (для него) определений и закрепления готовых математических приемов за счет решения взятых неизвестно откуда (для него) задач, вдруг проявит предприимчивость и нестандартный подход при анализе новой ситуации.
Часто... выпускник нашей школы не умеет применить знания, полученные им в школе, к решению задач, проблем, вырастающих перед ним вне стен школы. Ситуация получается нелепая — человек знает, как нужно действовать согласно науке, и тем не менее действует так, как если бы он этого не знал ([12], с. 79).
Известно, что все математические утверждения и алгоритмы возникли в свое время как ответы на актуальные вопросы теоретической и практической деятельности людей. Люди учились ставить вопросы и искать ответы на них. И мы склонны считать, что нет иного способа в развитии творческого начала в мышлении учащихся, кроме как развитие умения у них правильно ставить вопросы для решения возникающих в их деятельности сложных ситуаций и затем целенаправленно их разрешать. По нашему мнению, сознательная реконструкция творческого процесса построения модели и ее всестороннего анализа на примерах наиболее важных математических моделей в управлении способствует
действенной передаче позитивного опыта лучших ученых в построении моделей, а развитие навыков количественного моделирования реальных жизненных ситуаций является весьма перспективным направлением совершенствования математической подготовки будущих менеджеров-аналитиков (в этом месте нельзя не упомянуть основательный двухтомник по исследованию операций [13] с такими названиями томов: том 1-й ——Методологические основы и математические методы; том 2-й —— Модели и применения).
В последующих главах мы будем время от времени возвращаться к бесформульным текстам задач-историй, сопоставляя их с соответствующими математическими описаниями и полученными решениями. Взвешенный комментарий позволит глубже проникнуть в суть рассматриваемой задачи и лучше понять изначальную наполненность получаемого ответа.
Формализованное описание задачи нередко предопределяет способ ее разрешения, но в большинстве случаев эффективные алгоритмы проявляются не столь очевидно.
Об алгоритмах, приведенных в последующих главах
Каждая из сформулированных выше задач может быть решена разными способами. Далее эти способы, в основном, и описываются. При этом структура описания последовательности действий от задачи к задаче практически не меняется. Сначала мы переходим от вербального представления задачи к ее математической постановке, а затем приводим один из алгоритмов ее решения, либо описывая его в некотором универсальном виде, либо показывая на соответствующим образом подобранном примере, как он работает.
О выборе алгоритмов
Выбирая алгоритм (разумеется, если есть возможность выбора), обычно руководствуются тремя основными требованиями: простотой алгоритма, скоростью его работы и устойчивостью к малым возмущениям. Конечно, многие из рассматриваемых здесь алгоритмов программно реализованы, оценена их сложность и изучено отношение к накоплению погрешности, и обученный компьютер бесстрастно и быстро выполнит невидимую глазу рутинную вычислительную работу. Однако для первого знакомства наиболее подходящими являются алгоритмы, которые просты для воспроизведения и в которых явно усматриваются ключевые идеи, лежащие в основе тех эффективных алгоритмов, которые обеспечивают машинное разрешение задачи.
Весьма часто, хотя и не всегда, мы останавливаемся на обосновании корректности предложенного алгоритма (доказываем, что указанный способ действительно приводит к искомому результату).
И, наконец, непременно указываем публикации, в которых описываются и другие алгоритмы и на разных уровнях строгости доказывается справедливость всех наших действий.
Однако пора остановиться и, вместо того чтобы длинно рассуждать о разнообразии подходов к поиску решений вдали от задач (как помещенных выше, так и приводимых в последующих главах), стоит перейти к разработке действенных подходов к разрешению этих задач и их дельному описанию.
Литература
Kipling К Just so stories. — Moscow: Progress Publishers, 1968.
Леонтьев K.H. Цветущая сложность: избр. статьи. — М.: Мол. гвардия, 1992.
Сказки народов Советского Союза.——Горький: Горьковское областное изд-во, 1950.
Джером К.Д. Трое в одной лодке. Рассказы. — М.: Художественная литература, 1977.
Ларичев О.И. Теория и методы принятия решений, а также Хроника событий в Волшебных странах. — М.: Логос, 2002.
Шикин Е.В., Шикина 上Е Гуманитариям о математике. Пути знакомства. Основные понятия. Методы. Модели. — М.: УРСС, 2001.
Воробьев НН Теория игр для экономистов-кибернетиков. — М.: Наука, 1985.
Льюс Р.〃, Райфа X Игры и решения. Введение и критический обзор. —М.: ИЛ, 1961.
Мулен Э. Теория игр с примерами из математической экономики. — М.: Наука, 1985.
Морозов В.В. Основы теории игр.——М.: Издательский отдел факультета ВМиК МГУ, 2002.
Мартынов Л.Н, Собрание сочинений: вЗт. Т. 1. — М.: Художественная литература, 1976.
Ильенков Э,В. Школа должна учить мыслить. — М.: Изд-во Московского психолого-социального института; Воронеж: Изд-во НПО «М0Д9К», 2002.
Исследование операций: в 2 т. — М.: Мир, 1981.
Глава 3СЕТИГлава 3СЕТИ
Глава 3
СЕТИ
Глава 3
СЕТИ
Ираздумался старый Илья Муромец, Илья Муромец, сын Иванович: Да 6 какую дороженьку буде ехати ?
Эйлеровы и гамильтоновы графы. Деревья
Проявление интереса к графам и сетям принято отсчитывать от работ Леонарда Эйлера и Уильяма Роуэна Гамильтона (см. [1] и [2]).
В задаче, решенной Эйлером в 1736 году и получившей в дальнейшем название задачи о семи кенигсбергских мостах, требовалось «непрерывно обойти их (мосты), проходя только однажды через каждый мост» [3] (рис. 1а и 16).
Рис. 1аРис. 1а
Рис. 1а
Рис. 1а
Рис. 16Рис. 16В 1859 году Гамильтон предложил владельцу фабрики игрушек в Дублине необычную головоломку, основной частью которой был деревянный додекаэдр (рис. 2а и 26). В каждую вершину додекаэдра, помеченную названием одного из известных городов (Брюссель, Дели, Франкфурт и т. д.), был вбит гвоздик и к одному из них была привязана нить. Требовалось соединить вершины додекаэдра этой нитью так, чтобы она проходила вдоль его ребер, обвивая каждый гвоздикВ 1859 году Гамильтон предложил владельцу фабрики игрушек в Дублине необычную головоломку, основной частью которой был деревянный додекаэдр (рис. 2а и 26). В каждую вершину додекаэдра, помеченную названием одного из известных городов (Брюссель, Дели, Франкфурт и т. д.), был вбит гвоздик и к одному из них была привязана нить. Требовалось соединить вершины додекаэдра этой нитью так, чтобы она проходила вдоль его ребер, обвивая каждый гвоздик
Рис. 16
Рис. 16
В 1859 году Гамильтон предложил владельцу фабрики игрушек в Дублине необычную головоломку, основной частью которой был деревянный додекаэдр (рис. 2а и 26). В каждую вершину додекаэдра, помеченную названием одного из известных городов (Брюссель, Дели, Франкфурт и т. д.), был вбит гвоздик и к одному из них была привязана нить. Требовалось соединить вершины додекаэдра этой нитью так, чтобы она проходила вдоль его ребер, обвивая каждый гвоздик
В 1859 году Гамильтон предложил владельцу фабрики игрушек в Дублине необычную головоломку, основной частью которой был деревянный додекаэдр (рис. 2а и 26). В каждую вершину додекаэдра, помеченную названием одного из известных городов (Брюссель, Дели, Франкфурт и т. д.), был вбит гвоздик и к одному из них была привязана нить. Требовалось соединить вершины додекаэдра этой нитью так, чтобы она проходила вдоль его ребер, обвивая каждый гвоздик
ровно один раз, и чтобы полученный в результате ниточный маршрут был замкнутым (циклом).
Владелец фабрики принял предложение Гамильтона и выплатил ему 25 гиней.
Интересно отметить, что обе эти разделенные более чем столетием задачи являются оптимизационными.
Обратимся к первой из этих задач.
Ясно, что минимальное число мостов, которые нужно пройти с тем, чтобы в итоге были пройдены все, не меньше самого числа этих мостов.
Эйлеру удалось описать все ситуации, в которых эти два числа совпадают:
«После долгих размышлений я нашел легкое правило, основанное на вполне убедительном доказательстве, при помощи которого можно во всех задачах такого рода тотчас же определить, может ли быть совершен такой обход через какое угодно число и как угодно расположенных мостов или не может» ([3], с. 153).
Сформулируем этот результат, пользуясь современной терминологией.
Фигура, состоящая из точек (вершин) и соединяющих их линий (ре・ 6ерХ называется графом (рис. За). Тем самым, начало и конец каждого ребра графа суть его вершины.
Путем, соединяющим вершины А и В графа, называется упорядоченная совокупность его ребер, обладающая следующим свойством: начало каждого ребра, начиная со второго, совпадает с концом предыдущего ребра, при этом начало первого ребра совпадает с вершиной Л, а конец последнего ——с вершиной В (рис. 36). Вершины Л и В называются связанными, если существует путь, соединяющий эти вершины. Граф называется связным, если связаны любые две его вершины. $
Вершина графа называется четной, если число всех выходящих из нее (или, что то же, входящих в нее) ребер четно, и нечетной, если число всех выходящих из нее (или, что то же, входящих в нее) ребер нечетно. Вершина Л на рисунке 36 четна (из нее выходит четыре ребра), а вершина В нечетна (из нее выходит три ребра).
Наконец, последнее: граф называется конечным^ если конечны и число его ребер, и число его вершин.
Всюду в дальнейшем мы будем рассматривать только конечные и связные графы.
Эйлер установил, что граф, в котором существует путь, перемещаясь по которому можно пройти все его ребра, проходя по каждому ребру графа ровно один раз, должен иметь либо только четные вершины, либо ровно две нечетных (все остальные вершины графа должны быть четными). Во всех других случаях обойти граф целиком возможно, лишь проходя по некоторым ребрам не один раз.
Более того, если в графе ровно две нечетные вершины, то такой путь должен непременно начинаться в одной из этих вершин, а заканчиваться в другой. Если же все вершины графа четны, то начало и конец пути непременно должны совпадать, иными словами, искомый путь должен быть замкнутым.
Замечание. Если указанные выше условия выполнены, то задача имеет, как правило, не одно решение — обходов графа может быть довольно много, но число пройденных при этом ребер будет всегда одним и тем же.
Известен простой алгоритм построения подобного обхода в тех ситуациях, когда этот обход возможен [4].
Гамильтон рассматривал задачу, в которой нужно было, проходя по ребрам додекаэдра, посетить все его вершины.
Ясно, что минимальное число вершин додекаэдра, которые нужно посетить, проходя по его ребрам с тем, чтобы пройти все, не меньше числа его вершин.
Гамильтон показал, что для додекаэдра эти числа равны [5]. Однако описать все множество графов, допускающих существование путей, перемещаясь по которым можно обойти все узлы, побывав в каждом ровно один раз, не удалось до сих пор. Нет и эффективного алгоритма.
Конечно, задача может быть решена перебором, так как обычно речь идет о графах с конечным числом вершин, но объем вычислений в подавляющем большинстве случаев слишком велик.
С этой задачей тесно связана проблема моряка, часто называемая также задачей о странствующем торговце (коммивояжере), который должен посетить определенный набор городов и вернуться домой как можно скорее. Довольно большой пример определения замкнутой воздушной линии, соединяющей столицы 48 штатов США и имеющей наименьшую возможную длину, был просчитан до конца [6].
Отдавая дань уважения Эйлеру и Гамильтону, всякий граф, у которого есть замкнутый путь, проходящий через каждое его ребро в точности по одному разу, стали называть эйлеровым, а всякий граф, у которого есть замкнутый путь, проходящий через каждую его вершину в точности один раз, гамильтоновым.
Важный класс графов составляют графы, называемые деревьями. Дерево — это связный граф, который вовсе не имеет замкнутых путей (рис. 4).
Этот граф обладает следующим оптимальным свойством: среди всех связных графов с данным числом вершин дерево имеет наименьшее число ребер, а именно:
число Ивершин дерева и число Еего ребер различаются на единицу
Справедливо и обратное утверждение:
Р=Е + 1,
если число вершин связного графа на единицу больше числа его ребер, то этот граф является деревом.
Если граф — конечный и связный, то легко построить дерево (и, как правило, не одно), множество вершин которого совпадало бы с множеством всех вершин заданного графа, а все ребра дерева одновременно были бы ребрами этого графа.
Это можно сделать, например, так. Пометим произвольную вершину графа, выберем какое-нибудь исходящее из нее ребро графа и пометим вершину, в которую это выбранное ребро входит. Если пара помеченных вершин не исчерпывает множества всех вершин графа, выбираем ребро графа, выходящее из одной из двух этих вершин в какую-нибудь третью непомеченную вершину этого графа, и помечаем ее. В случае если полученная тройка помеченных вершин не исчерпывает множества всех вершин графа, выбираем ребро графа, выходящее из одной из трех этих вершин в какую-нибудь четвертую непомеченную вершину этого графа, и помечаем ее. Продолжая описанную процедуру далее, мы неизбежно придем к ситуации, когда все вершины заданного графа окажутся помеченными. Напомним, что число вершин графа конечно, и если оно равно л, то потребуется ровно л - 1 шаг, на каждом из которых (кроме первого) помечается ровно одна новая (непомеченная) вершина графа. Множество выбранных ребер и помеченных вершин будет искомым деревом.
Всякое такое дерево называют деревом, порождающим граф, или порождающим деревом графа, или остовом графа, или его стягивающим остовом.
На рис. 5 последовательно (шаг за шагом) показано построение порождающего дерева для графа с семью вершинами.
Ясно, что порождающих деревьев у конечного связного графа может быть много. В частности, если граф — полный (любые две вершины соединены ребром), то число порождающих деревьев равно лл~2, где п — число его вершин [7].
Введем одно полезное понятие: множество всех ребер, выходящих из вершины графа, будем называть звездой этой вершины. На рис. 6 изображена звезда вершины 4.
Всюду в дальнейшем будем считать, что заданный граф связен, конечен и не имеет петель (начало ни одного ребра графа не совпадает с его концом).
Часто приходится рассматривать задачи, в которых каждому ребру заданного графа приписано некоторое положительное (неотрицательное) число (его вес). Обычно граф, нагруженный подобным образом, называют сетью, его вершины углами, а ребра дугами.
В зависимости от приложений описанная числовая нагрузка дуги графа может иметь разный смысл и обозначать длину, стоимость, пропускную способность, временную протяженность и т. д.
Рассмотрим несколько характерных задач.
Минимальное порождающее дерево
Предположим заданным граф, числовые нагрузки (веса) дуг которого можно интерпретировать как их длины.
Выше уже отмечалось, что порождающих деревьев у графа может быть много. В рассматриваемом случае с каждым порождающим деревом естественно связать число, равное сумме длин всех его дуг. Ясно, что среди этих порождающих деревьев есть хотя бы одно, сумма длин всех дуг которого минимальна. Такое дерево называют минимальным порождающим деревом, minimum scanning tree, или минимальным остовом.
Начнем с рассмотрения двух примеров.
Пример 1. Имеется 7 городов Ль /2, /3, Л, <5,4, Л, которые нужно связать между собой наиболее дешевой сетью дорог, если известно, что стоимость с (Д, 2Q сооружения участка дороги, соединяющей города Л/ и Ак (/, 2=1, ..., 7, i 工 Q, пропорциональна ее длине (рис. 7).
Замечание, Граф наиболее дешевой соединяющей сети непременно должен быть деревом. (Если бы это было не так, то в графе нашелся хотя бы один замкнутый путь. При удалении любого из ребер этого замкнутого пути стоимость сети уменьшилась бы, а города все еще оставались соединенными.) Тем самым число ребер искомого графа в предложенном примере должно быть равным 6.
Поиск решения можно начать с любого узла. Пусть это будет узел Ль
7-й шаг. Самая короткая дуга, выходящая из этого узла, — это дуга (Ль %2)длины 50. Соединим узлы 41 и Л2 жирной линией, как показано на рис. 7а, и пометим узлы «1 и Л2.
2-й шаг. Самой короткой дугой, выходящей из помеченных узлов /【 и Л2 в еще непомеченные, является дуга (/2, 4?) длины 40. Добавим ее к дереву, выделив жирной линией (рис. 76).
Рис. 76
3・й шаг. Узел 4 расположен к тройке Ль Аъ Л3 ближе всех других непомеченных узлов. Выделив дугу (Л3, 4) длины 55, переведем этот узел в помеченные (рис. 7в) и пометим узел 4・
Рис. 7в
4-й шаг. Следующим узлом будет узел 4, расположенный к помеченной четверке Ль Л2, /3, 4 ближе непомеченных узлов /5 и /7. Выделим дугу (& 4) длины 75, соединяющую его с узлом 4 (рис. 7г), и пометим узел 4・
5-й шаг. Узел Л7, ближе узла %5 к пятерке помеченных узлов. Выделим дугу (4, 4) длины 70, соединяющую его с ближайшим узлом 4 (см. рис. 7д), и пометим узел Л7.
6-й шаг. Оставшийся непомеченным узел Л5 соединим с узлом Л7 дугой (&, 4) наименьшей длины 45 (рис. 7е) и также пометим его.
Поведем итог: шесть выделенных дуг связывают все семь узлов заданной сети. Получающееся в результате минимальное порождающее дерево имеет суммарную длину 335.
Рис. 7е
Предложенный способ хорошо работает и в случае, когда исходная сеть задана при помощи таблицы.
Сеть дорог минимальной стоимости состоит из четырех, 5 — 1=4, дуг и строится так. Сначала выбирается самый дешевый участок дороги —3G соединяющий города 5 и С (его цена равна 6).
В
С
D
E
А
—
9
13
10
7
В
9
—
6
9
12
С
13
6
—
10
8
D
10
9
10
—
9
Е
7
12
8
9
—
На третьем шаге вновь выбирается самый дешевый ——это ЕА (его цена равна 7).
4
5
С
D
Е
A
—
9
13
10
7
В
9
—
б
9
12
С
13
6
—
10
8
D
10
9
10
—
9
Е
7
12
8
9
—
Последний участок дороги выбираем так, чтобы не образовалось цикла: соединим для этого город D с ближайшим к нему городом В (его цена равна 9).
Описание алгоритма
Опишем алгоритм, предложенный Примом ([8], с. 272), считая, что число вершин заданного графа 〃 N 2. Этот алгоритм приводит к искомому результату за л - 1 шаг.
7-й шаг. Пометим произвольную вершину графа. Из ребер звезды, порожденной этой вершиной, выберем ребро наименьшей длины (если таких ребер несколько, выбираем любое из них) и пометим вершину, в которую входит это выбранное ребро. В результате две вершины графа оказываются помеченными.
Если других вершин в графе нет, то искомое порождающее дерево построено (обозначим его через R и поставленная задача решена. В противном случае потребуется новый шаг. Опишем его.
2-й шаг. Каждая из двух помеченных вершин графа порождает свою звезду. Рассмотрим все ребра этих звезд, за исключением тех, которые соединяют между собой уже помеченные вершины, выберем ребро наименьшей длины (если таких ребер несколько, выбираем любое из них) и пометим вершину, в которую входит это выбранное ребро. В результате выделенными оказываются два ребра графа, а помеченными уже три его вершины. Обозначим полученное дерево через ^. Ясно, что^ С 石.
Если других вершин в графе нет, то искомое порождающее дерево построено и поставленная задача решена. В противном случае потребуется новый шаг.
шаг. Каждая из трех помеченных вершин графа порождает свою звезду. Рассмотрим все ребра этих звезд, за исключением тех, которые соединяют между собой уже помеченные вершины, выберем ребро наименьшей длины (если таких ребер несколько, выбираем любое из них) и пометим вершину, в которую входит это выбранное ребро. В результате выделенными оказываются три ребра графа, а помеченными уже четыре его вершины.
Обозначим полученное дерево через 石,耳 U 石 U 石.
Если других вершин в графе нет, то искомое порождающее дерево построено и поставленная задача решена. В противном случае потребуется новый шаг.
На каждом шаге и число выделенных ребер графа, и число помеченных вершин увеличиваются ровно на единицу. Тем самым, после л — 1-го шага количество выбранных ребер станет равным 〃一 1 и все л вершин графа окажутся помеченными. Обозначим полученное дерево через 厶 U ... С^_ь
Замечание. Первый шаг можно начинать с ребра наименьшей длины. Его легко найти путем простого перебора всех ребер графа. Если таких ребер несколько, выберем любое из них и пометим концы выбранного ребра. В результате две вершины графа окажутся помеченными. Если других вершин в графе нет, то искомое порождающее дерево построено и поставленная задача решена. В противном случае потребуется новый шаг, совпадающий со 2・м шагом алгоритма, предложенного выше [9].
Обоснование корректности алгоритма
Обоснование корректности приведем для сети, в которой нет дуг равной длины (это условие кажется ограничительным лишь на первый взгляд; в реальных обстоятельствах длины разных отрезков проектируемой сети дорог хотя бы немного, но различаются).
Итак, возьмем сеть с п узлами, обозначим через 7* ее остов минимальной длины и покажем, что дерево 耳一卜 построенное описанным выше способом, непременно с ним совпадает,*
/一=尸,
Априори возможны еще два случая:
7-й ——дерево %_ i целиком содержится в остове 尸(но, разумеется, не совпадает с ним 4т 工尸)и
2-й ——у дерева 石一1 есть дуга, которой нет в остове 尸.
Проведем рассуждения, исключающие оба эти случая.
Случай 7-й. Если дерево 石-i целиком лежит в остове 尸,то сумма длин всех его дуг оказывается меньше суммы всех дуг минимального остова 7*, что невозможно.
Случай 2-й. Пусть а — дуга дерева Тп _ ь не принадлежащая остову 7*.
По построению дерева石_ i дуга а появляется на одном из шагов алгоритма. Предположим для определенности, что на Ьм. Это означает, что у дерева 瓦т ее еще нет, а у дерева 瓦 она уже есть.
Напомним, как проводится Ьй шаг. Приступая к нему, мы ищем дугу наименьшей длины, которая соединяла бы один из помеченных узлов дерева 反_ i с еще непомеченным на этот момент узлом исходной сети. Пусть это узлы А и В соответственно.
Вследствие того, что остов 7* содержит все узлы исходной сети и связен, в нем существует путь, соединяющий узел Л с узлом В и, конечно, отличный от дуги а Перемещаясь по этому маршруту от помеченного узла Л к непомеченному узлу В, мы непременно встретим дугу, один из концов которой уже помечен, а другой нет. Пусть это дуга й (рис. 9).
Длина дуги Ъ должна быть больше длины дуги 〃 (в силу ее выбора на к-м шаге). Заменив в минимальном остове 尸 дугу Ъ на дугу а, мы полу-
чим новый остов, сумма длин всех дуг которого окажется меньше, чем у остова 7*, а это никак невозможно.
Кратчайший маршрут
Об этом алгоритме нужно заметить следующее:
его труднее объяснить, чем научиться им пользоваться
Лайтхилл [9], с. 335
Дана сеть, каждая дуга которой нагружена числом, равным его длине. Требуется найти кратчайший маршрут, ведущий от выделенного узла к каждому из других узлов сети.
Алгоритм решения этой задачи, shortest-route algorithm, был предложен в 1959 году. Е. Дейкстрой [10]. Он представляет собой итерационную процедуру, в которой каждому узлу присваивается метка —— либо постоянная и при этом показывающая расстояние от этого узла до выделенного (выделенный узел имеет постоянную метку), либо временная, где это расстояние оценивается сверху. В результате каждой итерации оценки уточняются, и ровно одна временная метка меняет свой статус на постоянную (после чего уже не меняется).
Работу этого алгоритма удобно показать на конкретном примере.
Пример. Рассмотрим сеть с выделенным узлом Ло, заданную на рис. 10, и найдем кратчайшие маршруты, ведущие по дугам сети от этого выделенного узлам ко всем остальным узлам сети.
Прямой ход
7-й шаг. Все узлы, соединенные с выделенным узлом 4 одной дугой, это узлы %2 и /3, метятся так, как показано на рис. 10а — число в метке равно расстоянию от помеченного узла до узла 4). Эти метки 〈4, 15) и〈4), 10) временные.
Дуга, связывающая узлы 4 и /力 является самой короткой. Это, в частности, означает, что любой маршрут от узла 4)к узлу Л2, отличный от дуги Д Л:, будет длиннее. Тем самым, выбранная дуга определяет самый короткий путь от узла Ло к узлу Л2. Кратчайшее расстояние от узла 4 до узла %2 найдено, и метка〈4, 10) узла А2 объявляется постоянной.
При получении постоянной метки узел /? выделяется так же, как и узел Д). Дуга ЛЛ выделяется жирной линией (рис. Юб).
Таким образом, по окончании 1-го шага узлы Aq и Л2 имеют постоянные метки.
Таблица 7
4
4
Л
%з
4
Л
4
1
15
Iffi
В таблице 1 указаны длины маршрутов от узла Ло, полученных на 1-м шаге; жирным выделены длины окончательных (т. е. самых коротких) маршрутов.
2-й шаг. Отбираются все узлы, не имеющие постоянных меток, которые можно соединить с узлами ЛоиЛ2 одной дугой. Это узлы 4】и 4.
Сравнивая длины маршрутов 401 и А^А^ замечаем, что длина первого (15) больше длины второго, 15 > 10 + 3. Поэтому временная метка (Д), 15) узла 4 меняется на метку (Л2, 13) (рис. 10в).
В этой метке число 13 равно длине пути 4024 от узла 4)до узла 4, а /2 — узел на этом пути, предшествующий узлу 4・
Узел 4 получает временную метку (Л2, 14).
Маршрут ЛоЛ2Л1, связывающий узлы Д)иЛ1, определяет кратчайшее расстояние от узла Aq к узлу /】(любой другой маршрут от узла Aq к узлу оказывается длиннее). Поэтому узлу 4】дается постоянная метка (Лг, 13〉; выделяется и дуга A2Ah
Таким образом, по окончании 2-го шага узлы & 4 и 友 имеют постоянные метки, узел 4 — временную метку (Л2,14), а узлы Л3, /5^4 никаких меток не имеют (рис. Юг).
Таблица 2
4
4
Л
4?
4
Л
4
1
15
10
2
13
14
В таблице 2 указаны длины маршрутов от узла 4, полученных на 1-м и 2-м шагах; жирным выделены длины окончательных (т. е. самых коротких) маршрутов.
J-w шаг. Отбираются все узлы, которые соединены с узлом /【одной дугой и не имеют постоянных меток. Это узлы 4з и 4・
Узел /3 получает временную метку〈4,19), а узел 4 временную метку 〈4, 25).
Среди узлов с временными метками выбираем узел, расстояние которого от узла Aq является наименьшим. Это узел 4・ Присваиваем его метке (Л2, 14) статус постоянной.
Таким образом, по окончании 3-го шага узлы Д), Л, Л2 и Л имеют постоянные метки, узлы /3 и 4 временные, а узел Л5 никаких меток пока не имеет (рис. 10д).
первых трех шагах; жирным выделены длины окончательных (т. е. самых коротких) маршрутов.
4-й шаг. Отбираются все узлы, которые соединены с узлом 4 одной дугой и не имеют постоянных меток. Это узлы 4з и Л5.
Присваиваем узлу 4 временную метку〈4, 16).
Сравнивая метки〈4,19) и〈4,18), замечаем, что расстояние от узла Aq до узла 4j по пути, проходящем через узел 4, меньше расстояния по пути, проходящем через узел 4・ Это наблюдение дает основание заменить метку〈4, 19) на более выгодную метку〈4, 18) (рис. 10е).
Обратимся к узлам, имеющим временные метки, — это узлы Л3, Л5 и 4・ Сравнивая расстояния от узла 4)до этих узлов, замечаем, что самым коротким будет путь до узла Л5. Это означает, что любой другой маршрут из узла 4)в узел & будет длиннее.
Таким образом, по окончании 4-го шага узлы Д), 4,4,4 H & имеют постоянные метки, а узлы 4^4 временные (рис. Юж).
〈414〉〈414〉
〈414〉
〈414〉
Рис. 10жРис. 10ж
Рис. 10ж
Рис. 10ж
Таблица 4
В таблице 4 указаны длины маршрутов от узла & полученных на первых четырех шагах; жирным выделены длины окончательных (т. е. самых коротких) маршрутов.
5-й ш砒.Отбираются все узлы, которые соединены с узлом Л5 одной дугой и не имеют постоянных меток. Это узел 4.
Сравнивая метки (Ль 25〉и (Л5, 22), замечаем, что расстояние от узла 4)до узла 4 по пути, проходящему через узел Л5, меньше расстояния по пути, проходящему через узел 4・ Это наблюдение дает основание заме-
Обратимся к узлам, имеющим временные метки, — это узлы 4з и 4・ Сравнивая расстояния от узла Aq до этих узлов, замечаем, что самым коротким будет путь до узла /з・ Это означает, что любой другой маршрут из узла Aq в узел & будет длиннее.
Таким образом, по окончании 5-го шага узлы 4, Ль /2, /3, 4 H /5 имеют постоянные метки, а узел 4 временную метку (рис. Юи).
4
4
%2
%з
4
%5
4
1
15
10
2
и
14
3
19
14
4
18
25
5
1S
22
В таблице 5 указаны длины маршрутов от узла Ло, полученных на первых пяти шагах; жирным выделены длины окончательных (т. е. самых коротких) маршрутов.
6-й шаг. Узел 4 — последний узел с временной меткой (Л5, 22〉. Она становится постоянной вследствие того, что путь в узел 4, проходящий через узел Л3, получивший постоянную метку на предыдущем шаге, имеет ту же длину — 22 и менять ее на новую нецелесообразно.
Таким образом, по окончании 6-го шага все узлы имеют постоянные метки (рис. Юк).
Таблица 6
В таблице 6 указаны длины кратчайших маршрутов (они выделены жирным) от узла Д)до каждого из остальных узлов сети.
Замечание. На каждом шаге временная метка одного из узлов меняет свой статус на постоянную по следующему правилу: рассматриваются все узлы с временными метками и выбирается тот из них, расстояние до которого от узла Aq является наименьшим.
Обратный ход
Используя вторую компоненту метки, определяем последовательность узлов вкаждомкратчайшем маршруте. Например:
метка〈/5,22)узла4указываетнапредшествующийузелЛ5,
метка〈4,16)узла&указываетнапредшествующийузел4,
метка (Л2,14)узла4указываетнапредшествующийузелАъ
метка〈& 10) узла /? указывает на исходный узел 4).
В результате, обратная последовательность узлов кратчайшего маршрута от узла Aq к узлу 4 имеет вид
A^-^A^-^A^-^A2~^Aq
Ответ:
4
4 — & — 4
13
%2
10
%3
Aq — A2 — Ад —А^
18
4
Aq — А2 — А^
14
Л
Aq —— A^ — A5
16
4
4)- 42一也一4-4
22
Описание алгоритма
Начнем с того, что пометим начальный узел и объявим эту метку постоянной.
1-й шаг. Рассмотрим все дуги, исходящие из начального узла, и припишем всем узлам, которые эти дуги с ним соединяют, временные метки.
Временная метка узла на 1-м шаге строится по следующему правилу: это упорядоченная пара, первый элемент которой ——начальный узел (уже имеющий постоянную метку), а второй элемент ——число, равное длине дуги, соединяющей этот узел с начальным.
Затем среди всех узлов с временными метками выбираем узел, расстояние которого от начального узла минимально. Если таких узлов несколько, выбираем любой. И объявляем временную метку выбранного узла постоянной.
2-й шаг. Рассмотрим все дуги, исходящие из узлов с постоянными метками (теперь их уже два), и снабдим все узлы, в которые идут эти дуги, временными метками по следующему правилу:
если новый узел не был помечен ранее, то временная метка — это упорядоченная пара, первый элемент которой ——узел с постоянной меткой, из которого выходит выбранная дуга, а второй элемент ——число, равное длине маршрута, ведущего в этот узел по узлам с постоянными метками, считая от начального узла,
если же узел уже имел временную метку, необходимо поступить так — сравнить длины старого и нового маршрутов, связывающих этот узел с начальным узлом, и либо заменить прежнюю временную метку на новую (если длина нового маршрута оказалась меньше длины старого), либо оставить ту же временную метку (если это не так).
В результате мы получим новый набор узлов с временными метками. Выберем тот из узлов, длина маршрута до которого от начального узла является наименьшей. Если таких узлов несколько, выбираем любой и объявляем его временную метку постоянной.
Последующие шаги проводятся по тому же правилу, что и 2-й шаг, и заканчиваются присвоением постоянной метки очередному узлу сети. Так как на каждом шаге число узлов с постоянными метками увеличивается на единицу, то, сделав 〃一 1 шаг (считаем, что в сети л узлов), мы присвоим постоянные метки всем л узлам сети.
По этим постоянным меткам кратчайшие маршруты, ведущие из начального узла в каждый из остальных узлов сети, легко восстанавливаются.
Обоснование корректности алгоритма
Прежде всего заметим, что после каждого шага итерации временная метка каждого помеченного узла показывает кратчайший маршрут до него от первоначально выделенного узла, в котором предпоследний узел имеет постоянную метку.
Покажем, что маршрут, ведущий из узла 4)к каждому узлу, получающему постоянную метку, проходит только через узлы, метки которых также уже постоянны.
Предположим, что это не так и узел 3, получивший постоянную метку на fc-м шаге, связывает с узлом Aq кратчайший маршрут, в котором наряду с узлами, имеющими постоянные метки, есть и узлы с временными метками и С— первый такой узел, считая от узла Д)(конечно, отличный от узла 切.
Это означает, что существует маршрут из узла 4)в узел С, который проходит только через узлы с постоянными метками и имеет длину меньшую, чем маршрут из узла 4)в узел 3, что противоречит выбору узла В (рис. И).
Изложение начнем с введения некоторых полезных понятий.
Дуга сети называется ориентированной, если узлы, которые она соединяет, упорядочены — один из них при- 厶” нят за начальный, а другой за
Рис. 12конечный. На рисунках и схемах ори
ентированная дуга обозначается стрелкой, которая показывает, из какого узла выходит эта дуга и в какой узел входит (рис. 12).
Сеть называется ориентированной, если ориентированы все ее дуги (рис. 13).
Узел сети, который является начальным для всех своих дуг (все эти дуги являются выходящими), называют источником, а узел, который является конечным для всех своих дуг (все эти дуги являются входящими),—— стоком. Все другие узлы такой сети называются промежуточными.
Припишем каждой дуге ЛЛл ориентированной сети неотрицательное целое число
勿= с(4, А,), которое будем называть пропускной способностью этой дуги, интуитивноCik
представляя пропускную способ- (^} —"”
ность как максимально возможное一
количество продукта (например,
жидкости или газа в трубопроводе), которое может быть доставлено из узла 4 в узел 4 в единицу времени (рис. 14).
Такую сеть нередко называют транспортной [11].
В дальнейшем мы будем считать, что в транспортной сети есть ровно один источник и ровно один сток.
Замечание. Это ограничение кажущееся: наличие нескольких источников легко сводится к одному виртуальному источнику, питающему все реально заданные. Так же можно поступить и с несколькими стоками — виртуальный сток будет питаться ото всех реально заданных стоков.
Итак, рассмотрим транспортную сеть с одним источником Aq и одним стоком Ап (рис. 15); Ль ..., Д-1 — промежуточные узлы.
Будем говорить, что в сети задан поток величины v, если каждой дуге 44 сети приписано неотрицательное целое число
勿火=8(4,4)
поток по дуге AjAk9 и при этом выполнены следующие условия:
поток по каждой дуге не превосходит ее пропускной способности,
сумма потоков по всем дугам, выходящим из источника 4, равна v, »(и= 2е(4,4)=у
/6{Л0}_У/()}・
(здесь символ i G {<()}_ означает, что суммирование ведется по всем дугам 4)4, выходящим из источника 4)),
сумма потоков по всем дугам, входящим в каждый из промежуточных узлов Ло, ..., Ял_ь равна сумме потоков по всем дугам, выходящим из этого узла,
^(p(At,Ak)= £伊(4,/J
2=1, ..., л — 1
(здесь символ f G {/%}+ означает, что суммирование ведется по всем дугам, входящим в промежуточный узел Ак, а символ / Е {4 J- что суммирование ведется по всем дугам, выходящим из промежуточного узла Л)-
Условие 3 означает, что из каждого промежуточного узла выходит ровно столько продукта, сколько в него поступило (и значит, никаких потерь продукта в узле Ак не происходит).
Покажем, что сумма потоков по всем дугам, входящим в сток 4, также равна величине v потока (иными словами, в сети нет никаких потерь).
Сложим 〃一 1 равенство из условия 3. Имеем
£ »(44)=£ »(4,4)・
Прежде чем переходить к преобразованию обеих частей полученного равенства, сделаем два полезных замечания.
Замечание 1. Каждая дуга сети является выходящей и входящей одновременно. Например, дуга ЛЛ для узла 4/ является выходящей, а для узла 4 входящей.
Замечание 2. Ив левой, и в правой части этого равенства потоки суммируются по всем дугам заданной сети. Просто они по-разному сгруппированы.
Учитывая отмеченные обстоятельства, перегруппируем слагаемые в обеих частях последнего равенства следующим образом:
2 伊(4,4)+ 2伊(4,4)+・.・+,е(4т, 4)=
= »(4,4)+・・・+ »(44т)+ 2^(44) №{//+恒{4т>+恒{4 %
(суммирование в каждом из л слагаемых левой части ведется по всем дугам, выходящим из узлов Ло, 4,…,4 -1 соответственно, а суммирование в каждом из л слагаемых правой части ведется по всем дугам, входящим соответственно в узлы 4, ••” 4)・
Переписав условие 3 чуть иначе,
匕{//・坛4 %
% = 1,…,П - 1
(мы поменяли местами левую и правую части и изменили индексы суммирования), нетрудно заметить, что 2-я, 3-я, ..., л - 1-я и 〃・я суммы в левой части рассматриваемого и весьма большого по размерам равенства соответственно равны 1-й, 2-й, ..., п - 2-й и л - 1-й суммам в его правой части. Это означает, что это равенство легко упрощается до равенства
2 奴 4,4)= £伊(4,4)
(от левой части осталась только 1-я сумма, а от правой части только л-я). Отсюда уже совсем просто вытекает, что
2奴4,4)= 28(4,4)=曰4%04 }・
Далее будем считать, что в сети нет кратных дуг (дуг, соединяющих одну и ту же упорядоченную пару узлов) и при наличии дуги 44 дуга 44 в сети отсутствует.
Рассмотрим произвольный путь в транспортной сети, ведущей из источника 4 в сток А„ (рис. 16). Возможны два случая:
ориентация всех дуг пути совпадает с направлением перемещения от узла 4)к узлу А„ (такой путь будем называть ориентированным путем),
среди дуг пути есть такие, ориентация которых противоположна направлению, по которому мы перемещаемся из узла 4)в узел 4; такие дуги в отличие от прямых дуг, ориентация которых совпадает с выбранным направлением перемещения, будем называть обратными.
Путь AqA^A^As на рис. 16 является ориентированным (ориентация всех дуг пути совпадает с направлением перемещения по этому пути от узла 4 к узлу 4), а путь /Mz/i/Ms — нет (дуга 44 для этого пути является обратной). В то же время с направлением перемещения по пути Л0Л1Л2ЛЛ5 ориентация дуги А^ совпадает (этот путь является ориентированным).
Дугу А А сети будем называть насыщенной, если поток по этой дуге равен ее пропускной способности,
奴4・,4)= %・
Поток в сети будем называть полным, если любой ориентированный путь из источника в сток содержит по меньшей мере одну насыщенную ДУГУ-
Покажем, как найти в транспортной сети полный поток.
0-й шаг. Построим произвольный потоков сети (можно и нулевой).
7-й шаг. Если поток не полный, то в сети существует ориентированный путь, ведущий из источника Aq в сток /〃,ни одна из дуг которого не является насыщенной. Это позволяет увеличить поток по всем дугам этого пути на одно и то же число так, чтобы хотя бы одна из его дуг оказалась насыщенной. Это число легко найти ——оно равно
тде минимум берется по всем дугам рассматриваемого пути.
Если получаемый при этом поток еще не полон, возникает необходимость 2-го и даже последующих шагов. Однако, в силу ограниченности пропускной способности дуг в сети, число этих шагов конечно, и рано или поздно необходимость в проведении нового такого шага исчезнет, а построенный поток в сети окажется полным.
Покажем работу предложенного алгоритма на примере конкретной транспортной сети (рис. 17).
Пример 1.
7-й шаг. Выбираем путь
Наименьшую пропускную способность на этом пути имеет дуга <14 - 6 (построенный поток величины 6 показан на рис. 18).
Рис. 18
Перейдем к новой сети, отличающейся от заданной только тем, что пропускные способности всех дуг пути
Aq -^ А^ -^ А^ -^ А^
уменьшены на 6 (рис. 18а).
Рис. 18а
2-й шаг. Обратившись к рисунку 18а, выберем путь 4 44 f &•
Наименьшую пропускную способность на этом пути имеет дуга &41 -1 (поток величины 7, построенный по результатам двух сделанных шагов, показан на рис. 19).
Уменьшая пропускную способность каждой дуги выбранного на этом шаге пути на 1, переходим к новой сети (рис. 19а).
Рис. 19а
3・"шаг. Обратившись к рисунку 19а, выбираем путь
Ло -> Л2 -> Я3 -> Л5, наименьшую пропускную способность которого — 2 — определяет дуга <2/3 (на рис. 20 показан поток величины 9, построенный по результатам трех сделанных шагов).
Переходим к новой сети (рис. 20а).
4■应 шаг. Обратившись к рисунку 20а, выберем путь
4 -> /2 — 4 f &•
Наименьшая пропускная способность - 1 ——определяется дугой А^. (на рис. 21 показан поток величины 10, построенный по результатам четырех сделанных шагов).
Рис. 20
Рис. 21а
Переходя к новой сети (рис. 21а), замечаем, что в ней нет ни одного ориентированного пути без дуги с нулевой пропускной способностью.
Это означает, что построенный поток — полный.
Но является ли его величина —10 — наибольшей из возможных?
Ответ на этот вопрос не столь очевиден.
Вот маленький пример.
Пример 2. Обратимся к транспортной сети, представленной на рис. 22а.
Рис. 22а
Выбирая способы перемещения продукта от источника Aq к стоку Л3 так:
сначала путь Aq-> Ai~> А2-^ А3 (рис. 226),
затем путь Aq-^ А^-^ А3 (рис. 22в)
и наконец путь Aq->A2-^A3 (рис. 22г),
мы приходим к тому, что каждый путь из пункта 4)в пункт Л3 содержит насыщенную дугу (рис. 22д). Тем самым, полученный поток величиной 3 — полный.
Рис. 22в
Рис. 22г
Однако, вновь обратившись к рисунку 22а, легко заметить, что пути Д)-> Я1 -> Л3 и Д)-> Л2 -> Л3 обеспечивают поток величиной 4, а не 3, как это получилось у нас чуть раньше. Видимо, мы не так рачительно использовали отпущенные нам ресурсы.
Что же делать?
В простом примере мы смогли легко выйти из сложившейся ситуации, заново решив поставленную задачу и заменив неудачное решение. А как поступать в более сложных обстоятельствах?
Более или менее ясно, что построение полного потока — задача достаточно простая. Но как проверить, обладает ли построенный полный поток максимально возможной пропускной способностью (в силу ограниченности пропускной способности транспортной сети поток с максимальной пропускной способностью всегда существует), и как следует поступать в случае отрицательного заключения.
Ответы на оба поставленных вопроса нашли Д. Фалкерсон и Л. Форд [11]. Они предложили критерий, посредством которого можно определить, является ли построенный поток максимальным или нет, а также способ, который позволял бы выйти из тупиковой ситуации и преобразовать полный (но не максимальный) поток в максимальный.
Начнем с описания критерия, в качестве которого они предложили использовать разрез (разделяющее сечение} сети.
Но сначала несколько новых обозначений.
Обозначим через % (какое-нибудь) множество узлов заданной транспортной сети, содержащее источник 4 и не содержащее сток 4〃, а через 力一множество всех остальных узлов этой сети. Ясно, что сток/〃 G %.
Совокупность (%,%) всех дуг сети, начало которых принадлежит множеству %, а конец — множеству X, будем называть разрезом сети. Суммарная пропускная способность всех дуг разреза называется пропускной способностью разреза. Будем обозначать ее через С(%%)・
Заметим, что любой путь из источника 4)к стоку Ап содержит по меньшей мере одну дугу каждого разреза (先,力).
В самом деле, перемещаясь по произвольно выбранному пути из источника 4 £ % в сток Ап G%, мы непременно наткнемся на узел А( G 先,
за которым будет следовать узел Ак G%, а это означает, что дуга А,Ак €(%,%).
Можно сказать и по-другому: если из сети исключить все дуги какого-нибудь разреза, то в новой сети не останется ни одного ориентированного пути, связывающего источник Д)со стоком /〃• Поэтому разрез сети нередко называют разделяющим сечением.
Отсюда немедленно вытекает, что величин色у произвольного потока (Р не превышает пропускной способности С(Х, %) произвольного разреза (%,%):
у <,(%,»•
В сети, приведенной на рис. 23, множество% состоит из узлов Д)и Л2, множество 力一из узлов 4,4 4 и &, а разрез (力,先)образуют дуги &4卜 /2/3 и 44・ Он имеет пропускную способность
Нетрудно убедиться в том, что пропускная способность любого другого разреза рассматриваемой сети превышает это число.
Из последнего неравенства получаем, что
шах у < min С(%, %),(%,%)
где максимумберется по всем потокам 伊 в сети, а минимум — по всем ее разрезам (%,%).
В силу ограниченности пропускной способности транспортной сети всегда существует допускаемый ею поток (хотя и не обязательно один), величина которого максимальна. Такой поток наибольшей величины называют максимальным, maximal flow.
В свою очередь, разрез наименьшей пропускной способности называют минимальным.
Выписанное выше неравенство означает, что величина максимального потока не превосходит пропускной способности минимального разреза.
На самом деле справедливо более сильное утверждение.
ТЕОРЕМА. Для любой транспортной сети величина максимального потока из источника в сток совпадает с пропускной способностью минимального разреза.
Доказательство. В силу последнего неравенства достаточно показать, что существуют поток в сети и ее разрез такие, что величина этого потока и пропускная способность этого разреза равны.
Пусть <р — максимальный поток и v — его величина. Построим по нему разрез (%,%) так, чтобы были выполнены следующие условия:
сумма потоков по всем дугам разреза (先,力)совпадала с его пропускной способностью,
8(% 灭)= ^(р(АпАк) = С(Х,Х)9
сумма потоков по всем дугам разреза (%,%) была равна нулю, 奴尤力)=2双4,4)= 0.
Будем собирать узлы сети во множество 先,начиная с источника 4 и действуя последовательно, шаг за шагом, по следующему правилу:
источник Д)£ %
если узел 4 £ % и 伊(4, Л) < с(4, Л), то 4 Е %;
если узел Л;Е% и 伊(4, 4) > 0, то 4 Е X
— По множеству узлов % мы^разу же можем найти и множество узлов %• Покажем, что сток Ап £%.
Предположим противное — это не так иАп^Х, Тогда из определения множества % вытекает, что существует путь из источника 4 в сток 4〃, обладающий следующим свойством:
для всех его прямых дуг Л;Л
夕(4, Л) < с(4, /)
а для всех его обратных дуг AkAi
з(4, 4) > О-
Положим
a = min(c★一伊火)
(здесь минимум берется по всем прямым дугам этого пути),
S = mi“H
(здесь минимум берется по всем обратным дугам этого пути) и у = min(a,尸).
Ясно, что у > 0.
Тем самым, у нас появляется возможность изменить поток д, увеличив его на у для всех прямых дуг нашего пути и уменьшив на у для всех его обратных дуг.
Нетрудно проверить, что в результате мы получим поток величиной у+у. Тем самым, исходный поток 伊 не максимален.
Полученное противоречие^ порождено сделанным нами предположением о том, что сток Ап £ %. Значит, это предположение неверно, и 4 $无_
Таким образом, множество (先,力)есть разрез сети, разделяющий источник 4 и сток 4・
Из самого построения множества 先 следует, что
(p(Ab ZQ = c(Ah Л) для любой дуги AtAk Е (%,%),
伊(Дь Л;) = 0 для любой дуги AkAf G (%,%)
(в противном случае узел Ак входил бы во множество %).
Это означает, что условия 1 и2на разрез (先,先)выполнены и его пропускная способность совпадает с величиной потока 伊,
С(%,%) = у・
Но вернемся к примеру 1.
Согласно доказанной теореме, величина максимального потока в рассматриваемой сети должна быть равной 11. Нам же удалось найти поток лишь величиной 10. Это означает, что построенный полный поток не максимален и существует путь из источника Л в сток /〃,для всех прямых дуг AtAk которого
伊(4, /0 <《4, 4),
а для всех его обратных дуг 44
伊&, 4) > 0.
В рассматриваемом примере 1 это путь Л0Я24/М5 (см. рис. 21а). Вычислим у. Имеем
у = min{5, 1, 3, 5} = 1.
Увеличим теперь найденный полный поток (величины 10) на 1 для всех прямых дуг этого пути (это дуги ЛоЛ2,4/3 и /3X5) и уменьшим его на 1 для его единственной обратной дуги 幺2乂1 (рис. 23а).
В результате получаем поток, величина — 11 — которого совпадает с пропускной способностью минимального разреза (рис. 236).
Рис. 236
Заметим, что пропускная способность любого разреза сети, изображенной на рис. 236, одна и та же и равна 11.
Критический путь
Предположим, что требуется проанализировать сложный проект с точки зрения минимальных временных затрат на его выполнение. Для этого проект разбивают на отдельные работы (этапы, операции), оценивают время, необходимое на проведение каждой работы, и записывают последовательность, показывающую, какие работы должны быть закончены прежде, чем начнутся другие работы.
Приведем типичный пример.
Таблица /
Работа
Следование
Продолжительность
А
К, О
15
В
А, М
5
С
I, N
5
D
J
10
Е
—
5
F
С, D
30
G
В, Н
10
Н
К, О
20
I
Е
10
J
—
20
К
Е
10
L
А, М
20
М
I, N
10
N
J
10
О
I, N
5
В таблице 1 представлены:
все виды работ по проекту,
их продолжительность (продолжительность работ указана в днях) и последовательность выполнения (для каждой работы указаны работы, предшествующие ее выполнению).
По этим данным строится ориентированная сеть, дуги которой соответствуют работам проекта, а узлы — событиям, обозначающим начало и/или конец этапов. Каждая дуга нагружена числом, равным продолжительности выполнения соответствующей операции.
Ясно, что операции, соответствующие дугам, исходящим из произвольного узла сети, никак не могут начаться прежде, чем закончатся операции, отвечающие дугам, входящим в этот узел.
Подобная сеть называется сетевым графиком проекта, или диаграммой работ.
В результате вычерчивания диаграммы работ, на которой каждая операция изображается ориентированной дугой, определяется путь, обладающий наибольшей общей продолжительностью. Этот, критический, путь, critical path, и определяет минимум временных затрат на выполнение проекта. Работы, слагающие критический путь, называются критическими работами.
Покажем на конкретном примере (табл. 1), как делается временная оценка проекта, информация о котором задана перечнем работ, их продолжительностью и последовательностью выполнения.
Наша задача: построить сетевой график проекта, найти критический путь и критические работы, а также минимальную продолжительность выполнения всех работ по проекту.
Прежде всего преобразуем представленные данные в виде, удобном для последующих действий.
Начнем с того, что перенумеруем последовательно все работы, не имеющие предшествующих.
В данном случае это работы Е —(冉)〃 J —(吩
Затем последовательно нумеруем остальные работы таким образом, чтобы все предшествующие им были уже с присвоенными (и значит, меньшими) номерами:
I -(的)(еледуеt за (内)),
К — (а。(следует за (⑴)),
D -(的)(еледуеt за (内)),
N -何6)(следует за д2)),
e -伍7)(еледуеt за (6)и (助)),
М — (“8)(следует за (内)и (%)),
О - (0» (еледуеt за (6)и (助)),
F - (so) (еледуеt за (的)и (的)),
Н — (а”)(следует за (*) и (〃,),
А —(Л12)(следует за (“0 и (“力,
L -("拉(еледуеt за ("Q и ("由),
В -(64)(следует за 3) и (з)),
G — (“а (следует за (〃“)и (“Q).
В результате получаем следующую таблицу
Таблица 2
4
—
5
。2
——
20
。3
。1
10
4
10
。5
。2
10
%
。2
10
。7
03, %
5
郁
03, %
10
。9
03,a6
5
的0
05,07
30
的1
4, a9
20
012
04,的
15
013
%,a12
20
的4
%,郁2
5
015
011,014
10
Составим диаграмму работ.
В нижней части рис. 24 изображена ориентированная сеть, построенная по данным таблицы 2 и наглядно показывающая, как именно связаны между собой работы по проекту и в какой очередности их следу-
Рис. 24
В верхней части рисунка 24 каждая работа представлена на временной шкале (точка отсчета совпадает с началом работ) горизонтальным отрезком. Длины этих отрезков пропорциональны продолжительности соответствующих работ, а положения их левых концов определяются возможностью их выполнения (см. табл. 2).
Замечание. Конечно, было бы полезно показать построение этого ориентированного графа последовательно, шаг за шагом, как это обычно и делается на лекции. Но есть и другой путь, на наш взгляд, в большей степени соответствующий правильному усвоению предложенного алгоритма, — это самостоятельное вычерчивание диаграммы работ при помощи таблицы 2 и последующее сравнение полученного результата с тем, что представлен на рисунке 24.
Жирным выделен критический путь (ориентированный путь из начального события в конечное, обладающий наибольшей общей продолжительностью).
Для того чтобы проект был выполнен за минимально возможное время (критическая) операция, отвечающая каждой дуге критического пути, должна начинаться сразу же после того, как закончится операция, предшествующая ей на этом критическом пути.
Если дуга не принадлежит критическому пути, то соответствующая ей операция может начаться с некоторым, допустимым, запозданием, которое не должно отразиться на общем времени выполнения проекта.
Помимо критических и некритических дуг на диаграмме есть еще и дуги, обозначенные пунктиром. Они показывают наличие временных резервов для отдельных (некритических) видов работ и совершенно необходимы для соблюдения правильной последовательности операций.
Подсчитаем временные затраты на критическом пути
02 f06 f 09 f。12 fо13・
Имеем
20 + 10 + 5 + 15 + 20 = 70.
Тем самым, анализируемый проект может быть реализован за 70 дней, и ни днем раньше.
Замечание. Всякая работа на критическом пути называется критической (малейшая задержка с началом ее выполнения увеличивает общую продолжительность работ).
В данном случае критическими являются работы
или, возвращаясь к исходным обозначениям, работы
J, N, О, A, L.
Определение всех таких работ важно для эффективного составления проекта.
В отличие от критической работы, момент начала работы, не входящей в критический путь, может быть несколько сдвинут без увеличения общей продолжительности. Важно, чтобы сдвинутая некритическая работа была завершена до начала критических работ, которым она предшествует.
Более подробное изложение теории сетевого планирования и управления (в англоязычной литературе принят термин PERT, Program Evaluation Research Task) можно найти, например, в книгах [12], [13] и [14].
Литература
Solutio problematis ad geometriam situs pertinentis // Commentarii Academiae scientiaram Petropolitanae, v. 8 (1736), 1741, pp. 128—140.
Hankins TL Sir WUliam Rowan Hamilton. — John Hopkins Univ Pr., 1980.
Эйлер Л. Письма к ученым. — M. — Л.: Изд-во АН СССР, 1963.
Оре О. Графы и их применение. — М.: Мир, 1965.
Оре О. Теория графов. — М.: Наука, 1968.
Dantzig G., Fulkerson R., Johnson S. On a linear programming combinatorial approach to the travelling-salesman problem // Journal Operational Research Soc. of Amer., v. 7 (1959), pp. 58—66.
Cayley 4 A theorem on trees // Quarterly Journal of Pure and Appl. Math., v. 23 (1889), pp. 376-378.
Prim AC Shortest connection networks and some generalizations 〃 ВеИ System Tech. J., 36 (1957), pp. 1389-1401.
Новые области применения математики / под ред. Дж. Лайт- хилл. — Минск: Вышэйшая школа, 1981.
Kruskal JB, Jr. On the shortest scanning subtree of a graph and the traveling salesman problem //Proc. Amer. Math. Soc., 7 (1956), pp. 48—50.
Форд 〃,Фалкерсон Д. Потоки в сетях. — М.: Мир, 1966.
Кофман /., Дебазей Г Сетевые методы планирования. Применение системы ПЕРТ и ее разновидностей при управлении производственными и научно-исследовательскими проектами. — М.: Прогресс, 1968.
Зуховицкий С.И., Радчик 〃/. Математические методы сетевого планирования. — М.: Наука, 1965.
Вентцель ЕС Исследование операций. — М.: Советское радио, 1972.
Для лучшего усвоения материалов этой главы полезно обратить внимание на задачники:
Морозов З.А, Сухарев 4上,Федоров ВВ Исследование операций в задачах и упражнениях. — М.: Высшая школа, 1986.
Аранович А,Б,, Афанасьев М.Ю., Суворов Б,П. Сборник задач по исследованию операций. — М.: Изд-во МГУ, 1997.
Глава 4
ЛИНЕЙНЫЕ ЗАДАЧИ
Издавна тройное правило (позднее — линейная функция) было важным математическим инструментом <...> везде, где человек хотел объяснить и упорядочить наблюдаемые явления. <...> линейная функция является самой удобной математической моделью. Она освобождает от необходимости заново продумывать ситуацию, и ею охотно пользуются ([1], с. 132.)
При изложении материалов этой главы мы во многом будем следовать замечательной книжке Е.С. Вентцель (И. Грековой) «Исследование операций. Задачи, принципы, методология». — М.: Дрофа, 2004 [2].
Линейное программирование
Одним из наиболее активно используемых видов математических моделей являются линейные, и хотя за последние десятилетия поле математических приложений значительно расширилось, линейные модели по-прежнему привлекают большое внимание и исследователей, и пользователей ——они сравнительно просты, хорошо разработаны, допускают полный анализ и достаточно эффективны в целом ряде стандартных ситуаций.
Книг, посвященных линейному программированию, за последние пятьдесят лет издано великое множество. Рассчитанные на разные категории читателей, они различаются и по характеру и стилю изложения, и по уровню строгости.
Методы решения задач линейного программирования опираются на прочный математический фундамент и эффективно работают при любом количестве неизвестных. Соответствующие алгоритмы машинно реализованы и легко выдают искомый ответ по введенным входным данным.
Конечно, пользоваться готовым программным продуктом, к тому же в удобной упаковке, можно и не вникая в содержание этого процесса, однако заглянуть хотя бы ненадолго в черный ящик, соединяющий данные (вход) и полученный результат (выход), понять идеи, на основании которых строятся разрешающие алгоритмы, не только полезно, но
и необходимо. Дело в том, что понимание процессов, суть которых не закрыта частоколом технических конструкций, дает важнейшее ощущение свободы, столь необходимой в тех несравненно более сложных реальных обстоятельствах, где изученная ранее проблема являет себя лишь одной из многих частей.
Далеко не все сказанное в этой главе будет подкрепляться приведением доказательств (пытливый читатель сможет погасить неудовлетворение, порожденное отсутствием строгих обоснований, обращением к некоторым из книг, список которых приведен в конце главы). Основное внимание мы уделим детальному разбору и подробному обсуждению нескольких показательных примеров.
Но начнем мы с вербального описания ситуаций, математическая обработка которых приводит к задачам линейного программирования.
Задача 1. Для жизнедеятельности человеку ежесуточно требуется питание, содержащее известное число ингредиентов в количествах, не меньших предписанных нормами. При соблюдении одной из диет потребность в пище можно покрыть посредством ежесуточного потребления двух продуктов; назовем их Ри Q. Дневное питание этими продуктами должно давать не более 14 единиц жира (чтобы похудеть), но и не менее 300 калорий (тоже по вполне понятной причине). На упаковке продукта Р написано, что в одном килограмме этого продукта содержится 15 единиц жира и 150 калорий, а на упаковке продукта Q — 4 единицы жира и 200 калорий соответственно. При этом цена 1 кг продукта Р равна 150 рублям, а 1 кг продукта 0 — 250 рублям.
В какой пропорции нужно брать эти замечательные продукты Р и Q для того, чтобы выдержать предложенную диету при минимальных затратах на их покупку?
Задача 2. Некоторая фирма выпускает два набора удобрений для газонов: обычный и улучшенный. В обычный набор входят 3 фунта азотных, 4 фунта фосфорных и 1 фунт калийных удобрений, а в улучшенный —2 фунта азотных, 6 фунтов фосфорных и 3 фунта калийных удобрений. Известно, что для некоторого газона требуются по меньшей мере 10 фунтов азотных, 20 фунтов фосфорных и 7 фунтов калийных удобрений. Обычный набор стоит 300 центов, а улучшенный ——400 центов.
Какие и сколько наборов удобрений нужно купить, чтобы обеспечить эффективное питание почвы и минимизировать затраты?
Покажем теперь (на примере этих задач), как перейти от вербального представления задачи к ее математической постановке.
Начнем с задачи 1.
Обозначим через х количество продукта Р, а через у — количество продукта Q, требуемые для выполнения условий диеты.
Количество единиц жира, содержащееся в х кг продукта Р и в у кг продукта Q, равно 15х + 4у и по условию диеты не должно превышать 14,
15х + 4у W 14.
Количество калорий, содержащееся вхкг продукта Р и в у кг продукта Q, равно 150х + 200y и по условию диеты должно быть не меньше 300,
150х + 200у > 300.
Стоимость w продуктов, которая равна
w = 150х + 250у,
в соответствии с высказанными в условии задачи пожеланиями должна быть минимальной. Это записывается так
w = 150х + 250y f min.
Тем самым мы получаем систему формул
15х + 4у <14, 150х + 200у>300, х > 0, у > 0, w = 150х + 250y — min.
Обозначив в задаче 2 через х количество обычных, а через у ——количество улучшенных наборов, посредством схожих рассуждений приходим к следующей совокупности формул:
Зх + 2у >10, 4х + 6у >20, -х + Зу > 7, х > 0, у > 0, w = ЗООх + 400y f min.
А вот как записывается задача линейного программирования в общем случае:
hi
xk >0, к = 1,…,n,w = ^ckxk -> max.
При сравнении общей задачи линейного программирования с приведенными примерами сразу же бросаются в глаза заметные внешние отличия ——не те неравенства связывают неизвестные, не тот экстремум нужно найти. Однако от этих отличий избавиться совсем нетрудно.
Например, неравенство
150х+ 200у > 300
из первой задачи легко заменяется на равносильное
-150х-200у W -300, а требование
w = 150х + 250y f min заменой w на w* = -w сводится к требованию
w j max.
Стоит, кстати, пояснить термин линейное программирование: линейное означает, что ищется экстремальное значение линейной целевой функции при линейных ограничениях (линейных уравнениях и линейных неравенствах);
вторая составляющая, программирование, в данном словосочетании имеет смысл планирования.
Каждую задачу линейного программирования путем введения новых неизвестных, т. е. путем увеличения размерности задачи, можно записать в следующем виде:
^aikxk = bt, Z = l,...,m,
Xк >0,%=1,…,〃,(☆)w = ^скхк -> max.
Поясним на первом из приведенных выше примеров, как заменить условия-неравенства на условия-равенства.
Перепишем неравенства задачи о диете
15х + 4у < 14,
150х + 200у > 300
в равносильной форме -15х-4у + 14 S О, 150х + 200у- 300 >0
и обозначим выражения в левых частях этих неравенств через uhv соответственно,
и = 15х + 4у + 14,у= 150х+200у- 300.
Это позволяет записать исходные неравенства в требуемом виде 15х + 4у + 〃 = 14, 150х + 200y — у = 300, х N 0, у > 0, w > 0, V > 0.
Таким образом, путем введения двух новых неотрицательных неизвестных величин мы преобразовали оба условия-неравенства в условия-равенства, сохраняя неотрицательность всех величин, подлежащих определению, и целевую функцию.
Подведем итог постановкой основной задачи линейного программирования: найти неотрицательные значения неизвестных хь хъ ..., х“, для которых линейная функция
достигает наибольшего значения
w-> max при т условиях-равенствах
Обсуждая далее основную задачу линейного программирования, мы без ограничения общности будем считать, что ранг г матрицы системы (☆☆) совпадает с числом т ее уравнений.
Пользуясь методом последовательного исключения неизвестных, нетрудно убедиться в том, что в этом случае система линейных алгебраических уравнений (☆☆) всегда разрешима, а неизвестные разбиваются
на главные (базисные) и свободные, число которых равно п — т и через которые можно выразить все главные неизвестные.
До сих пор (при рассмотрении задач в предыдущей главе) мы были озабочены только вопросом поиска решения задачи, будучи уверены (и не без оснований), что искомое решение всегда существует. В данном случае дело обстоит немного иначе. Для того чтобы разобраться в его сути, прибегнем к наглядной геометрической интерпретации.
Рассмотрим частный случай, когда
п — т =2.
Предположим для определенности, что свободные неизвестные — это Xi и % (этого всегда можно добиться перенумерацией неизвестных). Тогда система линейных уравнений (☆☆) сводится к равносильной ей системе
X/= а/М]+а,2%2+S/,/=3,…,л. (*)
Введем на плоскости координатную систему Ог& и ограничим наши рассмотрения только первой четвертью вследствие того, что свободные неизвестные 修 и 电 должны принимать только неотрицательные значения (рис. 1).
Базисные неизвестные 看,…,хп также должны быть неотрицательны- .
Рис. 1Рис. 1XIXIми,
Рис. 1
Рис. 1
XI
XI
%з > 0, ..., хп > 0.
Это обстоятельство накладывает на выбор значений свободных неизвестных 修 и х? определенные ограничения:
«д%! +а/2х2 +^, >0, /= 3, ..., л.(米*)
Каждое из этих неравенств задает полуплоскость (рис. 2). Часть первой четверти, состоящая из точек (хь х2), принадлежащих одновременно всем 〃一 2 полуплоскостям, и есть та область, из которой допустимо черпать пары (хь х2) (рис. 3).
Опишем все случаи, когда в первой четверти нет ни одной точки б, х2), обеспечивающей неотрицательность главных неизвестных:
условия (米米)противоречивы,
общая часть всех полуплоскостей, описываемых неравенствами (**), целиком лежит вне первой четверти (рис. 4).
Еще один неинтересный случай, когда общая часть всех полуплоско стей (**) неограниченна (рис. 5).
Рис. 5
В реальных задачах описанных случаев, как правило, не бывает.
Все эти опасности подстерегают нас, главным образом, е «придуманных», искусственно поставленных задачах, хотя иногда легкомысленное планирование (неполный учет имеющихся ресурсов) приводит к неразрешимым задачам линейного программирования ([2], с. 64).
Здесь совсем нелишне подчеркнуть, что такой же точки зрения придерживался и один из создателей линейного программирования Л.В. Канторович, о чем он и пишет в письме главному редактору журнала «Management Science» Р.М. Тралю в связи с опубликованием в «Management Science» за 1960 год перевода своей работы «Математические методы организации и планирования производства» (Ленинград, 1939 г.) ([3], с. 375).
Исключив эти придуманные случаи, далее мы можем считать, что общая часть всех полуплоскостей в первой четверти представляет собой замкнутый выпуклый многоугольник ①(рис. 6).
Заменив в выражении линейной функции w неизвестные х3, ..., хп, через 修 и х2, после приведения подобных получим
W = "]/ + "2电 + b、
где 〃i, “2 м b — известные нам числа.
Линейная функция W непрерывна и достигает на ограниченном замкнутом множестве ① наибольшего и наименьшего значений, но не во внутренней точке этого множества (не выполнено необходимое условие экстремума), а на его границе; более того, в одной из угловых точек (вершине многоугольника ①).
Пусть, например, функция ^достигает своего наибольшего (оптимального) значения в точке М*(х;,х;) — вершине многоугольника Тогда по ее координатам х; н х; и по формулам (*) легко находятся зна-
чения %з, ..., х* всех остальных неизвестных, по крайней мере два из которых равны нулю; для определенности, х * = 0 и х, = 0, kwl.
Важный вывод: оптимальное решение (если оно существует) всегда достигается в точке, где по меньшей мере два значения искомых неизвестных равны нулю.
Замечание. Возможен случай, когда наибольшего значения функция ^достигает не в одной точке, а на целом отрезке (стороне многоугольника включая его концы). Тогда оптимальное решение не единственно. Напомним, что мы рассматриваем случай, когда п - т『2.
Сведем задачу о диете к общей задаче линейного программирования15х + 4у + 〃 = 14,150х + 200y — у = 300,
х > 0, у N 0, w > 0, у > 0,w* = —150х - 250y -> maxи решим ее описанным выше способом.
Выберем в качестве свободных неизвестных хну. Имееми = —15х — 4у + 14,у = 150х + 200у- 300・
Из условий х > 0, у > 0, 〃之0, у > 0 получаем треугольник ДЛ5С (рис. 7). Вычислим координаты его вершин. Имеем
/同,《。,341,“
Легко видеть, что
<ах=^С=-35.
При этом
Из сказанного выше можно сделать
7-й оптимистичный вывод — так как искомое решение попадает в одну из вершин многоугольника и характеризуется тем, что по меньшей мере два из соответствующих значений неизвестных хь ..., хп равны нулю, а число этих вершин конечно, то достаточно их просто все перебрать. Для этого можно поступить так:
выбрать пару свободных неизвестных,
положить их равными нулю,
вычислить соответствующие значения главных неизвестных,
отбросить случаи, когда хотя бы одно из них отрицательно,
вычислить значение целевой функции для всех оставшихся наборов (наборы, в которых значения всех главных неизвестных неотрицательны, называют опорными),
выбрать из найденных значений целевой функции наибольшее и получить оптимальный набор.
При п -т=3 число свободных неизвестных возрастает до трех, полуплоскости заменяются на полупространства, общей частью которых в первом октанте будет уже не выпуклый многоугольник, а выпуклый многогранник. Оптимальное решение будет достигаться в одной из его вершин и при этом по меньшей мере три из неизвестных хь ..., хп обратятся в нуль.
Картина, похожая на описанные выше, сохраняется и в случае, когда 〃一/л > 3, а именно, оптимальное решение (если оно существует) всегда достигается на совокупности неизвестных %i,..., хл, где по меньшей мере п- т из них обращаются в нуль.
Для простых задач, где число неизвестных невелико, нужное решение находится довольно быстро. К сожалению, множество задач линейного программирования, в которых все расчеты можно провести на руках, весьма мало, к тому же
решение задач линейного программирования вручную ——труд крайне неприятный и изнурительный ([2], с. 70).
Несмотря на высказанное предостережение, сделаем еще один, 2-й оптимистичный вывод ——поиск оптимального решения общей задачи линейного программирования можно осуществить путем
осмысленного перебора. В теории линейного программирования существуют специальные приемы, позволяющие:
находить какой-нибудь опорный набор неизвестных,
заменять его на опорный с большим значением целевой функции (если таковой существует).
Или, чуть более /йодробно:
выбираем п - т свободных неизвестных,
приравниваем их к нулю,
вычисляем соответствующие значения главных неизвестных,
если хотя бы одно из них отрицательно, то, воспользовавшись одним из специальных приемов, можно за сравнительно малое число шагов получить опорный набор,
если все значения главных неизвестных неотрицательны, т. е. полученный набор неизвестных является опорным, то существует специальный прием, позволяющий за сравнительно малое число шагов, каждый раз увеличивающих значение целевой функции, выйти на оптимальный набор.
Наиболее известный из этих специальных приемов — симплекс-метод. В книгах [4] и [5] он обоснован аккуратно и строго.
Количественные данные в линейных задачах нередко задаются посредством таблицы вида
Тп
S1
°П
%〃
Sm
ат\
атп
раскрывая которую мы и приходим к выписанной выше совокупности формул
jt=i
xk >0, 2 = 1, ..., л,
w = ^ckxk -> max.左=i
Пользуясь только этой таблицей, мы можем выписать еще одну вполне осмысленную совокупность формул ——еще одну задачу линейного программирования:
〉:"於У/ 2展,k 一 1,",
У1 ^0, i = l, •••,叫
^=^^1 ->min.
Обе задачи опираются на один и тот же набор данных и каждая из них без труда получается из другой. Однако связи этих двух задач между собой оказываются более глубокими и совсем не очевидными.
Попробуем, следуя Г. Стренгу [6], сформулировать их в экономических терминах на примере задачи о диете (при цитировании мы немного изменили обозначения), в которой ^т различных продуктов потребляются в (неотрицательных) количествах уь ..., ут. При этом п ограничений соответствует п требуемым витаминам. Элемент aik представляет собой количество bro витамина в /-м продукте, и he неравенство
% 七У1 +…+“Л1左 Ул» — Ск
означает, что диета должна содержать этот витамин в количестве не меньшем, чем % Наконец, если 仇 есть стоимость ьго продукта, то
ЬхУ^-^Ътут
является стоимостью всей диеты. Минимизация этой стоимости и составляет цель исходной задачи (привлечение покупателя).
В двойственной задаче аптекарь реализует не еду, а витамины в таблетках. Цены на витамины не отрицательны, и их можно варьировать. Основное ограничение состоит здесь в том, что он не может запрашивать за витамины больше, чем стоит настоящая еда. Поскольку ьй продукт питания содержит витамины в количествах 〃图 цена, назначаемая аптекарем за эквивалент в витаминах (и равная апх^ +・..+〃加х〃),не может превосходить цены 仇 настоящего продукта. Это и дает ограничение
〃“Х]+…+%х〃 w,,/ = 1, ..., т.
С учетом этого ограничения аптекарь может продавать каждый витамин в количестве 〃 получая доход в размере
с/】+ …+с〃х〃,
который он стремится максимизировать" ([6], с. 375).
Ранее мы уже говорили о том, что путем увеличения числа переменных, подлежащих определению, можно заменить условия-нера-
венства на условия-равенства. Проделаем эту процедуру с каждой из задач и выпишем то, что получится.
Первая задача
“и/ + …+“1〃х〃 +x〃+i = 4,
0用/1+…+0柿乙+х〃+加=6加,
X] N 0,…,Х〃 — О, X“+1 2 °,…,^n+m ~ °,w = C]X[ +...+c〃x“ ->max.
Вторая задача
。卩i+・・・+%{-%+i=q,
%“%+…+0m«,勿-У加+"=点,
% N 0,..., у册 N О, У加+i — О, •••^Ут+п N О,Z = A% +.・・+b卩т ->min.
Первую и вторую задачи принято называть взаимодвойственными.
Заметим, что в результате введения дополнительных к основным, вспомогательных, неизвестных общее число величин, подлежащих определению в каждой из задач, оказалось одинаковым — /л + 儿
Проделаем теперь с уравнениями-ограничениями обеих задач одну и ту же несложную процедуру. Последовательно умножим обе части каждого из т уравнений первой задачи на неотрицательные числа уь ...,ут соответственно и сложим результаты. В итоге получим следующее равенство
Поступая подобным образом с равенствами-ограничениями второй задачи, а именно, последовательно умножая п уравнений на неотрицательные числахь ..., хя соответственно и складывая результаты, в итоге получим равенство
- ^ут^хк=£°/…
Обратим внимание на то, что выделенные в последних двух формулах суммы одинаковы. Поэтому, вычитая из первой формулы вторую, получим любопытное равенство
лmmл
左=1/=1i=l左=1
Вследствие того что выражение в левой части этого равенства неотрицательно (напомним, что все искомые величины должны быть неотрицательными), заключаем, что
^iyi>^ckxk,/=1左=i
Заметим, что минимум в левой части этого неравенства ищется из условий второй задачи, а максимум в правой части — из условий первой. Из того, что выражение в правой части полученного неравенства не зависит от yh а выражение в левой его части не зависит от получаем, что
min 2〃у ; Zmax,%%%.i=lJt=l
Иными словами, искомый максимум в первой задаче не должен превосходить искомого минимума во второй.
Последнее неравенство означает, что цена у аптекаря не превосходит цены у бакалейщика.
На самом деле они равны.
Теоретически этот факт устраняет конкуренцию между аптекарем “ бакалейщиком, поскольку результат всегда ничейный ([6], с. 376).
Сформулируем сказанное более аккуратно.
ТЕОРЕМА 1. Либо взаимодвойственные задачи линейного программирования одновременно разрешимы и тогда
*тах — ^min,
либо ни одна из них не имеет решения.
Из этого утверждения вытекает, что если мы нашли max w, то мы нашли и min z・ Здесь, правда, есть одно но: max w в первой задаче мы находим одновременно с оптимальным набором х*, ..., х*, х], ..., x*+w, а про оптимальный набор у[9..., у:, у*+1,..., у:+〃 во второй задаче нам почти ничего не известно. На самом деле это не так.
Вновь обратившись к равенству (о), заметим, что если выражение в его правой части обращается в нуль, то
左=1/=1
В силу неотрицательности xf,..., х*, х^,..., х^т иу;, ..“ЗуЗ, ..., у; каждое из этих т + п попарных произведений должно быть равным нулю
х〉3 = 0,…,х;У:+〃 = 0,х;+М = 0,х;+М = О-
Отсюда легко сделать следующий ключевой вывод: если один из сомножителей в каком-то из этих произведений положителен (напомним, что все величины, подлежащие определению, неотрицательны), то другой обязан быть равным нулю.
Сформулируем наше наблюдение в виде утверждения.
ТЕОРЕМА 2. Положительным элементам оптимального набора одной из взаимодвойственных задач соответствуют нулевые элементы оптимального набора другой задачи.
Это позволяет легко найти оптимальный набор неизвестных второй задачи, если известен оптимальный набор первой (и наоборот).
Пусть х;, ..., х*, х;+], ..., х;+初 一 оптимальный набор переменных первой задачи
а у;,..., у:, у:+i ,•••,,:+〃—— оптимальный набор переменных второй задачи
&у;+…也у: =Zmin・
Представим соответствие между неизвестными взаимодвойственных задач в виде следующей таблицы:
"Хп
х〃+1 •
У;+1 •
••У:
У; •
•
•• Ут
если х; >0 (к=1, ..., л), то у^+к =0,
если х;+/ > 0 (/ = 1, ..., л), или, что то же,
"iMl + …+,加Х" V ",(㊉)
то у; =0,
и наоборот,
если у: > 0 (/= 1, ..., /л), то х*+/ =0,
если у; > 0 (2=1, ..., л), или, что то же,
(®)
то х; = 0.
Применительно к рассмотренной выше задаче о диете неравенства (®) и (®) означают, что
бакалейщик не продает продукт, цена которого больше цены соответствующего витаминного эквивалента,
аптекарь не берет денег за витамины, которые оказываются е излишке в диете ([6], с. 379).
В заключение этого раздела решим конкретную задачу.
Задача 3. Имеется два вида сырья $ н 尻 в количествах 300 и 400 единиц соответственно. Из этого сырья можно изготовить три вида продукции П,石 н 爲・ Затраты сырья на изготовление единицы продукции и цены реализации готовых изделий даны в таблице
Обозначая через хь х2 и 看 искомые количества изделий, без особых затруднений приходим к следующей задаче
3d +4^2 +%з < 300,
2Х[ +6х2 +3%з < 400,
★ >0,х2 >0,х3 >0, w = 10/ +20%2 + 7%з — max.
Допустим теперь, что у владельца появилась возможность продать все сырье. По каким ценам следует его продавать, чтобы реализация была не менее выгодна, чем производство?
Обозначим через yi > 0 и у2 ^ 0 цены на единицу сырья Si н $ соответственно. Минимальная продажная цена определяется так: в одной единице готовой продукции К содержится 3 единицы сырья Si по цене У1 н 2 единицы сырья 昆 по цене у2- Тем самым, общая стоимость сырья, используемого для изготовления единицы продукта К, равна 3yl + 2y2 и не может быть меньше ее цены — 10,
3yl + 2y2 之 Ю.
Путем подобных рассуждений получаем еще два неравенства仇+6y2?20,
% +3у2 > 7.
Доход z от продажи сырья по ценам ух и 力 равен z=300% + 400У 2.
Ясно, что владельцу необходимо знать, каким будет гарантированный доход при этих ценах, что соответствует минимуму целевой функции z・
Итак, мы получили задачу ‘3% +2力 N10, 仇+6力n20, 丿]+3力n7,(▼)
片 >0, у2 >0,
Z = 300% + 400y 2 — min.
Заменив в задачах (А) и (”) условия-неравенства на условия- равенства описанным выше способом, получим
3/ + % + £ + Х4 = 300, 2Х] +6%2 +3%з +兑=400, X] > 0, х2 > 0, £ > 0,х4 > 0, х5 > 0,w = IO/ +20%2 + 7%з f шах3/ + % + £ + Х4 = 300, 2Х] +6%2 +3%з +兑=400, X] > 0, х2 > 0, £ > 0,х4 > 0, х5 > 0,w = IO/ +20%2 + 7%з f шах3у]+2%一y3 =10,仇+6力-九=20,У1 +3力-九=7,% >0, у2 >0,у3 >0,九>0,九>0,Z = 300% + 400y 2 — min.3у]+2%一y3 =10,仇+6力-九=20,У1 +3力-九=7,% >0, у2 >0,у3 >0,九>0,九>0,Z = 300% + 400y 2 — min.
3/ + % + £ + Х4 = 300, 2Х] +6%2 +3%з +兑=400, X] > 0, х2 > 0, £ > 0,
х4 > 0, х5 > 0,
w = IO/ +20%2 + 7%з f шах
3/ + % + £ + Х4 = 300, 2Х] +6%2 +3%з +兑=400, X] > 0, х2 > 0, £ > 0,
х4 > 0, х5 > 0,
w = IO/ +20%2 + 7%з f шах
3у]+2%一y3 =10,
仇+6力-九=20,
У1 +3力-九=7,
% >0, у2 >0,у3 >0,
九>0,九>0,
Z = 300% + 400y 2 — min.
3у]+2%一y3 =10,
仇+6力-九=20,
У1 +3力-九=7,
% >0, у2 >0,у3 >0,
九>0,九>0,
Z = 300% + 400y 2 — min.
Решим вторую из этих задач графическим методом.
Из условий У] >0, у2 > 0, у3 > 0, у4 > 0, у$ > 0, получаем, в частности, что
3У1+2у2>10,
4У1 +6у2 >20,
Ji +3у2 >7.
Каждое из трех этих неравенств описывает полуплоскость, пересечением которых является многоугольная область с четырьмя угловыми точками (рис. 8). Найдем их координаты. Имеем
4(0,5), 3(2,2),Р(7,0).
Координаты точек 3 и С находим, решая линейные системы
3% + 2y2 = Ю,
4yl + 6力=20
и
4yl + 6力=20,
У】+ 3力=7
соответственно.
Вычисляя в них значения целевой функции 乙 получим
= 2000, Zb = 1400, Zc = 1433;, ^ = 2100.
Отсюда
Zmm =1400, У; =2, у; =2.
Подставляя найденные значения у; и у; в условия-равенства задачи (”),
6 + 4-уз =10, 8 + 12-у4=20, 2+6-у5 =7,
находим значения остальных
У; =0, У; =0, У; =1・
Пользуясь таблицей соответствия
У; У; Уз У; У2 заключаем, что
х; =0, х; = 0, х; = 0.
Это позволяет, обратившись к условиям-равенствам задачи (А)
ЗХ] + % = 300,
2Х] +6%2 = 400,
найти оставшиеся значения х; их;:
х; = 20, х; = 60.
Ответ:
"max = 1400, х; = 20, х; = 60;
Zmin =1400, У; =2, у; =2.
4.2. Транспортная задача
Важный класс задач линейного программирования представляют задачи о перевозках. Называются они так потому, что цель этих задач заключается в минимизации полной стоимости перевозок известного количества товаров со складов к потребителю.
Постановка задачи. Имеются т пунктов отправления Ah Л2, ..., /〃, в которых сосредоточены запасы каких-то однородных грузов в количестве “1, аъ ..., ат единиц соответственно, и л пунктов назначения 3匕 В2, ...,Вп, готовых принять bi, Ь2,..., Ьп единиц этих грузов соответственно.
Известны стоимости сл перевозки единицы груза от каждого пункта отправления 4 к каждому пункту назначения 凡(i = 1, 2,/л; % = 1, 2,
Представленные данные удобно записать в виде таблицы
&
Вп
4
%
С12
с1л
勺
%2
С21
с22
°2〃
。2
4
Cml
Cm2
стп
ат
瓦
•••
Требуется составить такую схему перевозок (из какого пункта отправления, в какой пункт назначения и сколько единиц груза везти), чтобы все заявки были выполнены и общая стоимость всех перевозок была минимальной, считая при этом, что стоимость перевозки нескольких единиц груза по каждому маршруту пропорциональна их числу.
Перейдем к описанию поставленной задачи, пользуясь математическими символами и формулами.
Обозначим через хл N 0 (неизвестное нам) количество единиц груза, которое требуется перевезти от пункта отправления Д к пункту назначения 反(i = 1,2, •.・,т; к = 1,2,…,л). Это можно записать в виде матрицы
•Г” Х]2 …Х1пХ21 %22 '" Х2п
• ••• • •• • • • • ■
仆2…
Рассмотрение задачи начнем со случая, когда сумма всех запасов равна сумме всех заявок
% = %/=1无=1
(такая транспортная задача называется сбалансированной).
Между заданными числами аь Ьк и с* и введенными неизвестными хЛ существуют естественные связи:
суммарное количество груза, направляемого из каждого пункта отправления во все пункты назначения, должно совпадать с запасом груза в этом пункте (т условий)
X]]
+
Х]2
+
=
%21
+
%22
+
•*%2〃
=
〃2,
+
Хт2
+ "
•• хтп
=
суммарное количество груза, доставляемого в каждый пункт назначения из всех пунктов отправления, должно совпадать с заявкой на груз, поданной этим пунктом (л условий)
+
%21
+ •
-匕】
=
4,
хп
+
%22
+
-匕2
=
Лл
+
%2〃
+ •
•• хтп
=
bn・
Ввиду того что стоимость перевозки 见 единиц груза по маршруту 44 пропорциональна их числу
CikXik^ суммарная стоимость всех перевозок вычисляется по формуле
Она должна быть минимальной
w -> min.
К решению транспортной задачи (как, впрочем, и к решению многих других задач) нужно подходить, прежде немного подумав ——не всегда очевидное, явно бросающееся в глаза решение будет наилучшим. Вот только один пример ([9], с. 55—56).
Пример 1. Менеджер по транспорту должен организовать наиболее Дешевую доставку продукта с трех фабрик на три склада. Каждая фабри-
ка может отправлять продукт на любой из складов и каждый из складов может принимать продукт с любой фабрики. Стоимость перевозки по маршруту пропорциональна произведению перевозимого количества на стоимость одного килограмма груза. Количество продукта, который должен вывозиться каждый день с каждой фабрики Л, 5 и С на каждый склад X, Y и Z известно:
300 кг с фабрики 4 600 кг с фабрики В и 500 кг с фабрики С (итого 1400 кг),
600 кг на склад X 300 кг на склад Уи 500 кг на склад Z(htoto 1400 кг).
Как видно, спрос и предложение совпадают. Стоимость перевозки килограмма груза по каждому из девяти маршрутов приведена в таблице (туда же внесены и данные, приведенные выше).
Таблица
X
У
Z
А
(0)
(4)
(1)
300
В
(1)
(6)
(3)
600
С
(3)
(7)
(6)
500
600
300
500
1400
Беглый взгляд на таблицу подталкивает к следующему выбору маршрутов: стоимость перевозки по маршруту АХ равна нулю — перешлем по нему максимально возможную часть продукта (300), стоимость перевозки по маршруту СУ самая дорогая — по этому маршруту не будем пересылать ничего, остальные семь маршрутов легко заполняются ряд за рядом путем выбора самого дешевого маршрута.
Тем самым, решение, опирающееся на здравый смысл, выглядит так:
X
У
Z
4
300(0)
0(4)
0(1)
300
В
300(1)
300(6)
0(3)
600
С
0(3)
0(7)
500(6)
500
600
300
500
1400
и общая стоимость перевозки равна
300 • 1 + 300 • 6 + 500 • 6 = 5100.
Однако есть более дешевое решение этой задачи
X
УZ
А
0(0)
0(4)
300(1)
300
В
400(1)
0(6)
200(3)
600
С
200(3)
300(7)
0(6)
500
600
300
500
1400
Его стоимость равна
300 • 1 + 400 • 1 + 200 • 3 + 200 • 3 + 300 • 7 = 4000.
Замечание. В последней схеме по самому дешевому маршруту ничего не перевозится, зато в полной мере задействован самый дорогой. И тем не менее общие затраты на перевозку оказались заметно меньше. Все дело в том, что решения, очевидные для двух маршрутов, не всегда оказываются выгодными для всей их совокупности. Тем самым, проблемы спроса и предложения не всегда подчиняются логике так называемого здравого смысла.
Итак, мы имеем следующую задачу линейного программирования:
w=SXc^->min
*=1 л«1
£х火=勺,z = l, 2, m;
2人=瓦,% = L 2, n,
Xik 2 0.
Отметим прежде всего, что все нетривиальные ограничения на искомые величины имеют вид равенств специального вида. Это обстоятельство позволяет отыскивать решение полученной системы линейных уравнений
戍=%, i = l, 2, ..., m;
1Х =4, fc = 1, 2,..., 〃,
простыми способами, один из которых мы опишем подробно.
Заметим, что общее число неизвестных в этой линейной системе равно т • п, а число уравнений ——/л + 儿 Поэтому матрица системы имеет размеры (т + п) х (т • п).
1
1 •
• 1
0
0 •
• 0・
.0
0 •
• О'
0
0 •
• 0
1
1・
• 1 .
• 0
0 •
• 0
0
0 •
・0
0
0 .
• 0 •
• 1
1 .
• 1
1
0・
• 0
1
0 •
• 0 •
• 1
0 •
• 0
0
1 •
• 0
0
1 •
• 0 •
・0
1・
• 0
0
0 .
• 1
0
0 .
• 1・
• 0
0 •
• 1
Совсем просто убедиться в том, что ранг этой матрицы всего на единицу меньше числа ее строк и равен т + п - I.
В силу сбалансированности задачи, /=1 hl система совместна; число свободных неизвестных системы равно к = тп — (т + п —1) = (т - 1)(〃 一 1),
а число главных (базовых) — /л + 幫一1.
Обращение в нуль к из неизвестных при неотрицательности остальных является необходимым условием того, что предъявленное решение системы является оптимальным. Необходимым, но не достаточным.
Любой такой набор неизвестных (в котором не более т+п—\ неизвестных положительно, а остальные равны нулю) называют опорным.
Покажем на примере, как работает один из методов, называемый методом северо-западного угла, посредством которого можно найти опорный набор неизвестных в любой сбалансированной транспортной
Начнем с левого верхнего (северо-западного) угла. Пункт 3】подал заявку на 48 единиц груза. Полностью исчерпав свои запасы (20 единиц), пункт 4 удовлетворяет ее лишь частично. Остальное добавляет пункт 4, также исчерпывая все свои запасы (23), и частично (5) пункт Л3,
48 = 20 + 23 + 5.
Последний полностью покрывает заявку пункта 坛 Оставшееся обеспечивается из запасов пункта 4・
Выпишем найденные значения соответствующих неизвестных. Имеем
к” =20, х21 =23, х31 =5, Х32 =31,
Х33 = 14, Х43 =15, %44 =17, х45 =10.
Их ровно восемь:
4 + 5-1,
остальные 12 неизвестных равны нулю (табл. 2 и рис. 9).
Рис. 9Рис. 9Пример 3. Все условия задачи представлены в таблице 3.Пример 3. Все условия задачи представлены в таблице 3.Тем самым полученный набор является опорным. Воспользуемся другим примером для того, чтобы показать, как, шаг за шагом улучшая опорные наборы, прийти к оптимальному.
Рис. 9
Рис. 9
Пример 3. Все условия задачи представлены в таблице 3.
Пример 3. Все условия задачи представлены в таблице 3.
Рис. 10Рис. 10ДгВз&4126136432%2107115750%35997102241379914301731382523134ДгВз&4126136432%2107115750%35997102241379914301731382523134Таблица 3Таблица 3
Рис. 10
Рис. 10
Дг
Вз
&
4
12
6
13
6
4
32
%2
10
7
11
5
7
50
%3
5
9
9
7
10
22
4
13
7
9
9
14
30
17
31
38
25
23
134
Дг
Вз
&
4
12
6
13
6
4
32
%2
10
7
11
5
7
50
%3
5
9
9
7
10
22
4
13
7
9
9
14
30
17
31
38
25
23
134
Таблица 3
Таблица 3
В таблице 4 методом северо-западного угла выделен опорный набор (см. также рис. 10).
Рис. 11Рис. 11&Дг41217615136432%210716U 345750%35924218102241379971423301731382523134&Дг41217615136432%210716U 345750%35924218102241379971423301731382523134Таблица 4Таблица 4
Рис. 11
Рис. 11
&
Дг
4
12
17
6
15
13
6
4
32
%2
10
7
16
U 34
5
7
50
%3
5
9
2
4
2
18
10
22
4
13
7
9
9
7
14
23
30
17
31
38
25
23
134
&
Дг
4
12
17
6
15
13
6
4
32
%2
10
7
16
U 34
5
7
50
%3
5
9
2
4
2
18
10
22
4
13
7
9
9
7
14
23
30
17
31
38
25
23
134
Таблица 4
Таблица 4
Вычислим соответствующее значение линейной функции затрат:
12 • 17 + 6 • 15 + 7 • 16+11 • 34 + 9 • 4 + 7 • 18 + 9 • 7+ 14 • 23 = 1327.
Немного поизучав таблицу 4, заметим, что полученный опорный набор не является оптимальным. В самом деле, дешевый путь А2В4 не задействован, зато используются более дорогие А3В^ А3В3 и Л25з(рис. 11).
Рис. 12Рис. 12Рис. 13Рис. 13
Рис. 12
Рис. 12
Рис. 13
Рис. 13
Попробуем изменить ситуацию, а именно, заменим один из дорогих маршрутов, /3及,на дешевый А2В^ но сделаем это аккуратно и очень осторожно (рис. 12): закрывая маршрут А3В^ мы переносим 18 единиц его груза на маршрут А2В^ а для того, чтобы весь набор оставался опорным, снимем 18 единиц груза с маршрута Л25з, перенесем их на более дешевый А3В3 (рис. 13) и окончательно получим взамен старого новый набор маршрутов — 4凡,Л2В3 и /3З3 (в таблице 4 стоимости соответствующих перевозок подчеркнуты).
Подведем итоги изменения маршрутов и перевезенных по ним грузов и вычислим стоимости старой и новой перевозок. Имеем соответственно
5 • 18 + 7 -0 + 9 -22 + 11 • 16
и
5 -0 + 7 • 18 + 9 -4+Ц -34.
Разность
5 • (18-0) + 7 • (0-18) + 9 • (22-4) + 11 • (16-34)==5 • 18-7 • 18 + 9 • 18-11 • 18 = (5-7 + 9-11) • 18 == (~4) • 18 = -72
отрицательна. Тем самым, на новом опорном наборе (таблица 5)
Таблица 5
В\
名
4
12
17
6
15
13
6
4
32
%2
10
7
16
11
16
5
18
7
50
%3
5
9
9
22
7
10
22
4
13
7
9
2
7
14
23
30
17
31
38
25
23
134
стоимость перевозки стала меньше на 72 единицы: 1327 - 72 = 1255.
Заметим, что альтернированную сумму
5-7 + 9-11
легко получить путем перемещения по клеткам (2,4), (3,4), (3, 3) и (2, 3) по часовой стрелке,
(2, 4) - (3, 4) - (3, 3) - (2, 3),
выбирая стоимость перевозки единицы груза в клетках с нечетными номерами со знаком +, ав клетках с четными номерам со знаком - (в таблице 4 стоимости соответствующих перевозок подчеркнуты).
Рассматривая рисунки И, 12и 13, мы можем заметить, что, добавляя к ломаной 43з, /3З3,4з® звено А2В4 мы сначала получаем цикл, а затем, отбрасывая из него звено 4®, — новую схему перевозок.
Замечание. В результате проведенного преобразования мы изменили часть величин, подлежащих определению (это х2з, %24, %зз и х34), никак не затронув остальные 16 = 20 - 4. При этом общий вклад измененных величин в систему траспортных равенств остался тем же самым: от связей
%23 + 也=34, %23 + Х33 = 38,
Х33 +Х34 =22,匕4 +%34 =18
мы перешли к связям
%23 +%4 =34,X23 +Х33 =3 8,
Х33 + 红= 22, хм +xw =18,
Рис. 14Рис. 14отличающимся значениями величин 々з,电4, х33 и Х34 (подчеркнутые равны нулю).
Рис. 14
Рис. 14
Чтобы лучше понять основную идею, стоит рассмотреть следующий улучшающий шаг. Добавив к набору звеньев А^ 斗巴,友凤,4凡,4昆 (рис. 14) звено 4昆,получаем цикл
(1, 5) - (4, 5) - (4, 4) - (2, 4) - (2, 2) - (1, 2) - (1, 5),
самый дешевый маршрут в котором А{В$ не используется (соответствующая клетка свободна), а все остальные задействованы (соответствующие клетки базисные). В таблице 5 стоимости соответствующих перевозок подчеркнуты. Беря, как и раньше, стоимости перевозки еданицы груза в нечетных клетках со знаком +, ав четных со знаком получим
4 -14+ 9- 5 + 7 一6 = 20-25 =-5
и в соответствии с этим переместим наименьший из грузов в четных клетках в клетку (1, 5) по мар・ шрутуЛ1В5. Сравнивая грузы 23,18 и 15, получаем, что перемещаемый груз должен быть равен 15 (таблица 6).
Таблица 6
На рисунках 15 н」6 показано, как именно изменяются маршруты. Общая сумма перевозки станет равной
1255 -75= 1180.
Таким образом, отыскивая в таблице (и/или на соответствующем рисунке) свободные клетки (незадействованные маршруты), ищем цикл с отрицательной ценой и перебрасываем по нему наибольшее возможное количество единиц груза, уменьшая тем самым общую стоимость перевозок.
Поступая так, мы рано или поздно придем к оптимальной схеме перевозок.
На рисунках 17—37 и в таблицах 6—13 показаны шаги, завершающие решение рассматриваемой задачи.
Обратимся к таблице 6. Перебрасывая по циклу
(4, 1) f (1, 1) f (1, 5) f (4, 5) f (4, 1)
с отрицательной ценой
13 — 12 + 4 — 14 = -9
(в таблице 6 стоимости соответствующих перевозок подчеркнуты) наибольшее возможное количество единиц груза (8), уменьшаем общую стоимость перевозок на 9 • 8 = 72,
1180-72 = 1108
(см. рис. 17,18 и 19). В результате проведенного преобразования приходим к таблице 7.
Таблица 7
Перебрасывая по циклу
(1, 4) - (4, 4) - (4, 1) - (1, 1) - (1, 4)
с отрицательной ценой
6 - 12 + 13 - 9 = -2
(в таблице 7 стоимости соответствующих перевозок подчеркнуты) наибольшее возможное количество единиц груза (9), уменьшаем общую стоимость перевозок на 2 • 9 = 18,
1108- 18 = 1090
(см. рис. 20, 21 и 22). В результате проведенного преобразования приходим к таблице 8.
Таблица 8
Перебрасывая по циклу
(4, 3) f (4, 4) - (2, 4) f (2, 3) (4, 3) с отрицательной ценой
9-9 + 5-11 =-6
(в таблице 8 стоимости соответствующих перевозок подчеркнуты) наибольшее возможное количество единиц груза (13), уменьшаем общую стоимость перевозок на 6 • 13 = 78,
1090 一 78 = 1012
(см. рнс. 23, 24 и 25). В результате проведенного преобразования приходим к таблице 9.
Таблица 9Таблица 9Рис. 23Рис. 24Рис. 25Рис. 23Рис. 24Рис. 25
Таблица 9
Таблица 9
Рис. 23Рис. 24Рис. 25
Рис. 23Рис. 24Рис. 25
Перебрасывая по циклу
(2, 1) - (4, 1) - (4, 3) - (2, 3) 一 (2, 1)
с отрицательной ценой
10-13+ 9-11 =-5
(в таблице 9 стоимости соответствующих перевозок подчеркнуты) наибольшее возможное количество единиц груза (3), уменьшаем общую стоимость перевозок на 5 • 3 = 15,
1012 -15 = 997
(см. рис. 26, 27 и 28). В результате проведенного преобразования приходим к таблице 10.
Таблица 10
Перебрасывая по циклу
(4, 2)-(4,1) - (2,1) - (2, 2)-(4, 2)
с отрицательной ценой
7 - 13 + 10 - 7 = -3
(в таблице 10 стоимости соответствующих перевозок подчеркнуты) наибольшее возможное количество единиц груза (14), уменьшаем общую стоимость перевозок на 3 • 14 = 42,
997 - 42 = 955
(см. рис. 29, 30 и 31). В результате проведенного преобразования приходим к таблице 11.
Таблица 11
Перебрасывая по циклу
(1, 2) - (2, 2) - (2, 4) - (1, 4) - (1, 2)
с отрицательной ценой
6 — 7 + 5 — 6 = —2
(в таблице 11 стоимости соответствующих перевозок подчеркнуты) наибольшее возможное количество единиц груза (9), уменьшаем общую стоимость перевозок на 2 • 9 = 18,
955 - 18 = 937
(см. рис. 32, 33 и 34). В результате проведенного преобразования приходим к таблице 12.
Таблица 12
Перебрасывая по циклу
(2, 3) - (3, 3) - (3, 1) - (2, 1) - (2, 3)
с отрицательной ценой
11-9 + 5-10 = -3
(в таблице 12 стоимости соответствующих перевозок подчеркнуты) наибольшее возможное количество единиц груза (17), уменьшаем общую стоимость перевозок на 3 • 17 = 51,
937 - 51 = 886
(см. рис. 35, 36 и 37).
Окончательный ответ приведен в таблице 13 (см. также рис. 38).
Bi&马54®54126913642332%210781117525750%351799571022413714916914301731382523134Bi&马54®54126913642332%210781117525750%351799571022413714916914301731382523134Таблица 13Таблица 13Рис. 38Рис. 38
Bi
&
马
54
®5
4
12
6
9
13
6
4
23
32
%2
10
7
8
11
17
5
25
7
50
%3
5
17
9
9
5
7
10
22
4
13
7
14
9
16
9
14
30
17
31
38
25
23
134
Bi
&
马
54
®5
4
12
6
9
13
6
4
23
32
%2
10
7
8
11
17
5
25
7
50
%3
5
17
9
9
5
7
10
22
4
13
7
14
9
16
9
14
30
17
31
38
25
23
134
Таблица 13
Таблица 13
Рис. 38
Рис. 38
В заключение раздела сделаем несколько замечаний.
Замечание 1. Мы подробно остановились на разборе конкретной транспортной задачи (пример 3), руководствуясь следующими соображениями:
при небольшом количестве неизвестных задачу можно решить, вычисляя вручную,
и хотя далее такая простая задача требует рутинной работы заметного объема, нам не хотелось оставлять поставленную задачу незавершенной.
Поэтому нам просто необходимо вернуться к примеру 1.
Оптимальное решение сформулированной в нем транспортной задачи получается путем последовательного преобразования по циклам с от-
рицательной ценой в 300, 200 и 300 единиц груза (см. таблицы 14—17; составляющие соответствующих циклов выделены жирным):
Таблица 14
XYZ
А
300(0)0(4)0(1)
300
В
300(1) 300⑹0(3)
600
С
0(3)0(7) 50(Ц6)
500
600300500
1400
перебрасывается 300:
Таблица 75
XYZ
4
0(0)0(4) 300(1)
300
В
300(1)300 ⑹0(3)
600
С
300 ⑶0(7) 200(6)
500
600300500
1400
перебрасывается 200:
Таблица 16
XYZ
4
0(0)0(4) 300(1)
300
В
100(1) 300⑹ 200⑶
600
С
500(3)0(7)0(6)
500
600300500
1400
перебрасывается 300:
Таблица 17
XYZ
А
0(0)0(4) 300(1)
300
В
400(1)0(6) 200(3)
600
С
200(3) 300(7)0(6)
500
600300500
1400
Замечание 2. Мы обсудили ситуацию, когда суммы заявок и запасов совпадают,
% =/=1无=i
Однако так бывает нечасто:
7-й случай ——сумма запасов больше суммы заявок,
i=l к-\
2■忘 случай ——сумма запасов меньше суммы заявок,
/=1 у
Тем не менее, оба эти несбалансированных случая можно свести к ситуации, рассмотренной выше.
Покажем, как это можно сделать.
Случай 7-й. Положим
bn.^^^bk
/=1左=i
и создадим виртуальный пункт назначения 5ж, стоимость перевозки единицы груза в который из каждого пункта отправления равна нулю,
К =0・
В результате мы получим сбалансированную транспортную задачу
с т(п + 1) числом неизвестных. Если значение х. л+1 в оптимальном наборе положительно, это означает, что х. л+1 единиц груза никуда не отправляются, а остаются в пункте ЛЛ
Случай 2-й. Положим
к-\/=1
и создадим виртуальный пункт отправления Лт+1. Это позволит найти самую дешевую схему перевозок; правда, с удовлетворением заявок могут быть проблемы (справедливость их удовлетворения).
В результате получим сбалансированную транспортную задачу
*=1хi=l无=1
с нулевой стоимостью перевозки ст+1гк.
И наконец обсудим
Реальный пример [10, с. 167—168]. Автобаза должна была регулярно доставлять строительные материалы на несколько стройплощадок города Москвы. Перед группой сотрудников вычислительного центра Академии наук СССР (описанные события относятся к 1960—1961 годам) была поставлена задача — рассчитать оптимальную схему поездок автомашин.
Математики сформулировали свою задачу исходя из того, что целью управления поездками является удовлетворение заявок строителей: найти маршруты всех автомашин так, чтобы были выполнены все заявки строителей и при этом общий пробег автомашин был бы минимальным. Получая каждую пятницу с автобазы заявки строителей, они уже в субботу выдавали решение задачи в виде накладных для каждой автомашины. За квартал (а именно столько длился этот эксперимент) автобаза перевезла ровно столько тонн стройматериалов, сколько было необходимо для того, чтобы выполнить все заявки строителей, и больше того, что перевозилось ранее. Она так экономно обошлась с километрами, что план по количеству тонно-километров оказался невыполненным (трест, которому подчинялась автобаза, оценивал ее работу в первую очередь по этому показателю; и по многим другим, в которые, однако, не входил показатель, характеризующий основную цель управления ——выполнение заявок). Так что внедрение математических методов в работу строительных организаций потерпело тогда практически полный крах.
Выход из ситуации вполне очевиден: необходимо было доходчиво объяснить тресту, который управлял автобазами, что в его же интересах изменить систему показателей, по которым оценивалась бы работа отдельных автобаз. Это и было сделано, но много позже.
В теории линейного программирования есть и другие эффективные методы, позволяющие решать транспортные задачи [4], [7], [8], [11].
Целочисленное программирование
В реальных обстоятельствах нередки ситуации, приводящие к задачам, отличающимся от задач линейного программирования тем, что искомые значения неизвестных должны быть целыми числами.
Рассмотрим следующий пример.
Пример. Небольшая фирма производит два вида продукции: столы и стулья. Для изготовления одного стула требуется 3 фута древесины, а для изготовления одного стола — 7 футов. При этом на изготовление одного стула уходит 2 часа рабочего времени, а на изготовление стола —
8 часов. Каждый стул приносит 1$ прибыли, а каждый стол — 3$. Сколько стульев и сколько столов должна изготовить эта фирма, если она располагает 420 фугами древесины и 400 часами рабочего времени и хочет получить максимальную прибыль?
Обозначив искомое количество стульев и столов черезхиу соответственно, запишем условия задачи в виде формул. Имеем
z = х + у -► max
3x + 7yW420,
2x + 8yS400,
x>0, у >0.
Задача на вид почти не отличается от обычной задачи линейного программирования, и может показаться, что и решать ее надо как задачу линейного программирования, ограничиваясь целочисленными значениями переменных хиу.
Графическое решение задачи (рис. 39), казалось бы, подтверждает складывающееся впечатление,
х =56, у = 36, q1ax =164$.
Однако то, что решение, полученное в этой задаче стандартным методом линейного программирования, оказалось целым, является обстоятельством случайным и довольно редким.
Чаще всего стандартный метод линейного программирования приводит к набору неизвестных, часть из которых (или даже все) вполне может оказаться дробной. Но как поступить в том случае, если в задаче требуется найти оптимальное число станков, людей или каких-либо иных неделимых объектов? Нельзя ли в этом случае округлить полученные значения неизвестных до ближайших целых?
Ответ отрицательный: в общем случае так поступать нельзя ——мы можем либо вылезти за рамки ограничений, либо (если мы будем с округлением более осторожны) полученный целочисленный набор не будет оптимальным.
Условие целочисленности неизвестных заметно усложняет поиски оптимального решения и требует иных, более изощренных математических методов его поиска, тем более трудоемких, чем значительней число величин, подлежащих определению. Наиболее известными являются метод отсечений и метод ветвей “ границ (см. [5], [7], [8]).
Ограничившись двумя неизвестными, покажем на примере, как можно решить задачу целочисленного программирования методом ветвей и границ.
Задача. Найти целые значения неизвестных х и у, обеспечивающие выполнение предъявленных ниже условий
z = 5x+6y ->тах
10х + 7у<35, 5х + 14y < 35, х>0, у >0.
Начнем с того, что решим поставленную задачу, опустив ограничение
х, у Е Z・
Решая ее как задачу линейного программирования и пользуясь наглядно-геометрическим методом (рис. 40), получаем, что максимум целевой функции w = 5х + бу достигается в точке С,
%=21| 卜/=吗宀=15)
ни одна из координат которой не является целым числом.
Рис. 40
Поиск точки из построенного четырехугольника ОАСВ с целочисленными координатами, целой точки, которая являлась бы решением исходной задачи, будем осуществлять, последовательно отбрасывая его подмножества, заведомо этой точки не содержащие. Делать это мы будем с использованием уже добытых сведений о задаче.
Ясно, что множество точек, абсцисса х которых удовлетворяет неравенству
2 <х< 3,
не содержит целочисленных решений исходной задачи, а значит, и искомой точки. Отбрасывая это множество (вместе с точкой С, доставляющей максимум целевой функции), мы заменяем четырехугольник ОАСВ на четырехугольник OFGB и треугольник DAE (рис. 41), а исходную задачу на две подзадачи а и Ь, отличающиеся одна от другой дополнительными ограничениями на абсциссу. Подзадача 〃
z = 5x + 6y ->maxЮх + 7у < 35,5х + 14у 0 35,0<х<2, у>0.
z = 5x + 6y ->тахЮх + 7у 0 35,5х + 14у <35,XN3, у >0.
Замечание, Отбрасываемая полоса выбирается из следующих соображений: мы намерены искать нужную нам точку среди целых точек, расположенных не слишком далеко от точки С, доставляющей максимум целевой функции.
Решая каждую из подзадач как задачу линейного программирования и пользуясь наглядно-геометрическим методом, получаем, что максимум целевой функции w = 5х + бу в подзадаче а достигается в точке G,
% = 20у (“ = 15, w尸=10),
а в подзадаче b — в точке Е,
%=吗卜L吗,〜=15).
Ни точка G, ни точка Ене являются целыми. Это вынуждает нас повторить наши предыдущие действия, но теперь уже по отношению к подзадачам а и Ь.
Удаляя в подзадаче 〃 вместе с точкой
GR,<
все точки, попадающие в полосу
1<У<2,
мы переходим к подзадачам аа и аЬ (рис. 42). Подзадача аа
z=5x + 6y->max10х + 7у 0 35,5х + 14у <35,0<х^2, 0<у<1.
Подзадача ab
z = 5х + бу -> maxЮх + 7у < 35,5х + 14у<35,0<х<2, у >2.
Поступая аналогичным образом в подзадаче Ь — удаляя вместе с точкой
все точки, попадающие в полосу
0<У<1,
мы переходим к подзадачам Ьа и ЬЬ (см. рис. 42). Подзадача Ьа
z = 5х + бу -> max
Юх + 7у < 35, 5х + 14у <35, х>3, у = 0.
Подзадача ЬЬ
z = 5x + 6y ->тах
Юх + 7у < 35, 5х + 14у<35, х>3, у >1.
Вновь решая каждую из подзадач как задачу линейного программирования и пользуясь наглядно-геометрическим методом, получаем, что максимум целевой функции w = 5х + бу в подзадаче аа достигается в целой точке I,
= 16, (wF =10,=6),
в подзадаче 而一в точке К
% =19, (wB =15, Wj =12),
а в подзадаче Ьа — в точке 4
4.3. Целочисленное программирование «121 打=吗(”0=15).
Что касается подзадачи bb, то условия на неизвестные х и у в ней противоречивы.
Однако продолжим наши действия, обратившись к подзадачам ab и Ьа.
Удаляя в подзадаче ab вместе с точкой
呜2)
все точки, попадающие в полосу 1 <х<2, мы переходим к подзадачам aba и abb (рис. 43). Подзадача aba
Z = 5x+6y->max
Юх + 7у s 35, 5х + 14y < 35, О < х < 1, у > 2.
Подзадача abb z = 5x + 6y ->max Юх + 7у w 35, 5х + 14у <35, х = 2, у >2.
Поступая аналогичным образом в подзадаче Ьа — удаляя вместе с точкой
все точки, попадающие в полосу
3<у<4,
мы переходим к подзадачам baa и bab (см. рис. 43). Подзадача baa
z = 5x+6y ->maxЮх + 7у < 35,5比 + 14ys 35,
х = 3, у = 0.
Подзадача bab
z = 5x+6y->maxЮх + 7у < 35,5х + 14у<35,х>4, у>1
Решая каждую из подзадач как задачу линейного программирования и пользуясь наглядно-геометрическим методом, получаем, что максимум целевой функции в подзадаче aba достигается в точке М,
*м =呜(% = 15,打=12, wL = 17), а в подзадаче baa — в целой точке
也=15,
что меньше найденного ранее значения в целой точке 厶
= 16.
В подзадачах abb и bab условия на неизвестные х и у противоречивы.
Удаляя в подзадаче aba вместе с точкой
4 21)
все точки, попадающие в полосу 2<у<3, мы переходим к подзадачам abaa и abab (рис. 44). Подзадача abaa
z = 5x + 6y->max
Юх + 7у < 35, 5х + 14у <35, 0<х, у = 2.
Подзадача abab
z = 5x+6y->max
Юх + 7у s 35, 5х + 14y < 35, 0 < х < 1, у > 3.
x2八x2八3(0,等)3(0,等)ЛО,2)ЛО,2)
x2八
x2八
3(0,等)
3(0,等)
ЛО,2)
ЛО,2)
На отрезке JL целевая функция достигает максимума в целой точке L,
” =17(W」=12).
Условия на х и у в подзадаче abab противоречивы.
Значение 17 целевой функции w = 5х + бу в точке Д1, 2) является наибольшим среди всех целых точек, подчиняющихся исходным условиям. Задача решена.
Действия, проведенные при поиске решения исходной задачи, удобно представить в виде дерева (дерева решения), на котором отражены основные этапы и последовательно получаемые результаты (рис. 45).
Рис. 45
Замечание, Проходя еще раз по построенному дереву решения задачи целочисленного программирования, можно заметить, что в конечных вершинах (любого уровня) предъявляются либо целая точка, либо пустое множество.
Литература
Фрейденталь Г Математика как педагогическая задача: Книга для учителя. Ч. II. — М.: Просвещение, 1983.
Вентцель ЕС Исследование операций. Задачи, принципы, методология. —М.: Дрофа, 2004.
Леонид Витальевич Канторович: человек и ученый: в 2 т. Т. 2.— Новосибирск: Изд-во СО РАН, филиал «Гео», 2004.
Васильев Ф,П,, Иваницкий А.Ю. Линейное программирование.—— М・:Факториал Пресс, 2003.
Ашманов С4 Линейное программирование. — М.: Наука, 1981.
Стренг Г Линейная алгебра и ее применения. — М.: Мир, 1980.
Вагнер Г Основы исследования операций: вЗт. — М.: Мир, 1972.
Зуховицкий С瓦,Авдеева Л.И. Линейное и выпуклое программирование. —М.: Наука, 1964.
Rivett Р. The craft of decision modeling. — John Wiley & Sons, 1994.
Моисеев НН Математик задает вопросы... (Приглашение к диалогу). —М.: Знание, 1975.
Канторович Л.В” Горстко А,Б. Оптимальные решения в экономике. — М.: Наука, 1972.
Глава 5
ИГРЫ
... всякий открытый бой требует тайной подготовки, пусть малой и короткой по времени
([1], с. 364)
В практической деятельности нередко приходится рассматривать явления и ситуации, в которых участвуют две или более стороны, имеющие несовпадающие интересы и обладающие возможностями применять для достижения своих целей разнообразные действия. Подобные явления и ситуации принято называть конфликтными, или просто конфликтами.
Типичный конфликт характеризуется тремя основными составляющими: заинтересованными сторонами, возможными действиями этих сторон и их интересами.
Конфликтная ситуация, взятая из реальной жизни, как правило, довольно сложна. К тому же ее изучение затруднено наличием разных факторов, часть из которых не оказывает сколь-либо заметного влияния ни на развитие конфликта, ни на его исход. Поэтому, для того чтобы анализ конфликтной ситуации оказался возможным, необходимо отвлечение от этих второстепенных обстоятельств. При благоприятном развитии событий удается построить упрощенную, формализованную модель конфликта, которую принято называть игрой. От реальной конфликтной ситуации игра отличается еще и тем, что ведется по вполне определенным правилам.
Необходимость изучения и анализа конфликтов, представляемых в виде упрощенных математических моделей (игр), вызвала к жизни специальный математический аппарат — теорию игр.
Опишем основные понятия, используемые в этой теории.
Заинтересованные стороны называют игроками. Любое возможное для игрока действие (в рамках заданных правил ^ь/)'называется его стратегией, В условиях конфликта каждый игрок выбирает свою стратегию, в результате чего складывается набор стратегий, называемый ситуацией. Заинтересованность игроков в ситуации проявляется в том, что каждому игроку в каждой ситуации приписывается число, выражающее степень удовлетворения его интересов в этой ситуации и называемое его выигрышем в ней.
В этих условиях протекание конфликта состоит в выборе каждым игроком своей стратегии и получении им в сложившейся ситуации выигрыша из некоторого источника.
Во вступительной главе в качестве основной цели, которую мы поставили перед собой, было выбрано описание методов поиска оптимальных решений. В главах, отведенных сетям и линейным задачам, в роли оптимальных выступали решения, доставляющие экстремум той или иной целевой функции. Однако в случае, когда число заинтересованных сторон больше или равно двум, такой подход уже невозможен. Поэтому, прежде чем приступать к поиску, важно определить, что именно следует искать.
Сказанное приводит к необходимости формирования представления о том, какое поведение игроков следует считать оптимальным {(разумным, целесообразным), к выработке принципов оптимальности, выяснению реализуемости этих принципов, то есть установлению существования оптимальных в выработанном смысле ситуаций, и поиску соответствующих реализаций.
Одной из содержательных форм воплощения представления об оптимальности можно считать понятие равновесия, при котором складывается такая (равновесная) ситуация, в нарушении которой не заинтересован ни один из игроков.
Именно ситуации равновесия могут быть предметом устойчивых договоров между игроками (ни у одного из игроков не будет мотивов к нарушению договора). Кроме того, ситуации равновесия являются выгодными для каждого игрока: в равновесной ситуации игрок получает наибольший выигрыш (разумеется, в той мере, в какой это от него зависит).
Если в игре ситуации равновесия нет, то, оставаясь в условиях стратегий, имеющихся у игроков, мы сталкиваемся с неразрешимой задачей.
Поэтому при возникновении подобных случаев естественно ставить вопрос о таком расширении первоначального понятия стратегии, чтобы среди ситуаций, составленных из новых, обобщенных стратегий, находились в том или ином смысле равновесные.
Если такие обобщенные стратегии существуют, то их часто удается Представить в виде определенных комбинаций исходных стратегий. А чтобы отличать прежние стратегии от новых, первые называют Чистыми, а вторые — смешанными стратегиями.
Весьма плодотворным является представление смешанной стратегии как случайного выбора игроком его чистых стратегий, при котором
128 •「лава 5. Игры случайные выборы различных игроков независимы в совокупности, а выигрыш каждого из них определяется как математическое ожидание случайного выигрыша.
Так преобразованная игра обычно называется смешанным расширением исходной игры.
Матричные игры
Рассмотрим игру, в которой участвуют два игрока, причем каждый из игроков имеет конечное число стратегий. Обозначим для удобства одного из игроков через А, а другого — через А
Пусть игрок Л имеет т стратегий — 4, Л2,..., Лт, а игрок В — п стратегий зЬ昆,…,3小
Будем считать, что выбор игроками стратегий Д и Вк соответственно однозначно определяет исход игры — выигрыш。液 игрока Л и выигрыш bik игрока Д причем эти выигрыши связаны равенством
%=一娱•
Последнее условие показывает, что в рассматриваемых обстоятельствах выигрыш одного из игроков равен выигрышу другого, взятому с противоположным знаком. Поэтому при анализе такой игры обычно рассматривают выигрыши только одного из игроков. Пусть это будут, например, выигрыши игрока Л.
Если нам известны значения aik выигрыша при каждой паре стратегий (в каждой ситуации) {/“ 瓦}, / = 1, 2,..., т9к = 19 2,..., л, то их удобно записывать
или в виде прямоугольной таблицы, строки которой соответствуют стратегиям игрока 4 а столбцы — стратегиям игрока В,
4
4
々и
012…
01〃
021
022…
&л
4
ат\
ат2 —
атп
или в виде матрицы
Матрица А имеет размер тх пи называется матрицей игры, или платежной матрицей (отсюда и название игры — матричная).
Рассматриваемую игру часто называют т х п-игрой.
Замечание. Матричные игры относятся к разряду так называемых антагонистических игр, то есть игр, в которых интересы игроков прямо противоположны.
Пример 1. Каждый из двух игроков Л и 5 одновременно и независимо один от другого записывает на листе бумаги любое целое число. Если выписанные числа имеют одинаковую четность, то игрок Л получает от игрока В 1 рубль, а если разную, то наоборот — игрок Л платит 1 рубль игроку А
У игрока Л две стратегии: 4 — записать четное число иЛ2 — записать нечетное число.
У игрока В такие же две стратегии:瓦一записать четное число и 昆 —записать нечетное число.
Матрица этой 2 х 2-игры имеет следующий вид
(здесь строки соответствуют стратегиям игрока Л, а столбцы — стратегиям игрока Л).
Замечание. Идущие явно от игр в общепринятом смысле термины игрок, выигрыш, платежная матрица, матрица выигрышей, цена игры к настоящему времени частично изменены на матрицу игры, значение игры. Для терминов игрок и выигрыш (вобравший в себя и проигрыш как выигрыш со знаком минус, отрицательный выигрыш), несмотря на многие попытки, подходящей замены пока не нашлось.
Равновесная ситуация
Рассмотрим следующий пример.
Пример 2. Два игрока Л и Д не глядя друг на друга, кладут на стол по картонному кружку красного ⑺,зеленого (g) или синего (Ь) цветов, сравнивают цвета кружков и расплачиваются друг с другом так, как показано в таблице
Попробуем определить оптимальные стратегии каждого из игроков.
Начнем с последовательного анализа стратегий игрока/, не забывая о том, что, выбирая стратегию, игрок А должен принимать в расчет, что его противник В может ответить на нее той из своих стратегий, при которой выигрыш игрока А будет минимальным. Так, на стратегию 4 он ответит стратегией 瓦(минимальный выигрыш равен —2, что на самом деле означает проигрыш игрока 4 равный 2), на стратегию Ag — стратегией Bg или Вь (минимальный выигрыш игрока Л равен 1), а на стратегию Аь — стратегией Bg (минимальный выигрыш игрока А равен -3).
Запишем эти минимальные выигрыши в правом столбце таблицы
maxmin. Ясно, что игроку А разумно остановить свой выбор на стратегии Ag, при которой его минимальный выигрыш максимален (из трех чисел —2, 1 и —3 максимальным является 1), maxmin = 1, и при любом поведении противника ему гарантирован выигрыш, не меньший 1.
Аналогичные рассуждения можно провести и за игрока 3. Так как игрок В заинтересован в том, чтобы обратить выигрыш игрока Л в минимум, ему нужно проанализировать каждую свою стратегию с точки зрения выигрыша игрока 4
Выбирая свою стратегию, игрок 5 должен учитывать, что стратегией его противника А может оказаться та, при которой выигрыш игрока А будет наибольшим. Так, на стратегию 瓦 он ответит стратегией Л (выигрыш игрока А равен 3), на стратегию Bg — стратегией Аг (выигрыш игрока А равен 2), а на стратегию Вь — стратегией "или Аь (выигрыш игрока А равен 1).
Эти выигрыши записаны в нижней строке таблицы
minmax. Неудивительно, если игрок В остановит свой выбор на стратегии 3岳 при которой максимальный выигрыш игрока Л минимален (из трех чисел 3, 2 и 1 минимальным является 1), minmax = 1, и при любом поведении противника он проиграет не больше 1.
В рассматриваемой игре числа maxmin и minmax совпали:
maxmin = minmax = 1
(соответствующие элементы в таблице
выделены жирным шрифтом).
Стратегии % и Вь являются оптимальными стратегиями игроков А и В,
А = ^opti ®Ь = В°м
в следующем смысле:
при многократном повторении игры отказ от выбранной стратегии любым из игроков уменьшает его шансы на выигрыш (увеличивает шансы на проигрыш).
В самом деле, если игрок А будет придерживаться не стратегии A0Pb а выберет иную стратегию, например 4 то вряд ли стоит рассчитывать на то, что игрок В этого не заметит. Конечно, заметит и не преминет воспользоваться своим наблюдением. Ясно, что в этом случае он отдаст предпочтение стратегии 屏 А на выбор 4 игрок В ответит, например, так — 反• В результате отказа от стратегии Ag выигрыш игрока А уменьшится.
Если же от стратегии Bopt отказывается игрок Д выбирая, например, стратегию Д, то игрок А может ответить на это стратегией 4 и, тем самым, увеличить свой выигрыш. В случае стратегии Bg ответ игрока Л —
Тем самым, ситуация {Ag,凡} оказывается равновесной.
Еще раз подчеркнем, что элементами матрицы игры являются числа, описывающие выигрыш игрока 4 Более точно, выигрыш соответствует положительному элементу платежной матрицы, а отрицательный указывает на проигрыш игрока 4 Матрица выплат игроку В получается из матрицы игры заменой каждого ее элемента на противоположный.
Рассмотрим теперь произвольную матричную игру
(строки заданной т х «-матрицы соответствуют стратегиям игрока А, а столбцы — стратегиям игрока В) и опишем общий алгоритм, посредством которого можно определить, есть ли в этой игре ситуация равновесия или ее нет.
В теории игр предполагается, что оба игрока действуют разумно, то есть стремятся к получению максимального выигрыша, считая, что соперник действует наилучшим для себя образом.
Действия игрока А.
1-й шаг. В каждой строке матрицы А отыскивается минимальный элемент
% =гшпаЛ, i = 1,2,…,/и.
Полученные числа
°], а?,…,а 册
приписываются к заданной таблице в виде правого добавочного столбца
ап °12-°1〃
021022-a2" a2
^ml aml ••• amn ^m
Пояснение. Выбирая стратегию 4, игрок Л рассчитывает на то, что в результате действий противника (игрока В) он выиграет не меньше чем
2-й шаг. Среди чисел
а】,а?,а»1
выбирается максимальное число
а = max а z max min ал.
Подчеркнем, что число а является одним из элемейтов заданной матрицы А.
Если игрок Л будет придерживаться стратегии /通 для которой число @产 является максимальным, а = а— то при любом поведении игрока В игроку А гарантирован выигрыш, не меньший а.
Число а называется нижним значением (нижней ценой) игры.
Принцип построения стратегии игрока Л, основанный на максимизации минимальных выигрышей, называется принципом максимина, а выбираемая в соответствии с этим принципом стратегия /尸 ——максиминной стратегией игрока 4
Действия игрока А
1-й шаг. В каждом столбце матрицы А ищется максимальный элемент
Рк =шахал, 2 = 1, 2, ..., л.
Полученные числа
S1 ,S2,рп
приписываются к заданной таблице в виде нижней добавочной строки
ат\7Гат\7Гатп7Гатп7Г
ат\
7Г
ат\
7Г
атп
7Г
атп
7Г
Пояснение. Выбирая стратегию Вк, игрок В рассчитывает на то, что в результате действий противника (игрока Л) он проиграет не больше чем 仇.
шаг. Среди чисел
выбирается минимальное число
^ = ш1п^л =minmaxa^.
Выбранное число 尸 также является одним из элементов заданной матрицы А.
Если игрок В будет придерживаться стратегии 且・,для которой число 仇.является минимальным,夕=氏・,то при любом поведении игрока 4 игроку В гарантирован проигрыш, не больший 夕.
Число 尸 называется верхним значением (верхней ценой) игры.
Принцип построения стратегии игрока 5, основанный на минимизации максимальных потерь, называется принципом минимакса, а выбираемая в соответствии с этим принципом стратегия Вк* — минимаксной стратегией игрока Л
Покажем, что нижнее значение игры а и верхнее значение игры £ всегда связаны соотношением
а <р.
В самом деле, из того, что
для любого к и
для любого 厶 вытекает неравенство
a/ w 仇, справедливое для любых / и к.
Отсюда в силу произвольности / получаем, что
а = шаха, £к и (в силу произвольности 七)一
aSm^Q% = А
Замечание. Реализация описанного алгоритма требует 2тп - 1 сравнений элементов матрицы А:
(л — 1)т + т — 1 = тп—1 сравнений для определения а,
(т — 1)л + л — 1 = тл — 1
сравнений для определения 尸 и одно сравнение полученных чисел а и £• Если
а=А
или, подробнее,
max min аЛ = at.^ = min max аЛ,
то ситуация {4・,3公} оказывается равновесной, и ни один из игроков не заинтересован в том, чтобы ее нарушить (в этом нетрудно убедиться путем рассуждений, подобных проведенным при анализе игры в примере 2).
В том случае, когда нижнее значение игры равно верхнему значению игры, их общее значение называется просто значением (ценой) игры и обозначается через 第.
Значение игры совпадает с элементом at^ матрицы игры А, расположенным на пересечении /*-й строки (стратегия А^ игрока Л) и Л*-го столбца (стратегия Вк* игрока В) — минимальным в своей строке и максимальным в своем столбце.
Условие & =夕 можно записать и так:
а^ ^ark. ^oi4, / = 1, т; fc = l, ..., л.
Элемент а.^ называют седловой точкой матрицы А, а про игру говорят, что она имеет седловую точку, или точку равновесия.
Стратегии /* и 凡・,соответствующие седловой точке, называются оптимальными, а совокупность оптимальных ситуаций и значение игры — решением матричной игры с седловой точкой.
Замечание, Седловых точек в матричной игре может быть несколько, но все они имеют одно и то же значение.
Покажем это.
Пусть 4“・ и 4*н — две седловые точки матрицы А:
aik* — ai*k* S ai*k^ ”* — “尸Н —叫"•
Поочередно используя эти соотношения, имеем
Ясно, что здесь все знаки неравенства нужно заменить на знаки равенства.
Как возник термин «седловая точка»
Попробуем взглянуть на максиминную и минимаксную процедуры несколько по-иному.
Обратимся к рисунку, на котором в весьма схематичной форме изображена часть горного пейзажа, славного своими туристическими маршрутами (рис. 1а).
Группа горных туристов, взобравшись на левую вершину, намерена покорить и правую. Существует несколько возможных маршрутов. Какой из них лучше?
Попробуем порассуждать. Ясно, что изрядно подуставшим восходителям предпочтителен маршрут полегче. Существуют разные критерии оценки сложности маршрута. Мы остановимся на числовой характеристике перепада высот манящей вершины и нижней точки маршрута,
Рис. 16Рис. 16
Рис. 16
Рис. 16
принимая во внимание следующее немаловажное обстоятельство: для того чтобы взойти на новую вершину, необходимо спуститься с покоренной, и чем ниже точка спуска, тем больших усилий потребует подъем.
Поэтому разумно поступить, например, так: отметить на каждом из маршрутов самую нижнюю точку, затем выбрать тот из них, отмеченная точка которого окажется самой высокой (чем ниже опустишься, тем более трудным будет подъем) (рис. 16).
Другая группа туристов намерена преодолеть горный хребет. И здесь тоже существуют разные возможные маршруты. Их сложность также оценивается перепадом высот, и выбирается тот из маршрутов, самая верхняя точка которого оказывается самой нижней (рис. 2).
Ясно, что оба оптимальных маршрута должны проходить через точку перевала, или, как ее еще называют, седловую точку.
Схема рассуждений туристов очень напоминает ту, которая была применена для разрешения игры с разноцветными кружками.
Поиска можно интерпретировать так: на каждом из маршрутов (см. рис. 16) делаются замеры высот над уровнем моря до тех пор, пока не будет найдена точка маршрута с наименьшей высотой, которая является
оценкой сложности этого маршрута. Затем среди этих чисел выбирается наибольшее (самый легкий маршрут).
Поиску можно проинтерпретировать по схожей схеме (см. рис. 2).
Матричные игры с седловой точкой важны и интересны, однако более типичным является случай, когда применение описанного выше алгоритма приводит к неравенству
а <民
В частности, матрица описанной выше игры «чет-нечет» седловой точки не имеет (в ней а = -1, ”1).
Как показывает следующий пример, в случае а < 尸 предложенный выбор стратегий к равновесной ситуации, вообще говоря, не приводит, и при многократном повторении игры у игроков вполне могут возникнуть мотивы к нарушению рекомендаций, основанных на описанной выше последовательности действий (по поиску максиминной и минимаксной стратегий).
Пример 3. Рассмотрим 3 х 3-игру, заданную матрицей
'4 -1 -3、
-213 .
< 0 2-3,
Применив предложенный алгоритм
4 1-3-3
-2 13 -2
0 2-3-3 4 2—
находим нижнее значение игры а = -2 и соответствующую ему стратегию 4, и верхнее значение игры 尸=2 и соответствующую ему стратегию
Нетрудно убедиться в том, что пока игроки придерживаются этих стратегий, средний выигрыш при многократном повторении игры будет равен 1. Он больше нижнего значения игры, но меньше верхнего значения.
Однако если игроку В станет известно, что игрок Л придерживается стратегии Л2, он немедленно ответит на это стратегией Д и сведет выигрыш игрока Л к проигрышу -2. В свою очередь, на стратегию Д у игрока Л имеется ответная стратегия 4卜 дающая ему выигрыш 4.
Тем самым, ситуация {友,比} равновесной не является.
Смешанные стратепш
Итак, в случае, когда нижнее а и верхнее 夕 значения игры не совпадают,
игрок Л может обеспечить себе выигрыш, не меньший а, а игрок 5 имеет возможность не проиграть ему больше, чем 0・
Возникает естественный вопрос — как поступить с разностью Р -а, как разделить ее между игроками?
Предыдущие построения на этот вопрос ответа не дают — тесны рамки возможных действий игроков. И поэтому ясно, что механизм, обеспечивающий получение каждым из игроков как можно большей доли этой разности, следует искать в определенном расширении стратегических возможностей, имеющихся у игроков изначально.
Для поиска компромиссного распределения разности 0 -а между игроками будем считать, что игра повторяется многократно. Заметим, что хотя при этом правила игры не меняются (как и раньше, они описываются матрицей А), игроки в ходе повторяющихся разыгрываний могут выбирать свои стратегии произвольным образом. Если, к примеру, ихроки будут выбирать свои первоначальные, чистые, стратегии случайным образом, то это обеспечит наибольшую скрытность выбора каждым игроком своей линии поведения (результат выбора не может стать известным противнику, поскольку он до последнего момента неизвестен самому игроку).
В результате описанных действий мы переходим к смешанному расширению игры.
Случайная величина, значениями которой являются стратегии игрока, называется его смешанной стратегией.
Тем самым, задание смешанной стратегии игрока состоит в указании тех вероятностей, с которыми выбираются его чистые стратегии.
Рассмотрим произвольную т х л-игру, заданную т х л-матрицей
A=(gD・
Так как игрок Л имеет т чистых стратегий, то его смешанная стратегия может быть описана набором т неотрицательных чисел
A N 0,尸2 N 0, • • •, Рт N О, сумма которых равна 1,
公/=1・/-1
Смешанная стратегия второго игрока 3, имеющего п чистых стратегий, описывается набором п неотрицательных чисел
% NO,孰 NO,…,4 NO, сумма которых равна 1,
力宀
Замечание. Каждая чистая стратегия является частным случаем смешанной стратегии. Чистая стратегия 4» является смешанной стратегией, описываемой набором чисел ., 〃,..., в котором
0=1,円=0 (j = i);
будем обозначать его 1尸 А чистая стратегия Вк является смешанной стратегией, описываемой набором чисел %,幻,…,%, в котором
埶=1,幻=0 (/ = %);
будем обозначать его
Задав два набора
Р = {0, 02,…,Р“,Q = {%, 02,…,qJ, мы оказываемся в ситуации е смешанных стратегиях, которую коротко будем обозначать так — {Р, Q}.
Подчеркнем, что для соблюдения секретности каждый из игроков применяет свои стратегии независимо от другого игрока.
При этих условиях каждая обычная ситуация (в чистых стратегиях) {/力 且} является случайным событием и, ввиду независимости Р и Q, реализуется с вероятностью р^к.
Поэтому математическое ожидание выигрыша игрока А в смешанных стратегиях {Р, Q} будет равно
"(Р, Q) =££”&•/-1 ui
Это число и принимается за средний выигрыш игрока А в ситуации в смешанных стратегиях {Р, Q}.
Но вернемся к игре <чет-нечет» с 2 х 2-матрицей
'1 -Г
一1 1
и рассмотрим ее смешанное расширение. Выбирая стратегии игроков
р={а 1-以 Q = {q, 1-G,
вычислим средний выигрыш игрока Л. Имеем
Я(а q)=Я(а q)=0< ^<1, 0<^<1.0< ^<1, 0<^<1.
Я(а q)=
Я(а q)=
0< ^<1, 0<^<1.
0< ^<1, 0<^<1.
Графиком этой функции является гиперболический параболоид, седловая точка которого имеет координаты (рис. 3)
Определение. Стратегии
Р'={", Р;,…,Р:}, Q'={q;, q;,…,q;}
называются оптимальными смешанными стратегиями игроков Л и 5 соответственно, если для любых стратегий Р н Q выполнено соотношение
Я(Р, Q・)wa(P\ Q・)wHp, Q),
а ситуация {Р*, Q*} называется равновесной.
Выписанные неравенства можно пояснить так: стратегия Р* (стратегия Q*) оптимальна, если отклонение от нее игрока А (3) при условии, что игрок В (Л) сохраняет свой выбор, приводит к тому, что средний выигрыш отклонившегося игрока не может увеличиться (а скорее уменьшится). Тем самым, получается, что если равновесная ситуация существует, то отклонение от нее невыгодно самому игроку.
Набор (Р*, Q*, г), состоящий из оптимальных смешанных стратегий Р* и Q* игроков А и В и значения игры
”H(p・,q・),
называется решением матричной игры в смешанных стратегиях.
Естественно, возникает первый ключевой вопрос: какие матричные игры имеют решение в смешанных стратегиях?
Ответ на него дает следующая основная теорема теории матричных игр.
ТЕОРЕМА (Дж. фон Нейман) [2]. Для матричной игры с любой матрицей А величины
тахпипЯ(Р, Q), min max Я(Р, Q)
существуют и равны между собой
тдхтп1Я(Р, Q) = min тахЯ(Р, Q).
Более того, существует хотя бы одна ситуация в смешанных стратегиях {Р*, Q*}, для которой выполняется соотношение
шахт1пЯ(Р, Q)= Н(Р\ Q・) = n^nm^xH(P, Q)・
Замечание 7. Последнее равенство означает, что ситуация {P*,Q*} является равновесной, а набор (Р*, Q*, Я(Р\ Q*))——оптимальным решением матричной игры.
Замечание 2 Экстремальные величины тах1тпЯ(Р, Q) и min max Я(Р, Q) всегда существуют вследствие того, что функция 欢Р, G) непрерывна на ограниченном замкнутом множестве
А ^0, 公,=1, %2 0, £%=1・z=i%=1
Для содержательного ответа на второй ключевой вопрос ——как находить решение матричной игры, зная, что оно существует — необходимо сначала провести определенную подготовительную работу.
В предыдущих главах мы уже видели, что во многих задачах, где существование оптимального решения не вызывает никаких сомнений, его поиск нередко своеобразен и затруднителен. Искать оптимальное решение задачи, опираясь непосредственно на определение, сдержанно говоря, неразумно. Поэтому совершенно естественным выглядит желание сделать этот поиск как можно более простым и понятным.
Обоснование алгоритмов, посредством которых ищется оптимальное решение в смешанном расширении матричной игры, требует более глубокого проникновения в суть задачи и потому опирается на ряд не
слишком очевидных утверждений, которые позволяют свести поиск оптимального решения к разумному перебору.
Здесь мы их сформулируем и докажем.
Первое из утверждений повышает роль чистых стратегий (выводит их вперед) в непосредственном поиске оптимального решения.
Второе утверждение вместе со следствием из него показывает, что для поиска значения игры существуют достаточно простые формулы.
Третье устанавливает еще более жесткую связь между искомым решением и чистыми стратегиями игроков.
ТЕОРЕМА 1. Для того чтобы набор (Р*, Q*, *) был решением матричной игры в смешанных стратегиях, необходимо и достаточно, чтобы выполнялось условие
H(L,Q・)s第SH(P\1J, i = l,…,也 Л = 1,...,л. (*)
Доказательство начнем с необходимости.
Пусть (Р*, Q*,第)——решение матричной игры в смешанных стратегиях. Тогда для любых наборов Р = {рь ..., /Ц и Q = {%,•••, %} выполнены неравенства
Я(Р, ^Н^\ Q・)= i/WH(P・,Q),справедливые, в частности, и для любых чистых стратегий игроков
H(^i9^)<v^H(P\lk\
Достаточность. Предположим выполненным условие
^(1Z,Q*)< v^ Я(Р*,1Л), z =七=1,
и воспользуемся равенством
не Q)=%"(L,Q),
(здесь Р =仇,...,%} — произвольная стратегия игрока Л), которое доказывается совсем просто:
а(Р, Q)= ££”必=£仍应成j = %H(L,Q).z«i misi 、左=i/ /«1
Домножим неравенства
a(L,Q・)wy, i = l,…,叫
на pt и, сложив их, получим, что
公声(L,q・)$%=k misi
Откуда в силу того, что
公/(L,q・)=公/应网力=££w闯;=H(P,Q)
/=1z=i \jt=i / z=i 左=1
получаем, что
Я(Р, Q*)<v.
Взяв произвольную стратегию Q = {%•••, %} игрока В и действуя подобным же образом, домножим неравенства
v<H(?\lk)9 * =
на qk, сложим их и получим, что
v^v^qk<HQ?\ Q).
Тем самым
Я(Р,(Г)0第SHF, Q).
Положив здесь Р = Р*, Q = Q*, получим, что
Я(Р\ q・)= ”
и значит (Р*, Q*,第)一решение в смешанных стратегиях.
ТЕОРЕМА 2. Для любой матричной игры справедливы следующие два соотношения:
пипЯ(Р, Q) = m^iH(P,l)max Я(Р, Q) = max H(L, Q).
Докажем первую серию равенств.
То, что выражение в левой части не превосходит правой, пппЯф, Q)<imn^(P,lJ
легко следует из того, что минимум функции Я(Р, Q) слева ищется на большем множестве (всех стратегий игрока 3), а справа на меньшем множестве (только его чистых стратегий).
Введем обозначение
%。=m广唳 и оценим функцию А(Р, Q) снизу. Имеем / л\m / л\
a(₽, Q)=2?
/=i U=i/ /=1 \е/
N £°询 A • £% = £°% 化• • 1 = H(P,儿)N m戸 Я(Р, 1J i=l左=1i=l
Отсюда
шшЯ(Р, Q)>min^(P, 1.).
Сопоставив первое из доказанных неравенств с последним, убеждаемся в справедливости утверждения.
Справедливость второй серии соотношений доказывается аналогично.
Следствие.
I г = тахпипЯ(Р, 1Л) = nunmax Я(^, Q).
ТЕОРЕМА 3. Пусть набор (Р*, Q*, v) является решением матричной игры в смешанных стратегиях. Тогда
из того, что р;>0, вытекает равенство H(L,Q*) = %
из того, что q;>0, вытекает равенство Н(Р\ 1左)=第・
Доказательство первого из сформулированных утверждений будем вести от противного.
Вследствие того что набор (Р*, Q*,第)——решение матричной игры в смешанных стратегиях, для любого i выполняются неравенства
ЯЦ^Р*)^ г, / = 1,...,/л.
Предположим, что существует номер /*, для которого
Pi. >0и соответствующее неравенство является строгимwq・)vk
Умножим обе части каждого из неравенств ^(1Z,Q*)< v на р] и, сложив (в силу сделанного предположения о том, что одно из них является строгим), получим, что
Я(Р*, Q・)v第=Н(Р・,Q)
Противоречивое соотношение возникло вследствие предположения о том, что для одной из положительных вероятностей (р;) оптимальной стратегии игрока А соответствующее значение его среднего выигрыша (H(L. ,Q*)) меньше значения игры (у). Значит, это предположение не верно, и для любой положительной вероятности из оптимального набора соответствующее значение среднего выигрыша игрока Л равно значению игры.
Второе утверждение доказывается посредством аналогичных рассуждений.
Следствие, Пусть (Р*, Q*,第)一решение матричной игры в смешанных стратегиях. Тогда
из того, что H(L,Q・)v% вытекает равенство р;=0,
из того, что Н(Р\ 1^)>г, вытекает равенство q;=0・
В этом последнем скоплении равенств, по существу, и лежат истоки, питающие методы построения решений матричных игр. Опишем некоторые из них.
Методы решения матричных игр
Начнем с матричных игр, число стратегий хотя бы одного из игроков в которых равно двум.
Для построения решений 2 х п-птх 2-игр существует эффективный метод, основанный на простых геометрических соображениях и, конечно, на доказанных выше утверждениях. Этот метод называют наглядно-графическим.
2 х л-игры
Пусть
卜Г %2…。22…"2" 丿
—матрица 2 х л-игры.
Согласно следствию из теоремы 2
г = max min(olkp + a2k(^-р))・
Поэтому отыскание значения игры и оптимального значения р для игрока Л равносильно определению значения р, при котором функция
т!п(анр + ап(1-^)), (☆)
достигает своего максимального значения, которое равно v.
Опишем общую схему решения этой задачи, приводящую к искомому результату.
Максимум функции (☆) проще всего найти, построив ее график.
Для этого поступим следующим образом.
Предположим, что игрок Л выбрал смешанную стратегию Р = ={р, 1 - ^}, а игрок В —— к-ю чистую стратегию 1 匕 ^ = 1, 2, ..., л. Тогда средний выигрыш игрока Л в ситуации {Р, 1J оказывается равным
化):w=%Р+ "2式1一办
На плоскости (р, w) это уравнение описывает прямую. Тем самым, каждой чистой стратегии игрока В будет соответствовать своя прямая.
Поэтому для построеия графика функции (☆) сначала на плоскости (р, w) последовательно и аккуратно рисуются все прямые
(七):" =%心 + "2斤(1一p),% = L 2,…,п
(рис. 4). Затем для каждого значения р в полосе 0 р < 1 путем визуального сравнения соответствующих ему значений w на каждой из построенных прямых определяется и отмечается наименьшее (рис. 5).
В результате описанной процедуры получается ломаная, которая и является графиком функции (☆) (выделена жирным на рис. 6). В рассматриваемой полосе эта ломаная как бы огибает снизу все семейство построенных прямых, и по этой причине ее принято называть нижней огибающей.
Верхняя точка построенной нижней огибающей определяет и значение игры — г и оптимальную стратегию игрока А — Р* = {р*, 1 - р} (рис. 7).
решения 2 х л-игры на конкретномрешения 2 х л-игры на конкретномОпробуем описанную схему примере.
решения 2 х л-игры на конкретном
решения 2 х л-игры на конкретном
заданнуюзаданную2 х 6-матрицей2 х 6-матрицей'6 4—2 —1'6 4—2 —13 1 -11 053 1 -11 050、0、Пример 4. Рассмотрим игру,
заданную
заданную
2 х 6-матрицей
2 х 6-матрицей
'6 4
—2 —1
'6 4
—2 —1
3 1 -1
1 05
3 1 -1
1 05
0、
0、
Решение.
1-й шаг. Анализ игры на наличие седловой точки. Нижнее значение игры равно -1, верхнее значение игры равно 1. Седловой точки нет. Решение игры нужно искать в смешанных стратегиях.
2-й шаг. Вычисление средних выигрышей игрока А (проводится при условии, что игрок В выбирает только чистые стратегии).
Из таблицы
р 6431-10
1-р -2-1105 4
легко получаем
(1): w = 6p-2(1-р), (2): w=4p-(l-p), (3): w = 3p + (l-p), (4): w= д
(5): w = r + 5(l-p), (6): w= «1—p).
3・"шаг. Построение нижней огибающей.
Аккуратно строим на координатной плоскости (р, w) все шесть прямых, уравнения которых получены на 2-м шаге (рис. 8), и находим нижнюю огибающую.
Рис. 8Рис. 8
Рис. 8
Рис. 8
Обращаем внимание читателя на то, что масштабы по осям р и w различны: в любой матричной игре ширина вертикальной полосы одна и та же (равна 1), в то время как w может принимать очень разные значения.
4-й шаг. Отыскание значения игры “ оптимальной смешанной стратегии игрока 4
При аккуратном построении нижней огибающей нетрудно определить, точкой пересечения каких двух из построенных шести прямых является ее наивысшая точка. В данном случае это прямые (4) и (5), заданные уравнениями з=риз = -р + 5(1-р) соответственно. Решая систему уравнений
w = А
w = -p +5(1-р),
получаем
5757
5
7
5
7
(рис. 9).
Тем самым, значение игры у и оптимальная стратегия Р* игрока Л найдены:
Собственно, этим и заканчивается решение игры для игрока Л, поскольку его в первую очередь интересует отыскание собственной оптимальной стратегии и ожидаемого наилучшего гарантированного среднего результата.
Замечание, Решающий матричную игру обычно отождествляет себя с одним из игроков (как правило, это игрок Л), считая другого своим противником. Это связано еще и с тем, что в некоторых случаях основное внимание уделяется поиску оптимальных стратегий только игрока 4 а стратегии противника могут вообще не интересовать исследователя.
Вместе с тем, в целом ряде случаев оказывается важным знать оптимальные смешанные стратегии обоих игроков.
Покажем теперь, как, зная оптимальную смешанную стратегию игрока Л из примера 4, отыскать оптимальную смешанную стратегию игрока В и тем самым найти полное решение игры.
Прежде всего заметим, что для 1-й, 2-й, 3-й и 6-й чистых стратегий игрока В выполняются неравенства
Я(Р*, L)>第 Jt=l, 2, 3, 6
(см. рис. 9).
Согласно следствию из теоремы 3, завершающему серию утверждений предыдущего раздела, сответствующие значения q; в искомой оптимальной смешанной стратегии
Q = {%,02,03,04,q5,06}
игрока Б должны быть равны нулю. Сказанное можно представить так:
q;=0, q;=0, q;=0, q;=q, q;=lf 広=。
(из шести чистых стратегий игрока В выделены стратегии В4 и Л5, соответствующие прямым (4) и (5), пересечение которых определяет наивысшую точку нижней огибающей).
Приравнивая любой из двух средних выигрышей игрока В (при условии, что игрок Л выбирает только чистые стратегии), отвечающий предложенной смешанной стратегии
0 0 0 q 1—q 0~4 3 1 ~-1 0
-2-1105 4
к значению игры
q - (1- q)=今 5(1- q) = ^,
(в обоих случаях) получаем, что
・6q =7
Полное решение игры имеет следующий вид:
Р•唁,|s Q*=|o,O,O,|,|,o}, у*
В зависимости от формы нижней огибающей, может представиться несколько возможностей.
А. Нижняя огибающая имеет ровно одну наивысшую точку (р*, w*)・
0 < / < 1 и в наивысшей точке нижней огибающей пересекаются ровно две прямые. Тогда одна из этих прямых (Ья) имеет положительный наклон, а другая (/-я) — отрицательный (рис. 10), и оптимальная смешанная стратегия игрока В получается, если положить
q;=q, q; = i-q, q;=°,丿工七,丿工/,
где q — решение уравнения
% 也+%/Q-q)=42七q+%/Q-q)・
0 < p* < 1 и в наивысшей точке нижней огибающей пересекаются по меньшей мере три прямые. Выберем прямую с наибольшим положи-
тельным наклоном (Ью) и прямую с наибольшим отрицательным наклоном (/-я). Каждая из этих прямых содержит звено нижней огибающей (рис. 11). Оптимальная смешанная стратегия игрока В получается, если положить
q; = q, q; = i-q, q;=o,丿工左,丿工厶
где q — решение уравнения
%国 + 4/(1- 0)= a 2kq +02,(1一办
/ = 0 (оптимальная стратегия игрока Л — это его чистая стратегия 自).Тогда игроку В выгодно применять чистую стратегию 1七 соответствующую номеру Г прямой, проходящей через точку (0,第)и имеющей наибольший отрицательный наклон (рис. 12).
р* = 1 (оптимальная стратегия игрока Л — это его чистая стратегия 4). Тогда оптимальной для игрока В является чистая стратегия 1Г, соответствующая номеру %* прямой, проходящей через точку (1, v) и имеющей наибольший положительный наклон (рис. 13).
Рис. 13Рис. 13Рис. 12
Рис. 13
Рис. 13
В. Нижняя огибающая содер^ жит горизонтальный участок, соответствующий чистой стратегии 1Г игрока Д которая и является оптимальной для него (рис. 14).
Замечание, Ситуацию с наличием лишь двух конкурирующих стратегий игрока Л нельзя считать надуманной. Она возникает сравнительно часто. На
пример, в случае, если нужно сравнить два образца некоторого изделия (скажем, старого и модернизированного) с целью выяснения возможности замены, это весьма удобно сделать при помощи матрицы 2 х л-игры.
т х 2-игры
Пусть теперь в матричной игре две чистые стратегии имеет игрок В, а число чистых стратегий у игрока Л произвольно (равно т).
Это означает, что матрица игры имеет вид
ап 々2
"21022
\^/я1”/я2/
Есть два способа решения этой игры:
путем применения рассуждений, во многом напоминающих те, что описаны для 2 х л-игры,
путем непосредственного сведения к 2 х л-игре.
Способ 7■应.Пусть Q = {孙 1 - q} — произвольная смешанная стратегия игрока В. Если игрок Л выбирает i-ю чистую стратегию, /= 1,2,..., т, то средний выигрыш игрока В в ситуации {1力 Q} будет равен
(力*=%闯 + 42(1-0),i= L2,…,/n. (*)
Зависимость этого выигрыша от переменной q описывается прямой.
Графиком функции
田软(勺闯+/2"0))
является верхняя огибающая семейства прямых (*) в полосе 0 w q w L соответствующих чистым стратегиям игрока Л (рис. 15).
Абсциссой нижней точки подученной ломаной будет значение q\ определяющее оптимальную смешанную стратегию игрока Д а ординатой г ——значение игры.
Замечание. Отыскание оптимальной смешанной стратегии игрока А проводится по той же
схеме, которая позволяет нахо-Рис 15
дать оптимальную смешанную стратегию игрока 3 в 2 х л-игре.
Способ 2・й. Рассмотрим 2 х /л-игру с матрицей А, которая получается из матрицы А /л х 2-игры путем транспонирования и замены всех элементов на противоположные:
方火=一"火,i = L …,〃i; Л = 1,...,Л.
Игрок А в этой новой игре имеет все те же интересы, что и игрок В в исходной игре, а интересы игрока В полностью совпадают с интересами игрока Л исходной игры. Найденные стратегии игроков Л и 5 суть стратегии игроков В п А соответственно. Что. касается значения v новой игры, то оно противоположно значению 第 исходной игры,
v = -v.
т х л-игры
В принципе решение любой матричной игры сводится к решению стандартной задачи линейного программирования и, тем самым, может быть найдено соответствующими методами. При этом требуемый объем вычислений напрямую зависит от числа чистых стратегий игроков (растет с его увеличением и, значит, с увеличением размеров матрицы А игры). Поэтому любые приемы предварительного анализа игры, позволяющие уменьшать размеры матрицы игры или еще как-то упрощать эту матрицу, не нанося непоправимого ущерба решению, играют на практике весьма важную роль.
Правило доминирования
В целом ряде случаев анализ платежной матрицы обнаруживает, что Некоторые чистые стратегии не могут внести никакого вклада в искомые оптимальные смешанные стратегии и потому их можно не принимать
в расчет. Отбрасывание подобных стратегий позволяет заменять первоначальную матрицу игры на матрицу меньших размеров.
Опишем одну из таких возможностей более подробно.
Будем говорить, что f-я строка т х л-матрицы А
не больше у-й строки этой матрицы aj\ ап …ajn,
если одновременно выполнены следующие п неравенств
При этом говорят также, что J-я строка доминирует /-ю строку, или что стратегия 4 игрока А доминирует стратегию 4・
Замечание, Игрок А поступит разумно, если будет избегать стратегий, которым в матрице игры отвечают доминируемые строки.
Если в матрице А одна из строк (/-я) доминирует другую строку (/-ю), то число строк в матрице А можно уменьшить путем отбрасывания доминируемой строки (/-й).
Далее, будем говорить, что Ьй столбец матрицы А
а1к
а2к
атк
не меньше /-го столбца этой матрицы
%а21
если одновременно выполнены следующие т неравенств
а\к — а\п а2к — а2П “献之“《/・
При этом говорят также, что /-й столбец доминирует Л-й столбец или что стратегия 月 игрока В доминирует стратегию Вк.
Замечание. Игрок В поступит разумно, если будет избегать стратегий, которым в матрице игры отвечают доминируемые столбцы.
Если в матрице А один из столбцов (/-й) доминирует другой столбец (jt-й), то число столбцов в матрице А можно уменьшить путем отбрасывания доминируемого столбца (Л-го).
Важное замечание. Оптимальные смешанные стратегии в игре с матрицей, полученной усечением исходной за счет доминируемых строк и столбцов, дадут оптимальное решение и в исходной игре; при этом доминируемые чистые стратегии игроков в смешении не участвуют — соответствующие им вероятности следует взять равными нулю.
Пример 5. Рассмотрим игру с матрицей
02n02n
02n
02n
Сравнивая строки матрицы, видим, что 1-я строка совпадает с 4-й строкой, или, что то же, стратегия 4 дублирует стратегию 4・
Это позволяет, не нанося ущерба решению, одну из этих строк
вычеркнуть
'-1 0 2 Г-2010<21-1 -2,
Поэлементно сравнивая 1-ю и 2-ю строки полученной матрицы, замечаем, что 1-я строка доминирует 2-ю строку, или, что то же, стратегия 41 доминирует стратегию Л2. Это вновь позволяет уменьшить число строк матрицы —
-2/
Замечая, что 4-й столбец полученной матрицы доминирует ее 3-й столбец, приходим к игре с 2 х 3-матрицей
Решая эту 2 х 3-игру наглядно-графическим методом, находим ее решение — значение игры и оптимальные смешанные стратегии игроков 4 и 3
第=0,第=0,岡{今修岡{今修
第=0,
第=0,
岡{今修
岡{今修
Возвращаясь к исходной 4 х 4-игре, получаем окончательный ответ:_ _• [2 _ 1 _1 _ • [ 1 _ _ 1第=0, Р =|-,o,-,ok Q =|j,0,0,-4
Замечание. При отбрасывании доминируемых строк и столбцов некоторые из оптимальных стратегий могут быть потеряны. Однако значение игры не изменится, и по усеченной матрице может быть найдена хотя бы одна пара оптимальных смешанных стратегий.
Аффинное правило
Если элементы матриц А и С связаны равенствами
с火=4〃火+〃, / = 1,2,...,т; 2 = 1,2,•••,〃,
где А > 0, а 〃一 произвольно, то оптимальные стратегии у соответствующих матричных игр имеют одинаковые равновесные ситуации (либо в чистых, либо в смешанных стратегиях), а их значения удовлетворяют следующему условию
第 с =ЬА +〃•
Пример 6. Элементы матриц
связаны равенствами
%=3 •耿+ 5,/= 1, 2; 2=1, 2,3.
Поэтому значение игры с матрицей С легко вычисляется:
第 с =3”а +5=3・0 + 5 = 5
(см. пример 5).
Основные этапы поиска решения матричной игры
7-й этап ——проверка наличия (или отсутствия) равновесия в чистых стратегиях (при наличии равновесной ситуации указываются соответствующие оптимальные чистые стратегии игроков и значение игры).
2-й этап — поиск доминирующих стратегий и (в случае успеха этого поиска) отбрасывание доминируемых строк и столбцов в исходной матрице игры.
J-w этап — замена игры на ее смешанное расширение и отыскание оптимальных смешанных стратегий и значения игры.
Сведение решения матричной игры к задаче линейного программирования
Рассмотрим т х л-игру с матрицей
А = (〃*)•
Без ограничения общности можно считать, что все элементы матрицы А положительны (этого всегда можно добиться, пользуясь аффинным правилом). Тогда искомое значение игры 第—положительное число.
Интересы игрока 4
Из утверждений о свойствах оптимальных смешанных стратегий игроков вытекает, что при любой чистой стратегии к игрока Д Л = 1,..., л, оптимальная смешанная стратегия Р =仇,•••,%} игрока А обеспечивает его средний выигрыш, не меньший 第.Иными словами, выполняются соотношения
£唳口 >v,左=1, ..., л, /=1
»i=l, р. >0, / = 1, т,
которые с учетом обозначений
можно записать так:
£腺х, > 1,无=1,…,л,
Vxz = -, x; >0, i = L …,m.
Поскольку игрок Л стремится максимально увеличить свой гарантированный средний выигрыш, задача отыскания решения матричной игры сводится к следующей задаче:
Найти неотрицательные величины хь ..., хт, удовлетворяющие неравенствам
% =「••,л, и такие, что их сумма минимальна
,巧—min.
Интересы игрока А
Аналогичным образом заключаем, что оптимальная смешанная стратегия Q = {^,..., %} игрока В при любой чистой стратегии 1; игрока А обеспечивает его средний выигрыш, не больший 第.Иными словами, выполняются соотношения
^а^к ^ г, / = 1, ..., т, я
2%=l>о, %=1,
hl
которые с учетом обозначений
Як .1
Л =—,七=L …,〃, можно записать так
^а^ук ^ 1, / = 1, т,
2九=一,九 N°,j=L %
Поскольку игрок В стремится сделать гарантированный средний выигрыш игрока А минимально возможным, задача отыскания решения матричной игры сводится к следующей задаче:
Найти неотрицательные величины уi,・••, уп, удовлетворяющие неравенствам
^аЛУк ^ 1, i = L …,П
“ такие, что их сумма максимальна
»「max.
Тем самым, мы получаем следующий важный результат.
ТЕОРЕМА. Решение матричной игры с положительной матрицей А =(。火)равносильно решению двойственных задач линейного программирования.
Задача А: найти неотрицательные величины хь ...,xw, удовлетворяющие неравенствам
2味修 >1, Z = L …,M, /«1
и такие, что их сумма минимальна,
2修-> min. /«1
Задача В: найти неотрицательные величины уь ...,ул, удовлетворяющие неравенствам
и такие, что их сумма максимальна, £у「тах. к^\
При этом значение игры
1
V =—,寸
где 0 — величина, обратная общему значению оптимальных сумме=%; = %,
/Е hl
а оптимальные значения р] и q; связаны с оптимальными х; и у ; равенствами
•* Ук ..
Замечание. Выводя теорему о разрешимости любой матричной игры из теоремы двойственности линейного программирования, мы обращаем реальную историческую последовательность событий. Дело в том, что фон Нейман доказал свою теорему о минимаксе задолго до появления линейного программирования. Более того, первое доказательство теоремы двойственности, предложенное Гейлом, Куном и Таккером в 1951 году, опиралось на результаты фон Неймана ([3], с 403).
Итерационный метод решения матричных игр
Опишем метод отыскания решения матричной игры — значения игры и оптимальных смешанных стратегий, в известной степени верно отражающий некоторую реальную ситуацию накопления опыта постепенной выработки игроками хороших стратегий в результате многих повторений конфликтной ситуации. Основная идея этого метода заключается в том, чтобы мысленно смоделировать реальное практическое обучение игроков в ходе самой игры, когда каждый из них на опыте прощупывает способ поведения противника и старается отвечать на него наиболее выгодным для себя образом. Иными словами, всякий раз при возобновлении игры игрок выбирает наиболее выгодную для себя стратегию, опираясь на предыдущий выбор противника.
Метод был предложен Г. Брауном в 1949 году [4]. Позже, в 1950 году, Дж. Робинсон опубликовала доказательство его сходимости (см. [5], с. 27).
Проиллюстрируем итерационный метод Брауна-Робинсон на примере игры, заданной матрицей
(здесь maxmin =0, minmax =2, следовательно, седловой точки нет).
Опишем правила выбора ходов игроками, предположив, для определенности, что начинает игрок 4
1-й шаг.
Ход игрока Л — стратегия 4
(2 0 3).
2・й шаг.
Игрок 5 выбирает свою стратегию так, чтобы выигрыш игрока Л был минимален (отмечен выше полужирным шрифтом).
Ход игрока В — стратегия 3?
Игрок Л выбирает свою стратегию так, чтобы его выигрыш при стратегии 昆 игрока В был максимален (отаечен выше полужирным шрифтом).
Ход игрока Л — стратегия /?
(1 3 -3).
Игрок В выбирает свою стратегию так, чтобы накопленный выигрыш игрока Л при стратегиях 4 и &
(2 0 3) + (1 3 - 3) = (3 3 0), был минимален.
5-й шаг.
Ход игрока В — стратегия 53
Игрок Л выбирает свою стратегию так, чтобы его накопленный выигрыш при стратегиях 员 и 凡 игрока 3,
был максимален.
Ход игрока Л — стратегия 4
(2 0 3).
Игрок В выбирает свою стратегию так, чтобы накопленный выигрыш игрока Л при стратегиях Ль Л2 и Ль
(3 3 0) + (2 0 3) = (5 3 3), был минимален.
Ход игрока В — стратегия Б2
и т. д.
Разобьем последовательные ходы игроков Л и 5 на пары (ход игрока А, ход итрока В) и запишем результаты первых десяти шагов в таблице
п
&
且
名
М〃)1
&
4
%2
大〃)1
1 №0一
1
1
2
0
3
0.00
2
0
3
3.00
1.50
2
2
3
3
0
0.00 1
з
3
0
1.50
0.75
3
1
5
3
3
1.00
2
3
3
1.00
1.00
4
1
7
3
6
0.75
2
3
6
1.50
1.12
5
2
8
6
3
0.60
3
6
3
1.20
0.90
6
1
10
6
6
1.00
2
6
6
1.00
1 i.oo
7
1
12
6
9
0.86
2
6
9
1.44
1.15
8
2
13
9
6
0.75
3
9
6
1.13
0.93
9
1
15
9
9
1.00
2
9
9
1.00
1 1.00
10
1
17
9
12
0.90
2
9
12
1.20
1 1.05
• ••
...
•••
1…
1 二
Описание таблицы.
1-й столбец ——номер п шага (пары последовательных ходов игроков Л и Л),
2-й столбец — номер / стратегии, выбранной игроком Л,
3-й столбец — накопленный суммарный выигрыш игрока Л за первые п шагов при выборе игроком В стратегии 瓦
4-й столбец ——накопленный суммарный выигрыш игрока Л за первые п шагов при выборе игроком В стратегии В2,
5-й столбец — накопленный суммарный выигрыш игрока А за первые п шагов при выборе игроком В стратегии 53 (минимальный из этих выигрышей выделяется полужирным шрифтом),
6-й столбец — минимальный средний выигрыш игрока Л, равный минимальному накопленному им выигрышу за первые п шагов, деленному на число этих шагов,
7-й столбец ——номер 左 стратегии, выбранной игроком 3,
8-й столбец ——накопленный суммарный выигрыш игрока Л за первые л шагов при выборе им стратегии Ль
9-й столбец — накопленный суммарный выигрыш игрока А за первые п шагов при выборе им стратегии Л2 (максимальный из этих выигрышей выделяется полужирным шрифтом),
10-й столбец — максимальный средний выигрыш игрока 4 равный максимальному накопленному им выигрышу за первые п шагов, деленному на число этих шагов,
11-й столбец ——среднее арифметическое минимального среднего выигрыша и максимального среднего выигрыша игрока А.
Значение игры определяется приближенно по окончании любого из шагов.
Например, за приближенное значение игры можно взять среднее арифметическое 第(〃),полученное на л-м шаге.
Смешанные стратегии противников определяются частотами появления чистых стратегий.
Например, после 9-го шага имеем
第(9) = 1.00, Р9={綺,Q9={。,続,
а после 10-го —
岬)=叱耳。={訳},Q严{哈普
Так как эта игра легко решается графически, полезно сравнить полученные результаты с точными
Сделаем несколько замечаний.
Замечание 1. При увеличении числа шагов все три величины 第.(〃), 沙*(〃) и 第(〃)будут приближаться к значению игры 第,но среднее арифметическое 第(〃)будет приближаться к v сравнительно быстрее.
Замечание 2. Хотя сходимость итераций весьма медленна, тем не менее, даже такой небольшой расчет всегда дает возможность находить ориентировочное значение игры и доли чистых стратегий.
Замечание 3. Сравнительно медленную скорость сходимости можно объяснить целым рядом причин. Укажем одну из них, психологически наиболее интересную. Если, к примеру, игрок А уже получил оптимальную смешанную стратегию, то он не склонен останавливаться на ней. Вовсе нет — он продолжит попытки выиграть у противника В побольше, особенно если последний еще далек от своей оптимальной смешанной стратегии. Тем самым, игрок Л может невольно ухудшить свое положение.
Замечание 4. Отметим два основных преимущества описанного метода:
итерационный метод прост и одновременно универсален (при его помощи можно легко найти приближенное решение любой матричной игры),
объем и сложность вычислений сравнительно слабо растут по мере увеличения числа стратегий игроков (размеров матрицы игры).
Примеры задач, сводимых к матричным играм
В чистом виде антагонистические конфликты встречаются редко (разве только в боевых действиях и в спортивных состязаниях). Однако довольно часто конфликты, в которых интересы сторон можно воспринимать как противоположные, при допущении, что множество способов действия сторон конечно, вполне успешно моделируются матричными играми.
Рассмотрим несколько конкретных ситуаций.
Планирование посева
Сельскохозяйственное предприятие имеет возможность выращивать две культуры ——/【и Л2. Необходимо определить, как сеять эти культуры, если при прочих равных условиях их урожаи зависят от погоды, а план посева должен обеспечить наибольший доход (прибыль от реализации выращенной культуры определяется полученным объемом). В зоне рискованного земледелия (а таковой является большая часть России) планирование посева должно осуществляться с учетом наименее благоприятного состояния погоды.
Таким образом, одной из сторон выступает сельскохозяйственное предприятие, заинтересованное в том, чтобы получить наибольший доход (игрок Л), а другой стороной ——природа, способная навредить сельскохозяйственному предприятию в максимальной степени (от нее зависят погодные условия) и преследующая тем самым прямо противоположные цели (игрок 3).
Принятие природы за противника равносильно планированию посева с учетом наиболее неблагоприятных условий; если же погодные условия окажутся благоприятными, то выбранный план даст возможность увеличить доход.
На самом деле природа никакой цели перед собой не ставит, вполне равнодушно воспринимая успехи и неудачи сельхозпредприятия. Но здесь нам удобно считать так.
Налицо антагонистический конфликт, в котором у игрока Л две стратегии — Л1 и Л2, а у игрока В — три: Д (засушливое лето),阴(нормальное лето) и Вз (дождливое лето).
В качестве выигрыша игрока Л возьмем прибыль от реализации и будем считать, что расчеты прибыли сельскохозяйственного предприятия (в условных денежных единицах) в зависимости от состояний погоды сведены в следующую матрицу:
Нетрудно заметить, что седловой точки у этой матрицы нет. Поэтому оптимальная стратегия игрока Л будет смешанной. Применяя наглядно-графический метод, получаем
Замечание, Здесь мы столкнулись со сравнительно редкой ситуацией, когда оптимальная смешанная стратегия одного из игроков допускает так называемую физическую реализацию. Полученное решение сельскохозяйственное предприятие может использовать так:
на 3/5 всех площадей выращивать культуру 4,
на 2/5 всех площадей выращивать культуру 友
и получать прибыль в размере, не меньшем 4 1/5 условных денежных единиц.
Локальный конфликт
Рассмотрим войну между двумя очень небольшими государствами А и В, которая ведется в течение 30 дней.
Для бомбардировки моста — важного военного объекта страны В — страна Л использует оба имеющихся у нее самолета, и каждый самолет совершает один полет в день по одному из двух воздушных маршрутов, соединяющих эти страны.
У страны В есть два зенитных орудия, при помощи которых можно сбивать самолеты страны 4
Если самолет собьют, то некая третья страна к утру следующего дня поставит стране Л новый самолет.
Разрушенный мост также неизменно восстанавливается к угру следующего дня.
Страна Л может послать самолеты либо по одному маршруту, либо по разным.
Страна Сможет поместить либо обе зенитки на одном маршруте, либо по одной зенитке на каждый маршрут.
Если один самолет летит по маршруту, на котором расположена одна зенитка, то этот самолет непременно будет сбит.
Если два самолета летят по маршруту, на котором расположены две зенитки, то оба самолета непременно будут сбиты.
Если два самолета летят по маршруту, на котором расположена одна зенитка, то сбит будет только один самолет.
Если самолет доберется до цели, то мост будет уничтожен. Тем самым, у страны А есть две стратегии:
послать самолеты по разным маршрутам — 4,
послать самолеты по одному маршруту —友・ У страны В также две стратегии:
поместить зенитки на разных маршрутах —瓦
поместить зенитки на одном маршруте — В?.
Если страна А выберет стратегию Ль а страна 3 — стратегию 5Ь то страна А получит нулевой выигрыш, так как ни один из самолетов не достигнет цели.
Если страна А выберет стратегию Л2, а страна В — стратегию Д, то один самолет достигнет цели и вероятность разрушения моста будет равна 1.
Если страна А выберет стратегию 4, а страна 5 — стратегию Д, то вновь один самолет достигнет цели и вероятность разрушения моста будет равна 1.
Если страна А выберет стратегию 4, а страна В — стратегию & то страна А с вероятностью 1/2 выберет маршрут, на котором установлены зенитки, и, следовательно, цель будет уничтожена с вероятностью 1/2.
Подведем итоги проведенного анализа в стандартной игровой форме:
При помощи наглядно-графического метода получаем оптимальные смешанные стратегии игроков и значение игры
Это означает, что если страна А будет посылать самолеты по разным маршрутам в течение десяти дней из тридцати, отпущенных на войну (и, значит, по одному маршруту в течение двадцати дней), то в среднем страна А будет иметь 66,7% удачных исходов (мост будет находиться в нерабочем состоянии). Воспользовавшись для своих зениток предложенным выбором, страна В не позволит бомбить мост чаще, чем в 33,3% случаев.
Некоторые итоги
Матричные игры моделируют конфликтные ситуации, в которых каждая из сторон-участниц делает свой ход одновременно со второй сто-
роной. При этом наибольший интерес представляет случай, когда игра не заканчивается сразу же после совершения игроками одной такой пары одновременных ходов, а повторяется многократно, причем считается, что перед каждым возобновлением игры игроки не получают никаких новых сведений ни о конфликте, ни о возможных действиях противной стороны. Иными словами, при многократном повторении матричной игры каждая из сторон всякий раз оказывается перед выбором некоторой стратегии из одного и того же множества стратегий, неизменного у каждого из игроков.
Тем не менее, в таких многократно повторяющихся обстоятельствах большую роль играет анализ игры, как предварительный, так и промежуточный.
В результате разумно проведенного предварительного анализа матричной игры заинтересованная в нем сторона может определить свою линию поведения (правило выбора стратегий) на всю серию игр.
Конечно, описанный нами выше максиминный подход является далеко не единственным средством. Однако не следует забывать, что принципиальной особенностью этого подхода является то обстоятельство, что игрок, придерживающийся выводимого на его основе правила выбора стратегий, заранее может довольно точно оценить нетривиальные размеры своего гарантированного среднего выигрыша. Кроме того, максиминный подход позволяет сводить задачу поиска решения игры к рассмотрению сравнительно несложных задач линейного программирования и, тем самым, получать эффективные рекомендации по тому, как лучше выбирать стратегии в конкретной игре при многократном ее повторении.
Если игра повторяется много раз, то некоторые дополнительные сведения ——какие именно стратегии выбирает противная сторона и какими правилами выбора стратегий она руководствуется ——игрок все же получает. На основании этих сведений и результатов предварительного анализа игры он может довольно точно оценивать противника. И если тот не придерживается компромиссного минимаксного подхода, внести соответствующие изменения в собственную линию поведения и увеличить выигрыш.
5.2. Биматричные игры
Предыдущие рассмотрения касались игр двух лиц, в которых интересы игроков были прямо противоположны. Однако ситуации, в которых интересы игроков хотя и не совпадают, но уже не обязательно являются противоположными, встречаются значительно чаще.
Рассмотрим, например, конфликтную ситуацию, в которой каждый из двух участников имеет следующие возможности для выбора своей линии поведения —
игрок Л может выбрать любую из стратегий Ль ..., Лт,
игрок В может выбрать любую из стратегий Д, ..., 5f.
При этом всякий раз их совместный выбор оценивается вполне определенно: если игрок Л выбрал i-ю стратегию 4, а игрок В — Ью стратегию Вк, то выигрыш игрока Л равен некоторому числу “汨 а выигрыш игрока В некоторому, вообще говоря, другому числу bik.
Иными словами, всякий раз каждый из игроков получает свой приз.
Последовательно перебирая все стратегии игрока Л и все стратегии игрока Д мы сможем заполнить их выигрышами две таблицы
反
女
—稣•••
Bn
4
… aik
••• a1"
4
瓦1
瓦〃
4
ai\
… aik
…0加
4
財
... 瓦卜•••
bin
4
%1
••• amk
••• amn
4
%1
— bfnk •••
Ьщп
Первая из таблиц описывает выигрыши игрока 4 вторая — выигрыши игрока А Обычно эти таблицы записывают в виде матриц
Здесь А — платежная матрица игрока 4 а В — платежная матрица игрока В.
При выборе игроком А Z-й стратегии, а игроком В — 2・й стратегии их выигрыши находятся в матрицах выплат на пересечении /-х строк и к-х столбцов: в матрице А это элемент 〃火,а в матрице В — элемент b必
Таким образом, в случае, когда интересы игроков различны (но не обязательно противоположны), получаются две платежные матрицы: одна — матрица выплат игроку 4 другая — матрица выплат игроку А Поэтому совершенно естественно звучит название, которое обычно присваивается подобной игре,——биматричная.
Замечание, Рассматриваемые ранее матричные игры можно рассматривать, разумеется, и как биматричные, где матрица выплат игроку В противоположна матрице выплат игроку Л:
%=』
или
=в=— =
\Д/я1…атп)\ат\ …—
Однако в общем случае биматричная игра — это игра с ненулевой суммой.
Тем не менее, нам кажется разумным время от времени сопоставлять наши рассмотрения с рассуждениями, проведенными ранее для матричных игр (особенно при попытках разрешения схожих проблем). Подобные сопоставления нередко оказываются одновременно и удобными и полезными. Конечно, класс биматричных игр значительно шире класса матричных (разнообразие новых моделируемых конфликтных ситуаций весьма заметно), а, значит, неизбежно увеличиваются и трудности, встающие на пути их успешного разрешения. Впрочем, мы надеемся, что часть из этих трудностей нам удастся преодолеть уже в настоящем издании.
Примеры биматричных игр
Примеры этого раздела описывают некоторые типические конфликтные ситуации, приводящие к биматричным играм. Сначала мы обсудим вопросы, связанные с формализацией рассматриваемых конфликтов (построение платежных матриц), а затем перейдем к рекомендациям по их разрешению.
Борьба за рынки
Небольшая фирма (игрок Л) намерена сбыть партию товара на одном из двух рынков, контролируемых другой, более крупной фирмой (игрок 切.Для этого фирма Л готова предпринять на одном из рынков соответствующие приготовления (например, развернуть рекламную кампанию). Господствующая на рынках фирма 5 может попытаться воспрепятствовать этому, приняв на одном из рынков предупредительные меры (разумеется, в рамках закона). Не встречая противодействия на
рынке, фирма Л захватывает его; при наличии препятствий — терпит поражение.
Для определенности будем считать, что проникновение фирмы Л на первый рынок более выгодно для нее, нежели проникновение на второй. Естественно предположить, что и борьба за первый рынок потребует вложения больших средств. Например, победа фирмы А на первом рынке принесет ей вдвое больший выигрыш, чем победа на втором, но зато и поражение при попытке освоиться на первом рынке полностью ее разорит, а фирму В избавит от конкурента.
Что же касается второго рынка, то при поражении фирмы Л ее потери будут не столь разорительны, но и победа принесет немного.
Таким образом, у фирмы А две стратегии:
А[ — выбор первого рынка,友一выбор второго рынка.
Такие же стратегии и у фирмы А
Д — выбор первого рынка, 3? — выбор второго рынка.
Для того чтобы составить платежные матрицы игроков, нужны расчетные количественные показатели, которые мы приведем здесь в условных денежных единицах:
Взглянем на выписанные матрицы выплат. Из сказанного выше ясно, что если оба игрока выберут один и тот же рынок, то победа останется за более сильной фирмой А
То, что в ситуации (4, 8) выигрыш игрока В равен 5, а в ситуации (Л2,比)一1, подчеркивает, что первый рынок более выгоден (удобно расположен, хорошо посещаем и т. п.), чем второй. Выигрыш (—10) игрока Л в ситуации (Аь Д) (а точнее, проигрыш) в сопоставлении с его выигрышем (—1) в ситуации (,2,名)выглядит, разумеется, вполне сокрушительно. Что же касается ситуации, когда фирмы уделяют основное внимание разным рынкам (Ль 且)и (А2, Д), то здесь фирму А ждет настоящий выигрыш, больший на более выгодном рынке. Потери, которые при этом несет фирма Д оказываются прямо противоположными.
Замечание. Ясно, что точно рассчитать выгоду и ущерб сторон в этом конфликте заранее довольно трудно. Зато в следующей конфликтной ситуации размеры выигрышей игроков известны им со всей определенностью.
Дилемма узников
Since 1950, the Prisoner's Dilemma had sprawned anenormous psychology literature on determinants 炉 cooperation and defection ([6], c. 118)
Игроками являются два узника, находящиеся в предварительном заключении по подозрению в совершении преступления. При отсутствии прямых улик возможность их осуждения в большой степени зависит от того, заговорят они или будут молчать.
Если оба будут молчать, то наказанием будет лишь срок предварительного заключения (потери каждого из узников составят (-1)). Если сознаются, то получат срок, учитывающий признание как смягчающее обстоятельство (потери каждого из узников составят в этом случае (-6)). Если же заговорит только один из узников, а другой будет молчать, то в этом случае заговоривший будет выпущен на свободу (его потери будут равны 0), а сохраняющий молчание получит максимально возможное наказание (его потери будут равны (-9)).
Эта конфликтная ситуация приводит к биматричной игре, в которой каждый из игроков имеет по две стратегии — молчать (5) или говорить
Выигрыши игроков А и В соответственно описываются так
Семейный спор
Два партнера договариваются о совместной реализации одного из двух действий, (1) или (2).
В случае осуществления первого из проектов (предположим, что этот проект предлагает первый партнер (игрок Л)) его выигрыш будет вдвое больше выигрыша второго партнера (игрок 切.Напротив, в случае осуществления второго из проектов (предположим, что его предлагает второй партнер) выигрыш игрока Л будет вдвое меньше выигрыша игрока В. Если же партнеры откажутся от совместного воплощения любого из этих проектов, то выигрыш каждого из них будет равен нулю.
Эта конфликтная ситуация приводит к биматричной игре, в которой каждый из игроков имеет по две стратегии. Выигрыши игроков Л и 5 соответственно описываются таблицами следующего вида
4(D ⑵4(D ⑵5(1)⑵(1)10(2)025(1)⑵(1)10(2)02⑴(2) ~~ОО 1⑴(2) ~~ОО 1
4
(D ⑵
4
(D ⑵
5
(1)
⑵
(1)
1
0
(2)
0
2
5
(1)
⑵
(1)
1
0
(2)
0
2
⑴(2) ~~О
О 1
⑴(2) ~~О
О 1
Пояснение. Ясно, что различные конфликтные ситуации могут иметь одну и ту же формализацию. В частности, рассмотренная биматричная игра часто интерпретируется, как одновременный выбор молодыми супругами совместного развлечения: посещение оперного спектакля или хоккейного матча. При этом обычно считается, что в посещении оперного театра жена заинтересована в большей степени, чем муж, а при посещении стадаона наблюдается обратная картина. В случае же непре- одоления разногласий, возникших при выборе, день оказывается вообще испорченным.
Отсюда и название, вынесенное в заголовок.
Смешанные стратегии
В приведенных примерах (позже мы вернемся к подробному рассмотрению каждого) описаны ситуации, в которых интересы игроков не совпадают. Естественно встает вопрос о том, какие рекомендации необходимо дать игрокам для того, чтобы моделируемая конфликтная ситуация разрешилась.
Иными словами, что мы будем понимать под решением биматрич- ной игры?
Попробуем ответить на этот вопрос так: вследствие того что интересы игроков не совпадают, нам нужно построить такое (компромиссное) решение, которое бы в том или ином, но в одинаковом смысле удовлетворяло обоих игроков.
Не пытаясь сразу выразить эту мысль точно, попробуем найти некую равновесную ситуацию, явное отклонение от которой одного из игроков уменьшало бы его выигрыш.
Кстати, подобный вопрос мы ставили и при рассмотрении матричных игр. Напомним, что возникающее при разработке минимаксного подхода понятие равновесной ситуации приводило нас к поиску седловой точки, которая, как оказалось, существует далеко не всегда; конечно, если ограничиваться только чистыми стратегиями игроков Л и Д т. е. стратегиями
4,…,в】,…,Вп.
Естественно ожидать, что в более сложном случае биматричной игры дело вряд ли будет обстоять проще.
Начнем с определения равновесной ситуации.
Ситуация (Г, %) биматричной игры называется ситуацией равновесия, если
。火• 0 а丁卜・,i= \)..., Ш9 b『卜 W 4%, % = 1,...,〃•
В игре Семейный спор две равновесные ситуации — (1, 1) и (2, 2).
В игре Дилемма заключенного одна — (1, 1).
Заметим, что (в отличие от матричной) в биматричной игре при наличии нескольких ситуаций равновесия выигрыши игроков различаются.
Пример. Найдем все равновесные ситуации в биматричной игре
В матрице А подчеркнуты наибольшие элементы в столбцах, а в матрице В — наибольшие элементы в строках. Общий подчеркнутый элемент соответствует позиции (3, 3)——единственной ситуации равновесия.
Как и в случае матричных игр, в биматричных играх ситуация равновесия существует далеко не всегда. В матричных играх эта трудность была преодолена путем перехода к смешанному расширению игры, то есть к возможности ее многократного повторения и такому поведению игроков, при котором они чередуют свои (чистые) стратегии с определенными частотами:
игрок Л стратегии 4,…,4 с частотами ., ..., r„, где
Р\ N °,…,Pm N °,2^ А = L
/=1
а игрок В стратегии Д, ..., Вп с частотами 团,..., %, где
% > 0, ..., qn > 0, 2%=1・mi
Смешивание стратегий приводило к расширению возможности выплат в том смысле, что расчет строился из вычисления средних выигрышей игроков Л и Д которые определялись по элементам платежной матрицы Л и вероятностям “ и q%
И оказалось, что в смешанных стратегиях равновесная ситуация существует всегда.
Поэтому, рассматривая биматричные игры, разумно также попробовать перейти к смешанным стратегиям игроков, предполагая тем самым, что каждая игра может быть многократно повторена в неизменных обстоятельствах.
При смешанных стратегиях в биматричных играх так же естественно возникают средние выигрыши игроков Л и Д вычисляемые по правилам, в которых уже нет и следа какой-нибудь дискриминации игрока 3, 日/ = »卩4,/ = »卩4.
i,kУ
В результате получается смешанное расширение биматричной игры.
Определение. Ситуация {Р*, Q*} называется ситуацией равновесия в смешанных стратегиях биматричной игры, если для любых Р и Q выполняются неравенства
区(Р, Q*) < 区(Р*, Q) НЕ Q) < 砌曰 Q)
Выписанные неравенства можно пояснить так: ситуация {Р*, Q*} является равновесной, если отклонение от нее одного из игроков при условии, что другой сохраняет свой выбор, приводит к тому, что выигрыш отклонившегося игрока не может увеличиться (а скорее только уменьшится). Тем самым, получается, что если равновесная ситуация существует, то отклонение от нее невыгодно самому игроку.
ТЕОРЕМА (Дж. Нэш). Всякая биматричная игра имеет хотя бы одну равновесную ситуацию (точку равновесия) в смешанных стратегиях.
Замечание. Эта теорема является частным случаем более общего утверждения, доказательство которого было опубликовано Дж. Нэшем в 1950 году (см. ([5], сс. 16—26).
Так же, как и в случае матричных игр, для поиска равновесных ситуаций нам будут полезны несколько несложно доказываемых утверждений.
ЛЕММА. Для того чтобы ситуация {Рф, Q*} была ситуацией равновесия в смешанных стратегиях биматричной игры, необходимо и достаточно, чтобы для любых / = 1, ...,тмк= 1,..., л выполнялось условие
区% Q) s 区(Р\ Q) %(P, IJ < 硯P\ Q)
Доказательство начнем с необходимости. Пусть {Р*, Q*} — ситуация равновесия. Тогда
儿(Р, Q) 0 乩(Р* Q・)
для любого Р. Полагая Р = 1/, получим неравенства-условия для матрицы А. Для матрицы В соответствующие неравенства выводятся так же просто.
Достаточность. Пусть выполнено условие
区(L, Q・)< 印(Р・,Q) НЕ и < WP・,Q)
Возьмем произвольную смешанную стратегию Р игрока 4 домно- жим неравенства
%(1» Q) 0 印(Р, Q) /=1, ..., т, на 仍 и сложим. Учитывая, что
% =L
получаем в результате неравенство
印(Р, Q) < 儿(Р, Q)
Подобным же образом доказывается справедливость неравенства 办(Р・,Q) < 区(Г, Q)
Сформулируем два утверждения, которые обобщают на случай биматричных игр теорему 3 предыдущего раздела и следствие из нее, а их доказательства практически повторяют доказательства соответствующих утверждений для матричных игр.
ТЕОРЕМА. Пусть {Р*, Q*} — ситуация равновесия в смешанных стратегиях биматричной игры. Тогда из того, что р: > 0, вытекает равенство
印(L, Q*) =儿(Р\ Q)
а из того, что qk >0, — равенство
WP, Ц = НЕ Q)
Следствие. Пусть {Р*, Q*} — ситуация равновесия в смешанных стратегиях биматричной игры. Тогда из того, что
区(1” Q) V 也(Р\ Q) вытекает равенство р; = 0, а из того, что
Н^\ 10 V 办(Р, Q) —
равенство q; = 0.
Эффективность сформулированных утверждений в деле поиска решения биматричных игр мы покажем в следующем параграфе.
2 х 2-биматричные игры
Мы предполагаем уделить основное внимание случаю, когда у каждого из игроков имеется ровно две стратегии, /л = л = 2, и при поиске решения можно воспользоваться наглядно-графическим методом.
В2 х 2-биматричной игре платежные матрицы игроков имеют вид
вероятности —
Л = А 02=1-А 公=0, 02=1-0, а средние выигрыши вычисляются по формулам
HA(p9q)= a” pq + %双1一 q) + % Q- P)Q + %(】一 Р)” 0),
Hr (p,q) = bn pq + bnp(X-q}^bn (1- p)q + %2 ” 力”办 где
0 < p < 1, OW”L
Ситуация равновесия
Сформулируем основное определение равновесия для рассматриваемого здесь случая 2 х 2-биматричной игры.
Определение. Будем говорить, что пара чисел
5 哈,0</^ 1, 0<^< 1 определяет равновесную ситуацию, если для любых ри q, подчиненных условиям 0 < ^ < 1, 0 < ^ < 1, одновременно выполнены следующие неравенства:
ад,力 < ВД,办 W, q) < 冬3,办(*)
Но как найти равновесную ситуацию, зная, что она существует?
Если некоторая пара чисел (р, q) претендует на то, чтобы определять ситуацию равновесия, то для того чтобы убедиться в обоснованности этих претензий или, наоборот, доказать их несостоятельность, необходимо проверить справедливость неравенств (*) для любого р в пределах от 0 до 1 и для любого q в пределах от 0 до 1. Сформулировав
доказанную выше лемму для рассматриваемого случая, мы увидим, что число таких проверок можно существенно сократить.
ТЕОРЕМА. Выполнение неравенств
ES,刃 Е %(/Л q) Нв(р\ q) < Нв(р, q・)(☆) равносильно выполнению неравенств
HA^q)<HA(p\q\ /(炉,0)工"八炉,4)(☆☆) HA^)<HA(p\q\ HB(p,Y)< HB{p\q\
Иными словами, для того чтобы убедиться в обоснованности посягательств пары (р*, q) на то, чтобы определять равновесную ситуацию, достаточно проверить справедливость неравенства
нА(p,炉)< h心、右
только для двух чистых стратегий игрока Л (при р = 0 и при р = 1) н неравенства
/б q) < 办(/Г,办
только для двух чистых стратегий игрока В (при q = 0 и при q = 1).
Четыре неравенства (☆☆) позволяют провести поиск точки равновесия уже вполне конструктивно.
Запишем средние выигрыши игроков /нЗв более удобной форме. Имеем
hА(a4)= (%1 -々2 -021 +022 )00 +(%2 -022 » +(°21 -022 川 +022,
HB(P,q) = (% - % - % + % )幽 + (% - 方22)Р +("1 一 %2 )q + % •
Обратимся к первой из этих формул. Полагая в ней сначала р = 1, а потом р = 0, получаем, что
НА (1, q) = (%1 一 %2 一021 +022 )q + %2 +(°21 一022)么
H/(0, 4)=(。21-。22)0+。22。
Рассмотрим разности
Н<р, 0)-吃(1, q) = (%i -%2一&1 +o22)pq^(an-a22)p-
_ (°u 一 %2 一 “21 + “22)4 + 〃22 一 %2,
HA(p, q)~HA(Q, 4)= (%i 一%2一。21 +o22)pq + (an-a22)p.
Вводя обозначения
C = "u -an^a2\ +422,0 = 422一012,
получим для них следующие выражения:
НАСм)- Нл(1, q) = Cpq-ap-Cq + a = Q(p-1)- а(р—1)=(尸一 1)Q- a), HA(p,q)-HA^ q) = Cpq-ap=”q-a)・
В случае, если пара (р, q) определяет точку равновесия, эти разности должны быть неотрицательными,
Нл S,q)- HA ^q)> О, НА (p,q)- НА(0,^)> 0.
Поэтому окончательно получаем
(” l)(Cq-a) NO,p(Cq-a)>0.
Из формул для функции Нв(р, q) при q = 1 и q = 0 имеем соответственно
Нв (а 1) =(41 - &2 - "1 + 方22)Р +(&2 - °22)Р + %1,
Нв (А 0)= (% - %2 )р + 方22 •
С учетом обозначений
D=41 -% -%1 +%,万=b22-%
разности
"s (A G- Нв (д 1), Нв (a q)-HB(д 0)
приводятся к виду
нВ(p, q)-Hs(P, 1)=匂-1)(川一位,
Н式р«)-Нв也 6 = q(Dp-B)
совершенно также, как соответствующие разности для функции 区.
Если пара (р, q) определяет точку равновесия, то эти разности должны быть неотрицательными,
Нв (A q)- Нв (д 1)> 0, Нв S, q)- Нв(р, 0) > 0.
Поэтому
(q-l)(Dp-/3)NQq(Dp- B)NG・
Подведем некоторые итоги.
Для того чтобы в биматричной игре
пара (р, q) определяла равновесную ситуацию, необходимо и достаточно одновременное выполнение следующих неравенств
(p-l)Q-a)N0,
p(Cq-a)N0,
匂_1)(勿一S)n0, ") q(Dp-B)Na 0< ^<1, 0<Е,
где
С=%1 _%2-〃21 +〃22,а = 〃22—%2,
D = bn -bn-b2i +%2,万=b22-%1・
Ситуация, оптимальная по Парето
Содержательные представления о выгодности и справедливости ситуации многообразны. Выше мы рассматривали их проявление через равновесие. Существует и иной вариант справедливости, в большей степени, чем равновесие, отражающий черты ее выгодности. Это оптимальность по Парето,
Поговорим об этом на примере биматричной игры с 2 х 2-матрица- миАиВ. Пусть НА(р, q)nHB(p9 q) — средние выигрыши игроков Ап В.
Ситуация (р・,q・)в биматричной игре
называется оптимальной по Парето, если из того, что
Н/(р・,q・)SHA(p,q), Н^(р・,q.)W "月(p,q) вытекают неравенства
Иными словами, в оптимальной по Парето ситуации игроки не могут совместными усилиями увеличить выигрыш одного из них, не Уменьшив при этом выигрыш другого.
Отличие ситуации равновесия от ситуации, оптимальной по Парето, состоит в следующем:
в ситуации равновесия ни один из игроков, действуя в одиночку, не может увеличить своего собственного выигрыша;
в ситуации, оптимальной по Парето, игроки, действуя совместно, не могут увеличить выигрыш каждого (даже нестрого).
Поиск равновесных ситуации
Геометрический смысл условий (V) рассмотрим на примерах описанных выше биматричных игр.
Борьба за рынки
Напомним, что ситуация, сложившаяся в этой задаче, задается платежными матрицами следующего вида
Заменяя в неравенстве (V) величины С, a, D н 尸 их конкретными значениями
С = —10—2 —1—1 = — 14, а= —1—2 = — 3,
О= 5+2+14-1= 9,尸= 1 + 1=2,
получаем (Ю(-М(-3)) > 0,(q-l)(9p-2) > 0,
"以一1包-(-3)) > 0,6^-2) > 0.
.Обратимся сначала к левой паре неравенств (/):
3-1)(-1包 + 3) > 0,^(-14^ + 3) > 0.
Возможны следующие три случая:
1°.^=1, 2°.^ = 0, 3°.0<р<1.
Рассмотрим каждый из этих случаев подробно. Г. Полагая р = 1, получаем
0>0, -1 曲+ 3N0.
Откуда
1W-3S0
и, значит,
2е. Полагая р = 0, получаем
0>0, -(-14q + 3)N0, 0>0.
Откуда
1W-3N0
и, значит,
3
讶
3е. Наконец, положив 0<^< 1, получим
-14^ + 3>0,
-14^ + 3<0,
что возможно лишь в случае, если
—14^4-3 = 0, т. е.
3
Полученный результат можно записать так:
зз
1°.р = 1, ^^—, 2°.^ = 0, ^>—, 3°.0<р<1, ^ =—.
141414
Перенесем теперь полученные сведения на чертеж. Введем на плоскости прямоугольную систему координат (р, q) и выделим на ней единичный квадрат, соответствующий неравенствам
0< ^<1, 0<^<1
(рис. 16).
Нанесем на этот чертеж то множество точек, которое описывается условиями Г, 2е и 3е. Это множество (на рисунке 17 его точки выделены жирной линией) состоит из трех прямолинейных участков ——двух вертикальных лучей и одного горизонтального отрезка ——и представляет собой зигзаг. Нас будет интересовать только та его часть, которая попала в заштрихованный на рисунке единичный квадрат.
Оставив на время полученные результаты в покое, обратимся к правой части неравенств (г):
@-1)(9” 2) > О,q(9p-2) > 0.
Три интересных для нас случая
l・.q = l, 2・.q = 0, 3・.0vqvl приводят к следующему результату:
I I 2 l・.q = l, р<-,I I 2 l・.q = l, р<-,~ а 2 2・.q = 0, ”§,~ а 2 2・.q = 0, ”§,3・.0vq vl,3・.0vq vl,
I I 2 l・.q = l, р<-,
I I 2 l・.q = l, р<-,
~ а 2 2・.q = 0, ”§,
~ а 2 2・.q = 0, ”§,
3・.0vq vl,
3・.0vq vl,
Перенося его на чертеж, получим второй зигзаг, но уже горизонтальный (рис. 18).Теперь остается только объединить полученное (рис. 19).Общая точка построенных зигзагов ——точка равновесия, ее координатыПеренося его на чертеж, получим второй зигзаг, но уже горизонтальный (рис. 18).Теперь остается только объединить полученное (рис. 19).Общая точка построенных зигзагов ——точка равновесия, ее координатыСоответствующие смешанные стратегии игроков имеют видСоответствующие смешанные стратегии игроков имеют вид
Перенося его на чертеж, получим второй зигзаг, но уже горизонтальный (рис. 18).
Теперь остается только объединить полученное (рис. 19).
Общая точка построенных зигзагов ——точка равновесия, ее координаты
Перенося его на чертеж, получим второй зигзаг, но уже горизонтальный (рис. 18).
Теперь остается только объединить полученное (рис. 19).
Общая точка построенных зигзагов ——точка равновесия, ее координаты
Соответствующие смешанные стратегии игроков имеют вид
Соответствующие смешанные стратегии игроков имеют вид
а средние выигрыши игроков таковы:
49」4丿7,乂 ди丿3・
丄eГ 7 У
значение этой игры
・4
第/ =_二,
7
а затем и оптимальную смешанную стратегию для игрока 3
Игра с матрицей В.
Решая эту игру графическим методом, находим оптимальную смешанную стратегию для игрока 3
значение этой игры
а затем и оптимальную смешанную стратегию для игрока А
Сравнивая полученные результаты с решением биматричной игры, можно заметить следующее:
если каждый игрок будет применять свои стратегии в этой игре, исходя только из матрицы своих выигрышей, то его оптимальный средний выигрыш совпадет с его выигрышем при равновесной ситуации; кстати, по своей матрице игрок может найти и оптимальную смешанную стратегию другого игрока (но не свою!).
Дилемма узников
Выигрыши игроков А и В описываются матрицами
Проведем необходимые вычисления. Имеем
С= -1-(-9)-0 + (-6)= 2, а= -6-(-9)= 3,
。=-1-0-(-9) + (-6)= 2,夕=-6-(-9)= 3.
Отсюда
⑺(p-D(2q-3) > 0,(q-l)(2p-3) > 0,
”P(2q-3) > 0,⑺q(2”3) > 0.
и, далее,
3з3
1°.р = 1, q>-9 2°.^ = 0, qW^, 3°.0vpvl, q = *.
333
l・.q = l, p>-, 2・.q = 0, pSg, 3・.0vqvl, p=/・
Полученные зигзаги изображены на рис. 20.
Единственная равновесная ситуация — (0, 0). В этой ситуации каждый из игроков выбирает вторую чистую стратегию — сознаться — и теряет 6 лет.
Как мы уже отмечали ранее, отклонение от ситуации равновесия одного из игроков не дает ему никаких преимуществ. Однако при одновременном отклонении обоих каждый из них может получить больший выигрыш, нежели в равновесной ситуации. Например, в ситуации (1, 1), когда оба игрока выбирают первую чистую стратегию — молчать, — каждый из них теряет лишь 1 год.
q八
3・
Т
1
~0" Л V
2「
Рис. 20
Напомним, что по условию задачи сговор (создание коалиции) между игроками недопустим.
Совершенно ясно, однако, что в рассматриваемых обстоятельствах ситуация (1, 1) неустойчива ——любой из узников, изменяя свою стратегию, увеличивает свой выигрыш (избегает наказания).
Покажем, как выглядят в рассматриваемой игре ситуации, оптимальные по Парето.
На единичном квадрате
0< ^<1, 0<^<1возможных значений вероятностей ряд заданы две функцииU=Ha (a q) = -pq - 9р (1- q)—6 (1— р) (1—q),P= "sS, q) = -幽-9(l-p)q-6(l-p)(l-q).
Точки с координатами (" F), вычисленными по приведенным формулам, на плоскости (U, V) заполняют четырехугольник с вершинами К (-1,-1),丄(一9,0), Af (-6,-6) и ^(0,-9) (рис. 21). Граница Парето этого множества — ломаная NKL.
В качестве точки утопии здесь естественно рассматривать начальную точку О (0,0). Идеальная точка К (-1,-1) — точка с наибольшими выигрышами для каждого из игроков ——оказывается лучше, чем равновесная (рис. 22). Ей соответствуют чистые стратегии обоих игроков
P=l, q=L
Семейный спор
Выигрыши игроков 4 и 3 в этой биматричной игре задаются так:
Проведя необходимые вычисления С= 2-0-0 + 1 = 3, а= 1-0= 1, D= 1—0—0 + 2= 3,尸=2 — 0= 2, из неравенств
①(”1)(30 Z 0,(q-l)(3p-2) > О,
3p(3q-l) > 0,⑺q(3p-2) > О,
получаем, что
1°.^ = 1, ^г>|, 2°.^ = О, ^г<|, 3°.0vpvLq = ;.
222
l・.q = l, ^> j, 2・.q = 0, ”§, 3・・0vqvl, p = §.
Геометрически результат описывается так (рис. 23).
Данная игра имеет три точки равновесия. Две из них отвечают чистым стратегиям игроков,
Я/1,1) = 2, Я/0,0)=1,Я/1,1) = 2, Я/0,0)=1,Ял(1,1) = 1,"s(0,0) = 2,Ял(1,1) = 1,"s(0,0) = 2,а одна смешанным, 21а одна смешанным, 21"4停 Wb*"4停 Wb*Признаться, полученные результаты ставят больше вопросов, чем дают ответов.Ситуации (1, 1) и (0, 0) соответствуют одновременному выбору игроками своих первых или, соответственно, вторых стратегий, то есть определенной договоренности о совместных действиях.Однако в данном случае есть еще одна ситуация равновесия, состоящая в выборе игроками вполне определенных смешанных стратегий. В ней оба игрока получаютПризнаться, полученные результаты ставят больше вопросов, чем дают ответов.Ситуации (1, 1) и (0, 0) соответствуют одновременному выбору игроками своих первых или, соответственно, вторых стратегий, то есть определенной договоренности о совместных действиях.Однако в данном случае есть еще одна ситуация равновесия, состоящая в выборе игроками вполне определенных смешанных стратегий. В ней оба игрока получают1Т1Т11оо2з2з114Р4РРис. 23Рис. 23
Я/1,1) = 2, Я/0,0)=1,
Я/1,1) = 2, Я/0,0)=1,
Ял(1,1) = 1,
"s(0,0) = 2,
Ял(1,1) = 1,
"s(0,0) = 2,
а одна смешанным, 21
а одна смешанным, 21
"4停 Wb*
"4停 Wb*
Признаться, полученные результаты ставят больше вопросов, чем дают ответов.
Ситуации (1, 1) и (0, 0) соответствуют одновременному выбору игроками своих первых или, соответственно, вторых стратегий, то есть определенной договоренности о совместных действиях.
Однако в данном случае есть еще одна ситуация равновесия, состоящая в выборе игроками вполне определенных смешанных стратегий. В ней оба игрока получают
Признаться, полученные результаты ставят больше вопросов, чем дают ответов.
Ситуации (1, 1) и (0, 0) соответствуют одновременному выбору игроками своих первых или, соответственно, вторых стратегий, то есть определенной договоренности о совместных действиях.
Однако в данном случае есть еще одна ситуация равновесия, состоящая в выборе игроками вполне определенных смешанных стратегий. В ней оба игрока получают
1Т
1Т
1
1
о
о
2з
2з
1
1
4Р
4Р
Рис. 23
Рис. 23
одинаковые выигрыши, правда, меньшие тех, которые дают две другие равновесные ситуации.
Какой же из этих трех ситуаций равновесия следует отдать предпочтение? Какую выбрать игрокам?
Если бы игроки договорились играть оба, скажем, первую чистую стратегию, причем игрок Л за получение большего выигрыша, чем игрок Д заплатил бы ему 1/2, то выигрыш каждым полугора единиц можно было бы считать и выгодным, и справедливым. Однако в рамках теории бескоалиционных игр такого рода дележи не рассматриваются.
Ясно, что для выбора каждым из игроков своей линии поведения (напомним, что подобная ситуация может повторяться и повторяется многократно) необходимы либо расширение возможностей, имеющихся У игроков, либо иные, измененные критерии.
Некоторые итоги
Из приведенных примеров видно, что числа Си。могут быть как положительными, так и отрицательными. Они могут, в частности, даже обращаться в нуль.
Рассмотрим, однако, наиболее интересный в приложениях случай, когда ни С, ни D нулю не равны, то есть
CDHO.
Тогда, как нетрудно видеть, точка равновесия определяется парой S а
Эти формулы являются весьма примечательными: в равновесной ситуации выбор игрока Л полностью определяется элементами платежной матрицы игрока Д
p = -——,Al - % -%1 +%2
и не зависит от элементов его собственной платежной матрицы, а выбор игрока В в равновесной ситуации полностью определяется элементами платежной матрицы игрока Л,
L一产二%2,
“11 “12 “21 +“22
и также не зависит от элементов его собственной платежной матрицы.
Иными словами, равновесная ситуация для каждого из игроков определяется не столько стремлением увеличить собственный выигрыш, сколько желанием держать под контролем выигрыш другого игрока (минимизировать этот выигрыш). И если, например, заменить в бимат- ричной игре игроку Л матрицу выплат, а игроку В матрицу выплат оставить прежней, то игрок Л никак не изменит своего равновесного поведения (просто не обратит внимания на эту замену), в то время как игрок В изменит свою стратегию на новую.
Таким образом, в биматричной (неантагонистической) игре мы вновь встречаемся с антагонизмом. Правда, теперь это уже не антагонизм интересов (как это было в антагонистической, матричной игре), а антагонизм поведения.
Отметим далее, что в биматричных играх (в отличие от матричных) при наличии нескольких ситуаций равновесия средний выигрыш игрока в разных равновесных ситуациях различен (напомним, что в матричной игре выигрыш игрока один и тот же вне зависимости от количества точек равновесия). Но если средние выигрыши разнятся, то какую равновесную ситуацию следует считать оптимальной?
Наконец, еще одно, не менее интересное обстоятельство, относящееся к случаю, когда множество ситуаций равновесия конечно и состоит из нечетного числа точек (одной или трех). Если слегка пошевелить элементы платежной матрицы, то слегка пошевелятся и зигзаги, не из-
меняя ни своей общей формы, ни взаимного расположения, а, значит, число равновесных ситуаций не изменится. В подобных случаях принято говорить, что это число устойчиво относительно малых шевелений,
5.3. Позиционные игры
Во многих практически важных конфликтных ситуациях, располагая той или иной информацией об их прошлом развитии, стороны-участницы совершают свой выбор не раз и навсегда, а последовательно во времени, шаг за шагом. Тем самым, они используют стратегии, отражающие как динамику конфликта, так и степень собственной осведомленности о фактически складывающейся обстановке в развитии этого конфликта.
Структура позиционной игры
Одним из классов игр, описывающих конфликты, динамика которых оказывает влияние на поведение участников, являются так называемые позиционные игры.
Позиционная игра — это бескоалиционная игра, моделирующая процессы последовательного принятия решений игроками в условиях меняющейся во времени и, вообще говоря, неполной информации.
Процесс самой игры состоит в последовательном переходе от одного состояния игры к другому состоянию, который осуществляется либо путем выбора игроками одного из возможных действий в соответствии с правилами игры, либо случайным образом {случайный ход),
В качестве примеров позиционных игр можно привести крестики-нолики, шашки, шахматы, карточные игры, домино и др. Интересно, что право выбора первого хода в этих играх часто определяется случайным образом.
Состояния игры принято называть позициями (отсюда и название — позиционные игры), а возможные выборы в каждой позиции — альтернативами.
Характерной особенностью позиционной игры является возможность представления множества позиций в виде древовидного упорядоченного множества, которое называется деревом игры (рис. 24).
Мы будем рассматривать позиционные игры, которые разыгрывают между собой два игрока и в каждой позиции которых, кроме окончательных, ровно две альтернативы — первая и вторая.
Замечание. Символ О, Л или В в кружке указывает, кто из игроков — О, Л или В ——делает очередной ход. При этом символом О обычно обозначается ход в игре, осуществляемый не игроком, а каким-нибудь
случайным механизмом (иногда его называют природой). Например, в позиционной игре, представленной на рисунке 24 своим деревом, первый ход производится случайно.
Пользуясь графическим описанием игры, можно сказать, что процесс игры состоит в переходе от начальной позиции к окончательной через непосредственно следующие одна за другой промежуточные позиции.
Каждая окончательная вершина определяет единственную последовательность идущих друг за другом звеньев, которая связывает начальную вершину с данной (рис. 25). Такая цепь называется партией.
Число различных партий равно числу окончательных вершин (позиций).
Мы будем рассматривать здесь только антагонистические позиционные игры: в каждой окончательной позиции задан числовой выигрыш игрока А (а выигрыш игрока В ему противоположен).
В шахматах функция выигрышей игрока Л (белых) определяется так: +1 на выигрываемых партиях, 0 на ничейных партиях,
—1 на проигрываемых партиях.
Функция выигрышей игрока В (черных) отличается от функции выигрышей белых только знаком.
Различают позиционные игры с полной информацией и позиционные игры с неполной информацией.
В позиционных играх с полной информацией (пример ——шашки, шахматы) каждый игрок при своем ходе знает ту позицию дерева игры, в которой он находится.
В позиционных играх с неполной информацией игроку при своем ходе позиция дерева игры, в которой он фактически находится, точно неизвестна. Этот игрок знает лишь множество позиций, включающее
в себя его фактическую позицию. Такое множество позиций называется информационным множеством.
В игре с неполной информацией игрок при своем очередном ходе знает, в каком информационном множестве он находится, но ему неизвестно, в какой именно позиции этого множества.
Позиции, принадлежащие одному и тому же информационному множеству, объединяются (например, посредством пунктирных линий) (рис. 26).
Рассмотрим примеры игр, состоящих из двух ходов, которые последовательно делают участвующие в них игроки Л и Л
Начинает игрок А: он выбирает одну из двух возможных альтернатив —число х, равное либо 1 (первая альтернатива), либо 2 (вторая альтернатива). На ход игрока Л игрок Л отвечает своим ходом, выбирая одну из двух возможных альтернатив ——число у, равное либо 1 (первая альтернатива), либо 2 (вторая альтернатива).
И в результате игрок Л получает вознаграждение или вынужден платить штраф.
Замечание. Альтернативы, из которых делают выбор игроки, вообще говоря, не совпадают; числа 1 и2 — это просто номера альтернатив.
Пример 1.
7-м хоО. Игрок А выбирает число х из множества двух чисел {1, 2}.
2-й хо0. Игрок В выбирает число у из множества двух чисел {1, 2}, зная выбор числа х игроком 4
Функция Ифе, у) выплат игроку Л за счет игрока 5 задается так:
^(1,1) = 1, "(2,1) =-2,勿(1,2) = -1, %2,2) = 2.
На рис. 27 показаны дерево игры и информационные множества.
Пример 2. Пусть выполнены все условия предыдущего примера, кроме одного — хода игрока В.
2-й ход — игрок 3 выбирает число у из множества двух чисел {1, 2}, не зная выбора числа х игроком 4 В этом случае информационные множества выглядят так, как показано на рис. 28.
Нормализация позиционной игры
Заранее определенную последовательность ходов игрока, выбранную им в зависимости от информации о ходах другого игрока и ходах игрока О (природы), будем называть чистой стратегией этого игрока.
В том случае, если в игре нет случайных ходов (игрок О в игре не участвует), выбор игроком А и игроком В чистых стратегий однозначно определяет исход игры — приводит к окончательной позиции, где игроки А п В п получают свои выигрыши.
Это обстоятельство позволяет сводить позиционную игру к матричной игре. Сам процесс сведения позиционной игры к матричной называют нормализацией позиционной игры.
Покажем на нескольких примерах, как это делается.
Пример 3. Опишем стратегии игроков из примера 1. Стратегию игрока А можно задать числом х, показывающим, какую альтернативу, первую или вторую, выбрал этот игрок. Тем самым, у игрока Л две чистых стратегии:
4 — выбрать х = 1, & — выбрать х = 2
Стратегию игрока 3, приняв во внимание, что выбор игрока Л на 1-м ходе ему известен, удобно описать упорядоченной парой
瓦%]•
Здесьyi &1 = 1, 2) — альтернатива, выбираемая игроком Вири условии, что игрок Л выбрал первую альтернативу, х = 1, ау? &2 = 1,2) — альтернатива, выбираемая игроком Б при условии, что игрок Л выбрал вторую альтернативу, х = 2.
Например, выбор игроком В стратегии [2, 1] означает, что если на 1-м ходе игрок Л выбрал х = 1, то игрок В на своем ходе должен выбрать
у = 2. Если же на 1-м ходе игрок Л выбрал х =2, то согласно этой стратегии игрок В на своем ходе должен выбрать у = 1.
Таким образом, у игрока В четыре чистых стратегии:
51 —[1,1],у=1прилюбомвыборех;
历一[1,2],у=хприлюбомвыборех;
& —[2,1],унхприлюбомвыборех;
® —[2,2],у=2прилюбомвыборех
Покажем теперь, как рассчитать выигрыши игрока 4
Пусть, например, игрок Л выбрал стратегию 4 — (1), а игрок В — стратегию 昆 一[1, 2]. Тогда х = 1, а из стратегии [1, 2] вытекает, что у = 1. Отсюда
^(х,у)=^(1,1) = 1.
Подобным образом рассчитываются и остальные выигрыши игрока 4
Результаты расчетов записываются обычно или в виде таблицы выигрышей игрока А
&
马
&
[1,1]
[1,2]
[2,1]
[2, 2]
4
Х= 1
做LD
做 1,1)
做 1,2)
做L2)
%2
х= 2
做 2, 1)
做2, 2)
做 2, 1)
做2, 2)
или в виде матрицы
/11-1
2 -22/
где, как обычно, строки соответствуют стратегиям игрока 4 а столбцы — стратегиям игрока В.
Нетрудно заметить, что полученная матрица имеет седловую точку. Оптимальные стратегии игроков: 4 — (1), и 凡一[2,1]. Тем самым, игрок Л на 1-м ходе выбирает х = 1, а игрок В на 2-м ходе выбирает у =2. Значение игры 第=-L
Пример 4. Опишем стратегии игроков из примера 2.
У игрока Л они те же, что и в предыдущем примере:
4 — выбрать х = 1, %2 — выбрать х = 2.
Так как игроку 3 выбор игрока Л неизвестен, то есть игрок В не знает, в какой именно из двух позиций он находится (см. рис. 28), то у него те же две стратегии:
Д — выбрать у = 1,昆一выбрать у = 2.
Соответствующие таблица выигрышей игрока Л и матрица игры имеют следующий вид:
夕2У=24X = 1做 1,1)做 1,2)%2х= 2做 2, 1)做2, 2)夕2У=24X = 1做 1,1)做 1,2)%2х= 2做 2, 1)做2, 2)
夕2
У=2
4
X = 1
做 1,1)
做 1,2)
%2
х= 2
做 2, 1)
做2, 2)
夕2
У=2
4
X = 1
做 1,1)
做 1,2)
%2
х= 2
做 2, 1)
做2, 2)
Полученная матрица седловой точки не имеет. Оптимальные смешанные стратегии игроков: Р={2/3, 1/3} и Q={l/2, 1/2}. Значение игры г = 0.
Замечание 1. На этих двух примерах хорошо видно, что результат сведения позиционной игры к матричной напрямую зависит от степени осведомленности игроков. В частности, отсутствие у игрока В сведений о выборе, сделанном игроком А, приводит к уменьшению количества его возможных стратегий. Кроме того, сравнивая ответы, полученные в примерах 3 и 4, нетрудно заметить, что снижение уровня осведомленности игрока (в данном случае игрока 3) делает для него исход игры менее благоприятным.
Замечание 2. Приведенные выше примеры всех возможных вариантов не исчерпывают даже в этом, самом простом, случае двухходовых позиционных игр.
Перейдем к позиционным играм, состоящим из трех ходов, и рассмотрим несколько примеров сведения их к матричным играм, сосредоточив основное внимание на одном из наиболее ответственных шагов нормализации — описании стратегий игроков.
Пример 5.
1-й ход делает игрок Л: он выбирает число х из множества двух чисел {1,2}・
2-й ход делает игрок А зная выбранное игроком Л число х, он выбирает число у из множества двух чисел {1, 2}.
3-й ход делает игрок Л: не зная о выбранном игроком В числе у на 2-м ходе и забыв выбранное им самим на 1-м ходе число х, он выбирает число z из множества двух чисел {1, 2}.
После этого игрок Л получает вознаграждение 做х, у, z) за счет игрока Д например, такое
^(1,1,D =
-2,
"(2J1) =
3,
^(1,1,2) =
4,
"(2,1,2) =
^(1,2,1) =
1,
%2,2,1)=
歹(1,2,2)=
一4,
"(2,2,2) =
5.
На рис. 29 показаны дерево игры и информационные множества. Нормализуем эту игру.
Поскольку игроку В выбор игрока Л на 1-м ходе известен, то у игрока В те же четыре стратегии, что и в примере 2:
Д 一 [1,1], В2 一 [1,2], 名一[2, 1], & 一 [2, 2].
Игрок Л на 3-м ходе не знает предыдущих выборов — ни значения х, ни значения у. Поэтому каждая его стратегия состоит просто из пары чисел (х, z), где х (х = 1, 2) — альтернатива, выбираемая игроком Л на 1-м ходе, a z (z = 1,2) — альтернатива, выбираемая игроком Л на 3-м ходе.
Например, выбор игроком Л стратегии (2,1) означает, что на 1-м ходе он выбирает х = 2, а на 3-м ходе — z = L
Таким образом, у игрока А тоже четыре стратегии:
4 — (1, 1), Л — (1, 2), 4 — (2, 1), 4 — (2, 2).
Покажем теперь, как рассчитываются выигрыши игрока Л в этой игре.
Пусть, например, игрок Л выбрал стратегию Л2, (1, 2), а игрок В — стратегию 53, [2, 1].
Из того, что х = 1, вытекает, что у =2. Значение z = 2 выбрано игроком Л независимо от выбора игрока А Вычисляя значение функции выигрышей для набора х = 1, у = 2 и z = 2, получаем
做x,y,z)=做1,2, 2) = -4.
Посредством подобных рассуждений определяем и остальные пятнадцать выигрышей. Это позволяет построить таблицу выигрышей игрока 4 Имеем
反
&
&
[1,1]
[1,2]
R, 1]
[2, 2]
4
(1,1)
伙 LL1)
Щ1,1, 1)
做 1,2,1)
做 1,2,1)
Л
(1,2)
做 LL 2)
伙1, 1, 2)
做 1,2, 2)
ML 2, 2)
%з
(2,1)
做 2, 1, 1)
做2, 2, 1)
Щ2, 1, 1)
М2, 2, 1)
4
(2, 2)
做 2, 1,2)
吵 2, 2)
做 2, 1,2)
做2, 2, 2)
илиили
или
или
'-2 -21Г
44—4—4
3 -33-3
、05О5,
Пример 6.
7-й ход делает игрок Л: он выбирает число х из множества двух чисел {1,2}.
2-й ход делает игрок В не зная о выборе игрока Л на 1-м ходе, он выбирает число у из множества двух чисел {1, 2}.
3・й ход делает игрок Л: он выбирает число z из множества двух чисел {1, 2}, не зная ни значения х, ни значения у.
После этого игроки расплачиваются по правилу (☆).
Графическое представление этой игры показано на рис. 30.
Ясно, что у игрока Л те же четыре стратегии, что и в примере 5:
4 一 [1,1], Л2 一 [1,2], 厶 一 [2, 1], 4 一 [2, 2].
У игрока 3 всего две стратегии:
В】—выбрать у = 19 В2 — выбрать у = 2.
В этом случае (весьма слабой информированности игроков) таблица выигрышей игрока Л и соответствующая матрица строятся совсем просто. Имеем
当
у=1
У =2
4
(1,1)
ИХ1,1,1)
伙 L 2, 1)
%2
(1,2)
伙1,1,2)
伙 L 2, 2)
%3
(2, 1)
伙 2, 1,1)
吵 2, 1)
4
(2, 2)
伙2, 1, 2)
做2, 2, 2)
-2 Г
4 —4
3 -3
、05,
Оптимальные смешанные стратегии игроков и значение игры равны
Р =Р ='94''94'20132013
Р =
Р =
'94'
'94'
20
13
20
13
соответственно.
В следующем примере информационные множества выглядят немного иначе.
Пример 7
7-й ход делает игрок Л: он выбирает число х из множества двух чисел {1, 2}.
2-й ход делает игрок А не зная о выборе игрока Л на 1-м ходе, он выбирает число у из множества двух чисел {1, 2}.
гея по правилу (☆).игры показано на рис. 31.гея по правилу (☆).игры показано на рис. 31.3・й ход делает игрок Л: он выбирает число z из множества двух чисел {1, 2}, зная выбор у игрока В на 2-м ходе, но не помня собственного выбора х на 1-м ходе.
гея по правилу (☆).
игры показано на рис. 31.
гея по правилу (☆).
игры показано на рис. 31.
После этого игроки расплачиг
Графическое представление эт
Поскольку игроку В неизвестен выбор игрока Л на 1-м ходе, то, выполняя свой ход, он не знает, в какой именно из двух возможных позиций находится. Поэтому у игрока В всего две стратегии:
В】一выбрать у = 1, В2 — выбрать у = 2.
При описании стратегий игрока Л нужно исходить из того, что к 3-му ходу игрок Л утратил сведе
ния о собственном выборе на 1-мРис. 31
ходе, но ему известен выбор игрока В на 2-м ходе. Поэтому выбор числа z игроку Л следует связать с известным ему к 3-му ходу значением у. Удобнее всего это сделать подобно тому, как были рассчитаны стратегии игрока В в примерах 3 и 5, то есть при помощи упорядоченной пары
к, zj
Здесь &⑵=1, 2) — альтернатива, выбираемая игроком Л при условии, что игрок 5 выбрал первую альтернативу, у = 1, a z?(Z2 = 1, 2) — альтернатива, выбираемая игроком Л при условии, что игрок В выбрал вторую альтернативу, у = 2.
Чистую стратегию игрока Л в данной игре можно записать так:
(%【&, &])•
Здесь х (х = 1,2) — альтернатива, которую игрок Л выбирает на 1-м ходе, Zi ⑵=1, 2) — альтернатива, которую игрок Л выбирает на 3-м ходе, если на 2-м ходе игрок 5 выбрал первую альтернативу & = 1) н Z2 ⑵=1, 2)— альтернатива, которую игрок Л выбирает на 3-м ходе, если на 2-м ходе игрок В выбрал вторую альтернативу (у = 2).
Например, выбор игроком Л стратегии (2, [2,1]) означает, что на 1-м ходе игрок А выбирает х = 2, а на 3-м z = 2, если игрок В выбрал у = 1, и z = 1, если игрок В выбрал у = 2.
Тем самым, у игрока Л восемь чистых стратегий:
4 一 (1, [1, 1]), 4 一(1,口,2]), /з —(1, 2 1]), 4 一 (1, [2, 2]),
& - (2, [1, 1]), 4 一 (2, [1, 2]), % — (2, [2, 1]), 4 一 (2, [2, 2]).
Покажем теперь, как определяются элементы таблицы выигрышей игрока 4
Пусть, например, игрок Л выбрал стратегию 4 — (1, [2, 1]), а игрок В — стратегию 历一(2). Тогда х = 1, у = 2, а из [2, 1] вытекает, что z = 1. Отсюда
"(x,y,z)= "(1,2, 1)=1.
По этой же схеме вычисляются и остальные элементы таблицы. В результате получаем
&
&
/-2 Г
-2 -4
41
4 -4
3 -3
35
0 -3
I 0 5丿
(1)
(2)
4
(1,[1,1])
伙1JD
做 L2, 1)
%2
d,[l,2])
伙 1, 1, 1)
伙 1,2, 2)
%3
(1, [2, 1])
伙 LL2)
做 L2, 1)
4
(1, [2, 2])
做 LL 2)
做 1, 2, 2)
也
(2, [1, 1])
伙 2, 1, 1)
伙2, 2, 1)
4
(2, [1,2])
做 2, 1,1)
伙2, 2, 2)
(2, [2, 1])
伙2, 1, 2)
做2, 2, 1)
Л
(2, [2, 2])
做2, 1, 2)
伙2, 2, 2)
Оптимальные смешанные стратегии игроков и значение игры равны [23Г417
Р = |0,0,у,0,0,-,0,0|, Q = | 亍扌,v = у
соответственно.
Рассмотрим позиционную игру со случайным ходом.
Пример 8.
7-й ход производится случайно: игрок О выбирает число х, равное 1, с вероятностью 0,5 и равное 2 с такой же вероятностью.
2-й ход делает игрок А: он выбирает число у из множества двух чисел {1, 2}, не зная результатов случайного выбора на 1-м ходе.
3■应 ход делает игрок В: он выбирает число z из множества двух чисел {1, 2}, зная о том, какое именно число х случайно выбрано игроком О на 1-м ходе и не зная выбора у игрока Л на 2-м ходе.
После этого игроки расплачиваются, используя функцию (☆)• Графическое представление этой игры показано на рис. 32.
Опишем стратегии игроков. Поскольку игроку “ исход слу- |\ /\ /\ /】\ /2 чайного испытания неизвестен, то
乂U 乂Д4 он имеет всего две стратегии:
/产 4一(1), 42-(2).
\\ /При построении своих страте
гий игроку В естественно восполь- зоваться имеющейся у него инфор- 1\ Амацией о результатах 1 -го хода. Это
позволяет ему описать свою стратегию упорядоченной парой
Рис. 32
Здесь Zi(Zi = 1, 2) — альтернатива, выбираемая игроком В при условии, что х = 1, a Z2 ⑵=1, 2) — альтернатива, выбираемая игроком В при условии, что х = 2.
Тем самым, у игрока В четыре стратегии:
瓜 一 [1,1], В2 一 [1, 2], В3 一 [2, 1], В4 一 [2, 2].
Покажем теперь, как определяются элементы таблицы выигрышей игрока 4
Пусть, например, игрок Л выбрал стратегию Ль (1), а игрок 3— стратегию 53, [2, 1].
Различаются два случая
1) х= 1, 2) х = 2.
Если х = 1, то стратегия 凡 указывает игроку В его выбор z = 2, а так как у = 1, то в результате имеем
"(x,y,z) = "(1,1, 2) = 4.
Если х = 2, то стратегия 名 указывает игроку В его выбор z = 1, а так как у = 1, то в результате имеем
"(x,y,z) = "(2,1,1) = 3.
Поскольку первая и вторая альтернативы на 1-м ходе выбираются с вероятностями 0,5 и 0,5, то и вышеуказанные выигрыши появляются с теми же вероятностями и, следовательно, средний выигрыш (математическое ожидание выигрыша) игрока Л определяется так:
4 • 0,5 + 3 • 0,5 = 3,5.
Аналогичным образом рассчитывая остальные средние выигрыши, получим при х = 1
Вз
&
[1,1]
[1,2]
[2, И
[2, 2]
4
(1)
做1,1,1)
^1,1,1)
做 LI, 2)
做 LL 2)
%2
(2)
做 1,2, 1)
做 1,2, 1)
…2, 2)
伙 1,2, 2)
или
(-2 -244)
I 11 -4 -4/
при х = 2
4
马
马
&
[1,1]
[1,2]
[2, 1]
[2, 2]
4
(1)
做 2, 1, 1)
伙 2, 1,2)
伙 2, 1, 1)
М2, 1,2)
%2
(2)
伙2, 2, 1)
做2, 2, 2)
做2, 2, 1)
做2, 2, 2)
или
/ 3 03 0]
[一3 5 -3 5/
В итоге искомая матрица игры имеет вид /0,5 -13,52]
3 -3,5 0,5/
В заключение рассмотрим пример позиционной игры со случайным разыгрыванием права первого хода.
Пример 9.
1-й ход делает игрок О, выбирая число х, равное 1, с вероятностью 2/3 и, равное 2, с вероятностью 1/3.
Если х = 1, то на 2-м ходе игрок А выбирает число у из множества двух чисел {1, 2}, зная результат случайного выбора на 1-м ходе, а на 3-м ходе игрок В выбирает число z из множества двух чисел {1, 2}, зная х, но не зная у.
Если х = 2, то на 2-м ходе игрок В выбирает число у из множества двух чисел {1, 2}, зная результат случайного выбора на 1-м ходе, а на 3-м ходе игрок Л выбирает число z из множества двух чисел {1, 2}, зная х, но не зная у.
После этого игроки расплачиваются, используя функцию (☆)• Графическое представление этой игры показано на рисунке 33.
Чистую стратегию игрока А в данной игре можно описать упорядоченной парой
|y,z|,
гдеу(у = 1, 2) — выбор игрока А на 2-м ходе, если на 1-м ходе выбрано х = 1, a z (z = 1, 2) — выбор игрока А на 3-м ходе, если на 1-м ходе выбрано х = 2.
Например, стратегия |1, 2| означает, что на 2-м ходе игрок Л выбирает у = 1, а на 3-м ходе — z = 2.
Тем самым, у игрока А четыре стратегии:
4 —卩,",4 — |1, 2|, Д} — |2, 1|, 4 — |2, 2|.
У игрока В те же четыре стратегии:
Д- |1,1|,员一 |1,2|,名一 |2,1|, &一 |2,2|.
Покажем теперь, как найти элементы матрицы выигрышей игрока Л. Пусть, например, игрок А применяет стратегию Л2 — |1, 2|, а игрок В — стратегию 名—|2Д|.
Различаются два случая:
х= 1, 2) х=2.
По условию при х = 1 игрок Л имеет возможность сделать только 2-й ход (выбрать у), а игрок В ——только 3-й (выбрать z)・ При х = 2 их возможно-
сти меняются местами: игроку В предоставлено право 2-го хода (выбор у), а игроку А — 3-го (выбор z).
Еслих = 1, то стратегия Л2 указывает игроку Л при 2-м ходе взять у = 1, а стратегия 53 указывает игроку В при 3-м ходе взять z = 1 • В результате
W^9y^ =做 1,1, 1) = -2.
Если х = 2, то стратегия В3, указывает игроку В при 2-м ходе взять у =2, а стратегия 4? указывает игроку А при 3-м ходе взять z = 2・ В результате
Kx,y,z) = %2,2,2) = 5・
Поскольку первая и вторая альтернативы на 1-м ходе выбираются соответственно с вероятностями 2/3 и 1/3, то и найденные выигрыши появляются с теми же вероятностями. Поэтому математическое ожидание выигрыша игрока А рассчитывается так:
Итак, при х =
-2・^ + 5・二=-.
33 3
=1
Вз
&
|1,1|
|1,2|
12, 11
Р,2|
4
|1,1|
伙 1,1,1)
…1,2)
KL 1,1)
做 1,1, 2)
%2
|1,2|
К1, 1, 1)
做 L 1, 2)
伙 1,1,1)
做 1,1, 2)
Л
₽, Ц
伙 1,2,1)
伙 1,2, 2)
伙 1,2,1)
伙 1,2, 2)
4
12, 2|
做 1,2,1)
伙 1, 2, 2)
伙 1,2, 1)
KL2, 2)
или
при х =
'-24 -24、
-24-24 1 -41-4'
卜 1 —41 —4,
=2
&
当
马
&
Ml
|1,2|
12,1|
12, 2|
4
|1,1|
附2 1,1)
/2, 1, 1)
做2, 2, 1)
伙2, 2, 1)
%2
|1,2|
伙 2,1,2)
附2 1,2)
附2 2, 2)
М2, 2, 2)
%3
12,1|
伙 2,1, 1)
做 2, 1, 1)
伙2, 2, 1)
附2 2, 1)
4
|2,2|
伙 2,1,2)
附2 1,2)
做2, 2, 2)
做2, 2, 2)
илиили
или
или
‘3 3 -3 -3、0 0 5 533-3-3、0 0 5 5,
Отсюда получаем искомую матрицу игры
-11 一43 5、2-11 一43 5、211 -75、
-1
1 一4
3 5
、2
-1
1 一4
3 5
、2
8111
-5 -1 -11
—87—5,
Замечание. Графическое представление и функция выигрышей полностью определяют позиционную игру. В рассмотренных выше примерах 6—9 мы пользовались одной и той же функцией и одним и тем же деревом. Различие было только в маркировке вершин дерева и в информационных множествах. При построении последних необходимо соблюдать два правила:
в одно информационное множество могут входить позиции только одного игрока,
последовательность звеньев, определяющая партию игры, может иметь с информационным множеством не более одной общей позиции.
Как показывает рисунок 34, и при таких ограничениях информационные множества могут выглядеть довольно необычно.
Позиционные игры с полной информацией
Позиционная игра называется игрой с полной информацией, если в каждой позиции любой ее партии игрок, делающий ход, знает, какие альтернативы были выбраны на предыдущих ходах. В графическом описании каждая вершина дерева такой игры представляет собой отдельное информационное множество.
Примерами позиционных игр с полной информацией могут служить шашки и шахматы.
Основная особенность позиционной игры с полной информацией состоит в том, что соответствующая ей матрица выигрышей всегда имеет седловую точку, то есть в игре с полной информацией всегда существуют оптимальные чистые стратегии и, значит, равновесная ситуация.
Сказанное означает, что в шахматах и шашках уже в начальной позиции либо имеется способ выигрыша за белых, либо способ выигрыша за черных, либо как та, так и другая сторона способна форсировать ничью.
Однако известное доказательство существования равновесной ситуации неконструктивно и не дает эффективных приемов фактического отыскания решения игры. И такие способы (стратегии) в шахматах не найдены до сих пор, и даже неизвестно, какая из перечисленных возможностей имеет место на самЬм деле.'
Иное дело с игрой крестики-нолики: стратегий в ней немного и она разобрана до самого конца — существуют оптимальные чистые стратегии, ведущие игроков к ничьей.
Рассмотрим несколько, примеров.
Как нетрудно заметить, двухходовая игра из примера 1 является игрой с полной информацией. Ее нормализация приводит к матрице с седловой точкой (см. пример 3).
Выкладывание монет на стол. Два игрока поочередно кладут монеты одинаковых размеров на обыкновенный стол, всякий раз выбирая произвольное доступное место для монеты (взаимное накрывание монет не допускается). Тот из игроков, кто положит монету, не оставляющую места для новых монет, выигрывает.
Это игра с полной информацией, и существует вполне определенная стратегия, обеспечивающая выигрыш тому из игроков, кто начинает игру: начинающий игру должен положить первую монету точно в центр стола и на каждый
Рис. 35ход противника отвечать
симметричным (относительно центра стола) ходом (рис. 35). Исход игры от стратегии второго игрока не зависит.
Переговоры. В переговорах участвуют две стороны Л и 5. В слегка идеализированном варианте это может выглядеть, например, так.
Сначала сторона Л высказывает одно из нескольких предложений, способных заинтересовать сторону А Затем сторона 3, ознакомившись с предложением стороны А, высказывает одно из нескольких встречных
предложений, способных, по ее мнению, заинтересовать сторону 4 В свою очередь, сторона 4 ознакомившись с реакцией стороны В на сделанные предложения, высказывает ей новое предложение, внеся одну из нескольких возможных корректировок в свое первоначальное предложение с учетом мнения стороны Д и т. д.
Если предмет переговоров сложен, то подобный обмен ходов может затянуться. Однако любые переговоры непременно заканчиваются. И там, на финише, ждет функция выигрышей.
Попробуем смоделировать короткий переговорный процесс трехходовой позиционной игрой.
Предположим, что переговоры заканчиваются через три хода, на каждом из которых соответствующая сторона имеет возможность выбора из двух альтернатив, и опишем соответствующую позиционную игру.
7-й ход делает сторона Л: она выбирает одно из двух возможных предложений — число х из множества двух чисел {1, 2}.
2-й ход делает сторона А она выбирает число у из множества двух чисел {1,2}, зная число х, предложенное стороной Л.
3・"хо5 делает сторона Л: она выбирает число z из множества двух чисел {1, 2}, зная о предложении стороны В на 2-м ходе и помня собственное предложение на 1-м ходе.
После этого сторона А либо получает вознаграждение (например, в виде кредита от стороны j8), либо выплачивает стороне 5 штраф.
Все эти возможности описываются функцией выигрышей %(х, у, z), заданной следующей таблицей:
"(LLl)=冉 歹(LL 2) = b, "(1,2,1) = с, "(1,2,2) = d,"(LLl)=冉 歹(LL 2) = b, "(1,2,1) = с, "(1,2,2) = d,^(2,1,1) = е, 伙2,1,2) = /, %(2,2,1) = g, 勿(2,2,2) = й.^(2,1,1) = е, 伙2,1,2) = /, %(2,2,1) = g, 勿(2,2,2) = й.
"(LLl)=冉 歹(LL 2) = b, "(1,2,1) = с, "(1,2,2) = d,
"(LLl)=冉 歹(LL 2) = b, "(1,2,1) = с, "(1,2,2) = d,
^(2,1,1) = е, 伙2,1,2) = /, %(2,2,1) = g, 勿(2,2,2) = й.
^(2,1,1) = е, 伙2,1,2) = /, %(2,2,1) = g, 勿(2,2,2) = й.
Графическое представление этой игры показано на рисунке 36.
Ясно, что описанная позиционная игра является игрой с полной информацией.
Начнем с описания возможных стратегий игрока 3.
Поскольку игроку В выбор игрока Л на 1-м ходе известен, то у игрока В четыре стратегии:
В】一 [1, 1],鸟一[1, 2],名一[2, 1],凡 一 [2, 2].
С описанием возможных стратегий игрока Л дело обстоит немного посложнее ——их восемь.
Чистая стратегия игрока А в данной игре описывается упорадочен- ной тройкой
(х, ki, z2]).
Здесь к (х = 1, 2) — альтернатива, которую игрок А выбирает на 1-м ходе, & (& = 1, 2) — альтернатива, которую игрок Л выбирает на 3-м ходе, если на 2-м ходе игрок В выбрал первую альтернативу (у = 1) и & ⑵= 1,2) — альтернатива, которую игрок А выбирает на 3-м ходе, если на 2-м ходе игрок В выбрал вторую альтернативу (у = 2).
Например, выбор игроком А стратегии (1, [2,1]) означает, что на 1-м ходе игрок А выбирает х = 1, а на 3-м z = 2, если игрок В выбрал у = 1, и z = 1, если игрок В выбрал у = 2.
Тем самым, у игрока А восемь чистых стратегий:
4 一 (1,[1, И), Л 一 (1, [1, 2]), А3 一 (1, [2, 1]), 4 一 (1, [2, 2]),
4 一 (2, [1, 1]), 4 - (2, Ц, 2]), 4 一 (2, [2, 1]), Л 一 (2, [2, 2]).
Покажем теперь, как определяются элементы таблицы выигрышей игрока А.
Пусть, например, игрок А выбрал стратегию 4 — (2, [1, 2]), а игрок В — стратегию Б3 — [2,1]. Тогда х = 2. Из [2, 1] вытекает, что у = 1, а из (2, [1, 2]), что z = L Отсюда
例Xy,z)=伙 2,1,1) = е・
Рассчитывая по этой же схеме все остальные элементы таблицы выигрышей, в итоге получим
&
当
&
发
[1,1]
[1,21
R, 1]
2 2]
4
d,[i,i])
做LLD
伙 1,1,1)
做 L2, 1)
做 1,2,1)
%2
d,[l,2])
伙 1,1,1)
伙1, 1, 1)
做 1,2, 2)
做 L2, 2)
(1, [2,1])
啲 1, 2)
做 1,1, 2)
做1, 2, 1)
伙 1,2, 1)
4
(1,[2,2])
做 1,1, 2)
伙 LL 2)
做 1,2, 2)
KL2, 2)
%5
(2, [1,1])
伙 2,1,1)
伙2, 2,1)
弘2, 1,1)
做2, 2,1)
4
(2, [1,2])
做 2,1,1)
做2, 2, 2)
弘2,1, 1)
弘2, 2, 2)
&
(2, [2,1])
弘2,1,2)
吵 2,1)
做 2,1,2)
弘2, 2,1)
Л
(2, [2, 2])
伙2,1, 2)
网2, 2, 2)
М2,1,2)
HU 2, 2)
fa а с суa a d d
Вследствие того что рассматриваемая позиционная игра является игрой с полной информацией, полученная матрица имеет седловую точку при любой функции выигрышей. В этом можно убедиться, произвольно выбирая значения параметров & b, с, d, е,工 g м Л.
Несколько слов в заключение.
В рассмотренных примерах основное внимание было уделено описанию процесса нормализации позиционной игры ——построению дерева игры и информационных множеств, выработке стратегий игроков и вычислению элементов платежной матрицы.
Следующий естественный шаг — отыскание значения игры и оптимальных стратегий игроков — проводится методами, о которых рассказывалось в разделе, посвященном матричным играм.
Некоторые другие виды игр
Мы можем пройти через многие и многие группы игр. " увидеть, как сходства то появляются, то снова исчезают.
Л, Витгенштейн
Реальные конфликтные ситуации приводят к различным видам игр. Выше мы достаточно подробно остановились на трех из них — матричных, биматричных и позиционных играх.
В этом разделе нам хотелось бы обратить внимание читателя на удивительное разнообразие конфликтных ситуаций, которые удается формализовать до состояния математической игры. Мы опишем эти ситуации с разной степенью подробности, заметив, что в перечне книг, сопровождающем эту главу, указаны и те, в которых показано, какими средствами и как именно достигается их разрешение.
Неантагонистические позиционные игры
В предыдущем разделе мы достаточно подробно остановились на позиционных играх двух лиц, где интересы одного из игроков (игрока А) полностью определяли интересы другого (игрока В)——они были противоположны интересам игрока Л. Вместе с тем нередко оказывается, что интересы игроков различаются не в столь резкой форме.
Приведем два простых примера.
Пример 1.
7-й ход. Игрок Л выбирает число х из множества {1, 2}.
2-й хо0. Игрок В выбирает число у из множества {1, 2}, зная выбор числа х игроком 4
Функции выплат игрокам АиВ —也(х, у) и И^х, у) — задаются так:
也(1, 1) = 1,也(1, 2) = -1,也(2, 1) = -2,也(2, 2) = 2,
吃 1, 1) = 2, W^ 2) = 1,忆2, 1) = 1,吃2, 2) = 2.
Дерево игры показано на рис. 37.
Исход игры зависит от того, каковы намерения игрока В — максимизировать свой выигрыш
И^х, у) - max, или
максимизировать свой относительный выигрыш
%(х, У) - 也(х, у) f max.
(1,2) (-1,1) (-2,1) (2,2)(1,2) (-1,1) (-2,1) (2,2)Рис. 37Рис. 37
(1,2) (-1,1) (-2,1) (2,2)
(1,2) (-1,1) (-2,1) (2,2)
Рис. 37
Рис. 37
В первом случае это достигается
при х = 1 и у = 1:阅(1, 1) = 2(也(1, 1) = 1);
при х = 2 и у = 2:般(2, 2) = 2(也(2, 2) = 2).
Во втором случае
при х = 2 и у = 1:亚2, 1)-(也(2, 1) = 1 _ (-2) = 3.
Пример 2.
Игра задается деревом (рис. 38).
1-й хо0. Игрок Л выбирает число х из множества {1, 2}.
Если х = 1, то каждый из игроков получает свой выигрыш, равный 2.
Если х = 2, то право 2-го хода получает игрок Д где он и выбирает число у из множества {1, 2}.
При у = 1 выигрыш игрока Л равен 1, а игрока 3 — 4. При у = 2 оба игрока получают поровну — по 3.
В случае, когда каждый из игроков стремится к получению максимального выигрыша и любые виды кооперации запрещены, исход игры ясен — игрок А выбирает х = 1, и игра заканчивается.
Заметим, что при х =2иу =2 каждый из игроков получает по 3 (такой исход предпочтительней простейшего (1,1)), и, если допустить соглашение между игроками, это обстоятельство вполне может изменить исход игры.
Игры на единичном квадрате (борьба за рынки)
Одна из конкурирующих фирм (игрок Л) пытается вытеснить другую фирму (игрок В) с одного из двух рынков сбыта. Предположим, что общая сумма средств, выделенная на это игроком 4 равна 1. Типичной стратегией игрока Л является разделение выделенной суммы на две части: х (0 < х < 1) для первого рынка и 1 - хдля второго. Подобным обра-
зом выглядят и стратегии игрока А выделение им части у (0 0 у 0 1) своей суммы на первый рынок и 1 - у на второй.
Будем считать, что если игрок А добился превосходства на одном из рынков (на другом превосходства автоматически добивается игрок В), то он вытесняет противника с этого рынка и получает выигрыш, пропорциональный избытку вложенных средств с коэффициентом, характеризующим важность рынка (этот коэффициент равен к、для первого рынка и & для второго). Тогда функция выигрыша Н(х9 у) игрока А определяется формулой
Я(х,у) = -Я(х,у) = -占(х-у), О0”х,
Я(х,у) = -
Я(х,у) = -
0, х = у,#2&-х), OsxvySL
Ясно, что функция выигрыша игрока В равна -Н(х, у).
Игры типа дуэли
Два дуэлянта (игроки Ли В) начинают сходиться в момент времени Г=0. У каждого пистолет заряжен одной пулей. Они встретятся в момент времени Г = 1 (если только ни один из них не поразит другого раньше). Каждый из дуэлянтов может выстрелить, когда пожелает. Если при этом одному из них удастся поразить противника, а самому остаться невредимым, то он становится победителем (его выигрыш равен 1) и дуэль тут же прекращается. Если оба промахнутся, дуэль заканчивается вничью (выигрыш каждого из игроков равен 0). Если оба выстрелят одновременно и каждый поразит противника, то дуэль также считается окончившейся вничью.
Будем считать, что меткость выстрелов при сближении игроков возрастает таким образом, что если какой-либо игрок выстрелит в момент времени Г, то вероятность поражения противника будет равна Г.
Обозначим момент выстрела игрока А через х, а момент выстрела игрока В через у.
Различают два вида дуэлей: бесшумную (когда игроки не слышат выстрелов друг друга) и шумную (когда игроки слышат выстрелы).
Бесшумная дуэль. При х<у вероятность попадания игрока А равна х, а промаха 1 - х・ Это означает, что вероятность его поражения игроком В равна (1 — х)у. Тем самым, функция выигрыша игрока А при х<у будет иметь вид
Я(х, у) = (+1)х + (—1)(1-х)у = х—у + 硏
Рассуждая аналогично, при х> у получим
Я(Х, у) = (—1» + (+1)(1-у)х^х-у-ху.
При х = у имеем
Я(х,у) = 0.
Шумная дуэль. При х<у вероятность выигрыша игрока А равна х, а проигрыша 1 —х (если игрок А промахнулся и, следовательно, не может больше выстрелить, игрок В будет увеличивать свои шансы на успех, ожидая, пока у не сравняется с 1). Поэтому при х<у функция выигрыша игрока А будет иметь вид
Я(х, у) = (+ 1)х + (_ 1)(1- х) = 2х -1・
Рассуждая аналогично, при х > у получим
Я(х, у) = (-1» + (+ 1)(1-у) = 1- 2乂
При х = у имеем
Я(х,у) = 0.
Ясно, что в обоих случаях функции выигрыша игрока В будут противоположны выписанным.
Иерархические игры
Опишем несколько ситуаций, которые сводятся к играм двух лиц, в которых игроки, прежде чем выбрать свои стратегии, обмениваются сведениями о своих выборах. Такого рода игры описывают взаимодействия между верхним и нижним звеньями управления (начальником и подчиненным, центром и производителем продукции и т. п.) и называются иерархическими. Будем считать, что первый игрок осуществляет управление вторым игроком и делает сообщение первым.
Ситуация 1-я. Первый игрок (центр) сообщает второму игроку (производителю продукции) цену на продукцию. Второй игрок, зная цену, выпускает продукцию в определенном количестве.
Ситуация 2-я. Первый игрок (центр) перед выбором имеет полную информацию о возможностях второго игрока (производителя продукции) и сообщает ему величину премии, обещаемую за произведенную продукцию.
Ситуация 3・я. Первый игрок (центр) указывает величину ресурса, которую он выделяет второму игроку (производителю продукции), когда тот сообщает ему свои производственные возможности.
Подробный разбор описанных ситуаций содержится в [7] (с. 103).
Игры дележа
Обратимся к играм, в которых игроки делят общий выигрыш (денежный доход). Такие игры называют кооперативными, или играми дележа. В этих играх (в отличие от рассмотренных выше) число участников может быть любым (но, разумеется, конечным).
В кооперативной теории нет единого понятия разумного дележа. Более того, различные соображения оптимальности могут приводить к разным множествам разумных дележей.
Здесь мы изложим один из возможных подходов к разрешению поставленной проблемы.
Пусть 乡—множество из п игроков:
乡一{gi,…,g"}.
Любое подмножество 尹 U 乡 будем называть коалицией.
Сопоставляя каждой коалиции 夕 ее выигрыш (доход)贝羚,мы определяем на множестве всех коалиций характеристическую функцию v.
Ясно, что таких, характеристических, функций на одном и том же множестве коалиций может быть задано много. Мы ограничимся рассмотрением характеристических функций, для которых неравенство
v(/0+v^)Sv(QUg)(+)
выполняется для любых двух непересекающихся коалиций 夕 н g.
Это означает, что если у двух коалиций 夕 н 乡 нет общего игрока, то сумма их выигрышей не превосходит выигрыша коалиции, их объединяющей.
Из неравенства (☆) вытекает, что для любых непересекающихся коалиций 夕1,..., 启 выполняется неравенство
£у(2)±у(纷,
откуда, в частности, следует, что разбиения множества 乡 на коалиции, при котором их суммарный гарантированный выигрыш превосходил бы выигрыш всех игроков, не существует.
В задаче «джаз-оркестр» (см. главу 2, задача восемнадцатая) множество игроков состоит из трех человек, а характеристическая функция принимает следующие значения:
y(g]) = 200, v(g2)=300, v(g3) = 0, y(g],g2) = 800, v(g2,g3) = 650,
Wgi,g3)= 500, P(gi,g2,g3)= l°0°・
Непосредственной проверкой легко убедиться в том, что для этой характеристической функции v условие (☆) выполнено.
Замечание. Если бы условие (☆) нарушалось (как это происходит, скажем, при y(gi) = 400), то собрать трио музыкантов за 1000$ было бы затруднительно, если только к совместной игре их не толкали иные стимулы.
В приводимом ниже примере характеристическая функция задана не столь явно.
Пример, Рассмотрим две пары матриц
Первый игрок выбирает номер строки 厶 второй ——номер столбца %, а третий ——номер пары г Е {1, 2}. Выигрыш первого игрока равен “3 вгорого 一ь3 а третьего -或=10一%一%
Сумма выигрышей всех трех игроков в этой игре постоянна и равна 10.
Найдем «)•
Первый игрок играет против коалиции {g2,的} в игру с матрицей
(1, 1)
(1,2)
(2, 1)
(2, 2)
1
2
7
3
—1
2
4
2
1
3
Вычеркивая первый и второй столбцы и решая получившуюся в результате 2 х 2-игру
находим, что v(gi) = 5/3. Отсюда 吨力 &) = Ю - 5/3 = 25/3.
Несложно найти значения характеристической функции и для других коалиций:
v(g2) = 1, Mg】,g3) = 9, v(g3)=4, у® ,g2) = 6.
Введем важное понятие дележа.
Определение. Дележом называется любой набор у = &卜..., у) подчиненный условиям
£九=妆1,…,g“)=P(g),九之y财),% = L …,n.
Замечание. Дележ 九…,乂 задает распределение выигрыша v(§), удовлетворяющее условию индивидуальной разумности,
Ук ^ v(gj,左=1, •••, n,
которая означает, что, участвуя в коалиции, каждый игрок получает не меньше того, что он мог бы получить, действуя самостоятельно и не заботясь о поддержке других игроков.
Пусть х и у — два разных дележа в заданной игре, и игроки должны выбрать какой-то один из них. Существует ли критерий, пользуясь которым можно было бы сделать такой выбор?
Вследствие условия
2乙=t九Ml Л»1
ясно, что все игроки не могут предпочесть дележ х дележу у (и наоборот, дележ у дележу х): часть игроков предпочтет тот дележ (х), при котором их выигрыши больше, в то время как другая часть игроков предпочтет дележ у (при котором больше выигрыши уже этих игроков).
Определение. Будем говорить, что дележ х доминирует дележ у по коалиции Q, если выполнены следующие условия:
巧>yt
для всех 百 £ Q и
2巧S MQ)・
Первое из условий означает, что все члены коалиции Q предпочитают дележ х дележу у, а второе, что коалиция Q на самом деле может предложить каждому из игроков g/ £ Q выигрыш %•
Обозначение: х % у.
То, что х % у, никак не исключает существования коалиции 夕,по которой у х・
Тем не менее, полезно следующее определение.
Определение. Будем говорить, что дележ х доминирует дележ у, если существует коалиция Q, для которой х % у.
Обозначение: х а у.
Предположим, что игроки пришли к такому соглашению о распределении выигрыша (дележу), при котором ни один из других дележей его не доминирует. Такое распределение устойчиво в следующем смысле: ни одной из коалиций 夕 не выгодно отделяться от других игроков и распределять между членами коалиции выигрыш v(夕)• Это обстоятельство наводит на мысль о целесообразности рассмотрения множества недоминируемых дележей.
Определение. Множество всех недоминируемых дележей называется ядром игры.
Справедливо следующее утверждение.
ТЕОРЕМА. Ядро игры есть множество всех дележей у =仇…,%), для которых неравенства
> у(夕)
выполнены для всех 夕 U g.
Замечание. Дележ у, принадлежащий ядру игры, удовлетворяет условию групповой разумности: выигрыш v(夕)любой коалиции не превосходит ее доли по дележу у.
Доказательство. Предположим, что дележ у удовлетворяет условию теоремы и для некоторого дележа х можно указать коалицию 夕,для всех игроков которой выполняются неравенства xt>yrB сочетании с условием теоремы это приводит к неравенству
», > У(夕),
которое означает, что дележ х не может доминировать дележ у по коалиции 夕.Тем самым, дележ у принадлежит ядру игры.
Покажем теперь, что дележ, не удовлетворяющий условию теоремы, ядру игры не принадлежит.
Из того, что дележ х не удовлетворяет условию теоремы, вытекает существование коалиции Q, для которой выполнено неравенство
2巧 V y(Q),
или, что то же,
2~ vy(Q) 一,
где £ > 0 — некоторое число.
Положим
а= у(纷-MQ)- 2y(g Jgf§\Q
Из условия (☆) следует, что а > 0.
Пусть g — число игроков в коалиции Q. Построим набор z =⑵,…,&) по следующему правилу:
[х{ +c/g,g/WQ,
& -卜g) + a/5-g), g/£Q・
Нетрудно проверить, что набор z является дележом и что z Aq х. А это означает, что ядру игры дележ х не принадлежит.
Вернемся к игре «джаз-оркестр» и попробуем найти ее ядро. Согласно теореме принадлежность дележа у = 3,九 Уз) ядру игры равносильна одновременному выполнению следующих соотношений:
弘 > 200,力之 300, % > 0,(*)
弘 + 力之 800,力 + Уз 之 650, У1 + Уз ^ 500,(**)
% +П + Уз = 1000-(***)
Заметим, что из условий (**) и (***) легко следуют неравенства % < 350, у? < 500, Уз < 200, которые вместе с соотношениями (*) задают прямоугольный параллелепипед
200 <У1< 350, 300 W у2 s 500, 0 <у3 < 200 (рис. 39). Плоскость 乃 + у? + Уз = ЮОО пересекает его по треугольнику АВС, координаты вершин которого равны
Л(350, 450, 200), 3(350, 500, 150), С(300, 500, 200) соответственно (рис. 40). АЛЗСи есть ядро данной игры. Как видим, оно содержит более одной точки, что не является существенным препятствием и попросту означает, что устойчивых дележей несколько.
В данном случае выигрыши каждого из игроков определяются с точностью до 50$. Типичным дележом является центр этого треугольника (среднее арифметическое координат его вершин), а именно, 片=333^,力= 483^,乃=183;.
Замечание. В случае
% +力 +,з =1°50 ядро игры состоит из одной точки
弘=350, у2 = 500, Уз = 200, а в случае
% +力 +у3 >1050. оказывается пустым.
Пустота ядра игры не делает кооперацию всех игроков множества 乡 невозможной, а лишь означает, что никакой дележ не может быть стабилизирован посредством простых угроз. В этом случае приходится искать принципы оптимальности, существование и единственность соблюдения которых были бы обеспечены в каждой кооперативной игре.
На этом пути и возникает вектор Шепли, аксиоматическое описание которого можно найти, например, в книге [8] (с. 250).
Очень много полезных сведений об играх содержится также в книгах [9], [Ю], [И].
Литература
Шаламов А Новая книга: Воспоминания. Записные книжки. Переписка. Следственные дела.——М.: Изд-во Эксмо, 2004.
Нейман Дж. фон, Моргенштерн О. Теория игр и экономическое поведение. —М.: Наука, 1970.
Стрэнг 上 Линейная алгебра и ее применения.——М.: Мир, 1980.
Brown G Ж Some notes on computation of Games Solutions // RAND Report P-78, April 1949, The RAND Corporation, Santa Monica, California.
Classics in, Game Theory. — Princeton, New Jersey: Princeton University Press, 1997.
NasarS. A beautiful mind: a biography of John Forbes Nash, Jr., winner of the Nobel Prize in economics. — Simon & Schuster, 1994.
Морозов 3.3. Основы теории игр. — М.: Издательский отдел факультета ВМиК МГУ, 2002.
Воробьев Н.Н. Теория игр для экономистов-кибернетиков. — М.: Наука, 1985.
Мулен а Теория игр. С примерами из математической экономики. —М.: Мир, 1985.
Петросян ЛА., Зенкевич Н・А, Семина Е4 Теория игр. — М.: Высшая школа, Книжный дом «Университет», 1998.
Оуэн 上 Теория игр. — М.: Едиториал УРСС, 2004.
Глава 6
МНОГОКРИТЕРИАЛЬНЫЕ ЗАДАЧИ
—Как-то ты странно рассуждаешь, К-кристо... К-как же искатьре~ шение, к-когда его нет ? Бессмыслица какая-то...
— Извини, Теодор, но это ты очень странно рассуждаешь. Бессмыслица —искать решение, если оно и так есть. Речь идет о том, как поступать с задачей, которая решения не имеет. Это глубоко принципиальный вопрос... ([1], с. 189)
В третьей и четвертой главах мы рассматривали задачи, в которых требовалось найти оптимальное (наибольшее или наименьшее) значение заданной функции (критерия), причем в каждой из этих задач такая целевая функция была ровно одна. Вместе с тем, в реальной жизни ситуации, когда необходимо удовлетворить одновременно не одному, а сразу нескольким условиям, встречаются довольно часто.
Когда дама, обладающая хорошим вкусом, решает купить себе новую шляпку, она, как правило, руководствуется двумя основными критериями ——элегантностью шляпки и ее ценой. Желания дамы понятны ——шляпка должна быть как можно более элегантной, а прореха в бюджете, порождаемая сделанной покупкой, как можно меньшей. Для осуществления своих намерений даме придется осмотреть и примерить множество самых разных шляпок. И лишь потом сделать выбор, отчетливо понимая, что купить шляпку одновременно и очень элегантную, и очень дешевую вряд ли возможно.
Задачи подобного рода принято называть многокритериальными задачами, или задачами с векторным критерием.
С привычной точки зрения задача со многими критериями решения не имеет ——далеко не всегда есть возможность одновременного удовлетворения всех заданных условий. Поэтому, когда говорят о решении многокритериальной задачи, имеют в виду какой-нибудь компромисс между изначально противоречивыми требованиями. А так как практически любая подобная ситуация допускает разные компромиссные разрешения, то и подходы к их поиску многочисленны и весьма разнообразны.
Перечислим некоторые из подходов к задачам со многими критериями.
Метод уступок — лицо, принимающее решения (руководитель), подводится к выбору решения путем постепенного ослабления первоначальных требований, как правило, одновременно невыполнимых.
Метод идеальной точки ——в области допустимых значений неизвестных ищется такая их совокупность, которая способна обеспечить набор значений критериев, в том или ином смысле ближайший к наилучшему, как правило, недосягаемому (в так называемой точке утопии).
Метод свертывания — лицо, принимающее решения (руководитель), сводит многокритериальную задачу к задаче с одним критерием.
Метод ограничений ——множество допустимых значений неизвестных уменьшается путем осмысленного введения дополнительных ограничений на заданные критерии.
Метод анализа иерархий — на основании суждений экспертов оценивается вклад в общую оценку каждого критерия.
Хотя перечисленные методы и носят отчетливо выраженный количественный характер, они нередко позволяют прояснить интересующую нас качественную картину.
Следует признать, что применение этих методов в реальных ситуациях, когда как число подлежащих определению величин и охватывающих их ограничений, так и число самих критериев особенно велики, сопряжено со значительными объемами вычислений. Поэтому при рассмотрении серьезной проблемы без привлечения современных вычислительных средств и эффективных алгоритмов никак не обойтись.
Накопленный опыт преподавания в университете, обсуждение с математически неискушенными слушателями указанных выше и иных методов дает нам основание сказать, что суть метода и алгоритм, его реализующий, удобнее всего раскрывать, опираясь не столько на теоретические рассуждения (разумеется, за многими из используемых подходов стоит серьезное теоретическое обоснование), сколько показывая, как именно надлежит действовать в конкретной ситуации (пусть даже и сравнительно простой).
Обращаясь к многокритериальным задачам, мы сталкиваемся с ситуацией, когда оптимальность искомого решения уже не столь очевидна, как это было ранее. Поэтому возникает необходимость в выборе еще одного, нового критерия, критерия оптимальности, и предъявлении заслуживающих внимания обоснований и достаточно веских доводов в его пользу.
Не имея возможности сколь-либо подробно останавливаться на возможностях каждого из перечисленных выше методов, мы опишем здесь лишь их малую часть, ограничившись в основном линейными задачами,
то есть такими, в которых используются только линейные функции и линейные ограничения (уравнения и неравенства).
Мы сознательно ограничиваемся анализом задач, в которых число неизвестных величин равно двум. Это даст нам возможность показать основные идеи наглядно (при помощи рисунков). Что же до количества критериев, то мы рассмотрим конкретные примеры сначала с двумя, а затем и с тремя критериями.
Множество Парето
Рассмотрим на плоскости (U, V) произвольное множество С (рис. 1). Каждая точка плоскости обладает одним из следующих трех свойств:
либо все точки, ближайшие к ней, принадлежат множеству С (такая точка называется внутренней точкой множества С),
либо все точки, ближайшие к ней, множеству Q не принадлежат (такая точка называется внешней точкой по отношению
к множеству С),
либо сколь угодно близко от нее расположены как точки множества С, так и точки, множеству С не принадлежащие (такие точки называются граничными точками множества Q).
Множество всех граничных точек множества называется его границей.
Обозначение: НС.
Граничная точка может как принадлежать множеству Q, так и не принадлежать. В дальнейшем мы будем рассматривать только такие
множества, которым принадлежат все точки их границы.
Пусть М ——произвольная точка множества Q, внутренняя или граничная, и Uh ее координаты. Поставим следующий вопрос: можно ли, оставаясь во множестве С, переместиться из точки Л/в близкую точку так, чтобы при этом одновременно увеличились обе координаты.
Если Af—внутренняя точка множества С, то это бесспорно возможно (рис. 2а).
Если же Af — граничная точка множества Q, то такое возможно не всегда. Например, путем перемещения точек 恥 н 拓 в другие точки множества Q можно одновременно увеличить обе координаты каждой из них (рис. 26). Однако перемещая точку М3 по вертикальному отрезку
АВ вверх (рис. 2в), мы увеличиваем лишь координату V (координата Онри этом остается неизменной). Перемещая точку % горизонтального отрезка CD вправо, мы увеличиваем координату U(при этом координата ^сохраняет свое значение). Что же касается точек дуги BD, то, стремясь увеличить одну из координат, мы непременно уменьшаем другую. Иными словами, на дуге BD лежат точки, одновременного увеличения обеих координат которых можно достичь лишь выйдя из множества С (рис. 2г). Во множестве С, изображенном на рисунке 3 и состоящем из 11 точек, этим свойством обладает каждая из четырех выделенных черных точек.
->и
Тем самым, точки множества С можно разбить на три класса: к первому классу относятся точки, которые, оставаясь во множестве Q, можно сдвинуть так, чтобы одновременно увеличились обе координаты (в этот класс попадают все внутренние точки множества С и часть его граничных точек),
второй класс образуют граничные точки, перемещением которых по множеству HQ можно увеличить только одну из координат при сохранении значения второй (вертикальный отрезок/Зн горизонтальный отрезок CD на границе множества Q),
в третий класс попадут граничные точки, % перемещение которых по множеству уменьшает одну из координат при одновременном увеличении другой (дуга BD границы НС)).
Множество точек третьего класса принято называть границей (множеством) Парето дан- 一 ного множества С (выделено на рис. 4).
Рис. 5Рис. 5На рис. 5 указаны границы Парето некоторых простейших множеств.
Рис. 5
Рис. 5
Однако вернемся к даме, выбирающей шляпку, и попробуем придать ее размышлениям геометрическую наглядность.
По степени элегантности шляпки можно разделить, например, так — элегантные (Э), очень элегантные (ОЭ), не очень элегантные (НОЭ), сверхэлегантные (СЭ) и совсем не элегантные (СНЭ) (см. вертикальную ось на рис. 6а). По горизонтальной оси будем откладывать величину суммы, которая останется в кошельке у дамы после возможной покупки той или иной шляпки,——чем дешевле шляпка, тем большей будет оставшаяся сумма. Тогда с каждой шляпкой, на которую обратила свое внимание дама, можно сопоставить точку на координатной плоскости. Выделение границы Парето отбросит неинтересные варианты и, конечно, облегчит окончательный выбор (см. рис. 66). Но каким он будет?
сэ
сэ
оэ
■оо о
оэ
а
-оООо
3
・0。。0
ноэ
•ОООО
ноэ
о о оО
снэ
-°оо
снэ
■◎оо
S
S
Рис. 6а
Рис. 66
Мой кошелек. Мои глаза.
Их вечный грустный поединок.
Укажем простое геометрическое правило, посредством которого
можно выделять из заданного плоского множества его границу Парето. О ▲Рассмотрим пробный прямой угол, стороны кото-
'Трого сонаправлены координатным осям U и Р
(рис. 7а). Положение этого пробного угла на плоско
сти однозначно определяется его вершиной Q. Пе- Q ремещая пробный угол (параллельно самому себе), \ »мы будем собирать только те точки заданного мно-
Iижества С, которые можно совместить с точкой
Рис 7а ° так, чтобы ни одна другая точка множества С не попадала ни внутрь этого угла, ни на одну из его сторон (рис. 76). Совокупность всех таких точек и будет искомой границей Парето для множества С.
Рис. 76Рис. 76Замечание, Границу Парето множества С в пространстве R" можно определить как совокупность точек
Рис. 76
Рис. 76
伸…,a)wR〃, обладающих следующим свойством: из серии неравенств
" W 匕,…,un<vn и условия
(匕,…,匕){R"
неизбежно вытекает, что
Ясно, что при п =2 это определение равносильно данному выше.
Метод уступок
Пусть на плоскости (х, у) задано множество ①(рис. 8а) и в каждой точке этого множества определены две непрерывные функции
U = Ф(х, у) и К = Ф(х, у).
Рассмотрим следующую задачу.
Во множестве ① найти точку (х*, у), в которой
Ф(х, у) = max и 屮(£, у) = max.
Обычно это записывается так
①(х,У)— max и 屮(х,у) -> max,
(х,у) G ①.
Сразу же отметим, что поставленная задача в общем случае решения не имеет.
В самом деле, нарисуем на плоскости (14 И множество всех точек, координаты которых вычисляются по формулам
U =①(х,у), V =屮(х,у), (х,у)£ ①.
Из рис. 86 видно, что точка с координатами (Фтах, Фтах) (точка утопии) лежит вне множества С.
Это означает, что наибольшее значение функции U и наибольшее значение функции V достигаются в разных точках. Тем самым, удовлетворить обоим требованиями одновременно невозможно.
Метод (последовательных) уступок является одним из наиболее простых методов решения задачи с двумя критериями. Этот метод состоит в том, что лицо, принимающее решения (ЛПР), работая в режиме диалога с аналитиком-специалистом, последовательно сужает множество точек на границе Парето и в конце концов соглашается остановиться на некоторой компромиссной паре значений критериев.
На рисунке 9 показано, как последовательно, шаг за шагом, всматриваясь в границу Парето, лицо, принимающее решения (руководитель), выходит на компромиссное решение, постепенно уступая своему первоначальному желанию —(①шах,屮max).
7-й шаг, 1-я уступка. Лицо, принимающее решения, соглашается немного ослабить свои изначальные требования по 1-му критерию и заменить Фтах на Фр Аналитик-специалист при помощи границы Парето множества С (дуги АВ) показывает ему, что соответствующее значение 2-го критерия не может быть больше 4fL Скорее всего лицо, принимающее решения, не сочтет полученную пару (Фь ФО приемлемой, но согласится немного ослабить свои требования на значение 2-го критерия, что приведет к необходимости 2-го шага.
2-й шаг, 2-я уступка. Лицо, принимающее решения, соглашается заменить 屮max на 屮2・ Аналитик-специалист при помощи границы Парето множества С (дуги АВ) показывает ему, что соответствующее значение 1-го критерия не может быть больше Ф2. Скорее всего лицо, принимающее решения, не сочтет полученную пару (Ф2,屮2)приемлемой, но согласится еще немного (по сравнению с ФО ослабить свои требования по 1-му критерию, что приведет к необходимости 3-го шага.
Ясно, что с каждым шагом, с каждой уступкой просматриваемая часть границы Парето будет сокращаться
АВЭАхВЭА{В2 DA3B2 "3В4 口厶以 D...
(см. рис. 9) и, когда пара (Фл,屮“),полученная на 〃・м шаге, покажется лицу, принимающему решения, приемлемой, процесс поиска подойдет к концу. Останется лишь найти решение системы
①(х,у) =①〃,Ф(х,у) = Фл.
Полученная в результате пара чисел х = х* и у = у* и будет ответом к исходной задаче, полученным методом уступок.
Метод идеальной точки
Другой подход, также использующий множество Парето, называется методом идеальной точки. Он состоит в отыскании на границе Парето точки, ближайшей к точке утопии, задаваемой лицом, принимающим решения.
Как уже отмечалось выше, обычно лицо, принимающее решения, формулирует цель в виде желаемых значений показателей, и часто в качестве координат целевой точки выбирается сочетание наилучших значений обоих критериев (как правило, эта точка при заданных ограничениях не достигается; поэтому ее и называют точкой утопии).
Рассмотрим конкретный пример поиска идеальной точки.
Пример, Пусть на множестве ① плоскости (х, у), определяемом системой неравенств
0<х<2,
0<у<2,
заданы две линейные функции
U=5x-y+2,⑴ Р = -х + Зу + 2.
Требуется найти решение задачи
U -> max V -> max
при условии, что (х, у) Е з.
Множество ① представляет собой квадрат (рис. 10), вершины кото
У]У]Рис. 10Рис. 10рого имеют координаты
У]
У]
Рис. 10
Рис. 10
4(0,0), 3(0,2), С(2,2), Х2,0).
В силу линейности критериев U и Р квадрат ABCD переходит в параллелограмм PQRS (рис. 11), координаты вершин которого
Л2,2), 0(0,8), К(10,6), 5(12,0) вычисляются по формулам (☆)•
Точка утопии Af*(12, 8) считается заданной (ее координаты суть наибольшие значения U и V).
Граница Парето параллелограмма Р0КУ состоит из двух отрезков — QR и RS (рис. 12).
Точка, ближайшая к точке утопии ЛГ, принадлежит множеству Парето и должна лежать на одном из составляющих его отрезков — или на отрезке QR, или на отрезке RS.
Чтобы найти на отрезке QR точку, ближайшую к точке ЛГ, воспользуемся прямой, проходящей через точки Q и Л.
Подставляя в общее уравнение прямой
aU + 夕Р = у
координаты точек Q и Л,
8s = У,10a +6s=7,
найдем соответствующие значения параметров а,尸 и у. Из первого равенства получаем, что
吟,
а из второго, что
Положим у = 40. Тогда а = 1,夕=5 н
U+ 5P = 40 - уравнение искомой прямой.
заданными своими координатами.заданными своими координатами.Теперь стоит напомнить, как ищется расстояние между точками,
заданными своими координатами.
заданными своими координатами.
Пусть (几匕)и (&, %) — точки на плоскости (4 F). Для того чтобы найти расстояние между ними, достаточно вычислить длину гипотенузы построенного прямоугольного треугольника (рис. 13).
Воспользовавшись теоремой Пифагора, получим, что расстояние между этими точками равно
)(4 -6)2+(匕-匕)2.
Чтобы отыскать на прямой, описываемой уравнением
U+5P= 40,
точку M\U\ Г), ближайшую к точке ”(12, 8), нужно решить экстремальную задачу
Z=(UT2)2+(P-8)2 - min (☆☆)
при условии, что
U+5 P=40.
Заменяя в формуле (☆☆) U на 40-5 匕 приходим к задаче
Z = (28-5Р> + (展8)2 ■> min.
Возводя в квадрат и приводя подобные, получаем, что
z = 26勿一296,+848.
Это уравнение описывает параболу, ветви которой направлены вверх (рис. 14). Поэтому своего минимального значения функция z достигает в ее вершине. Из условия
находим 匕 а затем и U,
Из рисунка 15 видно, что точка прямой QR, ближайшая к точке утопии М*9 лежит вне отрезка QR: справа от точки 贝(U > 10) и ниже ее (К 6).
Поиск точки, ближайшей к точке утопии М\ на прямой RS приводит к аналогичному результату. В самом.деле, построив уравнение прямой, проходящей через точки Л и 5,
3U + Р = 36, после подстановки
Р = 36-3U
в формулу (☆☆) получаем, что
z = (U- 12)2 + (28-3t/)2
и далее
Z = 10 0-192 0 + 928.
Минимального значения функция z достигает при
Откуда
Найденная точка лежит вне отрезка RS: CZ < 10, К > 6 (см. рис. 15).
Возьмем окружность с центром в точке М* столь малого радиуса, чтобы она не пересекалась со множеством Q, и будем постепенно увеличивать радиус этой окружности (сохраняя центр в точке М*) до тех пор, пока она не коснется множества С. Из полученных выше результатов ясно, что эта переменная окружность встретит ломаную QRS в точке К(10, 6), которая и будет ближайшей к точке утопии ”, то есть идеальной точкой.
Найденная идеальная точка отстоит от точки утопии ЛГ(12, 8) на расстоянии 2夜,равном радиусу построенной окружности (рис. 16).
Соответствующие значения £ и у* легко находятся из системы линейных уравнений
5х-у+2 = 10,
-х + Зу + 2 = 6.
Имеем
х = 2, у = 2.
Замечание. Мы рассмотрели задачу, в которой
①(х,у) -> max, 屮(х,у) -> max.
На практике часто встречаются случаи, когда требования выглядят по-иному — так
①(х,у) f max, V(x,y) -> min,
или даже так
①(х,У)— nun,屮(х,у) f min.
Можно, конечно, решать такие задачи и непосредственно. Но значительно удобнее учесть, что функция
® = 7
достигает наибольшего значения в точности в тех точках, где функция 屮 принимает наименьшее значение, и наоборот. Иными словами, условия 屮-> min и 0 -> max равносильны.
Поэтому, поменяв в случае необходимости знак у критерия на противоположный, мы можем свести любую двукритериальную задачу к задаче рассмотренного выше типа
①(х,У)— max, 屮(х,у) -► max.
Метод ограничений
Описывая метод уступок и метод идеальной точки, мы исходили из того, что заданные критерии по степени важности неразличимы. Однако нередко приходится сталкиваться с ситуациями, в которых подобное равноправие критериев нарушено, и у каждого из них есть свой вес. Метод свертывания и метод ограничений, о которых мы собираемся говорить далее, показывают, как можно решать многокритериальную задачу с критериями, разными по степени важности.
Начнем с общей постановки линейной многокритериальной задачи.
Задача 豪.Предположим заданными
область ш изменения допустимых значений переменных х^ ..., хл, определяемую совокупностью линейных уравнений и неравенств, и
набор критериев Сгь ..., Сгт, оценивающих качество искомого решения.
Будем считать, что каждый из этих критериев линейно связан с переменными хь ..., х〃,
左=i
где уЛ — известные числа.
В области ① требуется найти такой набор переменных (хь ..., хл), при котором по всем критериям достигались бы максимальные значения,
仇 ->max, Crm ->max.
Метод свертывания описывается совсем просто. Лицо, принимающее решения, из некоторых, часто доступных только ему соображений назначает веса критериев,
W], ..., Wj, ..., Wm,吗 >0, ..., “ >0, ..., wm >0,^i = Lz=i
что позволяет свернуть заданные критерии в один глобальный критерий,
С“ = WjCr, + ... + WjC〃 + ... +wmCrm9 и свести исходную задачу к обычной задаче линейного программирования с одним критерием:
найти в области ① такой набор переменных (хь ..., хя), при котором глобальный критерий достигает максимального значения,
Cr^ -> max.
Суть метода свертывания просто и выразительно описывает Гоголь ([2], с. 321):
Если, бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколько-нибудь развязности, какая у Балтазара Балтазарыча, да, пожалуй, прибавить к этому еще дородности Ивана Павловича — я бы тогда тотчас же решилась.
Метод ограничений строится таким образом, что лицо, принимающее решения, определяет веса заданных критериев, опираясь только на количественную информацию о степени их важности, которую оно получает в ходе изучения поставленной задачи.
Специально подчеркнем, что в распоряжении лица, принимающего решения, никаких предварительных сведений о сравнительной важности критериев нет.
Изложение метода начнем с описания общей схемы решения задачи А.
Обычно для решения многокритериальной задачи методом ограничений требуется несколько шагов (но не больше т - 1).
1-й шаг, как и следующие за ним, разбивается на ряд этапов.
На первом этапе в области допустимых значений ① осуществляется оптимизация отдельно по каждому из критериев (решаются соответствующие задачи линейного программирования). Затем для каждого найденного при этой однокритериальной оптимизации набора неизвестных (хь ..., Хп) вычисляются значения всех критериев. '
Пусть, например, при оптимизации по критерию О;, / = 1,..., т, мы получили набор (х*, ..., х»).
Обозначим через CPti (р= 1,..., т) значения критериев для этого набора и составим таблицу
Таблица 7
Oi
Crt
Crm
Сл
Qi
...
…
…
Cn
Cl,/
Cm,t
• • •
…
...
Crm
Cn,m
(в /-м столбце помещены значения f-го критерия Crh вычисленные для наборов, доставляющих максимум каждому из т заданных критериев).
Ясно, что среди значений С/д, ..., Cin ..., Cim критерия С^ наибольшим является C/>z,
&i=maxC%・.
Затем проводится нормировка найденных значений критериев к значениям в промежутке [0, 1] по формулам
-minС%,・
с〃/=Кг-7—, P=L …,m (*)
〃 max&j -mmCqj
В случае, когда все значения критериев О> положительны, нормировку проводят немного иначе,
тах&,тах&,р=1, ..., т. (**)р=1, ..., т. (**)
тах&,
тах&,
р=1, ..., т. (**)
р=1, ..., т. (**)
В результате получаем относительные (безразмерные) значения для всех критериев
Таблица 2
5
Сгщ
Си
1
…
…
…
…
С覃
1
^m,i
…
• • •
• • •
…
Crm
01m
…
Qm
1
Ясно, что после нормировки наибольшее значение каждого критерия станет равным единице.
В таблице 2 представлена ценная информация, характеризующая область допустимых значений заданных критериев. Так, если значения двух столбцов близки в каждой из строк (кроме строк, содержащих единицы в этих столбцах), то соответствующие критерии сильно зависимы — изменения других критериев одинаково влияют на эти два. Можно выявить и противоречивые критерии, когда высокая оценка по одному сопровождается низкой по другому.
По таблице 2 вычисляются веса (индексы) критериев.
Пусть а] — среднее (среднее арифметическое) значение, взятое по всем элементам L го столбца (кроме равного 1). Вес w; Z-го критерия определяется формулой
22"哈
Найденный вес ——это своеобразный коэффициент внимания, которое следует уделять z-му критерию при поиске решения. Предположим, к примеру, что все элементы z-го столбца в таблице 2 близки к 1. Тогда среднее значение а, также будет близко к 1,1 - а ; будет мало, малым будет и соответствующий вес w;・ Это означает, что если при оптимизации по другим критериям значение данного критерия близко к наилучшему, то ему вряд ли стоит уделять внимание. Наоборот, критерию, сильно за-
висящему от изменения других критериев (а; мало), должны соответствовать большие значения веса.
Введенные веса иногда называют техническими, для того чтобы подчеркнуть, что они вычисляются, а не назначаются, как, например, в методе свертывания.
Следующий этап — оптимизация по глобальному критерию
% = %О] +••• + %О/ + …+ %%,
отыскание х;, ..., х;, вычисление соответствующих значений критериев С^°, О; и предъявление результатов лицу, принимающему решения (руководителю).
Анализ лицом, принимающим решения, предъявленных результатов —следующий важнейший этап.
Сначала, сравнивая компоненты вектора утопии
z° = {max Сгъ ..., max %} с только что найденными значениями критериев
у°={Сг;,...9Сг^
лицо, принимающее решения, отвечает на вопрос: все ли компоненты вектора у9 имеют удовлетворительные значения?
Если да, то искомое решение получено.
Если нет, то лицо, принимающее решения, выделяет (один) критерий с наименее удовлетворительным значением (пусть это критерий О>) и просит назначить для критерия Cri пороговое значение 4, признавая тем самым, что приемлемо любое значение этого критерия, удовлетворяющее условию
Cri > lr
Последнее неравенство накладывает на область ① допустимых значений переменных хь ..., хп дополнительное ограничение и сужает ее до ①二
На этом этап анализа завершается.
Конец 1-го шага.
Следующий, 2-й шаг начинается с этапа расчета для новой области допустимых значений. При этом число критериев на единицу меньше исходного. Завершается 2-й шаг выбором порогового значения для еще одного критерия.
Вследствие того что набор критериев конечен и на каждом шаге их число уменьшается на единицу, этот процесс рано или поздно подойдет к концу, и приемлемые значения будут получены по всем критериям.
Для того чтобы показать возможности этого метода более выпукло, рассмотрим конкретный пример и приведем ключевые результаты расчетов.
Пример, Область ① допустимых значений неизвестных х и у задана системой неравенств
2х + у-13<0,
х-Зу+11N0,
х>1,
2х + 5у —17 N 0.
Требуется найти в области ① такую точку, в которой каждый из трех критериев Сгь С〃 м Сп достигает максимального значения,
仇=2х-7у+ 35->max,
С>2 = -2х + 19у + 25 f max,
О3 = — 14х- Зу +95 ■> max.
Решение. Область ① представляет собой четырехугольник ABCD с вершинами
/(6,1), 3(4,5), С(1,4), Д1,3)
(рис. 17). Его стороны лежат на прямых
АВ: 2х+у-13 = 0,
ВС: х-Зу+11 = 0,
CD: х = 1,
Р4: 2х + 5у-17 = 0.
1-й шаг. Вычислим в каждой вершине этого четырехугольника значения всех трех критериев
5
Таблица 3
5
4
40
32
8
В
8
Ш
24
С
9
99
69
D
16
80
22
Это позволит нам решить в области ABCD три обычных задачи линейного программирования:
по критерию Ch — он достигает максимального значения 40 в точке 4
по критерию С乃一он достигает максимального значения 112 в точке 3,
по критерию Оз — он достигает максимального значения 72 в точке А
В таблице 4 представлены значения каждого из этих трех критериев в точках 4 3 и D, доставляющих максимум критериям Сг^ Сг2и Оз соответственно
Таблица 4
Си
5
Оз
О1
4Q
32
8
5
8
112
24
Оз
16
80
22
Пронормируем значения критериев в таблице 4 по формулам (**). Имеем
Таблица 5
Сп
5
Оз
5
1
0
0
5
0
1
1/4
5
1/4
3/5
1
Вычисляя средние значения в каждом из столбцов таблицы 5 (исключая равные 1),
получаем
777
1—1—а; =—, 1—а;= —1 82 103 8
Отсюда следует, что технические веса равны
°5°4°5
吗卞旳=甘%=/
соответственно.
Глобальный критерий
545
% 啧(2х- 7у + 35) + —(-2х +19 + 25) + 訐 Мх- Зу + 95) после приведения подобных преобразуется к виду
% = ;(-34х + 13у + 375).
Решая задачу
Сг} ->тах
в четырехугольнике ABCD, получаем, что максимального значения глобальный критерий достигает в точке С(1, 4). Сравним вектор утопии
Z。= {40, 112, 72}, составленный из максимальных значений критериев Cr\, Cr2M S, с вектором
У = {9, 99, 69}, компоненты которого суть значения этих же критериев, вычисленные в точке С, доставляющей максимум глобальному критерию Ст;. Если лицо, принимающее решения, считает, что все компоненты вектора у° имеют приемлемые значения, то искомое решение получено —это
% = 9, О? = 99, С>з = 69
при х = 1 н у = 4.
Будем считать, что лицо, принимающее решения, полученным результатом не удовлетворено. Тогда оно (это лицо) должно выделить критерий с наименее приемлемым значением. Пусть это критерий Сг\. Для него лицом, принимающим решения, назначается порог 1; = 20, ниже которого значения 1-го критерия не должны опускаться.
Чтобы дать возможность лицу, принимающему решения, принять более взвешенное решение, найдем максимально возможные значения двух других критериев Сг2 и Сг3 при следующих ограничениях, накладываемых на критерий Crb
5 > 30, Си > 20, Си > 10 (рис. 18).
X
Рис. 18
Для этого достаточно подсчитать эти значения в треугольнике AEF с вершинами
46,1),46,1),
46,1),
46,1),
в треугольнике AGH с вершинами
46,1), G 停,?"职
в четырехугольнике AIJD с вершинами
46,1),46,1),D(L3)D(L3)
46,1),
46,1),
D(L3)
D(L3)
и сравнить.
Результаты проведенных вычислений занесены в таблицу 6
Таблица 6
0*1 > 30
Си > 20
Ch > 10
5
57
82
107
Оз
104/3
184/3
72
При анализе таблицы лицо, принимающее решения, выбирает условие
Си > 10.
Конец 1-го шага.
2-й шаг. Новая область ①。U ① допустимых значений переменных х и у описывается неравенствами
2х + у-13<0, х-Зу+ 11N0, х>1,
2х + 5у-17>0, 2x-7y + 35N10
(к исходным неравенствам, описывающим область ①,добавлено неравенство СГ1 = 2с - 7у + 5 > 10, полученное в конце 1-го шага) и представляет собой четырехугольник AIJD (рис. 19).
Проведем оптимизацию в области 炉 по каждому из двух оставшихся критериев Сг2 и %
В таблице 7 представлены значения этих критериев в точках / и 0, доставляющих максимальные значения критериям Сг2 и 5 соответственно
Таблица 7
。25。2510710723722372
。2
5
。2
5
107
107
23
72
23
72
ООхх
О
О
х
х
Рис. 19
Нормируя значения критериев таблицы 7 по формулам (**), получим
Таблица 8
G Сгз123/72
80/107 ~Г"
Отсюда находим средние
%。=誥= 0・75, а;。%。=誥= 0・75, а;。23五=。3223五=。32
%。=誥= 0・75, а;。
%。=誥= 0・75, а;。
23
五=。32
23
五=。32
и технические веса
噜=。・73.0.93噜=。・73.0.93025
噜=。・73.
0.93
噜=。・73.
0.93
w00= —= 027,玲。
10.932
Это позволяет сформировать новый глобальный критерий
Сг^ = 027(-2х + 19 + 25) + 0.73(- 14х - Зу + 95) = - 10.76х + 294у + 7610,
который достигает наибольшего значения в точке
Для отыскания максимума достаточно сравнить его значения в вершинах четырехугольника AIJD:
О; (Л) = -10.76-6 + 2.94-1 + 76J0, 3319
%。(/) = -10.76— + 254— + 76J0,
27
О; (J) = -10.76-1 + 294・ у + 76J0, %。(°) = -10.76 • 1 + 294・ 3 + 76J0.
Вычислив в точке J значения критериев Сг2 и С% 23
5=96 亍 5 =69 亍
построим вектор
厂=恒吟
Предположим, что, сравнивая его с вектором утопии
^ = {107,72},
лицо, принимающее решения, заключает, что значение по критерию Сг2 наименее удовлетворительно, и назначает нижний уровень по этому критерию равным 100.
Чтобы дать возможность руководителю принять более взвешенное решение, найдем максимально возможные значения оставшегося критерия Оз при следующих ограничениях, накладываемых на критерий 5
0*2 N 105, Сг2 > 100 (рнс.$ 20).
Для этого достаточно подсчитать эти значения в треугольнике IKN с вершинами
/借号唱用噴用,
в треугольнике ILM с вершинами
и сравнить.
► 01х
Рис. 20
Результаты проведенных вычислений занесены в таблицу 9
Таблица 9
0*2 N 105
Ch N юо
Оз
95/3
160/3
При анализе таблицы лицо, принимающее решения, выбирает условие Ch 之 ЮО.
Итак, выбор сделан
Си > 10, 5 之 ЮО.
Конец 2-го шага.
3-й шаг. Новая область ①°° С(у° допустимых значений переменных х и у описывается неравенствами
2x+y-13s0, х-Зу+11>0, х > 1, 2х + 5у-17>0, 2х-7у+ 35N10, -2х + 19у+25>100
(добавлено неравенство Сг2 = —2х + + 19y + 25 > 100, полученное в конце 2-го шага) и представляет собой треугольник IKN (см. рис. 21).
Проведем оптимизацию в области ①°° по оставшемуся критерию Оз,
Оз -> max.
Вычисляя его значения в вершинах треугольника IKN,
1з
Оз (/) = 23, q(N) = 53§, 5 (К) = 2g,
получаем, что наибольшего значения критерий 5 достигает в точке N. Теперь остается лишь выписать соответствующие значения переменных X И у,
.25. 25
1Г У =т1Г У =тх =
1Г У =т
1Г У =т
Ответ: приемлемые значения критериев Сгь Сгъ Сг3,
О】=10, О? = ЮО, Оз = 55;,достигаются при £ = 25/12 и у = 25/6.
В монографии [3] описано, как метод ограничений был применен для прогнозирования последствий различных вариантов управления кадрами большой организации.
Была построена линейная модель, характеризующая изменения со временем состава персонала организации и продуктивности ее работы. Проверялись разные стратегии приема на работу и повышения в должности через два, три и четыре года. В качестве переменных рассматривалось количество сотрудников, назначенных на различные должности в определенные промежутки времени.
В модель были заложены следующие зависимости:
эффективность работы сотрудника линейно зависит от отношения оценки его возможностей к оценке требований, предъявляемых должностью к сотруднику,
удовлетворение сотрудника во время пребывания на определенной должности сначала возрастает до максимального значения, а затем уменьшается со временем до начального значения, также в зависимости
от отношения оценки его возможностей к оценке требований, предъявляемых должностью к сотруднику,
и были выбраны следующие четыре критерия:
общее удовлетворение кадров (критерий Си), фактическая интенсивность работы кадров (критерий 5), затраты, связанные с приемом на работу дополнительных сотрудников (критерий Оз),
затраты, связанные с нехваткой кадров по отношению к прогнозируемым потребностям (критерий 5).
С математической точки зрения изучаемая проблема представляет собой задачу линейного программирования с четырьмя критериями качества.
Требовалось найти такой набор переменных, при котором каждый из этих четырех критериев принимает наибольшее значение.
Так как в этом конкретном случае рассматривалась большая организация, то и количество переменных и количество ограничений были велики —350 и 200 соответственно. Поэтому для ее решения были использованы не только интеллектуальные, но и значительные вычислительные ресурсы.
Более основательно с методами решения многокритериальных задач можно познакомиться по книгам [4] и [5].
6.5. Литература
Стругацкий А., Стругацкий В Понедельник начинается в субботу. — М.: Детская литература, 1979.
Гоголь НВ Собрание сочинений: в 9 т. Т. 3. Повести; Т. 4. Комедии. —М.: Русская книга, 1994.
Ларичев О.И. Теория и методы принятия решений, а также Хроника событий в Волшебных странах. — М.: Логос, 2002.
Подиновский АН, Ногин 3.4 Парето-оптимальные решения многокритериальных задач. — М.: Наука, 1982.
Штойер Р. Многокритериальная оптимизация. Теория, вычисления и приложения. — М.: Радио и связь, 1992.
Глава 7
ЗАКЛЮЧИТЕЛЬНАЯ
Мы засмеялись бы над человеком, который соединил бы вместе булыжник, мечту и телеграфный сигнал.
Богданов А.А., «Тайна науки» ([1], с. 387)
В эту, заключительную главу мы поместили три несхожих раздела, руководствуясь только одним, но весьма существенным обстоятельством, —их важностью.
Первый из разделов, «Малые шевеления», объясняет, пусть и косвенно, почему выше мы практически всегда ограничивались общими случаями, намеренно отказываясь от рассмотрения россыпи особых.
Имея дело с не всегда точными данными, мы хотим надеяться на известную устойчивость качественных выводов, к которым приводит нас их анализ. Поэтому при исследовании сложившейся ситуации важно иметь достаточно ясное представление о том, насколько и как именно полученные выводы зависят от небольших изменений в ее количественном описании.
Во втором, самом большом разделе ^Количественные подходы и качественные выводы» мы попытались показать, что количественное вторжение в ситуацию, обделенную числовыми характеристиками, может оказаться весьма плодотворным.
Сцепление обстоятельств, не имеющее видимой числовой опоры, возникает нередко, и, для того чтобы разобраться с ним, иногда полезно такую опору навязать насильственно, придав количественное наполнение расплывчатым больше, слабее, выше, заметней и т. п. И хотя подобная числовая конкретика носит весьма вспомогательный характер, это позволяет более полно ощутить внутреннюю структуру изучаемого явления.
Небезынтересно и то, что в некоторых случаях количественная интервенция одновременно предоставляет возможность контроля числом правильности делаемых выводов.
Разрыв между усвоенными в стенах университета теоретическими достижениями и развивающимися в реальности событиями является одной из неизбежных трудностей, возникающей перед выпускником. Поэтому небесполезны даже весьма скромные шаги в направлении сокращения такого разрыва. Пытаясь идти навстречу реальным задачам
(а именно так назван третий раздел этой главы), мы предлагаем здесь читателю самому формулировать взятые из жизни задачи, близкие к затронутой нами тематике, и, разумеется, самому их разрешать.
Этот небольшой опыт поможет распознать проблему в новых, незнакомых обстоятельствах, перейти более или менее успешно к формализации рассматриваемой ситуации и обозначить пути ее возможного разрешения.
Малые шевеления
Вокруг стеклянного плафона под потолком обессиленно мотались три мухи — должно^ быть, первые мухи в этом году. Время от времени они вдруг принимались остервенело кидаться из стороны 6 сторону, и спросонок мне пришла в голову гениальная идея, что мухи, наверное, стараются выскочить из плоскости, через них проходящей, и я посочувствовал этому безнадежному занятию ([2], с. 152).
Этот небольшой раздел мы посвятим таким важным понятиям, как малое шевеление и общее положение.
Начнем с рассмотрения простых геометрических примеров.
Подвергнем конфигурацию, состоящую из трех точек, произвольному малому шевелению, при котором каждая из этих точек чуть-чуть сдвинется. При таком воздействии на точки они, скорее всего, выскочат из плоскости, в которой лежали первоначально. Однако всегда найдется плоскость (может быть, и та же самая), которая будет проходить через все три измененные точки. Это следует из того, что, как бы мы ни выбирали три точки, они всегда будут лежать в одной плоскости.
А вот если первоначально эти три точки принадлежали одной прямой (случай вполне возможный), то после произвольного малого шевеления такой общей для смещенных точек прямой, скорее всего, найти не удастся.
При малом шевелении на плоскости пары пересекающихся прямых прямые, получающиеся в результате, снова будут пересекаться (разумеется, уже в другой точке), а вот пара прямых, полученная малым шевелением двух параллельных прямых, свойство параллельности, скорее всего, утратит.
Если задан набор отрезков разной длины, то произвольное малое изменение (шевеление) каждого из них сохранит это свойство (длины
измененных отрезков будут по-прежнему не равны). Если же среди заданных отрезков есть хотя бы два отрезка равной длины, то для того, чтобы не нарушить это равенство, придется шевелить отрезки очень осторожно и очень согласованно.
Но вернемся к словосочетанию произвольное малое шевеление и попытаемся более определенно объяснить, что мы понимаем под этим на примере конфигурации из трех точек.
Произвольное означает здесь, что направления, в которых мы смещаем каждую из точек, между собой никакими условиями не связаны, а малое ——что величина смещения должна быть совсем небольшой (впрочем, эта малость зависит от размеров рассматриваемой конструкции).
Можно говорить о малых шевелениях не только геометрических объектов. Подвергнем, например, малому изменению (шевелению) коэффициенты квадратного трехчлена. При этом число его корней, в случае если оно четно (равно нулю или двум), не изменится, но вряд ли сохранится у квадратного трехчлена, имеющего ровно один корень.
Если квадратная матрица невырождена, то малое шевеление ее элементов сохранит это свойство матрицы. А вот ранг матрицы при малом шевелении ее элементов может резко измениться.
Из приведенных примеров видно, что одни свойства объектов, подвергнутых произвольному малому шевелению, сохраняются, а другие нет. (Читатель сам может без особого труда найти и предложить примеры иных конструкций подобного рода.)
В случае, когда при произвольном малом шевелении некоторое свойство системы или конфигурации сохраняется, говорят, что она устойчива (инвариантна) относительно малых шевелений. Иногда говорят также, что элементы системы или конфигурации находятся в общем положении.
Это свойство структурной устойчивости очень важно при рассмотрении реальных задач, в которых исходные величины заданы весьма приближенно (а нам бы хотелось, чтобы полученные выводы не зависели от этих малых погрешностей).
Количественные подходы и качественные выводы
Все оттенки смысла
Умное число передает ([3], с. 39).
В этом разделе мы хотим коснуться важного вопроса — можно ли, опираясь на количественные подходы, делать содержательные качественные выводы?
Большинство задач, к которым обращено внимание читателя в нашей книжке, ставится как обработка сведений, оформленных в виде тем или иным образом упорядоченных, разных по размерам числовых массивов. Связывая заданные числа посредством соответствующим образом подобранных формул, графиков и схем, мы стремимся выделить не столь явно видимую, скрытую в них информацию, которая и дает потом богатую пищу для размышлений и интерпретаций.
Однако совсем нередки задачи и иного рода. Это задачи, в которых нет вообще никаких числовых данных. А вопросы, тем не менее, есть. В разнообразии путей поиска ответов на них есть и такие, на обсуждении возможностей которых мы хотели бы здесь остановиться.
Речь идет о количественных подходах к разрешению задач без видимого числового наполнения, подходах, опирающихся на более или менее обоснованно вводимые числа и их последующую обработку, и об эффективности таких подходов.
Чтобы пояснить сказанное, рассмотрим два примера.
Поведение в коллективе
Почему животные при каждой представляющейся возможности не вступают 6 бой, чтобы убивать соперников, принадлежащих их собственному виду?
([4], с. 71).
Первый пример заимствован из книги известного этолога Докинза Р. [4] и посвящен поведению животных.
Пытаясь ответить на вопрос, поставленный в эпиграфе, заметим, что не все потенциальные выгоды можно получить, вступив в драку, хотя некоторый выигрыш она, несомненно, может принести — в процессе драки каждое тактическое решение о том, наращивать ли усилия или, наоборот, понизить накал страстей, связано с потерями или выгодами, которые, в принципе, также поддаются анализу.
Впервые ясно и убедительно эта идея была высказана М. Смитом [5].
Главная концепция Смита — это концепция эволюционно стабильной стратегии (предварительно запрограммированной линии поведения).
Вот пример стратегии: нападай на противника; если он спасается бегством —преследуй его; если он наносит ответный удар — убегай от него.
Сформулировать стратегию в виде набора простых инструкций, используя обычные слова,——это всего лишь удобный способ размышлять о ней. При помощи какого-то, точно не установленного, механизма животное ведет себя так, как если бы оно следовало этим инструкциям.
Эволюционно стабильная стратегия определяется как стратегия, которая, если она будет принята большинством членов данной популяции, не может быть превзойдена никакой альтернативной стратегией. Это очень тонкая и важная идея. Для того чтобы приложить ее к агрессии, рассмотрим один из простейших гипотетических случаев, предложенных Смитом.
Допустим, что в некоторой популяции соперничающие индивидуумы используют только две стратегии — стратегию Ястреба, hawk, и стратегию Голубя, dove, (Эти названия использованы в юм смысле, в каком их обычно применяют к людям, и совершенно не связаны с особенностями биологии соответствующих птиц: голуби на самом деле довольно агрессивные птицы.) Каждый индивидуум популяции получает звание Ястреба или Голубя. Ястребы всегда дерутся так неистово и безудержно, как только могут, отступая лишь при серьезных ранениях. Голуби же ограничиваются угрозами, с достоинством соблюдая все условности, и никогда не наносят противнику повреждений. Если Ястреб сражается с Голубем, то Голубь быстро убегает, оставаясь таким образом невредимым. Если Ястреб дерется с Ястребом, то драка продолжается до тех пор, пока один из соперников не получит серьезной раны или не будет убит. Если Голубь сталкивается с Голубем, то ни один из них не страдает. Они долго выступают друг перед другом, принимая разные позы, пока один из них не устанет или не решит, что ему не стоит продолжать противостояние, а лучше отступить.
Будем исходить из допущения, что индивидуум не может заранее решить, с кем ему предстоит драться — с Ястребом или с Голубем. Он обнаруживает это только в процессе драки и не может воспользоваться опытом прошлых драк с определенными индивидуумами, так как не помнит о них.
Произведем теперь чисто произвольную оценку результатов конфликта: 50 очков за выигрыш, 0 за проигрыш, -100 за серьезную рану и -Юза потерю времени в длительном поединке. (Мы произвольно устанавливаем цену в очках; точные цены не имеют значения для нашего анализа, но они помогают нам размышлять над рассматриваемой проблемой.)
Как мы сейчас увидим, ни одна из этих двух стратегий — Ястреба или Голубя ——не будет в действительности сама по себе эволюционно стабильной и потому не следует ожидать, что та или другая будет эволюционировать.
Для того чтобы показать это, нам следует вычислить средние выигрыши.
Допустим, что рассматриваемая популяция целиком состоит из одних Голубей. В их драках пострадавших не бывает. Состязания представляют собой длительные ритуальные турниры, которые заканчиваются только тогда, когда один из противников отступает. Победитель получает 50 очков — цена ресурса, из-за которого возникла драка, но он платит штраф, равный -10, за потерю времени на длительный турнир, так что его выигрыш в конечном счете равен 40 очкам. Побежденный также платит штраф (-10) за потерянное время. В среднем следует ожидать, что каждый отдельный Голубь победит в половине турниров, а в половине проиграет. Поэтому его средний выигрыш за один турнир равен среднему между +40 и -10, то есть +15. Таким образом, каждый отдельный Голубь в популяции существует вполне благополучно.
Допустим теперь, однако, что в популяции в результате мутации появился Ястреб. Поскольку этот Ястреб ——единственный в округе, во всех его драках в роли противника может выступать только Голубь. Ястребы всегда побеждают Голубей, так что он получает 50 очков за каждую драку и его средний выигрыш равен +50. Он обладает огромным преимуществом перед Голубями с их чистым выигрышем +15. В результате гены Ястреба быстро распространяются в популяции. Но теперь уже Ястреб не может рассчитывать на то, что каждым его противником будет Голубь. В экстремальном случае ——если ястребиные гены распространяются так успешно, что вся популяция оказывается состоящей из Ястребов,——все драки теперь будут происходить между двумя Ястребами. Положение вещей резко изменилось. При драке Ястреба с Ястребом один из них получает тяжкие повреждения, оцениваемые как -100, тогда как выигрыш победителя составляет +50. Каждый Ястреб в популяции Ястребов может рассчитывать выиграть половину сражений и половину проиграть. Поэтому его ожидаемая средняя оценка за одну драку равна среднему между +50 и —100, то есть —25.
Осталось рассмотреть случай, когда в популяции Ястребов появился один Голубь. Конечно, он оказывается побежденным во всех драках, но при этом остается невредимым. Его средний выигрыш в популяции Ястребов равен 0, тогда как средний выигрыш Ястреба в популяции Ястребов равен —25. Поэтому голубиные гены будут иметь тенденцию распространяться в популяции. И между численностью Ястребов и Голубей в популяции установится стабильное соотношение.
Записав все возможные исходы встречи двух индивидуумов А и В, произвольно выбранных в рассматриваемой популяции, приходим к би- матричной игре. Решая ее методом зигзага, легко устанавливаем, что для используемой нами системы очков стабильное соотношение между числом Голубей и числом Ястребов составляет 5 : 7, а средний выигрыш для
(⑷
(dove)
(力"滋)
(6)
(dove)
(hawlc)
(dove)
+ 15
0
(dove)
+15
+50
(ha^k)
+50
-25
(hawk)
0
-25
Ястребов в точности равен среднему выигрышу для Голубей и составляет 6 1/4.
Это гораздо меньше среднего выигрыша Голубя в популяции одних Голубей. Если бы только все согласились быть Голубями, то это пошло бы на пользу каждому отдельному индивидууму. Но, к сожалению, оказаться в такой популяции единственным Ястребом настолько хорошо, что эволюцию Ястребов не остановить ничем.
Замечание, При заключении соглашений между людьми постоянно существует опасность, что сиюминутная выгода от их нарушений может быть очень велика и соблазн окажется всепоглощающим. Быть может, наилучшим примером служит установление твердых цен. Установление стандартных искусственно завышенных цен на бензин соответствует долгосрочным интересам владельцев индивидуальных заправочных станций. Объединения торговцев, проводящих эту акцию, в основе которой лежит осознанная оценка долговременных интересов, могут сохраняться на протяжении достаточно длительных периодов времени. Слишком часто, однако, кто-то уступает соблазну быстро разбогатеть, снизив у себя цену. Его соседи немедленно делают то же самое, и волна снижения цены распространяется по всей стране. К сожалению для остальных граждан, осознанное предвидение владельцев автозаправочных станций затем вновь утверждается, и они заключают новое соглашение о твердых ценах. Таким образом, даже у человека — вида, способного к осознанному предвидению, — соглашения, основанные на обеспечении наилучших долгосрочных интересов, постоянно стоят на краю гибели вследствие измены в собственном стане.
Согласованность суждении
Старинное изречение о том, что нельзя сравнивать яблоки и апельсины — неверно.
([6], с. 10)
Оценки по учебным дисциплинам, которые получает студент(ка) во время своего обучения в университете, бывают трех видов:
оценки, которые ставят преподаватели, оценки, которые ставят сокурсники, оценки, которые студент(ка) ставит себе сам(а).
В зачетную книжку могут попасть оценки только первого вида. Вторые и третьи оценки важны не менее, хотя совокупное мнение сокурсников складывается не сразу, а ставить оценку самому себе студент склонен далеко не всегда.
И все же, получив определенные знания и начав понемногу разбираться в некоторых вопросах, студент (ка) не может удержать себя от суждений, в которых предъявляемые объекты, события, обстоятельства или условия нужно сравнить по размерам, важности, вкладу и т. п.
Для того чтобы подобные суждения можно было бы отнести к разряду сколь-либо обоснованных, в них непременно должна присутствовать некая внутренняя согласованность (необходимое качество суждений любого сложившегося эксперта).
Естественно возникает вопрос: можно ли еще до публичного высказывания выработанных вами суждений проверить у себя наличие в них этой внутренней согласованности и хоть как-то оценить ее количественно?
Рассмотрим простой пример: вам предъявлены три простые геометрические фигуры — треугольник, окружность и квадрат (рис. 1), которые нужно упорядочить по вкладу в их общую площадь.
Рис. 1
В данном случае можно поступить так ——вооружившись линейкой, измерить стороны треугольника, диаметр окружности, сторону квадрата, посчитать их площади по известным формулам, а потом вычислить долю каждой фигуры.
Если заданные фигуры имеют более сложную форму (рис. 2), провести измерения несколько сложнее. Можно поступить, например, так — нанести на прозрачную пленку равномерную сетку (рис. 3), наложить ее на каждую из предъявленных фигур и подсчитать количество элементарных ячеек, покрывающих взятую фигуру (рис. 4).
Эта операция даст нам определенное (но уже менее точное, чем в предыдущем наборе) представление о площади каждой из фигур.
Заметим, что, несмотря на разницу в точности измерений, и в первом, и во втором случае мы пользовались эталонами длины и площади.
Рис. 3Рис. 4Рис. 3Рис. 4
Рис. 3Рис. 4
Рис. 3Рис. 4
А как поступить, если под рукой не окажется никаких сколько-нибудь подходящих инструментов, а сравнить нужно объемы или веса заданных фигур, высказаться по поводу распределения ресурсов ——материальных среди потребителей, трудовых среди производителей, временных между различными видами деятельности и т. п.?
Здесь мы обсудим один из возможных подходов к разрешению этого вопроса и покажем, как научиться сравнивать все, пользуясь какой-нибудь простой “ удобной шкалой.
Попарные сравнения
Предположим, что имеется набор предметов (камней)
S],S〃,
каждый из которых легок настолько, что его нетрудно удержать в руке.
Требуется оценить их относительные веса в отсутствии взвешивающего прибора.
Среди возможных способов разрешения этой проблемы укажем два.
/-й способ: вес каждого предмета определяется путем сравнения с самым легким из них (эталоном).
Это потребует п — 1 сравнения.
2-й способ: сначала вес предмета S】сравнивается с весами предметов 昆,...,£, затем вес предмета S2 сравнивается с весами предметов 5^,..., Sn и т. д.; подобные сравнения проводятся до тех пор, пока у нас не сформируется суждение об отношении весов каждой пары предметов.
В этом случае общее число необходимых сравнений оказывается равным
л(л-1)
Конечно, 2-й способ требует большего времени, чем 1-й, но оказывается точнее.-
Согласованность сравнений'
Любым измерениям (в том числе и с использованием приборов) присущи ошибки (погрешности), серьезным следствием которых является то обстоятельство, что они могут привести (и нередко приводят) к несогласованным выводам.
Приведем совсем простой пример ошибочного сравнения: предмет Л в полтора раза тяжелее предмета 3, который, в свою очередь, в полтора раза тяжелее предмета С, последний же по весу почти не отличается от предмета 4
Согласованность сравнений является весьма важной их характеристикой. При этом здесь под согласованностью при сравнении предметов по весу мы будем подразумевать не просто результат типа —
если Л тяжелее В и В тяжелее С, то Л тяжелее С, а количественно более точный —
если Л в 2 раза тяжелее Д а 5 в 3 раза тяжелее С, то Л в 2 • 3 = 6 раз тяжелее С.
Замечание, Как правило, чем лучше человек знаком с ситуацией, тем он более последователен в своих суждениях. Хотя обратное и необязательно верно — отличная согласованность в суждениях вовсе не означает, что человек хорошо разбирается в ситуации.
Выбор шкалы сравнений
При любом подходе к разрешению задачи сравнения важное значение имеет выбор шкалы сравнений. Главное требование ——шкала сравнений должна быть проста и естественна.
Начнем с диапазона выбираемой шкалы (более подробно это описано в монографии [6]).
Использование шкалы парных сравнений в пределах от 0 до оо может оказаться бесполезным. Дело в том, что наша способность различать на-
ходится в весьма ограниченных пределах, скудных пределах естества, и когда есть значительная несоразмерность между сравниваемыми объектами, действиями или обстоятельствами, наши предположения тяготеют к тому, чтобы быть произвольными, и обычно оказываются далекими от действительности.
Так как единица является стандартом измерения, то верхняя граница не должна быть слишком далека от нее, хотя и достаточно отдалена для того, чтобы более или менее выразительно представить наш диапазон способности различать.
Мы будем пользоваться шкалой от 1 до 9. Почему именно этой?
Вот только некоторые из соображений:
способность человека производить качественные разграничения хорошо представлена пятью определениями:
слабый, равный, сильный, очень сильный, абсолютный,
для большей точности можно пользоваться промежуточными определениями;
классификация по трем основным зонам —
неприятие, безразличие, приятие,—
каждая из которых делится на низкую, умеренную и высокую степени;
принятая в отечественном образовании система оценок 3, 4 и 5, естественно, расширяется за счет 3-, 3+, 4-, 4+, 5- и 5+.
Число сравниваемых объектов также должно быть достаточно мало. Обычные пределы — это 7 ± 2.
Матрица попарных сравнений
Опишем один из способов того, как практически придать количественное наполнение сравнению объектов, действий или обстоятельств и построить соответствующую таблицу сравнений.
Пусть даны элементы А, В, С, D и г. д.
Таблица сравнений, имеющая вид
строится по следующим правилам: заносим в позицию (Л, В) таблицы сравнений —
1 (элементы А и В одинаково важны),
(элемент Л слабо превосходит по важности элемент 5),
(элемент Л незначительно важнее элемента 5),
(элемент А заметно важнее элемента 3),
(элемент А значительно важнее элемента Б),
(элемент Л весьма заметно важнее элемента В),
(элемент Л весьма значительно важнее элемента В),
(элемент Л очень сильно превосходит по важности элемент 3),
(элемент Л абсолютно превосходит по важности элемент 3).
В позицию (Д А) таблицы сравнений заносятся обратные величины (1/1, 1/2, 1/3, ..., 1/9 соответственно).
Вот как может, например, выглядеть результат попарных сравнений четырех элементов А9 В9 С и D\
1/51/61/51/61/71/71/41/61/41/61/4 11/4 1
1/5
1/6
1/5
1/6
1/7
1/7
1/4
1/6
1/4
1/6
1/4 1
1/4 1
Мера согласованности
Проблема сравнения возникает повсюду — и при измерении физических величин, и при оценке совершенных поступков. Для получения хороших результатов в сравнениях требуется уметь определять степень несогласованности наших суждений.
Начнем с обсуждения вопроса о том, как можно оценить согласованность суждений практически.
Конечно, без инструментов рассчитывать на точность не приходится. Но на идеальную точность нельзя рассчитывать и при наличии инструментов —при каждом измерении мы допускаем погрешность, разумеется, тем меньшую, чем более совершенен используемый инструмент.
И тем не менее, сначала полезно обратиться именно к идеальной ситуации.
Идеальный пример
Пусть нам предложено сравнить по площади п плоских фигур
Предположим, что в нашем распоряжении есть идеальные инструменты, посредством которых мы можем идеально точно найти площади этих фигур. Обозначим их через
соответственно.
Отношение
唳=旦,i,Z = L …,〃(☆)
показывает, во сколько раз площадь z-й фигуры S больше площади Л-й фигуры &•
Например, если 叩=30 см2 и w2 = 24 см2, то отношение
говорит о том, что площадь фигуры 国 в 1.25 раза больше площади фигуры $•
Запишем отношения (☆) в виде квадратной матрицы
и проанализируем некоторые свойства этой идеальной матрицы сравнений:
для любого i элемент матрицы А, расположенный на пересечении }й строки и /-го столбца, равен единице,
&=1,
для любых / и к произведение элемента матрицы А, расположенного на пересечении /-й строки и fc-го столбца, на элемент матрицы А, расположенный на пересечении Ьй строки и /-го столбца, равно единице,
1
для любых i,七 и / произведение элемента матрицы А, расположенного в У-й строке и в Ьм столбце, на элемент матрицы А, расположенный в Л-й строке и в /-м столбце, равно элементу матрицы А, расположенному в z-й строке и в /-м столбце,
唳 4/ = °〃,
столбец
吗w=...
является собственным столбцом матрицы А с собственным значением Л = л:
Это наибольшее собственное значение матрицы А.
Обратно-симметричные и согласованные матрицы
Отталкиваясь от этих, идеальных наблюдений, обратимся
к квадратным матрицам порядка п
все элементы которых положительны, aik > 0. Такие матрицы часто называют положительными.
Матрица А называется обратно-симметричной, если для любых / и к выполняется соотношение
1
Из этого, в частности, следует, что
%= L
Матрица А называется согласованной, если для любых i, ки I имеет место равенство
aikakl = %•
Тем самым, идеальная матрица сравнений обратно-симметрична и согласована.
Построить какую-нибудь обратно-симметричную матрицу совсем нетрудно. Правда, вряд ли она окажется согласованной.
Существует достаточно простой критерий, позволяющий определить это.
ТЕОРЕМА [6]. Положительная обратно-симметричная матрица является согласованной тогда и только тогда, когда порядок матрицы и ее наибольшее собственное значение совпадают,
^тах =〃•
Это означает, в частности, что если наибольшее собственное значение обратно-симметричной матрицы равно ее порядку, то эта матрица непременно будет согласованной.
Индекс согласованности
Ясно, что если элементы положительной обратно-симметричной согласованной матрицы А незначительно изменить (подвергнуть малому шевелению), то максимальное собственное значение 4mтакже изменится незначительно.
Пусть А — произвольная положительная обратно-симметричная матрица и 入响一ее наибольшее собственное значение.
Если
^тах =〃,
то матрица А — согласованная.
Если же
^таж н〃
(всегда Лтах 之 〃),то в качестве степени отклонения положительной обратно-симметричной матрицы А от согласованной можно взять отношение
入 max 〃
которое называется индексом согласованности матрицы А и является показателем близости этой матрицы к согласованной.
Замечание. Степень согласованности суждений считается удовлетворительной, если индекс согласованности не превышает 0.10.
Вычисление собственных характеристик обратно-симметричной матрицы
Естествен вопрос, как находить наибольшее собственное значение Zg положительной обратно-симметричной матрицы.
В общем случае эта задача, хотя и разрешима, но технически достаточно сложна. Поэтому, желая содержательно, но относительно просто ответить на поставленный вопрос, мы вынуждены чем-то поступиться. Проще всего поступиться точностью вычислений, т. е. искать приближенное значение наибольшего собственного числа.
Для этого поступают так: сначала приближенно строится нужный собственный столбец, а затем по нему ищется приближенное собственное значение.
Опишем несколько простых способов отыскания приближенного собственного столбца обратно-симметричной матрицы [6].
1-й способ:
элементы каждой строки складываются и полученные результаты записываются в столбец,
все элементы найденного столбца складываются и
каждый из элементов этого столбца делится на полученную сумму.
2-й способ:
элементы каждого столбца складываются и полученные результаты записываются в столбец,
каждый элемент построенного столбца заменяется на обратный ему,
элементы столбца из обратных величин складываются и
каждый из этих элементов делится на полученную сумму.
5-й способ:
элементы каждого столбца складываются,
элементы каждого столбца делятся на их сумму,
элементы каждой строки полученной матрицы складываются,
полученные результаты записываются в столбец и
каждый из элементов этого столбца делится на порядок исходной матрицы л.
4■应 способ:
элементы каждой строки перемножаются и полученные результаты записываются в столбец,
из каждого элемента найденного столбца извлекается корень 〃■而 степени,
элементы полученного столбца складываются и
каждый из его элементов делится на найденную сумму.
Совсем нетрудно убедиться в том, что каждый из приведенных способов, будучи примененным к идеальной матрице, дает один и тот же точный результат ——собственный столбец, отвечающий наибольшему собственному значению л.
В применении к обратно-симметричной, но не согласованной матрице ни один из предложенных способов к собственному столбцу уже не приводит. Тем не менее, при вычислении приближенных собственных столбцов таких матриц удобно пользоваться именно этими способами.
Сложность вычислений возрастает с увеличением номера способа, но увеличивается и точность.
Замечание. Специально подчеркнем, что описанные способы вычисления приближенного собственного столбца матрицы эффективны лишь для обратно-симметричных матриц, достаточно близких к согласованным.
Столбец приоритетов
Вычислим одним из предложенных способов приближенный собственный столбец обратно-симметричной матрицы 4-го порядка
'156Т
1/5146
1/61/414'
1/71/61/41
полученной в результате попарных сравнений четырех объектов Л, В, Си” Например, вторым.
Имеем
■ 1,51'
0,66
Q68"
6,43
,2)
0,16
,3)0,7, 4)
0Д6
11,25
0,09
0,09
.18,00.
0,06
.0,06
(указаны результаты каждого из четырех шагов).
Замечание. Точный метод построения собственного столбца заданной матрицы дает следующий результат:
'О,6Г0,240,10 *0,05
Итак, приближенный собственный столбец найден. Остается найти соответствующее собственное значение.
Покажем, как это можно сделать.
Если мы хотим проверить, является ли предъявленный столбец х собственным столбцом матрицы А, следует поступать так:
умножить матрицу А на этот столбец
Ах = у, или подробнее
разделить элементы полученного столбца у на соответствующие элементы столбца х
Если все отношения совпадают
左=(*)
то их общее значение и есть собственное значение матрицы А, отвечающее данному столбцу х.
Если же хотя бы одно из равенств (*) нарушается, то столбец х уже не является собственным столбцом матрицы А.
Именно такой случай нас и интересует.
Выберем в качестве приближения к искомому собственному значению среднее арифметическое отношений
片 儿
Имеем
Для отыскания приближенного значения наибольшего собственного числа заданной 4 х 4-матрицы используем приближение собственного столбца, найденное выше.
Умножим матрицу на этот столбец
■ 1
5
6
7'
-0.68'
'2.48'
1/5
1
4
6
016
1.01
1/6
1/4
1
4
0.09
025
;/7
1/6
1/4
1
0.06
.021.
Поделив элементы найденного столбца-произведения на соответствующие элементы исходного столбца-сомножителя, получим следующие числа
3.59; 6.31; 2.78; 3.50.
Вычислим их среднее арифметическое. Имеем
2(359 + 631 + 2.78 + 350)=竺=4.06.
44
Тем самым,
^тах= «Об.
Найдем индекс согласованности. Он равен
4-13
Замечание. Для точного собственного столбца
^тах = 45.
Действуя описанным выше методом, мы не только проверяем количественно согласованность наших суждений, но и устанавливаем (тоже в количественном выражении) приоритеты сравниваемых объектов.
В данном случае приближенный собственный столбец
'06S
016
0.09
0.06
(сумма всех его элементов равна 1) позволяет подвести итог проведенного анализа таблицы сравнений:
среди сравниваемых элементов А, В, С м D наивысший приоритет имеет А (68%), затем идут 3 — 16%, С—9% и D — 6% соответственно,
индекс согласованности равен 2%, поэтому результаты экспертизы можно считать вполне приемлемыми.
Навстречу реальным задачам
Человек гораздо реже видит и знает предмет, чем думает. Чаще всего 6 предмете он видит только то, что знает со слов других людей, поскольку с самим предметом он, по сути дела, и не сталкивается. Ибо его знакомят не с предметом, а с тем, что по поводу этого предмета уже написано в книгах, в руководствах, в инструкциях, в учебниках ([7], с. 84).
Мы коснемся здесь этой важнейшей проблемы совсем коротко.
Обучение по целому ряду дисциплин даже со скромным математическим наполнением нередко строится по следующей схеме: студенту предлагается (с большим или меньшим обоснованием) набор приемов, сопровождаемый некоторым количеством заданий, с тем, чтобы он усвоил, как отыскивать их решения посредством предложенных алгоритмов.
Несмотря на различие в тематике, в таких заданиях много общего — определены все существенные параметры, обозначено их количественное наполнение, поставлены вопросы, ответы на которые можно найти, используя описанные ранее приемы, а затем и сравнить их с ответами, подготовленными преподавателем. Конечно, научиться решать такие задачи весьма полезно: вырабатываются навыки внимательного отношения к заданию на каждом из этапов его решения — от записи условий до оформления полученного ответа. Правда, при этом почему-то считается, что подобные занятия являются совершенно достаточной подготовкой к последующим внеаудиторным применениям, хотя в реальных ситуациях приходится сталкиваться с совсем иными задачами.
Здесь упускается из виду одно немаловажное обстоятельство: по окончании обучения выпускник уже не встретит столь подготовленных заданий — заданий с отшлифованными формулировками, которые к тому же заранее разложены по соответствующим разделам и сопровождены описанием наиболее эффективных методов их решения. Как правило, реальные задачи первоначально выглядят совсем по-другому — ключевые параметры приходится выделять самим, самим же искать связи между ни-
ми, отслеживать массивы данных и строить разрешающие алгоритмы. Иными словами, и постановку (формулирование) задачи, и поиск ее решения приходится проводить самостоятельно, без подсказки.
К подобной работе нужно подготовиться заранее.
Конечно, определенная связь между приемами и методами, предлагаемыми в учебниках, и реальными задачами существует, но в учебном процессе эта связь чаще всего слишком идеализирована — для того чтобы показать возможности метода, преподаватели подбирают нужные задачи таким образом, чтобы второстепенные составляющие в них никак не проявлялись (и не мешали).
Знакомясь в учебном курсе с задачами и методами их решения, неискушенный студент часто не ощущает временной составляющей, опосредованно оценивающей трудности, которые пришлось преодолеть исследователям рассматриваемой задачи с момента ее первичного осознания до полного разрешения и понимания. Подобные трудности в учебниках традиционно обходят даже в упоминаниях, предлагая решения, нередко выстраданные несколькими поколениями ученых.
Поэтому нам кажется, что студенту будет небезынтересно самостоятельно отыскивать по доступным ему источникам (опирающимся на разного рода носители) или в конкретно складывающихся обстоятельствах те реальные задачи, для разрешения которых может пригодиться усвоенный им ранее аппарат.
Но если вы хотите научиться более или менее успешно формулировать содержательные задачи, вытаскивая их из разнообразно проявляющихся обстоятельств, нужно отчетливо осознавать, что по трудности постановка задачи зачастую равносильна всей совокупности усилий по ее разрешению.
Естественно возникает вопрос: если у вас уже есть некоторый опыт решения задач, предлагаемых преподавателем, можно ли разобраться с проблемой, которая проявляется в иных, совсем не учебных условиях, когда нужную формулировку задачи приходится отыскивать самим, а начальный процесс изучения выделенной ситуации доводить до решения сформулированной задачи.
Чтобы получить сколь-нибудь удовлетворительный ответ на этот вопрос, стоит попробовать овладеть некоторыми навыками обработки реальной ситуации и научиться сводить эту выбранную ситуацию к задаче, готовой к решению. Для начала разумно намеренно усечь многообразие возможных ситуаций; например, ограничившись рамками рассмотренных выше разделов. Это позволит использовать навеянные оттуда наводящие соображения, которые помогут аккуратно сформулировать задание, а затем и найти его решение.
То обстоятельство, что поставленную вами задачу придется решать своими силами, только поможет вам при ее формулировании, и вот почему. Решая задачу, поставленную в задачнике, который содержит наряду с этой еще множество других задач, вы, как правило, не ставите под сомнение квалификацию его составителя. Многократно обращаясь к условиям задачи в процессе решения, вы верите в то, что составитель задачника позаботился о том, чтобы этих условий хватило для получения ответа. Иное дело, когда задачу поставили вы сами.
Первые формулировки вообще редко бывают удачными — при попытке решения возникают вопросы, ответы на которые требуют тем или иным образом подкорректировать первоначальную формулировку. Порой это приходится делать несколько раз. Все дело в том, ято окончательная, до конца продуманная и хорошо уравновешенная, формулировка задачи появляется лишь тогда, когда вам уже совершенно ясен и процесс ее решения, и вполне осязаем ответ. Обычно задача помещается в задачник только после этого.
Чтобы правильно задать вопрос, нужно знать большую часть ответа ([8], с. 43).
Перейдем к описанию некоторых заданий, которые мы предлагаем нашим студентам.
Для того чтобы сделать поиск рабочих материалов более осмысленным и определенным, сначала обозначается тема (например, сети, линейные задачи или игры). Сами материалы разрешается выбирать из печатных изданий (газет, журналов, справочников, атласов, альбомов, книг) или из всемирной паутины. Использовать учебники и/или учебные пособия не рекомендуется ——это лишит вас столь необходимой самостоятельности и заметно снизит эффект от предлагаемого занятия. В отдельных случаях допускается предложение собственных условий заданий (разумеется, при непременной ее содержательности). Ограничения на количественные показатели в заданиях подобраны так, чтобы поиск их решений не был чрезмерно утомителен.
Задание Л (эйлеров цикл).
Построить конечный связный граф без петель с числом вершин не менее 12, причем так, чтобы все вершины графа были четными и имели степень не ниже 4.
Построить пошагово эйлеров цикл (замкнутый путь).
Предложить реальную задачу, рассмотрение которой приводит к эйлеровому графу указанного типа.
Задание Б (эйлеров путь).
Построить конечный связный граф без петель с числом вершин не менее 11, причем так, чтобы все вершины графа, кроме двух нечетных вершин Л и Д были четными и имели степень не ниже 4.
Построить пошагово эйлеров путь.
Предложить реальную задачу, рассмотрение которой приводит к эйлеровому графу указанного типа.
Задание В (минимальное порождающее дерево).
Пользуясь печатным или электронным источником, отыскать задачу, приводящую к сети, веса ребер которой определяются их протяженностью, стоимостью ит. п.; при этом число узлов в сети должно быть не меньше восьми, а каждое ребро должно быть нагружено определенным, но не очень большим числом (например, от 1 до 20).
Затем требуется:
составить таблицу, описывающую выбранные данные, и нарисовать саму сеть,
построить пошагово минимальное порождающее дерево и
правильно оформить полученный ответ ——выделить найденный граф, выписать сумму длин его ребер, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание Г (максимальный поток).
Пользуясь печатным или электронным источником, отыскать задачу, приводящую к сети, веса ребер которой определяются их пропускной способностью; при этом число узлов в сети должно быть не меньше восьми, а каждое ребро должно быть нагружено определенным, но не очень большим числом (например, от 1 до 20).
Затем необходимо:
составить таблицу, описывающую выбранные данные, с указанием начального (источника) и конечного (стока) узлов и построить саму сеть,
посредством серии последовательных шагов найти способ переноса максимального потока, допускаемого выбранной сетью, из источника к стоку,
методом разделяющих сечений найти величину максимального потока из начального узла в конечный и убедиться в том, что результаты этих двух пунктов совпадают,
правильно оформить полученный ответ ——указать соответствующее (минимальное) сечение, его пропускную способность, выделить в сети ребра, обеспечивающие пропуск этого максимального потока через
заданную сеть с указанием соответствующей нагрузки каждого из них, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание Д (кратчайший маршрут).
Пользуясь печатным или электронным источником, отыскать задачу, приводящую к сети, веса ребер которой определяются их пропускной способностью; при этом число узлов в сети должно быть не меньше восьми, а каждое ребро должно быть нагружено определенным, но не очень большим числом (например, от 1 до 20).
Затем необходимо:
составить таблицу, описывающую выбранные данные, с указанием начального узла и построить саму сеть,
пошагово найти кратчайшие маршруты из начального узла во все остальные узлы сети,
правильно оформить полученный ответ ——указать соответствующие маршруты, их протяженность, привести рисунок, на котором все найденные маршруты выделены (например, фломастером), сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание Е (критический путь).
Пользуясь печатным или электронным источником, отыскать задачу, приводящую к необходимости проведения комплекса работ за возможно более короткое время с не менее чем десятью видами работ разной продолжительности.
Затем необходимо:
упорядочить работы,
составить рабочую таблицу, описывающую работы, их последовательность и продолжительность,
пользуясь созданной таблицей, построить ориентированную сеть,
найти критический путь в построенной сети и выделить критические работы,
правильно оформить полученный ответ ——указать найденный критический путь (например, выделить фломастером), выписать критические работы, найти общую временную протяженность критического пути, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание Ж (задача линейного программирования).
Пользуясь печатным или электронным источником, отыскать задачу (с вполне конкретными данными), приводящую к задаче линейного программирования. Число п неизвестных, подлежащих определению, должно подчиняться условию л > 2, а число т линейных неравенств —— условию т>2,
Составить соответствующую систему линейных неравенств.
Наглядно-графическим способом найти экстремальное значение заданной целевой функции и соответствующие значения неизвестных.
Правильно оформить полученный ответ, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание 3 (транспортная задача).
Пользуясь печатным или электронным источником, отыскать задачу (с вполне конкретными данными), приводящую к сбалансированной транспортной задаче. Число т пунктов отправления должно подчиняться неравенству /л > 4, а число п пунктов назначения ——неравенству 〃之5.
Составить соответствующую таблицу.
Найти какое-нибудь опорное решение.
Действуя пошагово, преобразовать найденное опорное решение в оптимальное.
Правильно оформить полученный ответ, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание И (задача целочисленного программирования).
Пользуясь печатным или электронным источником, отыскать задачу (с вполне конкретными данными), приводящую к задаче целочисленного программирования. Число п неизвестных, подлежащих определению, должно подчиняться условию л > 2, а число т линейных неравенств —условию т> 3.
Составить соответствующую систему линейных неравенств.
Методом ветвей и границ (сопровождаемым аккуратно выполненными чертежами) найти экстремальное значение заданной целевой функции и соответствующие целочисленные значения неизвестных.
Правильно оформить полученный ответ, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание К (матричные и/или биматричные игры).
Пользуясь печатным или электронным источником, отыскать задачу, в которой описывается конфликтная ситуация с участием двух
заинтересованных сторон. (Размеры т х л-матриц могут быть произвольными, при условии, что т> 3 и п > 3.)
Далее нужно:
описать все возможные стратегии обоих игроков,
составить одну (если интересы игроков противоположны) или две (если интересы игроков не совпадают) таблицы, в которых вербально описываются выигрыши игроков в каждой из ситуаций, 一
обоснованно перейти к количественному описанию выигрышей игроков и записать полученный результат.
Ответом в этом задании является формализация конфликтной ситуации.
Задание Л (матричные игры с седловой точкой)'.
Построить т х л-матрицу с седловой точкой, считая, что т> 5и 〃之7.
Убедиться в том, что построенная матрица имеет седловую точку.
Найти оптимальные стратегии и значение (цену) игры.
Задание Л/ (2 х 〃- и/или т х 2-матричные игры).
Пользуясь печатным или электронным источником, отыскать задачу, в которой описывается конфликтная ситуация с участием двух заинтересованных сторон, интересы которых противоположны.
Затем:
описать все возможные стратегии каждого из игроков (у одного из игроков должно быть ровно две стратегии, у другого не меньше трех),
составить таблицу, в которой вербально описывались бы выигрыши (проигрыши) игроков в каждой из ситуаций, и выписать матрицу, в которой эти выигрыши описаны количественно,
методом огибающей найти оптимальное решение рассматриваемой игры в смешанных стратегиях,
правильно оформить полученный ответ — указать смешанные стратегии каждого из игроков, выписать их средние выигрыши, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание Н (матричная игра с матрицей произвольного размера (итерационный метод)).
Пользуясь печатным или электронным источником, отыскать задачу, в которой описывается конфликтная ситуация с участием двух заинтересованных сторон, интересы которых противоположны.
Затем:
описать все возможные стратегии каждого из игроков,
составить таблицу, в которой вербально описывались бы выигрыши (проигрыши) игроков в каждой из ситуаций, и выписять матрицу, в которой эти выигрыши описаны количественно,
методом итераций найти приближенное к оптимальному решение рассматриваемой игры в смешанных стратегиях,
правильно оформить полученный ответ — указать смешанные стратегии каждого из игроков, выписать их средние выигрыши, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание О (2 х 2~биматричные игры).
Пользуясь печатным или электронным источником, отыскать задачу, в которой описывается конфликтная ситуация с участием двух заинтересованных сторон.
Затем:
описать все возможные стратегии каждого из игроков (у каждого должно быть ровно две стратегии),
составить две таблицы, в которых вербально описывались бы выигрыши игроков в каждой из ситуаций, и выписать две матрицы, в которых эти выигрыши описаны количественно,
найти оптимальное решение рассматриваемой игры в смешанных стратегиях (наглядно-графическим методом зигзага),
правильно оформить полученный ответ — указать смешанные стратегии каждого из игроков, выписать их средние выигрыши, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание П (позиционные игры).
Пользуясь печатным или электронным источником, отыскать задачу, в которой описывается конфликтная ситуация с участием двух или трех заинтересованных сторон, разрешаемая путем последовательного принятия решений в условиях изменяющейся во времени и, вообще говоря, неполной информации.
Затем требуется:
описать шаги и альтернативы сторон,
построить дерево игры и
указать информационные множества.
Ответом в этом задании является формализация конфликтной ситуации.
Задание Р (игры дележа).
Пользуясь печатным или электронным источником, отыскать задачу, в которой описывается конфликтная ситуация с участием не менее
трех заинтересованных сторон, и требуется разделить между ними заданную сумму, пользуясь каким-нибудь принципом оптимальности.
Затем:
задать характеристическую функцию (указать доход каждой коалиции игроков),
найти ядро игры,
правильно оформить полученный ответ — выписать-доход каждого из игроков, сделать необходимые выводы и проинтерпретировать полученные результаты.
Задание С (многокритериальные задачи).
Пользуясь печатным или электронным источником, отыскать задачу (с вполне конкретными данными), приводящую к многокритериальной задаче линейного программирования. Число п неизвестных, подлежащих определению, должно подчиняться условию л > 2, а число т линейных неравенств — условию т>2,
Составить соответствующую систему линейных неравенств.
Методом идеальной точки и/или методом ограничений найти оптимальное решение поставленной задачи, соответствующие значения заданных целевых функций и неизвестных.
Правильно оформить полученный ответ, сделать необходимые выводы и проинтерпретировать полученные результаты.
По нашим наблюдениям, студенты (составители заданий) довольно смело погружаются в многообразие привлекающих их ситуаций, при этом нередко демонстрируя собственные интересы и весьма неформально интерпретируя полученные результаты. Читать такие работы интересно. (Конечно, нередки и формальные отписки: однажды в ответ на классическую поведенческую дилемму заключенного пришлось познакомиться с дилеммами дворника, пьяницы, официантки, диск-жокея и еще со многими другими дилеммами.)
Однако, несмотря на неизбежные издержки подобного рода, накопленный опыт решения задач, поставленных самостоятельно, поможет студенту в будущем при рассмотрении вопросов, для которых рамки задачника слишком узки.
В заключение мы вновь возвращаемся к размышлениям Ильенкова об одной из важнейших проблем, которую должна научиться решать школа (как высшая, так и средняя).
Часто — и чаще, чем кажется, — выпускник нашей школы не умеет применить знания, полученные им в школе,汇 решению задач, проблем,
вырастающих перед ним вне стен школы. Ситуация получается нелепая — человек знает, как нужно действовать согласно науке, “ тем не менее действует так, как если бы он этого не знал ([7], с. 79).
Подчас в действительности
происходит вовсе не усвоение предмета (а знание ни е чем другом, кроме этого, “ не может заключаться), а лишь усвоение фраз об этом предмете, лишь усвоение вербальной оболочки (владение терминологией и умение этой терминологией пользоваться) вместо знания ([7], с. 80).
Литература
Богданов 44 Вопросы социализма: Работы разных лет. — М.: Политиздат, 1990.
Стругацкий /., Стругацкий 5. Понедельник начинается в субботу. Сказка для научных сотрудников младшего возраста. — М.: Детская литература, 1979.
Гумилев НС Собрание сочинений в четырех томах. Том второй. -М.: ТЕРРА, 1991.
Докинз Р. Эгоистичный ген. — М.: Мир, 1993.
Smith MJ. Evolution and Theory of Games. — Cambridge: Cambridge University Press, 1982.
Caamu 工 Принятие решений. Метод анализа иерархий. — М.: Радио и связь, 1993.
Ильенков аз. Школа должна учить мыслить. — М.: Изд-во Московского психолого-социального института; Воронеж: Изд-во НПО «М0Д9К», 2002.
Шекли Р. Избранное. — М.: Мир, 1991.
СОДЕРЖАНИЕ
От авторов 3
Литература 3
Глава 1. Вступительная 4
Литература 12
Глава 2. Постановка задач 14
Литература 27
Глава 3. Сети 28
Эйлеровы и гамильтоновы графы. Деревья 28
Минимальное порождающее дерево 34
Кратчайший маршрут 42
Максимальный поток 52
Критический путь 67
Литература 72
Глава 4. Линейные задачи 74
Линейное программирование 74
Транспортная задача 93
Целочисленное программирование114
Литература124
Глава 5. Игры126
Матричные игры128
Биматричные игры167
Позиционные игры189
Некоторые другие виды игр208
Литература217
Глава 6. Много1фитериальные задачи219
Множество Парето221
Метод уступок225
Метод идеальной точки227
Метод ограничений232
Литература246
Глава 7. Заключительная247
Малые шевеления248
Количественные подходы и качественные выводы249
Навстречу реальным задачам266
Литература275
Е.В. Шикин
ИССЛЕДОВАНИЕ ОПЕРАЬИЙ
УЧЕБНИК
В уче(>нике ра(сли)т|х*ны мдачп линсчпюго и иел()чи< ленного про- 「р〕7м叩(ша“1Е при1мкл<кны причюры и рс^шения тр<ик портных млач. Прмнали П1|м)ван тиржии спектр игр: матричные*, (шматричные, пош- иионньк* и некоторые другие игры. Отдельные главы псх вяшены с етям и многокритериальным оптими миионным мдачам. УчсЧмшк поиюляет (Н1л<)л(чь чичоДдГми количсс тонного подхода и качес твенною «имли <«i. Г1рикл«шк)и характер pewe7Mx ь1лач по чюляст и< польи)в«пь полу- ч(*нные имния н<)практике для поме ка оптимальных решен и и в упра- нлении.
Для студентов, а< пи[)«ип<)п. iiptMioz^iB^iii^eH вузов, а также тех ин- п*р<ч у|()ших( я попри «1ми поиска оптимальных решении в управлении « помошью м.псматических методов.
•ПРМСПЕИТ-•ПРМСПЕИТ-И VMU'AM 1И<» * IMN XI " X I ♦ 11102(), М<м «на. ул. |и*|м>|ьн1 «WS^ "h7 157』
•ПРМСПЕИТ-
•ПРМСПЕИТ-
〃-Е・"1: ni.lll<Mpr(H^n*kt.(Mg www.卩“MM'kl дмц
Московским государственный университет им. М.В Ломоносова
Е.В. Шикин
ИССЛЕДОВАНИЕ
ОПЕРАЦИЙ
УЧЕБНИК
•ПРОСП11
Московский государственный университет им. М.В. Ломоносова
Е.В. Шикин, Г.Е. Шикина
ИССЛЕДОВАНИЕОПЕРАиИЙ
УЧЕБНИК
Рекомендовано Учебно-методическим центром^Классический учебник» в качестве учебника для студентов вузов,обучающихся по экономическим специальностям
И•ПРОСПЕКТ*
УДК 005:519.8(075.8)
ББК 65.290-2в6я73
Ш57
Шикин Е. В., Шикина Г. Е.
Ш57 Исследование операций : учеб. — М. : ТК Велби, Изд-во Проспект, 2006. — 280 с.
ISBN 5-482-00521-6
В учебнике рассмотрены задачи линейного и целочисленного программирования, приведены примеры и решения транспортных задач. Проанализирован широкий спектр итр: матричные, биматричные, позиционные и некоторые другие игры. Отдельные главы посвящены сетям и многокритериальным оптимизационным задачам. Учебник позволяет овладеть методами количественного подхода и качественного анализа. Прикладной характер решаемых задач позволяет использовать полученные знания на практике для поиска оптимальных решений в управлении.
Для студентов, аспирантов, преподавателей вузов, а также всех интересующихся вопросами поиска оптимальных решений в управлении с помощью математических методов.
УДК 005:519.8(075.8)
ББК 65.290-2в6я73
Учебное издание
Шикин Евгений Викторович,Шикина Гузель Евгеньевна
ИССЛЕДОВАНИЕ ОПЕРАЦИЙУчебник
Подписано в печать 26.09.05. Формат 60х90*/16.
Печать офсетная. Печ. л. 17,5. Тираж 3000 экз. Заказ № 6226.
Отпечатано на бумаге «АВЕСТА» производства АО «Соликамскбумпром»,поставщик ЗАО «Веста-М Трейдинг», тел./факс: (095) 923-51-18, 924-10-59.
ООО «ТК Велби».
107120, Москва, Хлебников пер., д. 7, стр. 2.
Отпечатано с диапозитивов в ФГУП «Печатный двор» им. А. М. ГорькогоФедерального агентства по печати и массовым коммуникациям.
197110, Санкт-Петербург, Чкаловский пр., 15.
© Е. В. Шикин, Г. Е. Шикина 2006
ISBN 5-482-00521-6ISBN 5-482-00521-6© ООО «Издательство Проспект», 2006
ISBN 5-482-00521-6
ISBN 5-482-00521-6