Текст
                    CAiIKT-ПЕТЕУ В УРГ СКИЕ
ОЛИМДИЛДЬ!
Санкт-Петербург
«НАУКА»

УДК 007 ББК 22.18 А64 М. С. Ананьевскийи др. Санкт-Петербургские олимпиады по кибернетике / М. С. Ананьевский, Г. И. Болтунов, Ю. Е. Зайцев, А. С. Матвеев, А. Л. Фрадков, В. В. Шиегин; / Под ред. А. Л. Фрадкова, М. С. Ананьевского. — СПб.: Наука, 2005. - 332с. ISBN 5-02-025094-5 Книга содержит материалы городских школьных олим- пиад по кибернетике, проводившихся в Санкт-Петербурге в 1999-2005 гг. В издание включены задачи олимпиад, реше- ния избранных задач, а также дополнительная информация: сведения о кибернетике и об истории олимпиад, список ка- федр кибернетического профиля в вузах Санкт-Петербурга и т.д. Для учащихся и преподавателей средних и высших учеб- ных заведений, а также научных работников и методистов, интересующихся вопросами преподавания и популяризации кибернетики и информатики. Печатается с оригинал-макета, подготовленного Институтом проблем машиноведения РАН ISBN 5-02-025094-5 © Коллектив авторов, 2005 © Издательство «Наука», 2005
Оглавление ftalaHaustml Оглавление Предисловие......................................8 Что такое кибернетика?..........................14 Кибернетические системы и информация . . 14 Мозг и компьютеры..................... 15 Кибернетика и управление.............. 16 Методы кибернетики.................... 18 Разделы кибернетики................... 19 История кибернетики................... 21 Глава I. Олимпиада 1.1. Как все начиналось...................... 23 1.2. О задачах.............................. 25 1.3. Хроника олимпиад ...................... 28 1.4. Рождение и эволюция автоматической системы проверки решений............................. 32 Идея системы.......................... 32 Версии системы........................ 37 Перспективы развития системы.......... 44 1.5. Результаты олимпиад 1999-2005 гг....... 46 1.6. Правила проведения олимпиады (2005 г.) .... 60 Глава II. Задачи 2.1. Задачи 1999 г............................. 63 -3-
Санкт-Петербургские олимпиады по кибернетике Равновесие............................ 63 Автобус............................... 64 Последовательность.................... 65 Помехоустойчивый код (7,4)............ 67 Маршрут тележки ...................... 68 Легенда............................... 70 2.2. Задачи 2000 г.......................... 72 Круговой маршрут...................... 72 Лазерная пушка........................ 73 Новый метод криптографии.............. 74 Покорение космоса..................... 75 Тайна владыки Мо...................... 76 Робот-хоккеист ....................... 78 Шифр.................................. 80 2.3. Задачи 2002 г.......................... 81 Агентурная сеть....................... 81 Скучающий автопилот................... 82 Соревнование скалолазов............... 84 Анна Петровна и сложные проценты...... 86 Криптоанализ.......................... 87 Квадраты.............................. 89 Волк в ловушке........................ 90 Колесо................................ 90 Инкрементная инверсия................. 92 2.4. Задачи 2003 г.......................... 93 Шайба................................. 93 Водитель без шлагбаума................ 93 Игры разума........................... 94 Планирование производства ............ 97 Кибербоулинг.......................... 98 Светофоры............................. 99 — 4—
^aiaHauSt^i Оглавление Ящик.................................101 Странный вездеход....................102 2.5. Задачи 2004 г.........................104 Идентификация........................104 С Новым годом........................105 Биотехнология и кибернетика..........106 Стрельба из пушки по воробьям........108 Путешествие из Петербурга в Москву .... 110 Мышеловки............................111 Есть ли жизнь на Марсе?..............113 Жажда бублов ........................115 Диатлон .............................116 2.6. Задачи 2005 г.........................117 Насосы, сосуды, горелки и гелий......117 Электрик на даче и его помидоры......118 Покорение Амальтеи...................120 Лукулловский пир.....................121 Жирная муха и паук...................122 Превышение скорости .................123 Кубок УЕФА 2005 .................... 124 Игральные аппараты...................125 Бронепоезд...........................126 Глава III. Решения 3.1. Решения задач 1999 г..................128 3.2. Решения задач 2000 г..................136 3.3. Решения задач 2002 г..................139 3.4. Решения задач 2003 г..................157 3.5. Решения задач 2004 г..................163 3.6. Решения задач 2005 г..................182 - 5-
Санкт-Петербургские олимпиады по кибернетике Глава IV. Кибернетика 4.1. Что такое управление?...........................189 Модели объекта управления...................190 Цели управления ............................193 “Наивное” управление........................196 Обратная связь..............................198 Неопределенность............................200 Нелинейность................................203 Пример. Маятник Капицы......................204 4.2. Некоторые общие принципы построения адап- тивных систем управления......................211 Предмет теории управления...................211 Понятие об адаптивном управлении......214 Робот-велосипедист..........................215 Параметрическая неопределенность в зада- нии математической модели управляемого объекта и способы ее преодоления............222 Конечно-сходящиеся алгоритмы адаптации. Метод рекуррентных целевых неравенств . . 224 Заключение............................228 4.3. Многомерная геометрия и распознавание образов 230 Введение и постановка проблемы........230 Математические модели распознавания . . . 234 Алгоритм обучения.....................238 Заключение............................241 4.4. Становление информатики в России........245 Замечания по терминологии . .•........245 Структура информатики.................247 Борьба за признание...................249 Начальный период......................260 Формирование инфраструктуры ................271 -6-
Оглавление ^alattausilk 60-е и 70-е годы......................287 Новые информационные технологии . . . .’ . 301 Вместо заключения.....................304 Глава V. Приложения 5.1. Кафедры кибернетического профиля ВУЗов Санкт-Петербурга.......................317 5.2. Интернет-ресурсы по кибернетике, информатике и их истории.................................322 5.3. Об авторах..............................329
Санкт-Петербургские олимпиады по кибернетике Предисловие Наш город имеет давние и славные традиции проведения школьных олимпиад по различным предметам. В 1934 г. в Ленинграде состоялась первая в СССР городская олимпи- ада школьников по математике, где было около 400 участ- ников. С тех пор олимпиада школьников проводится еже- годно, за исключением военных 1942—1943 годов. С 1985 г. (также впервые в стране!) проводятся городские олимпиады по информатике, помогающие поддержать интерес школьни- ков к этой науке и высокий уровень их знаний и навыков, позволяющий школьным и студенческим командам города систематически выигрывать российские и международные соревнования самого высокого ранга. Проведение олимпиад школьников играет важную роль в профессиональной ориен- тации учащихся, привлечении талантливой молодежи в нау- ку и поддержании высокого уровня высшего образования и научных исследований. Для победителей олимпиад любимый предмет часто становится профессией, они сами принимают участие в проведении олимпиад, и такая традиция продолжа- ется. Через олимпиады прошли многие выдающиеся ученые. Таким образом, участие в предметной олимпиаде — это не только увлекательное и азартное спортивное соревнование, не только тренировка и развитие творческих способностей, но и путь к выбору любимой и единственной профессии, поз- воляющий подняться к самым ее вершинам. В последние годы число олимпиад возросло. К традици- онным олимпиадам по математике, физике, химии, биоло- гии прибавились олимпиады по лингвистике, информатике и другим предметам. У способных старшеклассников прак- тически все выходные в феврале—марте оказываются заня- -8-
Предисловие тыми походами на олимпиады. Но что делать тем, кто еще не выбрал свой единственный любимый предмет и не знает, в какой профессии ему пора начинать совершенствоваться? Или тем, кто увлечен сразу несколькими предметами и за- трудняется в выборе одного? Что, если, например, человек любит и хочет заниматься сразу и математикой, и физикой и информатикой? Кажется естественным проводить, кроме предметных, и межпредметные олимпиады, где задачи включали бы эле- менты знаний и навыков из нескольких дисциплин. Меж- предметные олимпиады важны еще и потому, что в совре- менной науке и технике многие открытия делаются на сты- ке различных областей, и хорошему специалисту необходимо умение говорить на языках нескольких наук, которое нужно развивать с самого детства. Удивительно, что, несмотря на очевидную важность меж- предметных олимпиад, до недавних пор ни в Санкт-Петер- бурге, ни в других городах и странах, насколько нам извест- но, не проводились. И вот в 1999 г. несколько специалистов в области автоматики и систем управления из вузов города и организаций РАН задумали провести школьную олимпиаду по кибернетике, чтобы привлечь внимание будущих студен- тов к своей специальности. Идея была поддержана заведую- щим отделом науки и техники Санкт-Петербургского город- ского Дворца творчества юных (Аничков дворец) В. П. Тара- совым, и дело пошло: в 1999—2005 гг. было проведено шесть городских олимпиад. Как известно, кибернетика — это наука об управлении и связи в системах произвольной физической природы. Пред- мета “Кибернетика” в школьных программах пока нет, поэто- му в ИПМаш РАН совместно с Санкт-Петербургским город- -9-
Санкт-Петербургские олимпиады по кибернетике ским Дворцом творчества юных была разработана концепция Олимпиад, основанная на том, что кибернетика в школе по- нимается как наука на стыке математики, физики и инфор- матики. Соответственно, олимпиада по кибернетике органи- зуется как соревнование в решении задач, требующих знаний и навыков по перечисленным предметам школьного курса, т.е. оказывается межпредметной. Типичные задачи включа- ют составление математической модели какого-либо физиче- ского процесса и исследование ее на компьютере. Условия задач похожи на “текстовые” задачи по математике, а при их решении, по-существу, осваивается основной метод кибер- нетики — метод математического моделирования. Большин- ство задач имеют занимательный сюжет, а некоторые задачи представляют описание и построение элементарных процес- сов управления. Чтобы успешно решать задачи, участники соревнований должны иметь хорошие знания по математике, физике и информатике, а также уметь писать программы на одном из языков программирования. Кроме того, необходимо обладать навыками работы в коллективе, поскольку команде из трех человек предстоит решить несколько сложных задач в ограниченное время и успех зависит от того, как распреде- лены роли между членами команды. Такая концепция позволяет укрепить межпредметные связи, выявить детей со способностями к нескольким есте- ственным и техническим наукам, а также заинтересовать тех, кто еще не определил круг своих интересов. За несколько лет набралось достаточно много задач и других материалов, и организаторы решили, что пришло время их опубликовать для более широкого использования, обсуждения и привлече- ния интереса к наукам кибернетического цикла. Так появи- лась эта книга. - 10-
Предисловие Книга открывается текстом “Что такое кибернетика?”, составленным по материалам статьи о кибернетике из Большой Советской Энциклопедии, написанной выдающим- ся ученым, одним из создателей отечественной кибернети- ки и вычислительной техники академиком В. М. Глуш- ковым (подробнее о В. М. Глушкове см. на сайте http://www.computer-museum.ru/galglory/27.htm). Первая часть книги содержит воспоминания и мнения ор- ганизаторов об олимпиадах, правила их проведения, хрони- ку и результаты. Важную роль в успехе олимпиад сыграла сетевая система автоматической проверки решений, разра- ботанная Виталием Шиегиным и описанная в п.1.4. Следует отметить, что Виталий был мотором первых олимпиад, со- здал сайт Олимпиады и ее эмблему (см. рисунок на облож- ке). Более того, сама идея Олимпиады родилась, как гласит легенда, во время прогулки Виталия Шиегина и Андрея Ля- мина, тогда еще аспирантов СПбГУИТМО, весной 1999 года по улице Восстания. Вторая часть содержит условия всех предлагавшихся за- дач, а третья часть — решения избранных задач. В четвертой части собраны статьи, которые могут представить интерес для любителей кибернетики. Хочется обратить внимание читателя на статьи, перепечатанные из Соросовского образовательного журнала: статью В. Н. Фо- мина, профессора кафедры теоретической кибернетики математико-механического факультета СПбГУ, безвременно ушедшего в 2000 году, внесшего большой вклад в развитие и преподавание кибернетических наук в С.-Петербурге (по- дробнее о выдающейся личности В. Н. Фомина см. на сайте http://www.math.spbu.ru/user/fomv/) и статью Ю. И. Ней- марка, профессора кафедры теории управления и динамики - 11-
Санкт-Петербургские олимпиады по кибернетике машин Нижегородского государственного университета, основавшего эту кафедру в 1958 году и справившего недавно свой 85-летний юбилей (подробнее о Ю. И. Неймарке см. на сайте http: //www. unn. ru/vmk/tudm/prepod/neimark. htm). а также на поучительную статью профессора Д. А. По- спелова из сборника “Очерки истории информатики в России” в которой описывается драматическая ис- тория развития кибернетического движения в нашей стране (подробнее о Д. А. Поспелове см. на сайте http: //www. computer-museum. ru/galglory/pospelov. htm). Представленные статьи, хоть и написаны достаточно про- сто, не являются научно-популярными: в них говорится о серьезных вещах, и сейчас волнующих специалистов. Статьи заставляют задуматься и попытаться самим решить обсуждаемые в них проблемы — в полном соответствии с духом Олимпиады. В приложении можно найти список кафедр кибернетиче- ского профиля вузов Санкт-Петербурга, а также список ссы- лок на интернет-ресурсы по кибернетике, информатике и их истории. Основные материалы и ссылки, помещенные в книгу были представлены на сайте http: //cyber-net. spb. ru, знакомом всем участникам олимпиад по кибернетике. На сайте про- должают публиковаться новые задачи, объявления о месте и времени проведения новых олимпиад и другая информация. Организация олимпиад и публикация книги были поддер- жаны рядом грантов и программ Института проблем маши- новедения РАН. Проведение олимпиад на достойном уровне было бы невозможно без помощи спонсоров, из которых в первую очередь хочется поблагодарить ЦНИИ “Электропри- бор” и академика РАН В. Г. Пешехонова, а также ОКБ “Элек- - 12-
NataHaus,/^. Предисловие троавтоматика”. Большую помощь в организации оказали студенты СПбГУИТМО С. В. Арановский, А. А. Блинни- ков, И. С. Волков, М. А. Коршунов. Наконец, хочется от- метить важную роль дружного коллектива Отдела техники Санкт-Петербургского Дворца творчества юных, возглавляе- мого В. П. Тарасовым и деятельность неутомимого Г. И. Бол- тунова, который в дни, когда пишутся эти строки проводит уже новую — областную Олимпиаду по кибернетике с уча- стием 36 школьных команд, в том числе и из других регионов России. Автоы надеются, что книга будет полезна учащимся и преподавателям средних и высших учебных заведений, а так- же научным работникам и методистам, интересующимся во- просами преподавания и популяризации кибернетики и ин- форматики. Отзывы, замечания и новые задачи можно по- сылать по адресу: infoQcyber-net.spb.ru. Декабрь 2005 г. А.Л.Фрадков
Санкт-Петербургские олимпиады по кибернетике Что такое кибернетика?1 Большая российская энциклопедия определяет кибер- нетику (от греч. kybernetike — искусство управления, от kybernao — правлю рулем, управляю) как науку об управ- лении, связи и переработке информации. Кибернетические системы и информация Основным объектом исследования в кибернетике являют- ся так называемые кибернетические системы. Примерами ки- бернетических систем могут служить разного рода автомати- ческие регуляторы в технике (например, автопилот или ре- гулятор, обеспечивающий поддержание постоянной темпера- туры в помещении), электронные вычислительные машины (ЭВМ или компьютеры), человеческий мозг, биологические популяции, человеческое общество... Кибернетические систе- мы имеют рецепторы (датчики), воспринимающие сигналы из внешней среды и передающие их внутрь системы, а также входные и выходные каналы, по которым они обменивают- ся сигналами с внешней средой. Выходные сигналы системы передаются во внешнюю среду через эффекторы (исполни- тельные устройства). Поскольку каждая система сигналов, независимо от того, формируется она разумными существа- ми или объектами и процессами неживой природы, несет в себе ту или иную информацию, то всякая кибернетическая система может рассматриваться как преобразователь инфор- мации. Рассмотрение различных объектов живой и неживой 1По материалам статьи В. М. Глушкова “Кибернетика” в Большой Советской Энциклопедии. - 14-
^aiaHaus,^. Что такое кибернетика? природы как преобразователей информации или как систем, состоящих из элементарных преобразователей информации, составляет сущность так называемого кибернетического под- хода к изучению этих объектов. Мозг и компьютеры Из числа сложных технических преобразователей ин- формации наибольшее значение имеют компьютеры (этот термин вытеснил употреблявшийся ранее термин ЭВМ - электронно-вычислительные машины). Компьютеры облада- ют свойством универсальности. Это означает, что любые пре- образования буквенно-цифровой информации, которые мо- гут быть определены произвольной конечной системой пра- вил любой природы (арифметические, грамматические и др.) могут быть выполнены компьютером после введения в него составленной должным образом программы. Другим извест- ным примером универсального преобразователя информации (хотя и основанного на совершенно иных принципах) явля- ется человеческий мозг. Свойство универсальности современ- ных компьютеров открывает возможность моделирования с их помощью любых других преобразователей информации, в том числе мыслительных процессов. Такая возможность ставит компьютеры в особое положение: с момента своего возникновения они представляют основное техническое сред- ство, основной аппарат исследования, которым располагает кибернетика. - 15-
Санкт-Петербургские олимпиады по кибернетике Кибернетика и управление Целенаправленное изменение поведения кибернетиче- ских систем происходит при наличии управления. Основной задачей системы с управлением является такое преобразо- вание поступающей в систему информации и формирование таких управляющих воздействий, при которых обеспечивает- ся достижение (по возможности наилучшее) заданных целей управления. Примером может служить система автоматиче- ского регулирования температуры воздуха в помещении: спе- циальный термометр-датчик измеряет температуру воздуха Г, управляющая система сравнивает эту температуру с за- данной величиной То и формирует управляющее воздействие —к(Т — То) на задвижку, регулирующую приток теплой воды в батареи центрального отопления. Знак минус при коэффи- циенте к означает, что регулирование происходит по зако- ну отрицательной обратной связи, а именно: при увеличений температуры Т выше установленного порога Tq приток тепла уменьшается, при ее падении ниже порога — возрастает. Отрицательная обратная связь необходима для обеспече- ния устойчивости процесса регулирования. Устойчивость си- стемы означает, что при отклонении от положения равно- весия (когда Т = То) как в одну, так и в другую сторону система стремится автоматически восстановить это равнове- сие. При простейшем предположении о линейном характере зависимости между управляющим воздействием и скоростью притока тепла в помещение работа такого регулятора описы- вается дифференциальным уравнением dT/dt = —&(Т — То), решением которого служит функция Т = То + dexp(—kt), где d — отклонение температуры Т от заданной величины Tq в начальный момент времени. Поскольку рассмотренная - 16-
Что такое кибернетика? система описывается линейным дифференциальным уравне- нием 1-го поряд ка, она носит название линейной системы 1-го порядка. Более сложным поведением обладают линейные си- стемы 2-го и более высоких порядков и особенно нелинейные системы. Возможны системы, в которых принцип программ- ного управления комбинируется с регулированием в смыс- ле поддержания заданного значения той или иной величи- ны. Так, например, в описанный регулятор комнатной тем- пературы может быть встроено программное устройство, ме- няющее значение регулируемого параметра. Задачей такого устройства может быть, скажем, поддержание температуры +20° в дневное время и снижение ее до +16° в ночные часы. Функция простого регулирования перерастает здесь в функ- цию слежения за значением программно изменяемого пара- метра. В более сложных следящих системах задача состоит в поддержании (возможно более точном) некоторой фикси- рованной функциональной зависимости между множеством самопроизвольно меняющихся параметров и заданным мно- жеством регулируемых параметров. Примером может слу- жить система, непрерывно сопровождающая лучом прожек- тора маневрирующий произвольным образом самолет. В так называемых системах оптимального управления основной целью является поддержание максимального (или минимального) значения некоторой функции от двух групп параметров, называемой критерием оптимального управле- ния. Параметры первой группы (внешние условия) меняют- ся независимо от системы; параметры второй группы явля- ются регулируемыми, т. е. их значения могут меняться под воздействием управляющих сигналов системы. Простейший пример оптимального управления снова дает задача регули- рования температуры комнатного воздуха при дополнитель- - 17—
Санкт-Петербургские олимпиады по кибернетике ном условии учета изменений его влажности. Величина тем- пературы воздуха, дающая ощущение наибольшего комфор- та, зависит от его влажности. Если влажность все время ме- няется, а система может управлять лишь изменением тем- пературы, то естественно в качестве цели управления поста- вить задачу поддержания температуры, которая давала бы ощущение наибольшего комфорта. Это и будет задача оп- тимального управления. Системы оптимального управления имеют большое значение в задачах управления экономикой. Если данных для обеспечения удовлетворительного качества системы недостаточно, можно строить так называемые адап- тивные регуляторы, собирающие недостающую информацию в ходе работы системы и использующие ее для повышения качества своей работы. Методы кибернетики Кибернетика использует для исследования систем три принципиально различных метода. Два из них — математи- ческий анализ и физический эксперимент — широко приме- няются и в других науках. Сущность первого метода состо- ит в описании изучаемого объекта в рамках того или иного математического аппарата (например, в виде системы урав- нений) и последующего извлечения различных следствий из этого описания путем математической дедукции (например, путем решения соответствующей системы уравнений). Сущ- ность второго метода состоит в проведении различных экс- периментов либо с самим объектом, либо с его реальной фи- зической моделью. Одним из важнейших достижений кибернетики являются - 18-
Что такое кибернетика? разработка и широкое использование нового метода исследо- вания, получившего название вычислительного (машинного) эксперимента, или математического моделирования. Смысл его состоит в том, что эксперименты производятся не с реаль- ной физической моделью изучаемого объекта, а с его матема- тическим описанием, реализованным в компьютере. Огром- ное быстродействие современных компьютеров зачастую поз- воляет моделировать процессы в более быстром темпе, чем они происходят в действительности. Разделы кибернетики Современная кибернетика в широком понимании состо- ит из большого количества разделов, представляющих собой самостоятельные научные направления. Теоретическое ядро кибернетики составляют такие разделы, как теория инфор- мации, теория кодирования, теория алгоритмов и автоматов, общая теория систем, теория оптимальных процессов, мето- ды исследования операций, теория распознавания образов, теория формальных языков. На практике центр тяжести ин- тересов кибернетики сместился в область создания сложных систем управления и различного рода систем для автомати- зации умственного труда. В чисто познавательном плане од- ной из наиболее интересных перспективных задач кибернети- ки является моделирование мозга и его различных функций. Основным техническим средством для решения всех ука- занных задач являются компьютеры. Поэтому развитие ки- бернетики как в теоретическом, так и в практическом аспек- тах тесно связано с прогрессом электронной вычислитель- ной техники. Требования, которые предъявляет кибернетика - 19-
Санкт-Петербургские олимпиады по кибернетике к развитию своего математического аппарата, определяются указанными выше основными практическими задачами. Определенная практическая целенаправленность иссле- дований по развитию математического аппарата как раз и является той гранью, которая отделяет общематематическую от собственно кибернетической части подобных исследова- ний. Так, например, в той части теории алгоритмов, кото- рая строится для нужд оснований математики, стремятся по возможности уменьшить число типов элементарных опера- ций и сделать их достаточно мелкими. Возникающие таким образом алгоритмические языки удобны как объект исследо- вания, но в то же время ими практически неудобно пользо- ваться для описания реальных задач преобразования инфор- мации. Кибернетический аспект теории алгоритмов имеет де- ло с алгоритмическими языками, специально ориентирован- ными на те или иные классы подобных практических задач. Имеются языки, ориентированные на задачи вычислительно- го характера, на формульные преобразования, на обработку графической информации и т.п. Аналогичное положение имеет место и в др. разделах, составляющих общетеоретический фундамент кибернетики. Они представляют собой аппарат для решения практических задач изучения кибернетических систем, их анализа и синте- за, нахождения оптимального управления. Особенно большое значение применение кибернетических методов имеет в тех науках, где методы классической мате- матики могут применяться лишь в ограниченных масштабах, для решения отдельных частных задач. К числу таких наук относятся в первую очередь экономика-, биология, медици- на, языкознание и те области техники, которые имеют дело с большими системами. В результате большого объема при- -20-
^ataHaus,^. Что такое кибернетика? менения кибернетических методов в этих науках произошло выделение самостоятельных научных направлений, которые было бы естественно называть кибернетической экономикой, кибернетической биологией и т.д. Однако в силу ряда причин первоначальное становление указанных направлений проис- ходило в рамках кибернетики за счет специализации объек- тов исследования, а не в рамках соответствующих наук за счет применения методов и результатов кибернетики. Поэто- му указанные направления получили названия экономиче- ская кибернетика, биологическая кибернетика, медицинская кибернетика, техническая кибернетика. В языкознании со- ответствующее научное направление получило наименование математической лингвистики. История кибернетики Первым, кто применил термин “кибернетика” для управ- ления в общем смысле, был по-видимому, древнегреческий философ Платон. Однако реальное становление “кибернети- ки” как науки произошло много позже. Оно было предопре- делено развитием технических средств управления и преоб- разования информации. Еще в средние века в Европе ста- ли создавать так называемые андроиды — человекоподобные игрушки, представляющие собой механические, программно управляемые устройства. Первые промышленные регулято- ры уровня воды в паровом котле и скорости вращения вала паровой машины были изобретены И. И. Ползуновым (Рос- сия) и Дж. Уаттом (Англия) в XVIII в. Решающее значе- ние для становления “кибернетики” имело создание в 40-х годах XX в. электронных вычислительных машин — ЭВМ, -21-
Санкт-Петербургские олимпиады по кибернетике или компьютеров (Дж. фон Нейман и др.). Благодаря ЭВМ возникли принципиально новые возможности для исследова- ния и фактического создания действительно сложных управ- ляющих систем. Оставалось объединить весь полученный к этому времени материал и дать название новой науке. Этот шаг был сделан американским математиком Норбертом Ви- нером, опубликовавшим в 1948 г. свою знаменитую книгу “Кибернетика”. Винер определил “кибернетику” как “науку об управлении и связи в живом организме, машине и обще- стве”. Стремительное развитие вычислительной техники по- родило большой интерес к кибернетике в 1960—1970-е годы и ее бурное развитие во всем мире. В 1980—1990-е годы тер- мин “кибернетика” был частично вытеснен термином “инфор- матика”, имеющим отношение прежде всего к компьютерам и обработке информации. Однако в последние годы термин “кибернетика” вновь стал популярной в связи с развитием интернета (киберпространство) и робототехники (киборг — кибернетический организм — устройство с высокой степенью физического и интеллектуального взаимодействия человека и технических средств автоматики). Киборги, так же как и роботы-манипуляторы, могут найти применение при управ- лении объектами в недоступных или опасных для жизни че- ловека условиях.
yalallaus^k Глава I. Олимпиада Глава I. Олимпиада 1.1. Как все начиналось1 ... Но свет блеснул — и выход вижу смело, Могу писать: “В начале было Дело”! (И.-В. Гёте, “Фауст”) Нет, в начале было все-таки слово. Вернее, мысль, выра- женная словами “а почему бы нам...”. Почему бы не организо- вать соревнование для своих (тех, которые занимались на ка- федре) учеников? В отличие от официальных городских со- ревнований по информатике, собственные можно проводить там и тогда, где и когда будет интересно нам. Эта нехитрая идея быстро переросла пределы отдельно взятой кафедры Автоматики и Телемеханики (сейчас — ка- федра Систем Управления и Информатики) и диалектически воплотилась в свою противоположность — намерение про- вести вполне официальное соревнование для школьников в рамках Балтийской студенческой олимпиады по автоматиче- Тазделы 1.1—1.4 написаны В. В. Шиегиным и Г. И. Болтуновым. Публикуются в авторской редакции. -23-
Санкт-Петербургские олимпиады по кибернетике скому управлению. Что, разумеется, не исключало возмож- ности периодических локальных “междусобойчиков”. ...Ведь Мысль творить и действовать не может! Не Сила ли — начало всех начал? (там же) Правильно подмечено. Чтобы мысль реализовалась в де- ла, силы действительно потребовались. И силы были прило- жены по трем основным направлениям: • Организация (привлечение участников, место проведе- ния, грамоты, призы и т.п.); • Составление задач; • Обеспечение проверки решений. Организационные проблемы школьной секции были близ- ки к проблемам учебной секции Балтийской олимпиады, а опыт их решения у организаторов имелся. Как в научной среде, так и в быту всегда можно обнару- жить большое количество интересных и нетривиальных за- дач. Оставалось только их записать — как формальную по- становку, так и сюжетное “оформление”. Причем “кибернети- ческая” направленность Балтийской олимпиады отразилась и на задачах школьной секции. Проверка решений должна была быть быстрой, непред- взятой и по возможности корректной. Разумеется, для это- го ее следовало автоматизировать. Компьютерная техника позволяет обеспечить первые два условия. Корректность по- прежнему зависит от предоставленных авторами задач про- верочных данных, т.е. от пресловутого "человеческого фак- тора в чем позже смогли убедиться некоторые участники (за — 24—
^alaHaustik Глава I. Олимпиада что организаторы приносят им свои извинения). Но при этом автоматическая система “обижает” всех по одному и тому же алгоритму. Как говорится, ’’ничего личного". 1.2. О задачах Бессмыслица — искать решение, если оно и так есть. Речь идет о том, как поступать с задачей, которая решения не имеет. (А. и Б. Стругацкие, “Понедельник начинается в субботу”) Как уже было сказано, организаторы сформулировали “школьное” представление кибернетики как науки на стыке математики, физики и информатики. Это определение полез- но как рабочее для отбора и оформления подходящих задач: после отделения от сюжета, задача должна иметь вполне по- нятную постановку в терминах, знакомых школьнику — на языке математики, физики и информатики. Пример. Студенту, изучающему теорию управления, можно предложить такую задачу: “составьте оптимальный закон управления для линейной дискретной системы второ- го порядка” — он ее поймет и даже сможет решить (если не пропускал занятия). А как быть со школьником? Неуже- ли эта задача для него пока недоступна и требуется посту- пить в институт и проучиться несколько лет, чтобы понять ее смысл? Оказывается, что это не так. Просто задача сфор- мулирована на “чужом” языке. Студент для ее решения бу- дет использовать те язык и методы, которым его научили. Школьник же сможет обойтись без них. Достаточно лишь переформулировать задачу иначе: “найдите такую последо- вательность чисел, при которой представленный фрагмент программы (цикл) завершится поскорее” (см. задачу “После- — 25—
Санкт-Петербургские олимпиады по кибернетике довательность” — она предложена на языке информатики, а решается — средствами алгебры). Здесь возникает законный вопрос: а зачем тогда студенту было изучать теорию управления, если такие задачи способен решить любой школьник? Дело в том, что подобная задача может иметь и более сложный вид — например, в программе будет использовано не 2 массива (X и Y), а много больше, в формулы будут входить не только операции сложения и вы- читания, но и произведение, или, например, тригонометри- ческие функции. Во многих случаях школьник по прежнему сможет справиться, но студент, вооруженный теорией управ- ления, будет иметь преимущество: ему легче определить, к какому классу относится та или иная задача, существует ли для нее решение и какими методами это решение может быть получено. Большинство олимпиадных задач снабжено сюжетами. Можно предположить, что их назначение — запутать участ- ников. Замечание в какой-то степени верно, но есть и другие объяснения. Во-первых, сюжет - это интересно. Любопытно прочитать про робота-хоккеиста, даже если не ясно, зачем ему понадобилось анализировать хаотическое движение шай- бы и как ему можно помочь. Во-вторых — большинству лю- дей проще вообразить конкретного (хоть и фантастическо- го) робота, чем абстрактный хаотический аттрактор. И са- мое главное: задачи, которые приходится решать на практи- ке, зачастую ставятся именно в таком вот “сюжетном” виде. Неплохо, когда специалист знаком с методом пузырьковой сортировки. Но более ценен тот специалист, который поймет, что настало время применить этот метод, хотя в техническом задании не сказано ни о сортировке, ни о пузырьках. -26-
^aiattaus,^. Глава I. Олимпиада Неверно считать, что задача происходит из определенной науки. Все задачи (за исключением совсем уж искусствен- ных построений) происходят из реальной жизни. А науки лишь предлагают инструменты, более или менее пригодные для решения этих задач. Еще один важный момент, на который организаторы пы- тались (по возможности) обращать внимание при написании задач. Далеко не всегда реальная “сюжетно” поставленная за- дача имеет единственный вариант формализованного пред- ставления и далеко не всегда даже для хорошо формализо- ванной задачи существует единственный метод ее решения. Потому и среди олимпиадных задач наиболее полезны те, ко- торые не имеют ярко выраженного единственного решения — в них заложена возможность творческого поиска. В чем еще недостаток задачи, рассчитанной на один ме- тод решения? Она может оказаться или слишком очевидной (для тех, кто знаком с таким методом) или неразрешимой (для тех, кому повезло меньше). Знать и уметь применять методы необходимо, но недостаточно. Не для всякой задачи найдется уже кем-то придуманный метод — тем она и ин- тереснее (помнится, Д. Кнут предлагал своим читателям в качестве упражнения доказать великую теорему Ферма, но не упоминал при этом ее названия). От задач, не имеющих явного решения, было бы логич- ным перейти к задачам, не имеющим решения вообще (см. эпиграф). Как ни парадоксально, такие задачи тоже при- ходится успешно решать на практике постоянно. И ничего смешного здесь нет: пишущему эти строки доводилось анали- тически “брать” эллиптический интеграл (классический небе- рущийся). Но это уже совсем другая история. — 27—
Санкт-Петербургские олимпиады по кибернетике 1.3. Хроника олимпиад № Дата проведения Учебные заведения Количество команд Количество участников 6 20 февраля 2005 17 36 103 5 22 февраля 2004 19 46 137 4 23 марта 2003 20 47 138 3 17 марта 2002 20 35 101 2 24 мая 2000 12 31 87 1 26 мая 1999 6 13 33 Первые две Олимпиады (1999 и 2000 годов) проводились в рамках Балтийской студенческой олимпиады по автоматиче- скому управлению в форме отдельной секции под названием “Основы кибернетики”. Место проведения секции — Санкт- Петербургский городской Дворец творчества юных (ДТЮ). Поскольку мероприятия Балтийской олимпиады занимали три дня, некоторые школьники смогли принять участие в на- учных секциях — и не только послушать, но и выступить с собственными докладами. В 1999 году количество участников было невелико — 13 команд из 6 учебных заведений (ФМЛ 239, ФМЛ 366, Гим- назия 344, школы 519 и 570, НОУ “Гармония”). Всего — 33 человека. Все разместились в трех смежных аудиториях от- дела техники ДТЮ. Поскольку опыта у организаторов еще недоставало, состав задач оказался достаточно легким. Это привело к тому, что три команды успели решить все задачи до окончания соревнований. Не обошлось и без первого забавного казуса. Если участ- никам было что-то неясно, они имели возможность задавать -28-
Глава I. Олимпиада вопросы в письменном виде. Чаще всего приходилось отве- чать “без комментариев” — когда в условиях задачи инфор- мация имелась или вопросы ставились так, что ответ был бы подсказкой. Несколько вопросов касались простейшей физи- ческой задачи “Равновесие” (чтобы ее немного усложнить, в условие ввели избыточные данные). Вот два таких вопро- са: “является ли заданная сила трения силой трения о плос- кость?” и “все ли параметры идеальны — нить нерастяжима, нет трения о барабан?..”. Вопросы организаторов насторожи- ли, поскольку в команду, их задавшую, входили победители физических и математических олимпиад. Разгадка оказалась простой: пример, приведенный в условиях задачи, содержал опечатку, которая в сочетании с лишними данными сбила ребят с толку и они стали пытаться учесть все возможные факторы, которые обычно в расчет не принимаются. У тех же, кто не задумывался, что нить бывает растяжимой, а воз- дух — вязким, задача если и вызвала трудности, то совсем иного рода. В 2000 году при составлении задач организаторы пошли на эксперимент: кроме задач на написание программ, были предложены две задачи, не укладывающиеся в эту схему — их решения проверялись вручную и результат добавлялся к числам автоматически сформированного рейтинга. Эти ре- зультаты почти не повлияли на первоначальный расклад, по- скольку задачу “Шифр” правильно решило большинство, а с роботом-хоккеистом не справился никто (хотя некоторые шаги в верном направлении были). Эксперимент был при- знан неудачным из-за того, что окончательные результаты становятся известны с большой задержкой и ручная провер- ка менее объективна. Когда и если система позволит прове- рять непрограммные решения автоматически, к таким зада- -29-
Санкт-Петербургские олимпиады по кибернетике чам можно будет вернуться. В 2002 году, после годичного перерыва, проведение олим- пиад было возобновлено, но уже отдельно от Балтий- ской олимпиады. Тогда же утвердилось название “Олим- пиада по кибернетике”, олимпиада обрела свой web-сайт (http://cyber-net.spb.ru) и свою эмблему (см. обложку). На сайте публикуются задачи и другая информация, а знач- ки с эмблемой выдаются всем участникам олимпиад. На олимпиадах 1999 и 2000 годов при подсчете рейтин- га команд система использовала знакомую многим участни- кам олимпиад по программированию “облегченную ЭйСиЭм” формулу: решение проходит 10 тестов и подсчитывается ко- личество успешно пройденных. Если верны все 10 — сумма удваивается (дается 20 баллов). При равном количестве бал- лов у разных команд учитывается время подачи решений и штраф за лишние попытки. С 2002 года формула изменилась (см. раздел “Правила проведения олимпиады”)- Главный аргумент был такой: за- дачи имеют разную сложность и все участники стремятся решать в первую очередь простые задачи. Если задач боль- ше, чем удается решить самым сильным, наиболее сложные (и интересные) задачи остаются нерешенными. Чтобы поощ- рить участников за решение сложных задач, было решено ввести для задач весовые коэффициенты. Вес задачи опре- деляется системой автоматически и может меняться по ходу олимпиады. Чем меньше правильных решений подано для задачи (в сравнении с остальными задачами), тем больше ее вес. Здесь использован принцип обратной связи: участники своими действиями определяют сложность задач, выступая в роли экспертов. Это более объективно, чем, если бы вес задачи определялся организаторами. Кроме того, обратная -30-
^alattausiJk Глава I. Олимпиада связь — это так кибернетично! В 2002 году был зафиксирован еще один казус, более по- хожий на инцидент (следствие “человеческого фактора”). По окончании соревнований к организаторам подошла команда во главе с Дмитрием Павловым (впоследствии занявшим пер- вое место на командном чемпионате мира по программирова- нию) и уверенно сообщила, что в одном из проверочных те- стов к задаче “Агентурная сеть” есть ошибка — так оно и ока- залось. Поскольку затруднительно предсказать, как исправ- ление ошибки повлияет на весовые коэффициенты и баллы других участников, в подобных ситуациях пересчет не про- изводятся. Ошибка для всех одна и та же. Похоже, Дмитрий не забыл незаслуженную обиду (орга- низаторы догадались об этом, заглянув гостевую книгу сай- та). Можно лишь добавить: ошибки, как и вся олимпиада — результат тяжелого труда, от них не отказываемся. Знаете, кто никогда не ошибается? И, честное слово, ничего личного! В 2002 — 2005 годах Олимпиада продолжала набирать силу. К ее подготовке и проведению присоединялись как но- вые специалисты, так и студенты (некоторые - в прошлом сами участники Олимпиады). Расширилась география участ- ников: Петродворец, Пушкин, Гатчина, Сосновый Бор, Все- воложск, Петрозаводск. 17 декабря 2005 года совместно с Ленинградским област- ным институтом развития образования (ЛОИРО) была про- ведена экспериментальная олимпиада среди школьников Ле- нинградской области. В ней приняло участие 36 команд (104 человека). Существенное отличие этих соревнований состоя- ло в том, что они проходили дистанционно: команды находи- лись в 8 различных центрах, расположенных в разных райо- нах области. В организации соревнований участвовали рай- -31-
Санкт-Петербургские олимпиады по кибернетике онные Центры информационных технологий Гатчины, Гат- чинского района, Кингисеппа, Кировска, Луги, Соснового Бора, Пикалево и Центр "Интеллект расположенный в Ли- сьем Носу. Кроме того, вне зачета, в олимпиаде приняли уча- стие 3 команды из Мурманска и Мурманской области. Положительная сторона дистанционной технологии про- ведения олимпиад: в них могут принять участие и те, у кого нет возможности приехать в Петербург. Кроме того, коли- чество участников не ограничивается количеством рабочих мест в единственном здании. 1.4. Рождение и эволюция автоматической системы проверки решений Вызывает антирес Ваш технический прогресс: Как у вас там сеют брюкву — С кожурою али без?.. (JI. Филатов, "Сказ про Федота-стрельца, удалого молодца") Идея системы Как учил Платон, для всякой вещи из физического ми- ра в потустороннем “мире идей” имеется прообраз, “идея” этой вещи. А поскольку подобные системы уже существуют и успешно функционируют, очевидно, что и для них есть иде- альный прообраз — остается только мысленно проникнуть в мир идей и взглянуть на него (на реальные воплощения вблизи посмотреть не довелось). — 32—
Глава I. Олимпиада Наблюдение позволило выявить основные функции (опе- рации) в системе: 1. Каким-то образом принимать файлы решений от участ- ников и регистрировать их. 2. Проверять зарегистрированные решения и выставлять по ним оценки. 3. Уведомлять участников о результатах проверки реше- ний. 4. Формировать рейтинг участников (для каждого участ- ника суммировать баллы, набранные по всем задачам и сортировать участников по этой сумме). Перечисленные операции могут выполняться последова- тельно или параллельно (в виде разных процессов или даже на разных компьютерах). При работе на единственном ком- пьютере в однозадачной среде применим только первый ва- риант. Второй вариант предпочтительнее, при нем задержки в выполнении одной операции меньше влияют на выполне- ние других. Более того, если некоторая операция (скорее все- го, проверка), значительно более трудоемка, чем другие, ее могут выполнять сразу несколько параллельно работающих процессов. Обратная сторона параллельности — потенциаль- ная опасность конфликтов между взаимодействующими про- цессами. Система должна быть способна восстанавливаться после возможных сбоев (продолжать работу с того места, на кото- ром она была прервана), чтобы избежать повторной провер- ки, а главное — потери данных. -33-
Санкт-Петербургские олимпиады по кибернетике Прием и регистрация решения: 1. Передача решения на проверку происходит только по инициативе участника. 2. Решение передается в виде исходного текста програм- мы (на одном из языков программирования, известных системе). 3. После того, как участник передал решение на проверку, он не может отменить свое действие. 4. Система фиксирует последовательность и точное вре- мя поступления решений. Для каждого решения также запоминается идентификатор участника. 5. Каждое решение может иметь один из трех признаков состояния: “не проверено”, “в процессе проверки” и “про- верено”. В зависимости от реализации, еще может по- надобиться признак “уведомление послано”, информи- рующий, что решение не только проверено, но и участ- ник уведомлен о результате проверки. При регистрации решение получает признак начального состояния — “не проверено”. Проверка зарегистрированных решений: 1. Решения проверяются в том порядке, в котором они по- ступили в систему (исключением является случай, ко- гда параллельно работает несколько процессов провер- ки). -34-
^aiaHaus,^. Глава I. Олимпиада 2. Нужно выяснить, на каком языке программирования составлено решение (как его обрабатывать). Для этого используется расширение имени присланного участни- ком файла. 3. Нужно выяснить, к какой именно задаче относится ре- шение. Либо имя файла должно иметь специальный вид, позволяя однозначно определить номер задачи, ли- бо от участника потребуется сообщать номер задачи другим способом — отдельно от файла или внутри фай- ла (что менее желательно). 4. Если язык программирования требует предваритель- ной компиляции, следует вызвать внешний компилятор для создания исполняемого файла. Система не должна быть жестко привязана к каким-то определенным ком- пиляторам. Список и местоположение внешних компи- ляторов должны передаваться системе при ее настрой- ке (в файле конфигурации). 5. Решение проверяется на нескольких вариантах входных данных. Для каждого варианта нужно выполнить по- лученный исполняемый файл, подавая ему на вход со- ответствующие входные данные. Наборы файлов прове- рочных входных данных (и, возможно, файлы эталон- ных решений для проверки) должны быть созданы для каждой из задач. 6. После каждого запуска нужно проверить результирую- щий набор данных. В простых случаях можно сравни- вать выходной файл с эталонным некоторым стандарт- ным способом (посимвольно, как последовательность -35-
Санкт-Петербургские олимпиады по кибернетике чисел и т.п.). В более сложных — может понадобиться уникальная для данной задачи проверочная програм- ма. Способ проверки каждой задачи указывается в кон- фигурации системы. 7. Результаты проверки по всем успешно пройденным те- стам складываются и запоминаются системой как ат- рибут этого решения. Решению присваивается статус “проверено”. Уведомление участников о результатах проверки: 1. Специальная операция уведомления необходима, если участник не имеет возможности самостоятельно обра- титься к системе с запросом о результате проверки. 2. Участнику может передаваться информация о резуль- тате компиляции (возможно, даже текст сообщения компилятора), а главное — о количестве успешно прой- денных тестов (но не исходные данные тестов). Формирование рейтинга участников: 1. Задача формирования рейтинга является достаточно трудоемкой (особенно, при большом количестве участ- ников). Не следует давать участникам возможность са- мостоятельно инициировать эту операцию. 2. Для каждого участника подсчитывается текущая сум- ма набранных им баллов. Сумма может зависеть от ко- личества попыток и времени отправки решений задач, баллов, полученных за наиболее успешную попытку по каждой задаче, сложности задач. -36-
Глава I. Олимпиада 3. Участники упорядочиваются по убыванию баллов. В таблицу рейтинга пишется имя (название) участника, сумма баллов и все данные, из которых эта сумма сфор- мирована — наилучшие баллы по каждой задаче, число попыток и т.п. Управление работой системы: организаторы должны иметь возможность включать или приостанавливать выпол- нение отдельных операций, не завершая работы системы. Например, формирование рейтинга участников может быть остановлено раньше окончания соревнований. В назначен- ное время завершается прием решений, но проверка реше- ний продолжается до исчерпания списка уже зарегистриро- ванных решений. Версии системы Первая версия системы была рассчитана на работу ис- ключительно под DOS. Всю свою сознательную жизнь она провела на винчестере в 40 Мб (когда появится музей олим- пиады, этот "винт"займет в нем почетное место). Система была использована на олимпиадах 1999 и 2000 годов, а так- же — на нескольких внутрикафедральных и выездных ме- роприятиях рангом ниже. Ее удобство было в мобильности: принесли винчестер с собой, подключили к какому-либо ком- пьютеру, настроили нужные параметры — и можно начинать. Главным ограничением была необходимость наличия локаль- ной сети под управлением Novell Netware. С другой стороны, система потому и была рассчитана на Netware, что эта ОС в то время использовалась в большинстве локальных сетей (а главное — в сети ДТЮ, в котором проходила олимпиада). — 37—
Санкт-Петербургские олимпиады по кибернетике Каждый участник получал собственную учетную запись и три персональных каталога на сетевом диске Netware. Один каталог — для работы, в нем пользователь имел права на лю- бые операции. Второй каталог — выходной, в него участники копировали файлы с готовыми решениями для отправки на проверку. Право было только на создание файла, но не на перезапись существующего — что отправлено, изменить уже нельзя. Права на сканирование (просмотр списка файлов) и просмотр самих файлов также были не нужны. Третий ка- талог был доступен на сканирование и чтение — в него си- стема писала уведомления для пользователей. И еще один сетевой каталог был общим для всех пользователей: в нем хранился сформированный файл рейтинга и программа для его просмотра. Система имела доступ к выходным и входным каталогам участников, а также к общему каталогу. Все четыре описанные выше функции системы выполня- лись одной программой — поочередно. Ниже приведен псев- докод, упрощенно описывающий работу программы. read ( параметры конфигурации ) while ( не конец работы ) { if ( keypressed ) { if ( нажата управляющая клавиша ) { включить/выключить соответствующее разрешение или завершить работу системы (в зависимости от нажатой клавиши) if ( разрешен прием ) { for each ( выходной каталог участника ) { перенести (и зарегистрировать) все имеющиеся -38-
^aiattaus^ Глава I. Олимпиада файлы в систему и пометить их как непроверенные } if ( разрешена проверка ) { if ( ранее программа была прервана в момент проверки ) продолжить работу с нужного места for each ( непроверенное решение ) { скомпилировать решение if ( компиляция успешна ) { for( i=0; i<10; i++ ) { сохранить номер текущего теста (i) выполнить программу с i-м входным файлом выполнить программу проверки решения сохранить результат проверки сохранить сумму набранных баллов пометить решение как проверенное if ( разрешены уведомления ) { for each ( проверенное решение ) { записать уведомление во входной каталог участника пометить, что уведомление послано if ( разрешена генерация рейтинга ) { сгенерировать текущий рейтинг участников -39-
Санкт-Петербургские олимпиады по кибернетике Кроме того, система обрабатывала прерывания от тай- мера, подсчитывая время выполнения программы-решения. При превышении допустимого лимита времени выполнялась перезагрузка компьютера. Перезагрузка происходила и при некоторых сбоях в проверяемой программе (чаще всего — при выходе за пределы массива). После перезагрузки систе- ма стартовала автоматически и продолжала работу с теста, следующего за тестом, вызвавшим сбой. Система не была достаточно защищена от атак участни- ков (а ведь почти каждый юный программист — хакер в ду- ше). Однако был зафиксирован единственный успешный и достаточно безобидный случай такого рода — под конец то- варищеских соревнований в 366 школе местные участники (знакомые с устройством своей сети) поместили в выходной каталог файл с именем AUX (кто не знает — это служеб- ное имя в DOS). В процессе сканирования системе не уда- валось перенести этот файл к себе, поскольку он-не удалял- ся обычными средствами (требовалось использовать утилиту Netware). Такой результат сбивал систему с толку, и она по- вторяла попытку на следующем витке. Вскоре стало очевидно, что система требует переработки. Конечно, работа под “чистым DOS” уже казалась анахрониз- мом. Был и более серьезный аргумент: обычно количество поступающих в систему решений возрастает и достигает пика перед самым окончанием соревнований. При большом числе участников очередь на проверку становится очень длинной и требуется много времени на ее обработку (как раз тогда, когда все участники уже свободны и мучаются от неопре- деленности). Требовалось отделить проверочное приложение от остальной системы и сделать возможным запуск парал- лельных его копий на одном или нескольких выделенных -40-
ftalaHausIlM Глава I. Олимпиада компьютерах. Вторая версия системы работала под Windows и состоя- ла из трех основных приложений: сервера, сканера и тестера. Сервер обеспечивал хранение данных (включая файлы реше- ний) в базе данных формата Access, с которой общался че- рез интерфейс ODBC. Тестер запрашивал у сервера решения для проверки, результаты которой передавал обратно серве- ру. Перезагрузки компьютера при проверке задач больше не требовалось, поскольку функции управления процессами в Windows API позволяют корректно завершать и аварийные и просто зависшие программы. Сканер выполнял сбор ре- шений прежним способом (обходом каталогов), но передавал их серверу для размещения в БД. Также сканер рассылал уведомления участникам. Для взаимодействия сканера и те- стера с сервером был разработан собственный прикладной протокол, использующий транспорт стека TCP/IP. В таком виде система пережила только одну олимпиаду. Несмотря на переход под Windows и разделение приложений, осталось много нерешенных проблем. Так, алгоритм сканера изменился мало и, как и раньше, был ориентирован на рабо- ту преимущественно в локальной сети Netware. Постоянное сканирование сетевых дисков (большей частью —вхолостую) сильно загружало сеть и нервировало сетевых администрато- ров. Еще важная деталь — теперь вместо винчестера кому-то приходилось носить на себе целый сервер, при этом — пред- варительно сконфигурированный. Наконец, настал и на нашей улице Интернет. Локальная сеть ДТЮ была переведена на протокол IP, что сразу рас- ширило возможности развития системы. Третья версия системы существенно отличалась от предыдущих. Она поддерживала проведение соревнований, -41-
Санкт-Петербургские олимпиады по кибернетике распределенных в пространстве (что, к сожалению, в то вре- мя использовать не удалось). Поскольку имелись опасения, что в ответственный момент связь с Интернет может пре- рваться, для перестраховки систему сделали не просто рас- пределенной, а сверхраспределенной... Но лучше обо всем по порядку. Большая часть взаимодействия участников с систе- мой происходит через web-pecypc, названный офисом. При взаимодействии используется любой доступный web- обозреватель. Для персонализации доступа к офису, каждо- му участнику присваивается уникальный идентификатор и пароль. В офис участники загружают решения, там же ви- дят результаты проверки своих решений. Через офис можно обратиться с вопросом к жюри и получить ответ. Серверная часть была реализована как набор скриптов на РНР с ис- пользованием СУБД MySQL. Поскольку теперь участники сами работали с системой, приложение-сканер было ликви- дировано за ненадобностью. Однако тестер остался. Изменился только протокол его взаимодействия с офисом (сервером, хранящим решения участников и результаты их проверки). Теперь использует- ся традиционный (как, впрочем, и единственно возможный) способ взаимодействия с web-сервером — протокол HTTP, только дополненный собственными нестандартными полями заголовков. С одним офисом может работать одновременно один или несколько тестеров. Но и самих офисов может быть несколь- ко. Предполагалось, что при распределенной работе в усло- виях неустойчивой связи каждый офис может быть располо- жен ’’ближе"(в смысле качества связи) к определенной груп- пе участников. — 42—
NataHausilk Глава I. Олимпиада “А как же связь между группами, где же общий центр?” — спросите вы и будете совершенно правы. Центр, верши- на системы — это еще один web-pecypc. Именно через центр организаторы вводят в систему список участников, назначая пароли (после чего центр связывается с офисами по HTTP и передает им списки участников). Именно центр отвечает за генерацию и отображение общего рейтинга участников (для этого ему приходится периодически опрашивать офисы, со- бирая и обобщая результаты проверки решений). Ну что еще можно сказать? Хороший был замысел, мас- штабный. Только хлопот много: для размещения каждого офиса нужен web-сервер с базой данных, да и офисов боль- ше одного в реальности не потребовалось. А что касается качества связи — если надолго оборвется, то в любом случае проблем будет достаточно. В последние два года использовалась уже четвертая вер- сия системы, полученная из третьей путем отсечения лишних функций. Офис и центр разместились на одном web-сервере и обращались к одной базе данных — синхронизация меж- ду ними стала ненужной. Внешнее визуальное разделение на офис и головную часть осталось, но и предназначены эти два интерфейса для разного: офис — для персонального доступа участника к системе, вершина — для отображения публичной информации. -43-
Санкт-Петербургские олимпиады по кибернетике Перспективы развития системы ...А что там еще впереди? Дорога, дорога, дорога. (Ю. Левитанский, “Дорога”) Не изменяется только то, что уже умерло и преврати- лось в окаменелость — предмет интереса археологов. Даль- нейшее развитие системы во многом зависит от развития са- мой олимпиады — расширения классов олимпиадных задач, географического распространения, частоты проведения со- ревнований. Последняя версия системы ориентирована на работу че- рез web, но ее положение в Интернет еще очень непрочно. Ис- пользование арендуемого web-сервера накладывает некото- рые ограничения. В частности, приложение-тестер (отвеча- ющее за проверку решений) приходится запускать где-то от- дельно — а для обеспечения его непрерывной работы потре- буется уже собственный сервер. Естественным следующим шагом представляется объединение сервера и тестирующе- го модуля (диалектический возврат к началу на качественно новом уровне) и обеспечение непрерывной работы системы. Обновление списка используемых компиляторов необхо- димо, здесь не предвидится больших трудностей. Но вопрос можно поставить иначе: что является решением олимпиад- ной задачи? Программа на С-Н-, Pascal, Delphi? Или все-таки алгоритм, формула, некоторый способ переработки данных? Или даже некоторая идея, выраженная последовательностью символов? Возможно, достаточно и одного языка программи- рования с простым и ясным синтаксисом и поддержкой всех необходимых алгоритмических конструкций и функций, но без излишеств. -44-
^alattausilk Глава I. Олимпиада Программа — это способ представления решения в виде, удобном для проверки компьютером. Но существует много задач, решение которых невозможно записать в форме про- граммы (либо при этом они теряют привлекательность). И эти задачи тоже могут представлять интерес при проведе- нии соревнований. Не обязательно сразу ударяться в искус- ственный интеллект и семантический анализ, возможно, в результате все окажется не таким уж и сложным. Будущее покажет. Пока просто сделаем пометку в блокноте: програм- ма — частный случай формы представления решений.
Санкт-Петербургские олимпиады по кибернетике 1.5. Результаты олимпиад Результаты олимпиады 1999 г. Победители Олимпиады. Место 1. Команда 239-2: Балтийский Сергей Андреевич (ФМЛ 239), Демченко Максим Николаевич (ФМЛ 239), Первышев Константин Вячеславович (ФМЛ 239). Место 2. Команда 239-1: Наумов Лев Александрович (ФМЛ 239), Петров Федор Владимирович (ФМЛ 239), Шапиро Александр Ильич (ФМЛ 239). Место 3. Команда 344-1: Бадылин Анатолий Михайлович, Михайлов Сергей Геннадьевич, Рублев Андрей Владимирович. -46-
^atattaus,^ Глава I. Олимпиада Результаты олимпиады 2000 г. Победители Олимпиады. Место 1. Команда 239-1: Балтийский Сергей Андреевич (ФМЛ 239), Демченко Максим Николаевич (ФМЛ 239), Первышев Константин Вячеславович (ФМЛ 239). Место 2. Команда 30-3: Пименов Александр Александрович (ФМГ 30), Шиндер Евгений Константинович (ФМГ 30). Место 3. Команда ДТЮ-1: Бух Борис Ефимович, Кутищев Александр Александрович, Латыпов Виктор Николаевич. — 47—
Санкт-Петербургские олимпиады по кибернетике Результаты олимпиады 2002 г. Победители Олимпиады. Место 1. Команда ФМГ-30-11-1: Усевич Константин Дмитриевич (ФМГ 30), Хлебников Ростислав Александрович (ФМГ 30), Жданов Андрей Дмитриевич (ФМГ 30). Место 2. Команда ФМЛ 239-1: Синев Игорь Александрович (ФМЛ 239), Павлов Дмитрий Станиславович (ФМЛ 239), Сатюков Роман Валерьевич (ФМЛ 239). Место 3. Команда GAS-261: Чащев Андрей Сергеевич (Гимназия №261), Семенов Алексей Александрович (Гимназия №261), Григорьев Юрий Александрович (Гимназия №261). -48-
^laiattaus,^. Глава I. Олимпиада Номер задачи: 1 2 3 4 5 6 7 8 9 Вес задачи: 4 2 2 3 3 2 4 4 3 1) ФМГ-30-11-1 4 20 20 20 20 20 0 20 20 374 (Физ.-мат. гимназия №30) 2 1 5 5 2 2 3 1 2 2) ФМЛ 239-1 9 20 20 20 20 20 4 1 20 350 (Физ.-мат. лицей №239) 1 1 3 1 1 1 1 2 1 3) GAS-261 0 20 20 20 20 20 9 4 20 336 (Гимназия №261) 1 2 1 1 2 1 3 2 2 4) ШТЕАНИКТ 0 20 20 20 20 20 0 0 20 289 (Лицей "ФТШ") 0 2 1 2 1 1 2 1 4 5) ФМЛ-366 0 20 20 20 6 20 5 1 9 233 (Физ.-мат. лицей №366) 0 1 1 4 1 1 2 1 4 6) ФМЛ 239-V 4 20 20 20 1 20 5 0 9 228 (Физ.-мат. лицей №239) 3 1 3 3 1 2 2 0 2 7) Matrix 4 20 20 6 7 20 0 1 20 226 (Лицей "ФТШ") 2 1 1 4 3 1 4 1 1 8) ФМЛ 239-П 0 20 20 20 8 20 5 1 5 224 (Физ.-мат. лицей №239) 0 1 1 3 2 2 3 2 2 9) Гатчинский лицей 0 20 20 20 0 20 0 1 5 193 (МОУ "Лицей №3"Гатчина) 0 1 3 1 2 1 1 2 1 10) ФМГ-30-CGSGl 0 20 2 20 9 20 0 2 7 191 (Физ.-мат. гимназия №30) 0 1 1 2 3 1 2 1 2 11) Rulezzz 0 20 20 20 0 20 0 0 5 187 (Лицей "ФТШ") 0 1 3 2 0 1 2 1 2 12) ФМГ-30-ISGl 0 20 20 20 8 5 0 0 5 186 (Физ.-мат. гимназия №30) 0 1 1 2 1 1 0 0 1 13) BAGG-261 0 20 8 20 9 5 0 0 6 166 (Гимназия №261) 0 1 2 1 1 1 1 0 2 14) schools 2 0 20 20 0 20 0 0 6 159 (Лицей №8 Сосновый Бор) 2 0 1 1 1 1 1 0 3 15) СПбГДТЮ-2 0 9 20 3 0 20 3 0 9 138 (Дворец творчества юных) 0 2 1 3 0 1 1 1 2 16) ФМГ-30-СС8С2 1 20 20 4 0 20 0 1 1 136 (Физ.-мат. гимназия №30) 2 1 1 2 1 1 1 1 1 17) Гранит 0 20 4 7 0 20 0 1 7 134 (Лицей №13 Петрозаводск) 0 1 1 1 1 1 0 1 1 18) ФМГ-30-CGSGS 1 20 0 3 0 20 5 1 3 120 (Физ.-мат. гимназия №30) 1 1 1 2 1 1 1 1 2 19) СПбГДТЮ-1 1 20 0 3 9 20 0 0 0 115 (Дворец творчества юных) 1 2 0 2 1 1 1 0 0 20) Noname 5 0 20 3 9 0 0 0 9 111 (Ун. лицей Петрозаводск) 2 0 2 3 1 0 0 0 2 21) VsevLiceum 1 0 20 3 1 9 20 0 0 0 108 (Лицей №1 Всеволожск) 0 2 1 4 3 1 1 0 0 22) BUG-261 0 0 20 3 0 7 5 0 5 91 (Гимназия №261) 0 1 1 2 1 1 2 1 1 -49-
Санкт-Петербургские олимпиады по кибернетике Номер задачи: 1 2 3 4 5 6 7 8 9 Вес задачи: 2 4 3 3 2 3 3 4 2 23) JMP 0 1 0 8 0 20 0 0 5 73 Сборная (Школы №№ 92, 597) 0 1 0 4 0 2 0 0 1 24) UKV-261 0 0 5 8 0 20 0 0 0 69 (Гимназия №261) 0 0 2 2 3 1 1 0 0 25) СПбГДТЮ-3 4 0 3 3 1 6 0 0 4 48 (Дворец творчества юных) 2 2 1 2 1 1 2 2 3 26) Петергофские гимназисты 2 0 0 0 0 20 0 0 0 44 (Гимназия №415 Петродворец) 3 0 0 1 3 1 0 0 0 27) 163 0 0 0 2 0 20 0 1 0 43 (Школа №163) 0 3 0 3 0 1 1 2 0 28) ФМЛ 239-IV 0 0 3 0 0 6 3 0 3 30 (Физ.-мат. лицей №239) 0 0 3 0 0 1 2 0 2 29) Квертеры 0 0 3 3 0 3 0 0 0 16 (Школа №12) 0 0 2 2 0 2 0 0 0 29) Правец 0 8 0 0 0 0 0 0 0 16 (Школа №528) 0 1 0 0 0 0 0 0 0 30) sch56{llv] 0 0 0 1 0 6 0 0 0 10 (Гимназия №56) 0 2 0 4 0 2 1 0 0 31) TORS-261 0 0 0 1 0 0 2 0 0 4 (Гимназия №261) 0 1 0 2 0 0 3 1 0 32) 242 0 0 0 0 0 0 0 0 0 0 (Школа №242) 0 0 0 5 0 0 0 0 0 32) Soft 0 0 0 0 0 0 0 0 0 0 (Школа №264) 0 0 0 0 0 0 0 0 0 32) Совята 0 0 0 0 0 0 0 0 0 0 (Школа №139) 0 0 0 0 0 16 0 0 0
Глава I. Олимпиада Результаты олимпиады 2003 г. Победители Олимпиады. Место 1. Команда GotoXY: Дворкин Михаил Эдуардович (ФТШ), Полевиков Владимир Алексеевич (ФТШ), Ярославцев Григорий Николаевич (ФТШ). Место 2. Команда Безумное Чаепитие: Антипов Дмитрий Юрьевич (ФТШ), Вокин Андрей Владимирович (Л№8, г.Сосновый Бор), Чихачев Кирилл Борисович (ФМЛ 239). Место 2. Команда Matrix: Кирпичев Евгений Рудольфович (ФТШ), Кропп Виктор Викторович (ФТШ), Кузнецов Антон Михайлович (ФТШ). Место 3. Команда ФМЛ 239-1: Дубашинский Михаил Борисович (ФМЛ 239), Стрижков Дмитрий Дмитриевич (ФМЛ 239), Федоров Алексей Анатольевич (ФМЛ 239). Номер задачи: 1 2 8 4 5 в 7 8 Вес задачи: 2 3 3 3 3 4 2 2 1) GotoXY 20 8 0 9 20 2 20 20 227 (Лицей "ФТШ") 2 3 0 1 2 3 1 1 2) Безумное Чаепитие 20 8 0 0 20 0 20 20 188 (Центр СПбГУИТМО) 2 6 1 2 5 0 1 2 3) Matrix 20 6 1 0 20 0 20 20 187 (Лицей "ФТШ") 3 5 1 2 4 1 1 1 4) ФМЛ 239-1 20 4 20 0 2 0 20 8 170 (Физ.-мат. лицей №239) 1 1 1 0 1 0 1 4 -51-
Санкт-Петербургские олимпиады по кибернетике Номер задачи: 1 2 3 4 5 6 7 8 Вес задачи: 2 3 3 3 3 4 2 2 5) PML-30-CGSG-2 20 8 0 0 6 0 20 7 132 (Физ.-мат. лицей №30) 1 1 0 0 1 0 3 3 6) ФМЛ 239-2 20 2 0 0 0 0 20 20 121 (Физ.-мат. лицей №239) 1 2 0 0 0 1 3 1 7) ФМЛ 239-4 1 8 1 2 4 0 20 20 117 (Физ.-мат. лицей №239) 2 3 1 1 3 1 1 2 8) PML-30-10 20 8 0 0 1 0 20 7 113 (Физ.-мат. лицей №30) 2 3 0 0 2 0 1 1 9) UKV-261 2 8 1 2 1 0 20 20 109 (Гимназия №261) 1 6 1 1 3 3 1 3 10) ТС-1 20 7 1 0 3 0 20 0 108 (Дворец Творчества Юных) 2 1 1 3 2 1 1 1 11) BGG-261 0 4 1 2 1 0 20 20 94 (Гимназия №261) 0 6 1 1 1 3 5 1 12) DreamTeam 20 0 1 0 3 0 20 0 92 (Лицей "ФТШ") 1 3 1 0 1 4 1 4 13) Users 4 6 1 2 1 1 20 6 88 (Лицей "ФТШ") 1 1 1 1 1 6 1 2 14) PML-30-CGSG-3 2 0 0 0 1 0 20 20 85 (Физ.-мат. лицей №30) 2 0 0 0 1 0 1 1 15) PML-30-CGSG-1 0 0 1 0 2 0 20 20 81 (Физ.-мат. лицей №30) 1 0 1 0 4 1 1 2 16) GVV-261 4 8 1 0 1 0 20 0 75 (Гимназия №261) 1 2 1 1 1 1 1 1 17) PUL-261 1 6 1 2 1 1 20 4 67 (Гимназия №261) 4 3 2 1 5 3 1 2 17) Гатчина №3 0 8 0 0 2 0 20 1 67 (МОУ "Лицей №3 "Гатчина) 0 1 0 0 2 0 1 2 19) Fornever 1 6 0 0 0 0 20 9 64 (Лицей "ФТШ") 1 4 2 0 0 0 1 16 20) ФМЛ 239-5 2 5 1 2 1 0 20 0 63 (Физ.-мат. лицей №239) 1 3 1 1 6 1 2 2 21) SMART 0 4 0 0 2 0 20 4 60 (Лицей №13 Петрозаводск) 0 2 0 0 2 0 1 1 21) ФМЛ 239-3 2 1 1 2 1 0 20 4 60 (Физ.-мат. лицей №239) 6 1 1 2 1 2 1 1 21) REX 4 8 0 0 1 0 20 0 60 (Лицей "ФТШ") 6 6 0 0 2 3 2 0 24) Гатчина №1 2 0 0 0 4 0 20 0 56 (МОУ "Лицей №3 "Гатчина) 1 0 0 1 1 0 1 0 25) PML-30-CGSG-4 0 3 0 0 0 0 20 7 55 (Физ.-мат. лицей №30) 0 5 0 0 0 0 1 3 26) Вундеркинды 0 6 0 0 1 1 20 0 52 (Дворец Творчества Юных) 0 6 0 1 3 2 1 0 -52-
^aiattaus,^. Глава I. Олимпиада Номер задачи: 1 2 3 4 5 6 7 8 Вес задачи: 2 3 3 3 3 4 2 2 27) TSB-261 0 3 0 0 0 0 20 0 49 (Гимназия №261) 0 1 0 0 0 3 1 0 28) Всеволожский лицей 0 4 0 0 1 0 20 0 46 (Лицей №1 Всеволожск) 0 4 0 0 7 6 1 0 29) PML-30-CGSG-5 0 0 0 0 1 0 20 2 44 (Физ.-мат. лицей №30) 0 2 0 0 5 0 1 1 30) WAP 0 0 0 0 0 0 20 0 40 (Школа №242) 0 0 0 0 0 0 1 0 30) ST 0 0 0 0 0 0 20 0 40 (Школа №242) 0 0 0 0 0 0 1 0 32) Гимназия 330 0 0 0 0 0 0 20 0 38 (Гимназия №330) 0 2 0 0 0 0 3 0 32) ТС-2 0 0 0 0 0 0 20 2 38 (Дворец Творчества Юных) 0 3 0 0 0 0 3 5 34) Гатчина №2 20 0 0 0 1 0 0 0 36 (МОУ "Лицей №3"Гатчина) 6 0 0 0 4 0 0 0 35) PhML-366 0 8 0 0 3 0 0 0 30 (Физ.-мат. лицей №366) 0 2 0 0 1 0 0 0 36) PML-30-H-3 2 3 1 2 1 0 1 0 24 (Физ.-мат. лицей №30) 1 2 1 1 1 1 1 1 37) 519 0 0 0 0 0 0 0 7 12 (Школа №519) 0 0 0 0 0 2 0 2 38) FORWARD 0 0 0 0 1 0 5 0 10 (Школа №22) 0 0 0 0 2 0 1 0 39) PAZ-261 4 0 0 0 1 0 0 0 6 (Гимназия №261) 2 0 0 0 5 1 0 0 40) Выход 0 0 0 0 0 0 0 0 0 (Школа №521) 1 1 0 0 5 1 0 0 40) Мыслители 1 0 0 0 1 0 0 0 0 (Школа №139) 3 0 0 0 5 0 0 2 40) Инфоманы 0 0 0 0 0 0 0 0 0 (Школа №139) 0 6 0 0 0 4 0 0 40) Веб-дизайн ИКЦ 0 0 0 0 0 0 0 0 0 (Израильский Культурный Центр) 0 0 0 0 0 0 0 0 40) 335 0 0 0 0 0 0 0 0 0 (Школа №335) 0 0 0 0 2 4 6 0 40) 570 0 0 0 0 0 0 0 0 0 (Школа №570) 0 0 0 0 0 0 0 0 40) Гига 0 0 0 0 0 0 0 0 0 (Гимназия №470) 0 0 0 1 0 0 0 0 40) 10-Л-Юн 0 0 0 0 0 0 0 0 0 (Гимназия №470) 0 1 0 0 0 0 1 0 -53-
Санкт-Петербургские олимпиады по кибернетике Результаты олимпиады 2004 г. Победители Олимпиады. Место 1. Команда А 239 КМ 30 RUS: Зыкова Александра Борисовна (ФМЛ 30), Иванов Михаил Анатольевич (ФМЛ 239), Чихачев Кирилл Борисович (ФМЛ 239). Место 2. Команда ЦП СПбГДТЮ: Губаненков Глеб Сергеевич (ФМЛ 239), Левченко Виталий Андреевич (ФМЛ 239), Мальков Виктор Владимирович (ФМЛ 239). Место 3. Команда №3: Подхалюзин Александр Викторович (ФМЛ 239), Стрюк Леонид Евгеньевич (ФМЛ 239), Шмаков Кирилл Игоревич (ФМЛ 239). -54-
4\atalfaus^k Глава I.Олимпиада Номер задачи: 1 2 3 4 5 6 7 8 9 Вес задачи: 2 4 3 3 2 3 3 4 2 1) А 239 КМ 30 RUS 20 0 20 9 20 20 20 0 20 317 (Ф.-м. лицеи №239, №30) 4 0 1 2 1 1 2 0 1 2) ЦП СПбГДТЮ 20 2 20 20 20 20 0 0 20 296 (Дворец творчества юных) 1 2 1 3 2 3 1 0 1 3) Команда №3 20 20 0 8 4 2 0 0 20 193 (Физ.-мат. лицей №239) 2 1 0 3 1 1 1 0 1 4) KLK-261 20 0 0 4 20 3 20 0 20 191 (Гимназия №261) 2 1 0 1 2 2 2 0 1 5) Команда №1 20 0 20 8 0 3 9 0 20 189 (Физ.-мат. лицей №239) 2 0 2 1 0 3 3 1 1 6) ФМЛ 30-6 20 2 1 20 20 0 1 0 20 186 (Физ.-мат. лицей №30) 1 1 1 3 1 1 2 3 3 7) Carpenters 20 0 0 5 20 20 0 0 20 184 (Лицей "ФТШ") 1 0 0 5 1 3 1 1 2 8) DSP 20 2 1 20 9 3 2 0 20 177 (Лицей "ФТШ") 1 1 1 1 3 3 1 1 2 9) Wx4 20 0 0 8 20 20 0 0 0 162 (Ун.л. №37 Петрозаводск) 1 0 0 1 2 1 1 0 5 10) Команда №2 20 0 0 20 0 2 6 0 20 143 (Физ.-мат. лицей №239) 1 0 0 4 0 5 3 1 9 11) Users 20 0 3 8 5 0 20 0 0 135 (Лицей "ФТШ") 1 0 1 4 2 1 1 1 2 12) АГ СПбГУ 0 0 0 20 9 0 9 0 20 133 (СУНЦ АГ СПбГУ) 2 0 0 4 1 0 5 0 1 13) Гатчина 2 20 0 0 5 9 0 20 0 0 128 (МОУ "Лицей №3 "Гатчина) 2 0 0 2 1 0 1 0 1 14) Нейромозг 20 0 0 0 8 20 1 0 0 111 (Дворец творчества юных) 1 0 0 0 2 2 2 1 0 15) ФМЛ 30-2 2 0 0 0 20 20 2 0 0 108 (Физ.-мат. лицей №30) 2 0 0 1 1 1 1 0 0 16) ROOTS 20 0 0 20 0 0 0 0 0 97 (Лицей "ФТШ") 1 0 0 3 0 2 0 0 0 17) Команда №5 20 0 0 0 0 0 20 0 0 93 (Физ.-мат. лицей №239) 4 0 0 0 0 0 3 0 1 18) Петергоф, гимназисты 20 0 0 4 0 0 0 0 20 87 (Гимн. №415 Петродворец) 1 0 0 2 2 0 0 0 2 19) FIL-261 20 0 0 0 0 2 0 0 20 81 (Гимназия №261) 2 0 0 0 0 2 0 0 1 20) c2h5oh 20 0 0 8 4 3 1 0 0 80 (Лицей "ФТШ") 2 0 0 1 2 1 1 0 2 21) ФМЛ 30-5 20 2 3 5 6 0 0 0 0 77 (Физ.-мат. лицей №30) 2 1 2 1 2 0 0 3 2 22) Команда лицея 229 20 0 0 6 9 0 0 0 0 74 (Лицей №229) 1 0 0 1 2 0 0 0 1 23) Patients 20 0 0 0 0 0 0 0 20 72 (Физ.-мат. лицей №366) 1 0 3 0 0 2 0 2 11 55-
^ataHaus,^. Санкт-Петербургские олимпиады по кибернетике Глава I. Олимпиада Номер задачи: 1 2 3 4 5 6 7 8 9 Вес задачи: 2 4 3 3 2 3 3 4 2 24) MIF-261 0 0 0 0 5 20 0 0 0 70 (Гимназия №261) 4 0 0 0 1 1 4 0 1 25) Rex 20 0 0 0 7 3 7 0 0 66 (Дворец творчества юных) 7 0 0 0 1 7 3 2 2 26) Del * * 20 0 0 8 0 0 0 0 0 61 (Лицей "ФТШ") 1 0 0 3 0 2 1 0 1 27) 570 20 0 1 3 1 0 0 0 0 51 (Школа №570) 1 2 1 3 1 1 0 0 1 28) POSITRON 20 0 0 0 0 3 0 0 0 42 (Лицей №13 Петрозаводск) 6 0 0 0 0 3 0 0 1 29) Команда №4 20 0 0 0 0 2 0 0 0 41 (Физ.-мат. лицей №239) 2 0 0 0 3 3 0 0 1 30) Гатчина 1 20 0 0 0 0 0 0 0 0 40 (МОУ "Лицей №3"Гатчина) 1 0 0 0 0 2 0 0 0 30) Инкогнито 20 0 0 0 0 0 0 0 0 40 (Дворец творчества юных) 1 0 0 0 0 0 0 0 3 30) Команда №6 2 0 0 0 2 0 0 0 20 40 (Физ.-мат. лицей №239) 4 0 0 0 3 0 2 0 3 33) PumBaleo 20 0 0 0 0 0 0 0 0 36 (Школа № 489) 6 0 0 0 0 0 0 0 2 34) TSB-261 20 0 0 1 0 2 0 0 0 34 (Гимназия №261) 7 0 0 2 1 4 1 0 1 35) ФМЛ 30-T-CGSG 0 0 0 8 4 0 0 0 0 30 (Физ.-мат. лицей №30) 2 0 0 1 2 0 0 0 0 36) 519 8 0 3 0 1 0 1 0 0 23 (Школа №519) 5 1 2 1 1 2 1 0 2 37) ФМЛ 30-4 0 0 0 0 9 0 0 0 0 16 (Физ.-мат. лицей №30) 1 0 0 0 2 0 0 0 0 38) DICH 2 0 1 4 1 0 0 0 0 11 (Гимназия №261) 5 2 2 2 1 0 1 0 3 39) Школьнички 2 0 0 0 5 0 0 0 0 8 (Гимназия №406 Пушкин) 4 0 0 0 2 0 0 0 0 40) LMT-261 1 0 0 0 0 3 0 0 0 6 (Гимназия №261) 2 0 0 0 0 3 0 0 5 41) ЮМШ(1) 4 0 0 0 0 0 0 0 0 6 (Лицей №533) 2 0 0 2 0 0 0 0 0 42) СТО-261 0 0 0 0 0 0 0 0 0 0 (Гимназия №261) 2 0 0 0 0 0 0 0 0 42) Brain emulations 0 0 0 0 0 0 0 0 0 0 (Школа №242) 1 0 0 0 0 0 0 0 0 42) WAP 0 0 0 0 0 0 0 0 0 0 (Школа №242) 2 0 0 0 0 0 0 0 0 42) Гатчина 3 0 0 0 0 0 0 0 0 0 0 (МОУ."Лицей №3"Гатчина) 0 0 0 0 0 0 0 0 7 42) Команда-528 0 0 0 0 0 0 0 0 0 0 (Гимназия №528) 0 1 0 1 0 0 0 0 0 Результаты олимпиады 2005 г. Победители Олимпиады. Место 1. Команда team ФМЛ 239: Никитин Павел Антонович (ФМЛ 239), Подхалюзин Александр Викторович (ФМЛ 239), Чеботаев Антон Платонович (ФМЛ 239). Место 2. Команда Lazy Team: Дорохов Вадим Александрович (ФМЛ 239), Федотов Павел Валерьевич (ФМЛ 239), Шмаков Кирилл Игоревич (ФМЛ 239). Место 3. Команда ФМЛ 30 10-1-Т: Воронин Павел Владимирович (ФМЛ 30), Тимофеев Антон Александрович (ФМЛ 30), Фомин Алексей Дмитриевич (ФМЛ 30). — 56— -57-
Санкт-Петербургские олимпиады по кибернетике Номер задачи: 1 2 3 4 5 6 7 8 9 Вес задачи: 4 4 2 3 3 2 3 3 2 1) team ФМЛ 239 9 7 20 20 20 20 8 20 20 372 (Физ.-мат. лицеи №239) 4 4 1 1 1 1 1 1 1 2) Lazy Team 9 7 20 20 20 20 3 20 20 359 (Физ.-мат. лицеи №239) 3 3 1 1 1 1 2 3 1 3) ФМЛ 30 10-1-Т 0 7 20 20 20 20 0 20 20 324 (Физ.-мат. лицей №30) 2 2 1 1 1 1 0 1 1 4) КСК 0 7 20 20 0 20 20 20 20 323 (Физ.-мат. лицеи №239) 2 1 2 1 0 1 1 3 1 5) MZTR Revenges 6 7 20 0 20 20 8 20 20 314 (Школа №308) 1 1 2 0 1 1 1 1 1 6) Perfect Strangers 9 7 20 8 20 20 3 20 20 313 (Физ.-мат. лицеи №239) 2 2 1 4 3 4 1 2 1 7) ФТШ-1 0 7 20 0 20 20 5 20 20 275 (Лицей "ФТШ") 3 4 1 2 1 1 1 1 1 8) sch239.1 9 0 20 20 2 20 1 20 20 264 (Физ.-мат. лицеи №239) 6 3 1 1 5 3 3 1 3 9) ФТШ-2 0 0 20 0 7 20 8 20 20 223 (Лицей "ФТШ") 0 5 1 0 1 1 1 1 3 10) ЦИТ-1 0 0 20 0 6 20 8 20 20 216 (Школа №20 (ЛНМО)) 0 3 1 0 2 1 2 1 1 11) Petrozavodsk! 0 7 20 0 20 20 2 3 20 211 (УЛ. №37 Петрозаводск) 2 1 1 1 2 1 1 13 1 12) ФМЛ 30 9-12-S 0 0 20 0 4 20 20 20 0 198 (Физ.-мат. лицей №30) 0 0 2 2 2 1 3 6 0 13) SMS 9 0 20 0 4 20 0 20 0 168 (Лицей "ФТШ") 6 3 1 0 3 1 1 9 1 14) LMC-261 0 0 0 0 8 20 8 1 20 125 (Гимназия №261) 4 4 1 2 1 1 2 3 1 14) Smart.drv 0 0 0 0 2 20 8 20 2 125 (Лицей №13 Петрозаводск) 1 1 0 1 1 1 2 4 1 16) ДТЮ 1 0 0 20 0 0 20 0 0 20 118 (Дворец творчества юных) 0 0 2 2 0 1 0 0 1 17) Каравелла 0 0 0 20 0 20 0 0 3 103 (Гимназии №410 и №261) 1 1 0 2 0 1 0 0 3 18) FIL-261 0 0 0 20 0 20 0 0 0 98 (Гимназия №261) 1 0 0 1 0 2 1 0 0 19) АВВ-261 0 0 20 0 8 0 0 0 0 59 (Гимназия №261) 0 0 3 0 3 0 0 0 0 20) Команда 1-470 0 0 20 0 0 0 0 0 0 54 (Гимназия №470) 1 0 2 4 0 0 0 0 0 21) Команда 3 0 0 0 0 0 3 0 1 20 46 (Физ.-мат. лицей №239) 4 1 1 0 0 1 0 5 1 22) Совсем не ламеры 0 0 0 0 0 20 0 1 0 38 (Школа №139) 0 0 0 0 0 2 0 3 0
Глава I. yatatlausTffk Номер задачи: 1 Вес задачи: 2 22) ФМЛ 30 10-1-В 0 (Физ.-мат. лицей №30) 0 24) ДТЮ 2 0 (Дворец творчества юных) 3 25) 570-1 о (Школа №570) 2 26) Гатчина 3-2 0 (МОУ "Лицей №3"Гатчина) 0 27) 570-II о (Школа №570) 0 27) ДТЮ-344 о (Дворец творчества юных) 0 27) MMS о (Школа №242) 0 27) Гатчина 3-2 0 (МОУ "Лицей №3"Гатчина) 2 27) ДТЮ 3 0 (Дворец творчества юных) 0 27) Комацца 2-470 0 (Гимназия №470) 0 27) ЛНМО 0 (Школа №20 (ЛНМО)) 0 27) ФМЛ 30 8-1-G 0 (Физ.-мат. лицей №30) 0 27) Ботаники 0 (Школа №210) 0 27) 346 о (Школа № 346) 0 Олимпиада 2 3 4 Б 6 7 8 9 4 3 3 2 3 3 4 2 0 0 0 0 20 0 2 0 38 4 0 0 0 2 1 9 0 0 0 0 2 0 8 0 0 30 0 0 0 1 1 1 0 0 0 0 0 2 0 0 1 2 7 1 2 1 3 2 2 2 1 0 0 0 0 0 0 0 1 2 1 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 2 2 2 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 4 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 5 0 0 0 0 0 . 0 0 0 0 0 0 0 0 0 1 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Санкт-Петербургские олимпиады по кибернетике 1.6. Правила проведения олимпиады (редакция 2005 г.) Каждая команда получает идентификатор и пароль для входа в систему. Эта информация находится в заклеенном конверте в наборе для команды, полученном при регистра- ции. В том же конверте указана аудитория, в которой будет соревноваться команда. На компьютерах установлены таб- лички с именем команды. Олимпиадные задания выдаются одновременно во всех аудиториях. Во время соревнований участники могут задавать вопро- сы по условиям задач. Вопрос должен быть составлен в фор- ме, предполагающей ответы ДА или НЕТ. В случае, если вопрос поставлен некорректно или ответ прямо следует из условия задачи, то жюри отвечает БЕЗ КОММЕНТАРИ- ЕВ. Для запуска компиляторов Pascal и С можно использо- вать ярлыки “BorlandPascal70” и “BorlandC31” соответствен- но. Исходные файлы программ, посылаемые на проверку, должны иметь расширения PAS, СРР или С и не превышать размер 25 Кб. При составлении программ предполагается, что входные данные для каждой задачи расположены в одном входном файле, имя которого задано в тексте задачи. Программа должна формировать выходной файл с заданным именем. Предполагается, что входные и выходные файлы расположе- ны в текущей директории DOS (не требуется указывать путь к файлу). Тестирование производится автоматически, поэто- му программы должны в точности соответствовать форма- -60-
Глава I. Олимпиада там входных и выходных файлов. Для работы с системой (отправка программ на провер- ку, просмотр результатов и рейтинга, обмен сообщениями с жюри) используется Internet Explorer. В качестве начального адреса следует ввести http: //online. cyber-net. spb. ru. Ha главной странице размещена ссылка на сайт Офиса, войдя на который следует зарегистрироваться согласно выданным идентификатору и паролю. Офис предназначен для отсыл- ки программ на проверку, просмотра результатов команды и отправки сообщений. На странице "Рейтинг"можно просмот- реть текущий рейтинг всех команд. В решениях задач запрещено использовать: 1) вывод какой-либо информации на экран и ввод данных с клавиатуры; 2) расширенную и дополнительную память и защищенный режим процессора; 3) чтение и запись векторов прерываний; 4) создание и работу с любыми файлами, за исключением файлов, которые указаны в условиях задачи; 5) работу с подкаталогами; 6) любое использование сетевых средств; 7) любые другие средства или действия, которые могут нарушить работу программного обеспечения олимпиа- ды. -61-
Санкт-Петербургские олимпиады по кибернетике Проверяющие программы используют различные сред- ства контроля за соблюдением данных требований. Коман- ды, нарушившие эти требования, будут штрафоваться. Жюри обладает исключительным правом определения правильности присланных решений, определения победите- лей и дисквалификации команд. Решения жюри окончатель- ны и обжалованию не подлежат. Как определяются победители. 1. Время. На выполнение заданий отводится 3.5 часа. 2. Баллы (Б). Каждая задача проверяется на 10 тестах. За каждый пройденный тест команда получает 1 балл. В случае прохождения всех тестов сумма баллов удва- ивается (20 баллов). 3. Штраф (Ш). Штраф начисляется для каждой задачи за количество посылок на проверку. Одна попытка — 0 штрафных баллов, 2 или 3 — 1 балл, 4, 5, 6 — 2 балла, 7, 8, 9, 10 — 3 балла, 11 и более попыток — 4 балла. 4. Коэффициенты (К). Баллы за каждую задачу умно- жаются на коэффициент сложности, который зависит от суммарного количества баллов, полученных всеми командами за данную задачу. Коэффициент 2 получа- ют задачи, за которые в сумме набрано наибольшее ко- личество баллов. Следующая группа задач получает ко- эффициент 3, и задачи, за которые набрано наименьшее количество баллов, — коэффициент 4. 5. Баллы за каждую задачу определяются по формуле БЗ=К*(В-Ш), БЗ>=0. -62-
Глава II. Задачи Глава II. Задачи 2.1. Задачи 1999 г. РАВНОВЕСИЕ Груз массой mi подвешен к нити, намотанной на барабан радиуса ri, который жестко соединен с барабаном радиуса г2- На этот барабан также намотана нить, которая через блок соединена с грузом массой тп2- Задание. Определить максимально возможное значение mi, при котором второй груз останется на месте, если пре- дельная сила трения равняется Ft- Примечание. При расчетах положить ускорение свобод- ного падения равным g — 9.2 м/с2, атмосферное давление р = 1.013 • 105 Па. INPUT.TXT Входной файл содержит m2, ri, т'2, Ft — ве- щественные числа. OUTPUT.TXT Выходной файл должен содержать значе- ние mi (точность — два десятичных знака). -63-
Санкт-Петербургские олимпиады по кибернетике ПРИМЕР. Входной файл: 5 0.2 1 50 Выходной файл: 27.17 (А. В. Лямин) АВТОБУС Автобусы выходят с кольца на маршрут, проходят его со всеми необходимыми остановками и возвращаются на коль- цо. Время нахождения автобуса на каждой остановке — 3 мин., в парке — не менее 5 мин. Скорость автобуса в пути — 40 км/ч. Задание. Какое количество автобусов нужно поставить на обслуживание этого маршрута, если длина маршрута рав- на S км, количество остановок равно N и требуется, чтобы -64-
^alattausilk Глава II. Задачи интервал времени между автобусами равнялся t мин.? INPUT.TXT Входной файл содержит вещественное число S, целые N и t. OUTPUT.TXT Выходной файл должен содержать требу- емое количество автобусов. ПРИМЕР. Входной файл: 425 Выходной файл: 4 (Г. И. Болтунов) ПОСЛЕДОВАТЕЛЬНОСТЬ Ниже приведены одинаковые фрагменты программ на Паскале и Си: {На Паскале:} i:=0; While ( (x[i]<>xf) Or (y[i]<>yf) ) Do Begin * [i+1] :=x[i]+y[i] ; y[i+l] :=x[i]-y [i]+u[i] ; inc(i); End; //На Си: i=0; -65-
Санкт-Петербургские олимпиады по кибернетике while (x[i]!=xf I I y[i]!=yf){ x[i+l]=x[i]+y[i] ; у [i+1] =x [i] -y [i] +u [i]; i++J Здесь x, у и и — целочисленные массивы, xf nyf — целые переменные. Задание. Для заданных ж[0], 2/[0], xf, и yf найти значе- ния элементов массива и (u[0], u[l],...), которые обеспечат выход из цикла через минимальное число итераций. Случай, при котором тело цикла не выполнится ни разу, не рассмат- ривать. INPUT.TXT Входной файл содержит ж[0], xf, ?/[0], yf — целые числа. OUTPUT.TXT Выходной файл должен содержать после- довательность целых чисел: u[0], и[1],... ПРИМЕР. Входной файл: 10-10 Выходной файл: -2 (А. В. Лямин, В. В. Шиегин)
Глава П. Задачи ПОМЕХОУСТОЙЧИВЫЙ КОД (7,4) Я передавал себя азбукой Морзе и наткнулся на статическое электричество... Роджер Желязны Ни один способ передачи информации не гарантирует ее защиты от искажения. Но можно повысить надежность пу- тем добавления избыточной информации, которая в случае искажения может помочь восстановить исходные данные. Рассмотрим код, используемый для передачи четырех двоичных разрядов. Обозначим информационные разряды через ki k2 k3 k^. Добавим к ним еще три разряда, вычис- ляемые по следующим формулам (сложение выполняется по модулю 2): И = 4- k2 4- k3, т2 — k2 4- k3 4~ A?4, r3 = fci 4- k2 4" k4. Передающая сторона посылает 7 разрядов: fci, k2, k3l k±, 74, r2, r3. Если на приемное устройство один из разрядов придет измененным, то зная приведенные формулы, можно обнару- жить и исправить эту ошибку. Задание. Ваша задача восстановить информацию. INPUT.TXT Входной файл в первой строке содержит це- лое число (от 1 до 50) — количество принятых последо- вательностей, в последующих строках — сами эти по- следовательности. OUTPUT.TXT Выходной файл должен содержать четы- рехразрядные последовательности, получившиеся по- сле исправления входных данных. -67-
Санкт-Петербургские олимпиады по кибернетике ПРИМЕР. Входной файл: 3 1011111 1000101 0101111 Выходной файл: 1111 1000 0100 (И. П. Салмыгин, В. В. Шиегин) МАРШРУТ ТЕЛЕЖКИ Кто ищет, тому назначено блуждать Иоганн Вольфганг Гете Для обслуживания четырех станков, находящихся в цехе, используется автоматический транспортный робот. В режи- ме ожидания он находится возле главного контейнера. По R(4,l) -68-
^ataHaus,^. Глава II. Задачи команде он должен обойти все станки, собрать обработан- ные детали, вернуться с ними к главному контейнеру и раз- грузиться. Нельзя дважды за обход подходить к одному и тому же станку. Известны попарные расстояния между все- ми станками, а также между станками и контейнером. Если обозначить местоположения станков как ----а ме- стоположение Контейнера через Aq, то все расстояния можно записать в матрицу R размера 5x5: R(i,j) определяет рас- стояние между г-й и j-й точками (R(i, j) может быть не равно Задание. Требуется определить самый короткий путь об- хода станков. Замечание. Входные данные всегда таковы, что суще- ствует единственный минимальный путь. INPUT.TXT Входной файл содержит 5x5 матрицу целых чисел (jR). OUTPUT.TXT Выходной файл должен содержать длину самого короткого пути, на следующей строке номера пунктов, разделенные символом Первый и послед- ний пункты всегда имеют номер 0. ПРИМЕР. Входной файл: 0 17 10 5 17 18 0 6 12 20 12 5 0 14 19 12 11 15 0 7 16 21 18 6 0 -69-
Санкт-Петербургские олимпиады по кибернетике Выходной файл: 50 0-2-1-3-4-0 (А. В. Лямин, В. В. Шиегин) ЛЕГЕНДА Oh, East is East, and West is West, and never the twain shall meet, Till Earth and Sky stand presently at God’s great Judgment Seat... Rudyard Kipling ...Согласно древней индийской легенде, при сотворении мира, в том месте, где находится середина Земли бог Брама поставил на бронзовой площадке вертикально три алмазные палочки. На одну из палочек надел он 50 золотых кружков разного диаметра так, что они образовали конус. И постро- ил он город Бенарес, и поставил храм, и повелел жрецам перенести все диски с первой палочки на третью, при этом соблюдая условия: переносить за один раз только один кру- жок и снятый кружок класть или на свободную палочку или на кружок только большего диаметра. И жрецы составили алгоритм переноса кружков и следуют ему неукоснительно. И хотя этот алгоритм оптимален, это самый д линный в мире алгоритм — ведь работает он от сотворения мира до самого его конца потому, что, как только последний из дисков будет положен... Стоп! Что это за город Бенарес, если всем известно, что название этой задачи: “Ханойские башни”? И кружков на са- мом деле не 50, а 64. Также общеизвестно, что для решения -70-
Глава II. Задачи этой задачи применяется рекурсивный алгоритм, а для пере- носа N кружков необходимо 2N—1 раз переложить по одному кружку! Да, это так. Но последние находки сотрудников кафедры истории кибернетики Калькуттского государственного уни- верситета (КГУ) заставляют нас взглянуть по-новому на эту задачу. Оказывается, что жрецы для перекладывания кружков использовали наемную рабочую силу. При этом для защиты трудящихся от инфляции и девальвации применя- лась прогрессивная система оплаты: за первый переложен- ный кружок заплатили одну рупию, за второй — три, за тре- тий — пять, за четвертый — семь... За каждый следующий кружок — на две рупии больше предыдущего. Ученые попы- тались подсчитать расходы на оплату рабочих, но по причине недостаточной осведомленности в вопросах программирова- ния не справились с этой задачей. А вы справитесь? Задание. Требуется написать программу, которая по за- данному числу дисков N определит число рупий, израсходо- ванных на оплату труда. INPUT.TXT Входной файл содержит число N в диапазоне от 2 до 100. OUTPUT.TXT Выходной файл должен содержать число рупий (в десятичной системе счисления). ПРИМЕР. Входной файл: 25 Выходной файл: 1125899839733761 (В. В. Шиегин) -71-
Санкт-Петербургские олимпиады по кибернетике 2.2. Задачи 2000 г. КРУГОВОЙ МАРШРУТ Автобус начинает движение от парка, имея в салоне п пассажиров и выезжает на круговой маршрут. Количество остановок на маршруте равно М (не более 1000). Количество пассажиров, выходящих и входящих на каждой из остановок, известно. Вместимость салона — N пассажиров. Задание. Требуется найти номер остановки К, на кото- рой в салон автобуса не смогут войти все пассажиры. Если такое не случается, то вывести 0. Нумерация остановок на- чинается с единицы. INPUT.TXT Входной файл содержит числа М, n, N. Да- лее идут М пар w[i], v[i] — числа выходящих и входя- щих на г-й остановке пассажиров соответственно. OUTPUT.TXT Выходной файл должен содержать число К. ПРИМЕР. Входной файл: 5 10 30 2525252543 Выходной файл: 9 (Г. И. Болтунов) — 72—
^ataHaus,^. Глава IL Задачи ЛАЗЕРНАЯ ПУШКА На полигоне проводятся испытания новой лазерной пуш- ки. Суть эксперимента, состоит в следующем. В обоих концах коридора, который по форме напоминает букву “Г”, располо- жены лазерная пушка S и точечная мишень Е. Все стены ко- ридора выполнены из зеркал. Пушка устроена так, что перед каждым выстрелом она выбирает направление луча таким образом, чтобы луч попал в мишень и при этом количество его отражений от стен коридора было бы минимальным. Задание. Требуется определить возможно или нет вы- брать направление луча для того, чтобы он попал в мишень и если возможно, то требуется найти количество минималь- но необходимых отражений луча от стен коридора для того, чтобы луч попал в мишень. - 73-
Санкт-Петербургские олимпиады по кибернетике INPUT.TXT Входной файл содержит координаты углов коридора Ж1, т2, ух, У2\ координаты пушки xs, ys и ко- ординаты цели ®е, Уе- OUTPUT.TXT Выходной файл должен содержать число К — количество отражений, или —1, если попасть в мишень невозможно или необходимое количество отра- жений больше 8. ПРИМЕР. Входной файл: 02131062 Выходной файл: 2 (А. В. Лямин) НОВЫЙ МЕТОД КРИПТОГРАФИИ Задана последовательность пяти целых чисел oq, а2, аз и Ь, где ао, ах, аг, аз — коэффициенты полинома третьей степени — а0х3 + сцх2 + аг® + а3, который имеет три действи- тельных различных корня: Xi < Х2 < х3. Известно также, что эта последовательность может соответствовать одному из чисел 0,1,2 или 3. Она соответствует: числу 0, если Ь < ®г, числу 1, если ®i < b < а?2; числу 2, если х2 < Ъ < х$\ числу 3, если ®з < Ь. Задание. Требуется по заданной последовательности чи- сел ao, ах, а2, аз и Ь восстановить число, которое соответству- ет ей. -74-
ftataHausI^ Глава IL Задачи INPUT.TXT Входной файл содержит вещественные числа О-Оу ali а2, аз и Ь. OUTPUT.TXT Выходной файл должен содержать иско- мое число. (А. В. Лямин) ПОКОРЕНИЕ КОСМОСА ...Человечество не останется вечно на Земле, но в погоне за светом и пространством сначала робко проникнет за пределы атмосферы, а затем завоюет себе все околосолнечное пространство. К.Э. Циолковский ... Прошло 150 лет. На Венере был образован крупный на- учный центр. Для выполнения точных астрономических на- блюдений на орбиту планеты выведено несколько спутников (шр от 1 до 9). Высота орбиты — 40 тыс. км. Поскольку в венерианской атмосфере очень сильные помехи, для приема информации на низкой орбите (высота орбиты 1000 км.) рас- положено также несколько спутников (тп^'. от 1 до 12). Между Венерой и низкоорбитными спутниками постоянно курсиру- ет космический челнок, забирающий поступившую информа- цию. Каждый низкоорбитный спутник может принимать ин- формацию только от одного высокоорбитного, и наоборот: каждый высокоорбитный может передавать данные толь- ко одному низкоорбитному. Следовательно образуются пары спутников. Для системы критичной является скорость пере- дачи информации между спутниками, которая зависит от их -75-
Санкт-Петербургские олимпиады по кибернетике взаимного расположения и некоторых других параметров. В целях улучшения этого показателя путем компьютерно- го моделирования, для всех возможных пар оценивают (по десятибальной шкале) качество связи между ними и затем формируют пары спутников так, чтобы сумма показателей выбранных пар S была максимальной. Задание. Для заданных параметров найдите S. INPUT.TXT Входной файл содержит числа тх, т2 и таб- лицу целочисленных оценок всех возможных пар — матрица R из тх строк и т2 столбцов. OUTPUT.TXT Выходной файл должен содержать одно целое число S. ПРИМЕР. Входной файл: 33 298 3 78 965 Выходной файл: 26 (В. В. Шиегин) ТАЙНА ВЛАДЫКИ МО Давно нет на свете владыки Мо, правившего в Китае три тысячи лет назад, но до сих пор стоит пирамида, которая - 76-
Глава IL Задачи дала ему власть над Поднебесной. Тот, кто не побоится труд- ного пути в безводной пустыне, может ее увидеть. Легенда говорит: Мо узнал от чернокнижника, что тот, кто сможет взойти на вершину пирамиды, станет императором. Но за- дача эта нелегкая. Пирамида имеет квадратное основание, и грани ее выложены плитами, образующими ступени (см. рисунок — вид сверху). Задание. На плитах лежат лепестки священного цветка Лу. Требуется взойти на вершину пирамиды, повредив при этом как можно меньше лепестков. Тот, кто ошибется — по- гибнет. Если восходящий наступит на плиту, то все лежа- щие на ней лепестки будут повреждены. Каждый шаг дол- жен приводить на следующий уровень. Количество лепест- ков, лежащих на каждой плите, известно. Сколько лепестков повредил владыка Мо при восхождении? — 77—
Санкт-Петербургские олимпиады по кибернетике INPUT.TXT Входной файл содержит число к — количе- ство ярусов пирамиды. Далее следует квадратная таб- лица, задающая количество лепестков на соответству- ющих плитах. OUTPUT.TXT Выходной файл должен содержать иско- мое число. ПРИМЕР. Входной файл: 2 2 14 3 2 5 13 2 Выходной файл: 3 (В. В. Шиегин) РОБОТ-ХОККЕИСТ После поражения на чемпионате мира робот Гоша упор- но тренируется у хоккейной стенки. Клюшка в руке робо- та параллельна стене и движется перпендикулярно ей пе- риодически, по гармоническому закону со скоростью v(t) = Asin(27rt/T). Через некоторое время робот заметил, что шай- ба совершает странное непериодическое движение: проме- жутки между последовательными ударами клюшки по шайбе T[n] (n = 1,2,...) могут приближаться к любому значению между Т/2 и 2Т. -78-
Глава II. Задачи Чтобы добиться периодического движения шайбы, робот решил ввести поправку в закон изменения скорости клюшки, учитывая показания датчика времени между ударами. Помогите роботу! 1. Выведите уравнения для величин Т[п] и V[n], где V[n] — скорость шайбы в момент n-го удара, считая, что: удар шайбы о клюшку и об стенку абсолютно упругий; размах движения клюшки мал по сравнению с расстоянием от клюш- ки до стенки; трением шайбы об лед можно пренебречь. В начальный момент шайба находится в покое между стенкой и клюшкой. 2. Найдите амплитуду и период изменения скорости гар- монического движения клюшки, при которых наблюдается странное непериодическое движение шайбы. Составьте про- грамму для построения графика Т[п] и зарисуйте результаты ее работы. 3. Найдите поправку к закону движения клюшки, обеспе- чивающую периодическое движение шайбы. Составьте про- грамму для построения графика Т[п] и зарисуйте результаты ее работы. (А. Л. Фрадков) -79-
Санкт-Петербургские олимпиады по кибернетике ШИФР “Хорошее стекло в доме епископа на чертовом стуле — двадцать один градус и тринадцать минут — север- северо-восток — главный сук седьмая ветвь восточная сторона — стреляй из левого глаза мертвой головы — прямая от дерева через выстрел на пятьдесят футов”. Э. А. По То, что изобретено одним человеком, может быть понято другим, — сказал Холмс. А. Конан Дойль Ниже приведен зашифрованный текст: Гр гэёо нщё чпГёфтК еркюй Ёп эбопх тхуф. Г тбмпфё, н ррйэлвц ыффй, Н тжспёщоък уняуж. Еъ тхъщпууф ртпюёмщфц ёорк, Ёп фц ссфшкоЖ, Ер пэорглоюА, пп мпьожк, Пп уёьешёнйпь. Задание. Расшифруйте его, а главное — найдите алго- ритм шифрования и ключ. В этом вам поможет следующий пример расшифровки: ИвщфхтпнбпоЖк фёцтф. Зашифрованный текст. (В. В. Шиегин) -80-
^lalatLaus^ Глава IL Задачи 2.3. Задачи 2002 г. АГЕНТУРНАЯ СЕТЬ Трудна и опасна профессия разведчика. Далеко не лю- бой человек подойдет для такой работы. Спецслужбы всегда очень тщательно производят отбор кандидатов. Изучаются биографии, составляются психологические портреты. Перед службой внешней разведки некоторого государства L руководство поставило задачу: в кратчайшие сроки развер- нуть агентурную сеть на территории государства М. Уже выполнена работа по внедрению на территорию враждебного государства М необходимого количества рези- дентов, произведена вербовка агентов-оперативников. Оста- лось установить связи между резидентами и агентами. На этом этапе было решено произвести оптимальный подбор агентов для резидентов. Был проведен анализ личност- ных качеств каждого человека и для всех возможных пар резидент—агент выставлены оценки их совместимости. Задание. Требуется, используя имеющуюся таблицу оце- нок, для каждого резидента выбрать нескольких агентов (их количество определяется числом п) таким образом, чтобы суммарная оценка всех составленных пар (определяющая на- дежность всей сети в целом) была бы максимальной. Каж- дый из агентов может работать только на одного резидента. Примечание. Количество резидентов задается числом mi, количество агентов — числом т2. После отбора пар могут оставаться “лишние” агенты. INPUT.TXT Входной файл содержит в первой строке це- лые числа п (1 < п < 4), mi (1 < ml < 6), m2 Inrri! < m2 < 2nmi), а в каждой из ttii следующих -81-
Санкт-Петербургские олимпиады, по кибернетике строк — т2 целых чисел, определяющих оценки соот- ветствующих пар. OUTPUT.TXT Выходной файл должен содержать строк, в каждой из них — по п чисел (таблица порядко- вых номеров агентов). Номера в каждой строке отсор- тированы в порядке убывания оценок (на первом месте указывается агент, наиболее подходящий для данного резидента). ПРИМЕР. Входной файл: 13 3 385 4 19 6 2 1 Выходной файл: 2 3 1 (В. В. Шиегин) СКУЧАЮЩИЙ АВТОПИЛОТ Грузовой корабль под управлением автопилота летит в направлении Альфа Центавра. Путь неблизкий, и в свобод- ное время автопилот развлекается тем, что придумывает и сам решает различные задачи. Следует заметить, что между Солнечной системой и си- стемой Альфа Центавра постоянно функционирует двусто- -82-
Глава II. Задачи ронний канал информационного обмена, по которому пере- даются информационные пакеты. Настроившись на частоту этого канала, автопилоту уда- лось 11 поймать11 эти пакеты. Причем пакеты, идущие в на- правлении Солнца ему попадаются чаще, чем пакеты, иду- щие в направлении Альфа Центавра, хотя известно, что от- правляются они через равные интервалы времени в обоих направлениях. Прочитать эти передаваемые данные автопилоту не уда- лось (разработчики не заложили в него способностей, необхо- димых для взлома шифров), и он занялся решением задачи, которая была ему по силам. Измерив интервалы времени mi и m2 Для обгоняющих и встречных пакетов соответственно, автопилот определил интервал п отправления пакетов. Так- же он составил и занес в свою долговременную память про- грамму, позволяющую определить такой интервал для лю- бых значений ttii и m2 (на случай, если похожая ситуация повторится при полете к другим звездам). При этом он сде- лал допущение, что интервал отправления пакетов является целым числом. Скорость корабля он счел не слишком боль- шой, что упростило ему работу. Кроме того, он пренебрег разбеганием галактик (расстояние между звездами считает- ся постоянным). Задание. Что представляет собой программа, составлен- ная автопилотом? Попробуйте составить такую же. INPUT.TXT Входной файл содержит положительные ве- щественные числа 7711 и ш2, не превосходящие 30000. OUTPUT.TXT Выходной файл должен содержать целое значение п.
Санкт-Петербургские олимпиады по кибернетике ПРИМЕР. Входной файл: 12 6 Выходной файл: 8 (В. В. Шиегин, Ю. Е. Зайцев) СОРЕВНОВАНИЕ СКАЛОЛАЗОВ Администрация города Незнаменска с целью пополнения городского бюджета задумала провести международный тур- нир по скалолазанию. Поскольку гор в окрестностях Незна- менска нет, решено было возвести специальные спортивные сооружения. Каждое из сооружений представляет собой цилиндриче- скую стену, поверхность которой поделена на квадраты. В каждом квадрате имеются трещины, выступы и т.п. — од- ним словом, неровности, которые и позволяют спортсменам взбираться наверх. В зависимости от качества этих неровно- стей квадратам назначены некоторые оценки, зависящие от сложности их прохождения. Спортсмены сами должны вы- брать маршрут передвижения по стене, оценив его сложность и соотнеся со своими силами. Из спортсменов, справивших- ся с препятствием, побеждает тот, который набрал макси- мальную суммарную оценку за сложность. В соответствии с правилами спортсменам запрещено перемещаться вниз или в сторону. Из одного квадрата в другой можно переходить только в направлении вверх, вправо—вверх или влево—вверх. Размер и конфигурация препятствий могут различаться. -84-
Глава II. Задачи Задание. По имеющейся информации о препятствии по- пробуйте определить, какую максимальную оценку можно набрать, преодолев его. Примечание. Информация задается в виде прямоуголь- ной таблицы, количество строк которой определяется высо- той стены (количеством уровней), а количество столбцов — количеством квадратов на уровне. Поскольку стена замкну- тая, следует учесть, что последний столбец в таблице сосед- ствует с первым. INPUT.TXT Входной файл содержит в первой строке т ип — количество строк и столбцов таблицы (каждое из чисел находится в диапазоне от 1 до 50). Следующие т строк содержат по п целых чисел — оценок. OUTPUT.TXT Выходной файл должен содержать иско- мое значение. ПРИМЕР. Входной файл: 34 10 73 1 2 13 8 5 43 2 Выходной файл: 23 (В. В. Шиегин)
Санкт-Петербургские олимпиады по кибернетике АННА ПЕТРОВНА И СЛОЖНЫЕ ПРОЦЕНТЫ Анна Петровна выиграла в лотерею достаточно крупную сумму денег и положила их в надежный банк. Банк оказался действительно надежным, и через несколько лет Анна Пет- ровна сняла со своего счета хорошие проценты. Доход в бан- ке начисляется раз в год, исходя из установленной процент- ной ставки. Начисленный доход добавляется к размещенной сумме. Процентная ставка Р определяется целым числом (не превышающим 30) и является неизменной. Задание. Определите процентную ставку, если известна начальная сумма S (S < 100000), начисленный доход D и количество лет, за которые насчитан доход (N < 30). INPUT.TXT Входной файл содержит вещественные числа S, D и целое число N. OUTPUT.TXT Выходной файл должен содержать одно целое число Р. ПРИМЕР. Входной файл: 100 21 2 Выходной файл: 10 (Оргкомитет) -86-
Глава II. Задачи ^atallaustiiiv. КРИПТОАНАЛИЗ Школьник Вася с большим увлечением занимается в ки- бернетическом кружке. Однажды в журнале ему попалась статья, посвященная вопросам криптографии. В частности, в ней рассказывалось про шифрование с открытым клю- чом. Вася пришел в восторг от такой замечательной идеи: ключ, которым зашифровали данные, не годится для рас- шифровки, а расшифровка делается другим ключом. Он по- нял, какие могут быть интересные варианты применения этих методов. Например, можешь раздать первый ключ сво- им друзьям, чтобы они шифровали им свои письма тебе. При этом только ты сможешь их прочитать, поскольку секретный ключ для расшифровки другим неизвестен. Вася решил так и сделать. Для начала он стал шифро- вать просто целые числа. Когда ему не удалось реализовать один из известных методов (слишком сложно), он придумал похожий, но более простой. Вот его метод: алгоритм, шифрующая и расшифровыва- ющий — один и тот же, различаются только используемые ключи. Этот алгоритм Вася реализовал в виде отдельной функции. Параметры функции: п — число, которое нужно зашифровать или расшифровать, к — ключ. Поскольку одни Васины друзья используют язык Си, а другие — Паскаль, он описал эту функцию на обоих языках. Вот результаты его работы: myint encode(myint n, myint k) { myint nn=0; for (myint i=0; i<k; i++) -87-
Санкт-Петербургские олимпиады по кибернетике ни = ( nn + п ) 7. MODULO; return nn; Function encode(n, к : myint) : myint; Var nn, i : myint; Begin nn := 0; For i:=l To к Do nn := ( nn + n ) Mod MODULO; encode := nn; End; Задание. Известно, что теоретически любой шифр мо- жет быть взломан, но иногда для этого требуется недопусти- мо много времени. Вам предлагается взломать шифр, при- думанный Васей, и восстановить зашифрованные данные. При этом программа, выполняющая данные действия, долж- на уложиться в отведенный интервал времени (даже при до- статочно большом объеме данных). INPUT.TXT Входной файл содержит следующие целые числа: MODULO — число, между 1 и 1024, необходи- мое для работы алгоритма; к± — ключ, которым были зашифрованы данные (1 < k\ < MODULO); п — коли- чество зашифрованных чисел (1 < п < 400000) и далее — сами зашифрованные числа. OUTPUT.TXT Выходной файл должен содержать все расшифрованные числа. -88-
^alatLausi&k Глава И. Задачи ПРИМЕР. Входной файл: 123 7 2 20 67 Выходной файл: 38 115 (В. В. Шиегин) КВАДРАТЫ Имеется бумажный прямоугольник с длинами сторон а и b (целые числа). Его можно разрезать таким образом, что получится N квадратов с целочисленными сторонами. Ясно, что максимально возможное количество квадратов, которое может быть получено из прямоугольника, равно ab. Задание. Установите наименьшее количество квадратов, которое можно получить разрезанием? При этом никаких “лишних” обрезков оставаться не должно. INPUT.TXT Входной файл содержит числа а и b (а < 30000; Ъ < 30000). OUTPUT.TXT Выходной файл должен содержать иско- мое число. ПРИМЕР. Входной файл: 333 555 Выходной файл: 4 (Г. И. Болтунов, В. В. Шиегин) -89-
Санкт-Петербургские олимпиады по кибернетике ВОЛК В ЛОВУШКЕ В центре прямоугольного поля со сторонами а и b сидит волк. В каждом углу поля находится по одной собаке. Собаки могут перемещаться по периметру поля и их задача — не дать волку уйти. При этом каждая собака по отдельности слабее волка и проигрывает ему в схватке один на один. Две же собаки задирают волка. Задание. Для собак и волка существуют некоторые мак- симально возможные скорости их перемещения (Vj и Vw со- ответственно). Найдите такое минимально возможное соот- ношение скоростей (К = Vd/Vw)i при котором собаки гаран- тированно не дадут волку уйти (если не совершат ошибки). INPUT.TXT Входной файл содержит а и b — веществен- ные числа. OUTPUT.TXT Выходной файл должен содержать иско- мое число К с точностью до двух знаков после запятой. (А. С. Матвеев) КОЛЕСО Колесо расположено в вертикальной плоскости, его ради- ус и расстояние от центра до пола заданы (см. рис.). Также задана и его угловая скорость. На обод колеса от центра по- стоянно и равномерно на всю поверхность поступает вода. Поэтому при вращении с обода срываются капельки воды, которые попадают на пол. Задание. ^Очевидно, при фиксированной* скорости вра- щения, на полу образуется мокрая зона, за пределы которой -90-
^alattaust^i Глава II. Задачи капли не вылетают. Требуется найти длину L этой зоны. Ес- ли мокрого участка нет, его длину считать равной нулю. Примечание. Ускорение свободного падения считать равным 10. INPUT.TXT Входной файл содержит вещественные числа w, Я и Н. OUTPUT.TXT Выходной файл должен содержать иско- мое число L с точностью до двух знаков после запятой. ПРИМЕР. Входной файл: 0 2 2 Выходной файл: 4.00 (Ю. Е. Зайцев) -91—
Санкт-Петербургские олимпиады по кибернетике ИНКРЕМЕНТНАЯ ИНВЕРСИЯ Введем преобразование над целыми числами, которое на- зовем инверсией. Инверсия, примененная к некоторому чис- лу А, изменяет последовательность цифр в десятичной запи- си числа на противоположную. Обозначим инверсию А как "А##”. Например, 123## = 321. Введем теперь преобразование, которое назовем инкре- ментной инверсией. Пусть заданы некоторое целое число А (аргумент) и целое число п, которое будем называть поряд- ком. Обозначим вводимое преобразование знаком Пре- образование порядка 0 дает в результате исходное число: А@@0 = А. Преобразование порядка 1 увеличивает число на "1": А@@1 = А + 1. Преобразование порядка 2 дает сле- дующий результат: А@@2 = (А@@1)##. Для более высо- ких порядков операция определяется рекуррентно: если п — нечетное, то А@@п ~ (А@@(п — 1))@@1; если п — четное, то А@@п = (А@@(п - 2))@@2. Задание. Составьте программу для вычисления инкре- ментной инверсии заданного порядка. INPUT.TXT Входной файл содержит два целых числа: п (О < п < 20) и А (0 < А < 1О30). OUTPUT.TXT Выходной файл должен содержать резуль- тат преобразования. ПРИМЕР. Входной файл: 3 987654321 Выходной файл: 223456790 (В. В. Шиегин) - 92-
^aiattausi^i Глава II. Задачи 2.4. Задачи 2003 г. ШАЙБА Лента горизонтального транспортера движется с посто- янной скоростью Vtr- На ленту в поперечном направлении влетает шайба со скоростью V8h м/с. Ширина ленты L м, ко- эффициент трения шайбы о ленту равен К. Задание. При какой скорости шайба, проскользнув по ленте, упадет с нее на максимально возможном расстоянии от точки вылета? Примечание. Ускорение свободного падения принять равным 9.81 м/с2. INPUT.TXT Входной файл содержит К, L, Vtr — веще- ственные числа. OUTPUT.TXT Выходной файл должен содержать иско- мое число Vafl с точностью до двух знаков после запя- той. (Ю. Е. Зайцев) ВОДИТЕЛЬ БЕЗ ШЛАГБАУМА Водитель с математическим образованием, возвращаясь с вечеринки, хочет добраться до дома, находящегося на рассто- янии А км, двигаясь с постоянной скоростью, не превышаю- щей 60 км/ч. Через каждый км шоссе пересекают железные дороги, по каждой из которых приближается поезд длиной L км со скоростью V км/ч. -93-
Санкт-Петербургские олимпиады по кибернетике Задание. За какое минимальное время водитель может добраться домой живым, если в начальный момент времени г-й (считая от водителя) поезд находится на расстоянии Rt км от переезда? INPUT.TXT Входной файл содержит в первой строке ве- щественные числа A, L, V, во второй — числа, задаю- щие расстояния Ri. Значение А не превышает 10 км. OUTPUT.TXT Выходной файл должен содержать время в минутах с точностью до двух знаков после запятой. ПРИМЕР. Входной файл: 3 1 50 2 11 Выходной файл: 3.60 (А. Л. Фрадков) ИГРЫ РАЗУМА Управляемая эволюция величины х описывается уравне- нием x(j + 1) = ax(j) + bu(j\ j = 0,1,... Здесь x(j) и u(j) — значение х и величина управляющего воздействия в момент времени t = jT. Коэффициенты а > 1, b 7^ 0 и Т > 0 постоянны. По какому алгоритму следует вы- рабатывать управление u(J), j = 0,1,2,..., чтобы обратить величину х в нуль? -94-
^aiattaus,^. Глава II. Задачи Примечание. Ответ очень прост, если текущее состояние a?(j) измеряется и результат измерения доступен управляю- щему органу. Тогда он может формировать управление u(j) по формуле Следовательно, x(j + 1) = 0 и значит, u(i) = 0, ж(г) = 0 для всех i > j + 1. Дело усложняется, если результат измерения передается через цифровой канал связи. За время Т он передает лишь определенное число бит с (называемое емкостью канала). Другими словами, он способен передавать лишь цепочки z фиксированной длины с из нулей и единиц: z = 0111010100001010100001010. Тогда точная передача результата измерения уже невозмож- на. Действительно, имеется лишь конечное число цепочек z. Поэтому нет такого алгоритма кодирования, преобразующе- го измерение х в передаваемую по каналу цепочку г, что по этой цепочке можно абсолютно точно восстановить х. Всегда будут присутствовать такие пары х^ х2, которые при коди- ровании преобразуются в одну и ту же цепочку z. Получив сообщение г, разобраться, что было на самом деле — х± или х2, нельзя. В такой ситуации работать по предложенной формуле уже невозможно, а цель x(j> + 1) = 0 уже нереализуема. Ее естественно заменить более слабым, зато реализуемым тре- бованием: lim x(j) = 0, j-»+oo т.е. x(j) становится сколь угодно малым, если подождать до- статочно много времени. -95-
Санкт-Петербургские олимпиады по кибернетике Если с = 0 (канал ничего не передает), достичь поставлен- ной цели невозможно. Напротив, если его емкость велика — с » 1, цель, скорее всего, достижима: измерения можно пе- редавать почти без искажений, и ситуация близка к той, ко- гда первый закон управления обеспечивает требуемую цель. Задание. Какова минимальная емкость с канала, при ко- торой достижение поставленной цели возможно? Примечание. Вы можете сами выбирать алгоритмы как управления, так и кодирования. При этом имейте в виду, что будущего вы не знаете. Поэтому, например в момент t = jT, управление и должно Определяться только по тем данным z(0), z(l), г(у), которые были получены к этому моменту (но никак не после). Задачу разрешено решать при упроща- ющем предположении: |ж(0)| < А, а число А > 0 известно разработчику алгоритмов кодирования и управления (то есть вам). Подсказка. Предлагаемые данные избыточны. INPUT.TXT Входной файл содержит содержит веще- ственные числа а, Ь, А, Т. OUTPUT.TXT Выходной файл должен содержать целое значение с. ПРИМЕР. Входной файл: 2.3 1.2 1000 1 Выходной файл: 2 (А. С. Матвеев) -96-
4XalaHaus<&^ Глава II. Задачи ПЛАНИРОВАНИЕ ПРОИЗВОДСТВА Вы руководите провинциальным филиалом фирмы, про- изводящей безалкогольные и слабоалкогольные напитки. Ваш филиал выпускает слабоалкогольный напиток Стамеска крепостью 9° и газированный напиток Манта. Оба напитка производятся на основе апельсинового концентрата и разли- ваются в алюминиевые банки. Одним из ключевых моментов предвыборной кампании действующего губернатора области, где оперирует ваш фи- лиал, была борьба за трезвый образ жизни. В результате ва- ша лицензия ограничивает выпуск слабоалкогольных напит- ков величиной S л/мес. в пересчете на чистый (100%-ный) спирт. Для производства 1 л. Стамески и Манты требуется С8 и Cf граммов апельсинового концентрата соответственно. Условия поставки и хранения этого концентрата ограничи- вают его потребление величиной С кг/мес. Первичные рас- творы для производства обоих напитков готовятся на одной и той же установке, хотя эти растворы и отличаются друг от друга по составу. С учетом санитарных мероприятий, вы- ходных дней, технической профилактики и т.п. эта установ- ка может работать 384 ч/мес. Она готовит 100 л раствора для Стамески и Манты Тя и Tf мин соответственно. Мощ- ность имеющейся газировальной установки не позволяет вам поднять производство Манты выше F л/мес. Продажа 100 л Стамески и Манты приносит Р8 и Ру рублей прибыли соот- ветственно. Задание. Предположив, что ваша единственная цель — получение максимальной прибыли, определите, какое месяч- ное производство Стамески и Манты следует планировать. Примечание. Опыт показал, что рынок потребляет все, — 97—
Санкт-Петербургские олимпиады по кибернетике что производится в рамках перечисленных ограничений. Вре- менем переключения установки с одного напитка на другой можно пренебречь. INPUT.TXT Входной файл содержит числа 5, F, Т/, Тя, Ch Св, С, Ps, Pf. OUTPUT.TXT Выходной файл должен содержать коли- чество продукта (в литрах) для Стамески и Манты со- ответственно. ПРИМЕР. Входной файл: 1000 10000 384 384 80 160 10 10 10 Выходной файл: 0 125 (А. С. Матвеев) КИБЕРБОУЛИНГ Робот с искусственным интеллектом играет в кибербо- улинг. Поле — коридор, расстояние между стенками которого 20 м. По центру коридора стоят кегли (40 шт.), расстояние между центрами кегль 10 м, их радиус равен R. Робот бро- сает шар радиуса R с начальной скоростью 2 м/с, под углом а (от стенки коридора). Задание. В какую кеглю попадет шар? Кегли пронуме- рованы натуральными числами. INPUT.TXT Входной файл содержит вещественные числа — а (в радианах) и R. - 98-
ftalaHaus^!. Глава II. Задачи OUTPUT.TXT Выходной файл должен содержать одно целое число, равное номеру сбитой кегли. Если шар не попадает ни в одну кеглю — вывести число 0. ПРИМЕР. Входной файл: 0.785 0.1 Выходной файл: 1 (М. С. Ананьевский, А. С. Матвеев) СВЕТОФОРЫ Вы — водитель, и вам нужно добраться из пункта А, в пункт Б за минимальное время. Карта автодорог представ- ляет собой сетку размера 39 на 39 ячеек. Двигаться можно -99-
Санкт-Петербургские олимпиады по кибернетике только по ребрам этой сетки. Длина каждого ребра 1 км. В узлах сетки могут располагаться светофоры. Чтобы пре- одолеть перекресток, на него надо сначала выехать. Нельзя выезжать на красный свет. Если вы выехали на перекресток, то покинуть его можно только в том направлении, в кото- ром горит зеленый свет. Однако на перекрестке можно сто- ять сколь угодно долго. Ваша скорость 60 км/ч. Считаем, что разгоняетесь и останавливаетесь вы мгновенно. Светофоры бывают двух типов: тип 0 — в нулевой момент времени горит зеленый свет для вертикального пересечения перекрестка, красный — для горизонтального пересечения; тип 1 — в нулевой момент времени горит красный свет для вертикального пересечения перекрестка, зеленый — для го- ризонтального пересечения. Каждую минуту светофор меня- ет свой цвет на противоположный. Задание. Сколько вам потребуется времени, чтобы до- браться из пункта А в пункт Б? INPUT.TXT Входной файл содержит матрицу размера 40 х 40 (40 строк по 40 элементов), состоящую из чисел 0,1,2. Она соответствует узлам сетки; первый элемент — узел с координатами (0,0), последний — (39,39). Число 0 означает что в узле находится светофор типа 0, число 1 — типа 1,2 — светофора нет. Пункт А — это перекре- сток (0,0), пункт Б — перекресток (39,39). Вы достигли пункта Б только тогда, когда выехали на перекресток (39,39). OUTPUT.TXT Выходной файл должен содержать одно целое число, равное минимальному количеству минут, необходимому для того, чтобы добраться из пункта А в пункт Б. - 100-
ftalattausiSi!. Глава IL Задачи ПРИМЕР (УМЕНЬШЕННЫЙ РАЗМЕР). Входной файл: 20 0 2 Выходной файл: 3 (М. С. Ананьевский) ЯЩИК Задание. Под каким углом к горизонту нужно тянуть за веревку тяжелый ящик массы тп кг, чтобы передвигать его волоком по горизонтальной поверхности под действием постоянной по модулю силы F для получения максимального ускорения? Коэффициент трения равен К. Примечание. При расчетах ускорение свободного паде- ния положить равным 9.81 м/с2. INPUT.TXT Входной файл содержит тп, F, К — веще- ственные числа. OUTPUT.TXT Выходной файл должен содержать значе- ние угла в градусах с точностью не менее двух знаков после запятой. ПРИМЕР. Входной файл: 10 300 0.2 Выходной файл: 11.31 (Ю. Е. Зайцев) - 101-
Санкт-Петербургские олимпиады по кибернетике СТРАННЫЙ ВЕЗДЕХОД Вездеход совершает сложные перемещения в простран- стве. Управление движением вездехода по координатам X и Y осуществляется независимо, путем задания скоростей Vx и Vy (м/с) соответственно. На рисунке приведен вид графика скорости. А — амплитуда изменения скорости, F — фаза, Т — период (в секундах). Все параметры — целые числа, F лежит в диапазоне от О до 10, А — в диапазоне от 1 до 10, Т — четное, в диапазоне от 2 до 20. Задание. В какой точке окажется вездеход в конечный момент времени t (t — целое число, от 0 до 1Q8)? В начальный момент времени он находится в точке с координатами (0,0). INPUT.TXT Входной файл содержит числа Ах, Fx, Тх, F Т t *у> -Lyy *'• OUTPUT.TXT Выходной файл должен содержать значе- ния X и У, определяющие положение вездехода в за- - 102-
^alattausiik Глава II. Задачи данный момент времени. ПРИМЕР. Входной файл: 2022025 Выходной файл: 22 (Ю. Е. Зайцев, В. В. Шиегин)
Санкт-Петербургские олимпиады по кибернетике 2.5. Задачи 2004 г. ИДЕНТИФИКАЦИЯ Источник сигнала осуществляет передачу сообщения на приемник. Однако, при трансляции неизбежны помехи и со- общение, записанное приемником, может существенно отли- чаться от того, которое синтезировал источник. Сообщение состоит из одного целого числа, взятого из от- резка [100,200]. Источник передает его 1024 раза. При каж- дой передаче к сообщению прибавляется случайное целое число из отрезка [—range, -grange], где “гапдё* тоже случай- ное целое число от 1 до 5; любое число из выбранного отрез- ка может появиться с одинаковой вероятностью. Значения range также выбираются с одинаковой вероятностью. Задание. Какое сообщение передал источник сигнала? INPUT.TXT Входной файл содержит 1024 целых числа. OUTPUT.TXT Выходной файл должен содержать одно целое число, соответствующее исходному сообщению. ПРИМЕР. Входной файл: 100 100 100 ... (1024 раза) Выходной файл: 100 (М. С. Ананьевский) - 104-
Глава II. Задачи С НОВЫМ годом Перед Новым годом власти города Козюпинска обнару- жили, что главная площадь, на которой будут проходить все торжества, завалена снегом. В городе есть N бригад работни- ков, состоящих из ki человек, каждый из которых получает за свою работу р» рублей в час, убирая при этом и* квадрат- ных метров в час. Поскольку недавно избранный мэр ввел в городе режим строгой экономии бюджетных средств, на- до так составить команду уборщиков, чтобы стоимость их услуг была минимальной. Так как в предпраздничные дни работать никто не хочет, то, для полученной минимальной стоимости число рабочих должно также быть минимальным. До праздника осталось Т часов, в которые и надо уложить- ся. Из каждой бригады можно нанять произвольное число человек, не превышающее Задание. Какова будет минимальная стоимость убороч- ных работ и сколько потребуется рабочих? INPUT.TXT Входной файл содержит площадь 5, время Т, число бригад N и матрицу размером N х 3, в которой заданы р», v* — положительные вещественные числа, не превосходящие значение 30000. OUTPUT.TXT Выходной файл должен содержать общую стоимость работ С и количество необходимых для убор- ки территории человек К — вещественные числа. Если решения не существует (например, недостаточно рабо- чих), то в выходном файле должны быть нулевые зна- чения. Проверка решения осуществляется с точностью до двух знаков после запятой. - 105-
Санкт-Петербургские олимпиады по кибернетике ПРИМЕР. Входной файл: ПО 10 3 (S Т N) 2 1 2 (fci pi Vi) 2 2 1 (fc2 Р2 v2) 1 3 6 (fc3 рз г>з) Выходной файл: 70.0 4.0 (С К) (С. В. Арановский, Г. И. Болтунов) БИОТЕХНОЛОГИЯ И КИБЕРНЕТИКА В биореакторе ценный материал производится с помо- щью популяции бактерий. Для успеха ее размер должен удер- живаться в заданном интервале. Этому мешает, во-первых, склонность бактерий к интенсивному размножению и, во- вторых, влияние случайных факторов, например колебаний фонового излучения, температуры атмосферы, магнитного поля, неидеальностей протекания процесса в реакторе и т.п. Это влияние оценивается известной верхней границей. Вме- сте с тем эти факторы непрогнозируемы. В каждый момент времени их влияние в принципе может быть любым в преде- лах данной границы. К счастью, реактор управляем. Если текущий размер по- пуляции известен, то, подобрав управление, можно привести популяцию к любому наперед заданному размеру единицу времени спустя, если конечно пренебречь случайными фак- торами. Проблема, однако, в том, что измерить этот размер трудно. Имеющиеся здесь возможности сводятся к тому, что - 106-
^alaSfaus^. Глава II. Задачи в любой момент можно поставить вопрос “больше ли текущий размер заданного числа” z, и получить на него ответ. Число z при этом можно брать, как угодно. Следующий такой тест можно произвести только спустя единицу времени. Задание. Какова минимальная ширина коридора, в ко- тором можно удержать размер популяции с помощью надле- жащей стратегии управления? Примечание. Математическая модель. Чтобы избежать очень больших чисел, размер популяции задаем числом х = Здесь N — общее число бактерий, а К — разумно по- добранная “большая” константа. Фактически х принимает только значения вида (целое)/К. Они, однако, чередуются со столь малым шагом что мы им пренебрегаем и считаем х просто вещественным числом. Процесс развития популяции бактерий описывается урав- нением x(t + 1) = ax(t) + u(t) + w(t), где |w(t)| < W,t = 0,1,2,.., (a € (1,2), W > 0). Здесь t — время, u(t) — управление, слагаемое w(t) отра- жает влияние случайных факторов, a ax(t) — естественную рождаемость и смертность бактерий. Задача — удержать размер популяции бактерий в интервале х^ < x(t) < Xr, (0 < xL < Xr) при любых меняющихся во времени возму- щениях w(t) с |w(t)| < W. Начальный размер находится в указанном интервале, но неизвестен. Отрицательное значе- ние x(t + 1) означает, что популяция погибла. Стратегия управления — это правило, которое однознач- но определяет текущие действия управляющего органа (т.е. выбор управления u(t) и очередной “вопрос” z = z(t)) исходя - 107-
Санкт-Петербургские олимпиады по кибернетике из того (и только того), что известно к данному моменту. В момент выбора первого вопроса z(0) известны только вели- чины a, W, xl, xr; к моменту выбора первого управления и(0) к ним присоединяется ответ на этот вопрос. Те же дан- ные используются при выборе второго вопроса z(l) уже в следующий момент времени t = 1. К моменту выбора второ- го управления эти данные дополняются ответом на второй вопрос, и так далее. INPUT.TXT Входной файл содержит a, W — веществен- ные числа. OUTPUT.TXT Выходной файл должен содержать (жд — xl) с точностью до двух десятичных знаков (если огра- ничить популяцию невозможно, то вывести 0). ПРИМЕР. Входной файл: 1.6 20 Выходной файл: 200 (А. С. Матвеев) СТРЕЛЬБА ИЗ ПУШКИ ПО ВОРОБЬЯМ Безраздельно властвовавший над тридесятым государ- ством царь Горох услышал однажды идиому про стрельбу из пушки по воробьям и решил проверить, как оно на са- мом деле. Приказал он установить на столбе макет воробья - 108-
Глава IL Задачи и поставить недалеко от этого столба пушку. Подумали под- данные, да и решили, что катать пушку им лень (царство тридесятое, колеса квадратные), так что лучше поставить ее на подъемную платформу и в случае промаха просто менять высоту. В общем, установили они все требуемое и стали Горо- ха звать, стрельбу устраивать. Пришел Горох, посмотрел на пушку, порадовался, да и стал целиться. Так как физику он не знает, о баллистике не слышал, то прицелился просто по прямой линии в макет воробья. Разумеется, снаряд упал на землю через t секунд, даже не долетев до столба с воробьем. Расстроился царь и велел поднять платформу. Трудились подданные, трудились, да и подняли пушку так, что разница высот пушки и столба стала составлять dh. Не меняя прице- ла пушки, Горох снова выстрелил, и, о чудо, снаряд попал прямо в макет воробья, доказав, что пушка для стрельбы по воробьям очень даже годится. Задание. Какова высота столба, на котором стоит макет? Примечание. Масса пушки много больше массы снаря- да, так что отдачей можно пренебречь. Можно пренебречь сопротивлением воздуха. Масса пороха при обоих выстрелах одинаковая, так что скорости снаряда в момент выстрела — тоже. При расчетах полагать g = 10 м/с2. INPUT.TXT Входной файл содержит t и dh — веществен- ные числа. OUTPUT.TXT Выходной файл должен содержать одно вещественное число h — высоту столба с воробьем, или 0, если решение не существует. Проверка осуществля- ется с точностью до двух знаков после запятой. - 109-
Санкт-Петербургские олимпиады по кибернетике ПРИМЕР. Входной файл: 1 10 Выходной файл: 10.00 (С. В. Арановский, Ю. Е. Зайцев) ПУТЕШЕСТВИЕ ИЗ ПЕТЕРБУРГА В МОСКВУ Некий любитель вояжа задумал повторить путь А. Н. Ра- дищева “Из Петербурга в Москву”. Путешествовать “на пе- рекладных”, как его предшественник, он побоялся и решил воспользоваться личным автомобилем. К сожалению, спон- сировать это мероприятие никто не захотел, и платить за бензин пришлось из своего кармана. Естественно путешественник решил так спланировать свой маршрут, чтобы минимизировать затраты. Для этого ему нужно было знать, сколько на его пути встретится запра- вочных станций, на каком расстоянии друг от друга они на- ходятся и сколько стоит литр бензина на каждой из них. По- мимо всего прочего приходилось учитывать, что емкость бен- зобака машины ограничена, и на каждой заправочной стан- ции заливается бензин особого состава, так что смешивать топливо с разных станций крайне не рекомендуется. Задание. Какая минимальная сумма денег должна нахо- дится в кармане путешественника при выезде из гаража? Примечание. Считать, что первая АЗС находится в Пе- тербурге. - ПО-
^aiaHaus,^. Глава IL Задачи INPUT.TXT Входной файл: О < N < 16 — общее число АЗС на пути следования, целое. О < R < 1 — расход бензина в литрах на 1 км пути, вещественное. В — емкость бензобака машины в литрах, целое. Далее — N пар целых чисел, S и С, где 5, — расстояние в километрах от i-й до (г 4- 1)-й АЗС (Sn — расстояние от последней АЗС до Москвы), С, — цена литра бензина на г-й АЗС. OUTPUT.TXT Минимально возможная стоимость путе- шествия в рублях, целое. Вывести ноль, если при за- данных условиях путешествие невозможно. ПРИМЕР. Входной файл: 3 0.1 40 300 9 300 10 100 10 Выходной файл: 670 (С. В. Арановский, М. А. Коршунов) МЫШЕЛОВКИ В вашем доме поселилась мышь и прогрызла целое мно- жество ходов под полом. После тщательного обследования вы нашли 11 входов-выходов. Также с помощью рентгеновских - 111-
Санкт-Петербургские олимпиады по кибернетике очков вы составили карту мышиного лабиринта. И вдруг, со- вершенно случайно вы заметили мышь, прыгнувшую в одну из 11 норок. Карта лабиринта — лист клетчатой бумаги. Если в клетке стоит 1 — значит там стена, если 0 — значит проход. По диагонали двигаться нельзя. Мышь умеет поворачивать только на прямые углы. Задание. Вам требуется определить все норки, из кото- рых она может появиться, чтобы поставить там мышеловки. INPUT.TXT Входной файл: двумерный массив чисел 0,1 размером 100 на 100 — это карта лабиринта. Если в ячейке записана единица — значит это стена, если 0 — то проход. Во всех крайних клетках, кроме 11, стоит число 1 (стена). Нули записа- ны в клетках с координатами (ж, у) (х и у меняются от 0 до 99): (01,99) - норка №0, в нее юркнула мышь; (01,0).- норка №1; (03,0) - норка №2; (05,0) - норка №3; (07,0) - норка №4; (09,0) - норка №5; (11,0) - норка №6; (13,0) - норка №7; (15,0) - норка №8; (17,0) - норка №9; (19,0) - норка №10. OUTPUT.TXT Одномерный массив чисел 0,1 размером 11. Если на г-м месте стоит 0, значит, через этот ход мышь выбраться не может и мышеловку там ставить - 112-
^alaHaus,^. Глава II. Задачи не имеет смысла; если 1 — то мышеловку необходимо поставить. ПРИМЕР (УМЕНЬШЕННЫЙ РАЗМЕР). Входной файл:. 1010101 1000111 1110111 1100111 1000011 1011111 1011111 Выходной файл: 1110 (М. С. Ананьевский) ЕСТЬ ЛИ ЖИЗНЬ НА МАРСЕ? На берегу марсианского моря примарсился марсоход с за- пасом энергии Et. Его цель — исследовать поверхность Мар- - 113-
Санкт-Петербургские олимпиады по кибернетике са. Установленное на нем оборудование последнего поколе- ния позволяет исследовать поверхность планеты, находящу- юся между ним И марсианским морем. Собранную информа- цию марсоход накапливает и сможет передать, только если он находится на береговой линии марсианского моря, т.е., ис- следовав планету, он должен вернуться к морю. Но на про- хождение одного метра по Марсу он тратит Ет энергии, а на один поворот (на любое число градусов) — Ег энергии. Задание. Какую наибольшую площадь может исследо- вать марсоход, если с Земли ему разрешили сделать не боль- ше N поворотов? INPUT.TXT Et — полный запас энергии марсохода; Ет — энергия, затрачиваемая на преодоление одного мет- ра поверхности; Ег — энергия, затрачиваемая на один поворот; N — максимальное разрешенное число пово- ротов. OUTPUT.TXT Выходной файл должен содержать одно вещественное число с точностью до 2-го знака после запятой — максимальная площадь, которую возможно исследовать. ПРИМЕР. Входной файл: 9.0 2.0 1.0 3 Выходной файл: 1.533 (М. С. Ананьевский, А. Л. Фрадков) - 114-
^aiattaus^ Глава II. Задачи ЖАЖДА БУБЛОВ На бирже работают 1000 брокеров. Одни из них покупают, а другие продают бублы за боллары. Известно, что каждый брокер готов продать (купить) а бублов центробанку и полу- чить (заплатить) за них не меньше чем bi болларов (если положительно — получает, отрицательно — платит). С дру- гой стороны, он знает, что честный покупатель не даст ему больше (не возьмет с него меньше) чем Ь2 болларов (а брокер заключает сделки только с честными партнерами). Задание. Какой обменный курс должен установить цен- тробанк и сколько должно стоить оформление сделки, чтобы они все состоялись? Известно, что такой обменный курс и та- кая стоимость сделки существуют. INPUT.TXT Входной файл содержит 1000 строчек, каж- дая состоит из трех вещественных чисел: 62, о,. Если число а меньше нуля, значит этот брокер хочет купить |а| бублов; если больше нуля, значит — продать. Если bi или 62 меньше нуля, значит, столько он готов отдать болларов. OUTPUT.TXT Выходной файл должен содержать два ве- щественных числа: первое — стоимость одного бубла в болларах, второе — стоимость сделки в болларах (точ- ность — один знак после запятой). (М. С. Ананьевский) - 115-
Санкт-Петербургские олимпиады по кибернетике ДИАТЛОН На соревновании по диатлону диатлонист должен пробе- жать некоторое расстояние по прямой дороге, а затем вы- стрелить под случайным углом. Задание. Какое расстояние должен пробежать диатло- нист, чтобы поразить цель с наибольшей вероятностью, ес- ли цель представляет собой сплошной прямолинейный забор длиной а, расположенный на другой прямолинейной дороге, которая выходит из точки старта, и начинающийся на рас- стоянии Ъ от старта? Примечание. При стрельбе под случайным углом веро- ятность попадания в цель пропорциональна величине угла, под которым видна цель. INPUT.TXT Входной файл содержит два вещественных числа: а, Ь. OUTPUT.TXT Выходной файл должен содержать одно вещественное число, с точностью до одной сотой. (А. Л. Фрадков) - 116-
Глава II. Задачи 2.6. Задачи 2005 г. НАСОСЫ, СОСУДЫ, ГОРЕЛКИ И ГЕЛИЙ В химическую лабораторию, занимающуюся исследова- нием свойств одноатомного гелия, завезли новое оборудова- ние: 1000 насосов, 1000 сосудов и 1000 горелок. Для сборки одной экспериментальной установки требуются ровно одна горелка, один насос и один сосуд. Подключив к сосуду к-ю горелку, ученый может установить в нем температуру в пре- делах от тгпТк до тпахТь по Кельвину, k-ый насос, путем от- качки или накачки запасенного гелия, может установить дав- ление в пределах от minPk до тпахР^ Па, а k-й сосуд обладает объемом 14. Утечек гелия нет. По завершении эксперимента весь гелий из установки выкачивается в запас лаборатории для дальнейшего использования. Если вдруг окажется, что запасенного лабораторией гелия нехватит для того, чтобы во всех работающих установках одновременно создать требуе- мые коллективом ученых условия (в пределах, допустимых установками), то учейые сильно обидятся и уедут за границу. Дополнительные данные. Гелий считать идеальным газом. Молярная масса гелия 0.004 кг/моль. Универсальная газовая постоянная R = 8.314 дж/(моль-К). Задание. Какое количество гелия в килограммах надо запасти лаборатории, чтобы обеспечить бесперебойную ра- боту ученого коллектива? INPUT.TXT Во входном файле последовательно дано пять массивов вещественных чисел длины 1000: 14, ттипТ*., maxTk, minPh, тпахРь. - 117-
Санкт-Петербургские олимпиады по кибернетике OUTPUT.TXT Выходной файл должен содержать одно вещественное число — масса гелия в килограммах, необ- ходимого лаборатории (точность — два знака после за- пятой). ПРИМЕР. Входной файл: 1.00 0.00 0.00 0.00 ... (999 нулей) - vk 1.00 1.00 1.00 1.00 ... (1000 единиц) — тгпТк 1.00 1.00 1.00 1.00 ... (1000 единиц) — тахТк 1.00 0.00 0.00 0.00 ... (999 нулей) — тгпРк 100000.00 0.00 0.00 ... (999 нулей) — maxPk Выходной файл: 48.11 (М. С. Ананьевский) ЭЛЕКТРИК НА ДАЧЕ И ЕГО ПОМИДОРЫ Понадобилось дачнику Феде обезопасить свои помидоры от посягательств соседских животных. А поскольку он был электриком, то решил возвести забор с колючей проволокой вокруг участка и пустить по ней ток. Вкопал Федя 100 дере- вянных столбов (см. рисунок), набил в каждый какое-то ко- личество гвоздей и соединил колючей проволокой все гвозди соседних столбцов (гвозди, вбитые в один столб, напрямую не соединены). При этом он постарался сделать так, чтобы два разных куска проволоки друг с другом не контактирова- ли, кроме как на гвозде, заизолировав пересечения изоляци- онной лентой. Каждый кусок колючей проволоки обладает - 118-
^alattausiii!. Глава II. Задачи сопротивлением 40 Ом. Гвозди на крайних столба он под- ключил к розетке постоянного тока, т.е. все гвозди одного к а другого к Розетка дает разность потенциалов 125 В. В каждом столбе есть хотя бы один гвоздь. Задание. Сколько дачник Федя должен будет платить в неделю за охрану своих грядок, если один киловатт-час стоит 1 р (неделя = 7 дней, день = 24 ч)? INPUT.TXT Во входном файле INPUT.TXT задан мас- сив целых чисел длины 100, k-е число — это количество гвоздей в k-м столбе. OUTPUT.TXT Выходной файл OUTPUT.TXT должен содержать одно вещественное число, с точностью два знака после запятой. - 119-
Санкт-Петербургские олимпиады по кибернетике ПРИМЕР. Входной файл: 1 1 1 1 ... (100 единиц) Выходной файл: 0.66 (М. С. Ананьевский) ПОКОРЕНИЕ АМАЛЬТЕИ При посадке космического аппарата КА-10 на Амальтею (самый близкий к Юпитеру естественный спутник) была про- изведена фотосъемка участка приземления — квадрат раз- мера 100 х 100 м. По снимку было установлено, что в этом участке присутствуют 7 интереснейших месторождений ме- тана. Дополнительные данные. На прохождение одного метра поверхности Амальтеи КА-10 тратит единицу топли- ва. Координаты ’’приземления” КА-10 — центр квадрата, т.е. точка (0,0). Задание. Какое минимальное количество топлива потре- буется потратить КА-10, чтобы посетить все месторождения? INPUT.TXT Во входном файле задано семь пар веще- ственных чисел: ж*., ?/*., k = 1,...,7. Координаты (я*, Уь) — координаты месторождений метана (значения ле- жат в пределах от —50 до +50). OUTPUT.TXT Выходной файл должен содержать одно вещественное число, с точностью два знака после запя- той. - 120-
Глава IL Задачи ПРИМЕР. Входной файл: 36.067 -25.571 - (ж1,3/1) 7.938 30.465 — (^2,3/2) 8.242 2.327 — Оз,?/з) 29.257 6.789 - (ж4,2/4) 23.253 12.118 - (^5,3/5) -7.556 35.713 - Об,3/б) -23.448 2.906 - (х7,у7) Выходной файл: 158.06 (М. С. Ананьевский) ЛУКУЛЛОВСКИЙ ПИР В биологическом кружке ребята изучают жизнь бактерий-хищников. Для их пропитания ребята разво- дят другой тип бактерий — бактерии-жертвы. Масса хищников в момент времени t равна yt грамм, масса жертв — xt грамм. Бактерии-хищники и бактерии-жертвы размно- жаются пропорционально своей массе, но жертв поедают хищники с коэффициентом прожорливости ЬТ Г yt+i =Vt + cTyt [ xt+1 = xt + axt - bTyt. Здесь T — температура по шкале Кельвина в сосуде с бакте- риями. Коэффициенты а, Ь, с — входные данные. В началь- ный момент времени ж0 = у$ = 1 г. - 121-
Санкт-Петербургские олимпиады по кибернетике Задание. Какую максимальную температуру Т долж- ны поддерживать ребята, чтобы бактериям-хищникам всегда хватало еды? INPUT.TXT Входной файл содержит три вещественных числа: а > 0, Ъ > 0, с > 0. OUTPUT.TXT Выходной файл должен содержать одно вещественное число с точностью до второго знака. ПРИМЕР. Входной файл: 4943.880 7.397 8.590 Выходной файл: 309.24 (М. С. Ананьевский) ЖИРНАЯ МУХА И ПАУК В квадратную комнату размером 3 х 3 х 3 м, где на одной из ее граней сидит голодный паук-тарантул, залетела жирная муха це-це. Немного полетав, она села в то место, до которого пауку бежать дольше всего. Задание. Какое расстояние должен пробежать паук, что- бы съесть эту вкусную муху? Паук бегает только по стенам, потолку и полу с постоянной скоростью. INPUT.TXT Входной файл содержит три вещественных числа в пределах от 0.0 до 3.0 — координаты местопо- ложения паука. - 122-
^alallausqk Глава II. Задачи OUTPUT.TXT Выходной файл должен содержать одно вещественное число, с точностью 0.1. ПРИМЕР. Входной файл: 2.799 0.000 1.935 Выходной файл: 6.1 (М. С. Ананьевский) ПРЕВЫШЕНИЕ СКОРОСТИ По прямой дороге Москва—Санкт-Петербург движется машина. Ее скорость составляет 198 км/ч (55 м/с). Так как максимально допустимая правилами скорость движения рав- на всего 90 км/ч, машина привлекает внимание работников ГИБДД,. Через А секунд милиционеры выезжают за нару- шителем. Машина ГИБДД,, оснащенная экспериментальным двигателем, через t секунд после старта оказывается на рас- стоянии 2* мот точки начала движения. Задание. Через сколько секунд после старта милиционе- ры догонят нарушителя? INPUT.TXT Входной файл содержит вещественное число А в пределах от 1.0 до 10.0. OUTPUT.TXT Выходной файл должен содержать одно вещественное число, с точностью 0.01. - 123-
Санкт-Петербургские олимпиады по кибернетике ПРИМЕР. Входной файл: 3.600 Выходной файл: 9.49 (М. С. Ананьевский) КУБОК УЕФА 2005 В отборочном турнире по футболу участвует т команд. В финальный турнир выходит п команд (1 < п < т). Турнир проводится в один круг, за победу начисляется 3 очка, за ничью — 1 очко, и поэтому в двух играх команда не может набрать 5 очков. Каждая команда проводит по одной игре с каждой участвующей в турнире. Задание. Найти минимальное количество очков, набрав которое, команда гарантированно попадает в финальный турнир (без учета забитых и пропущенных мячей). INPUT.TXT Входной файл содержит два целых числа — тип. OUTPUT.TXT Выходной файл должен содержать одно целое число. ПРИМЕР. Входной файл: 5 3 Выходной файл: 8 (Г. И. Болтунов) -- 124-
^alaHaus,»!. Глава II. Задачи ИГРАЛЬНЫЕ АППАРАТЫ У метро стоит игральный автомат очень простой кон- струкции: игрок бросает жетончик стоимостью К рублей, и в окошечке автомата выпадает одна цифра. Если цифра четная (включая 0), то игрок теряет свою ставку. Если же цифра нечетная, то из автомата выпадает М рублей. Одна- жды автомат сломался. Приехавший мастер обнаружил, что в памяти пропали настройки процентов выпадения для цифр 9 и 0. Примечание. Проценты выпадения цифр: предполо- жим, для наглядности, что у нас всего три цифры: 1, 2, 3. Тогда, если проценты выпадения этих цифр составляют 1 — 20, 2 — 52, 3 — 28, то в среднем из 100 запусков цифра 1 выпадет 20 раз, цифра 2 — 52, а цифра 3 — 28 раза. Задание. Требуется восстановить эти значения так, что- бы клиенты выигрывали максимально часто, но при этом владельцы аппарата не оставались в убытке. INPUT.TXT Входной файл содержит целые положитель- ные числа: К, М и проценты выпадения цифр 1-------8 Pi, Р2, Р3, Р4, Р5» Рб> Р7» Ре соответственно. OUTPUT.TXT Выходной файл должен содержать два це- лых числа — проценты выпадения цифр 0 и 9: Pg, Pg соответственно. Если задача не имеет решения, то в вы- ходном файле вместо процентов должны стоять нули: 0, 0. - 125-
Санкт-Петербургские олимпиады по кибернетике ПРИМЕР. Входной файл: 1 1 10 10 10 10 10 10 10 10 Выходной файл: 10 10 (С. В. Арановский) БРОНЕПОЕЗД Шериф и бандит скачут навстречу друг другу вдоль же- лезнодорожных путей. Между ними навстречу бандиту идет бронепоезд, вагоны которого заслоняют всадников друг от друга. Скорости поезда, шерифа и бандита равны U м/с. Ше- риф, заметив бандита, стреляет без промаха через t секунд. Дополнительные данные. Примечание: скорость пули равна 450 м/с. Задание. Каково максимальное время реакции шерифа t, достаточное для поражения преступника, если ширина ва- гонов и расстояние от вагонов до всадников равны по L м., а расстояние между вагонами равно I м. INPUT.TXT Входной файл содержит три вещественных числа: U, L,l. OUTPUT.TXT Выходной файл должен содержать вещественное число t, с точностью до двух знаков после запятой. - 126-
ftatatiausiiilk Глава II. Задачи ПРИМЕР. Входной файл: 5.0 3.0 1.0 Выходной файл: 0.13 (Ю. Е. Зайцев)
Санкт-Петербургские олимпиады по кибернетике Глава III. Решения 3.1. Решения задач 1999 г. РАВНОВЕСИЕ Итак, с одной стороны к барабану приложена сила т^, длина плеча равна п. С другой стороны действует сила FT и плечо — г2. Требуется определить значение ть при котором система будет находиться в равновесии. Запишем уравнение равновесия: т\дт\ = FTr2. Отсюда получим mi = Fr^/gri. Информация об атмосферном давлении и массе m2 пред- назначается только тем, у кого возникают определенные трудности при решении подобных задач. Ниже приведен полный текст программы, вычисляющей искомое значение: #include <stdio.h> #define g 9.2 float ml, m2, rl, r2, ftr; int mainO { - 128-
Глава IIL Решения FILE *fl, *f2; fl = fopen("input.txt”, "rt"); f scant (fl, "7.f7.f7.f7,f", &m2, ferl, &r2, feftr); fclose(f1); ml = ftr*r2/(rl*g); f2 = fopen("output.txt", "wt"); fprintf(f2, "7.10.2f", ml); fclose(f2): return 0; ПОСЛЕДОВАТЕЛЬНОСТЬ Приведенные фрагменты програмы могут вызвать со- блазн использовать их в своей программе. Этого категориче- ски не следует делать, чтобы избежать неприятностей вроде бесконечного цикла и выхода за пределы массива (на олим- пиаде такая беда приключилась с несколькими командами). Итак, заданы следующие рекуррентные соотношения: •Е»+1 = “Ь yii ?/»+! Уъ 0, 1,2, •••), ЖО И 3/0 — известны. Также известны финальные значения Xf и yf, которых надо достичь. Требуется найти такую последовательность и0, щ, и2,..., которая позволит достичь финальных значений за мини- мальное число шагов. Возникает резонный вопрос: а как много шагов может нам понадобиться? Ответ на него мы скоро узнаем. - 129-
Санкт-Петербургские олимпиады, по кибернетике Сначала выясним, возможно ли достичь результата за один шаг. Предположим, что возможно. Тогда для первого шага приведенные выше уравнения будут выглядеть так: Xf = ^о 4" У(ъ yf = xQ-y0 + щ. Нетрудно видеть, что результат может быть достигнут за один шаг, если выполняется условие Xf = х0 4- 2/0 • При этом надо выбрать uq = уf — (а?о — 2/о) • Теперь выпишем уравнения, считая, что финальные зна- чения достигаются за два шага: Ж1 = То + 2/о, 2/1 = - у0 + и0, х/ = Х\ + 2/1, yf = xi - 2/1 + Ui. Выполним подстановку... xf = (х0 + 2/оJ + (т0 - 2/о + ио) - 2х0 + u0, yf = (жо + 2/о) ~ («о - Уо + w0) + Щ = 22/0 - Щ + Ui. Отсюда следует, что w0 = Xf - 2т0, wt = 2// ~ 22/0 + wo = Xf + yf - 2(т0 + 2/o), т.е. финальные значения достигаются не более чем за два шага. Ниже приведен полный текст программы для этой задачи: #include <stdio.h> int х[3], у[3], u[2]; — 130-
Глава III. Решения ^atattaus,^. int xf, yf, dl, d2; int mainO { FILE *fl, *f2; fl = fopen("input.txt", "rt")j fscanf(fl, "7.d7.d7.d7.d", &x[0], fexf, &y[0], &yf); fclose(fl); f2 = fopen("output.txt", "wt"); dl = xf - (x[0] + y[0]); d2 = yf - (x[0] - y[0]); if ( dl != 0 ) { u[0] = xf - 2 ♦ x[0] ; u[l] = xf + yf - 2 ♦ (x[0] + y[0]); fprintf(f2, "7.d 7,d", u[0] , u[l]); } else { u[0] = d2; fprintf(f2, "%d", u[0]); fclose(f2); return 0;
Санкт-Петербургские олимпиады по кибернетике ЛЕГЕНДА Условия задачи не так сложны, как может показаться при первом прочтении. Соскоблив сюжетную “шелуху”, можно обнаружить такую постановку: для заданного целого N (от 2 до 100) требуется найти сумму К положительных нечет- ных чисел, где К = 2N — 1; т.е. S = 14-34-5 + ... (всего К слагаемых). Решение “в лоб”. 1) возвести 2 в степень 7V, 2) вычесть единицу, 3) в цикле до К складывать нечетные числа. Недостатки: 1) при больших значениях N стандартные типы данных (ни целые, ни вещественные) неспособны вместить результат; 2) цикл суммирования будет выполняться невообразимо дол- го (компьютер считает быстро, но не до такой же степени!). Хорошее решение. Сумма представляет собой арифметическую прогрессию, которая сворачивается в более красивую форму: S — К2. Окончательная формула: S = (2N — I)2. Для работы с большими числами лучше всего предста- вить их с помощью массивов, в которых каждый элемент хранит один десятичный разряд. Для нахождения результата нам потребуется реализовать Следующие операции с длинными числами: 1) сложение двух длинных чисел, 2) умножение длинного числа на скаляр, 3) умножение двух длинных чисел (выполняется с использо- ванием двух предыдущих операций), 4) вычитание единицы из длинного числа. - 132-
Глава III. Решения Наилучшее решение. Воспользуемся тем, что число К, которое нужно возвести в квадрат, не произвольно, а имеет вполне определенный вид. Для начала вспомним некоторые свойства. Двоичное пред- ставление числа 2м содержит единицу в разряде с номером М и ноль в младших разрядах (с 0 по М — 1). Число 2м — 1 содержит 1 в разрядах с 0 по М — 1 (всего М единиц). Перепишем результирующую формулу в виде S = (2N - I)2 = А - В + 1, где A 22N - 1, В = 2 • 2N - 1 - 2n+1 - Г. Двоичное представление числа А — это 2N единиц, числа В — N 4-1 единица. Их разность содержит единицы в разря- дах с номерами с N 4-1 по 2N — 1. Прибавление 1 изменяет только нулевой разряд. Окончательно число S состоит (слева от старших разря- дов) из N — 1 единицы, N нулей и одной единицы. Итак, зная число А, мы можем СРАЗУ сказать, как будет выглядеть результат в двоичном представлении. Пример (N = 3): 23 - 1 = 0000111, (23 - 1)2=0110001. Осталось только перевести результат в десятичное пред- ставление. Для этого найдем последовательно степени двой- ки с нулевой по 2N — 1 и степени с N 4-1 по 2N — 1, сложим между собой, не забыв прибавить еще единицу. Нам потребуются следующие операции: 1) умножение длинного числа на 2; 2) сложение нескольких длинных чисел (прибавление допол- нительной единицы можно реализовать здесь же, имитируя перенос единицы в нулевой разряд). - 133-
Санкт-Петербургские олимпиады по кибернетике Ниже приведен листинг программы, в которой реализо- ван описанный алгоритм. #include <stdio.h> #define maxN 100 #define maxL l+(int)2*maxN/3 char M[2*maxN][maxL]; int N,L,K,s,p,v; char R[maxL]; int main(){ int i,j; FILE *fl,*f2; fl=fopen("input.txt","rt"); fscanf(fl,"%d",&N); fclose(fl); K=2*N; L=l+2*‘N/3; // Заполняем массив M[i][] строками, // содержащими поразрядное десятичное // представление i-й степени двойки M[O][L-1]=1; for (i=l; i<K; i++){ // p - перенос при умножении P=Q; // число в i-й строке получаем умножением // на 2 числа в предыдущей строке, // двигаясь справа налево for (j=L-l; j>=0; j—){ v=2*M[i-l][j]+p; M[i] [j]=v7,10; p=v/10; - 134-
Глава III. Решения 4\alaHausiSi‘ } // К результату добавляется единица (2~0) р=1; // Складываем К-1 старших степеней двойки // и результат заносим в R for (j=L-l; j>=0; j—){ s=p; for (i=N+l; i<=(2*N-l); i++) s+=M[i] [j] ; R[j]=s7.1O; p=s/10; f2=fopen("output.txt","wt"); j=0; while (R[j]==O) j++; for ( ; j<L; j++){ fprintf (f 2, "7.d", (int)R[j] ) ; fclose(f2); return 0;
Санкт-Петербургские олимпиады по кибернетике 3.2. Решения задач 2000 г. ШИФР Условия задачи снабжены сразу двумя эпиграфами, при- званными внушить решающему уверенность в собственных силах. Однако не следует пытаться воспроизвести действия героев упомянутых рассказов. Шифры “Золотого жука” и “Пляшущих человечков” — это шифры типа “простая заме- на”. В них каждая буква исходного текста заменяется другой буквой, причем соответствие букв является однозначным и не зависит от положения буквы в тексте. Вот пример такого шифра: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧПЕДЪЫЬЭЮЯ ЗФПГГКЯЖИХЧЫДЮЁОЩЪЭУВНЙЛГЦАСЕБМЬРП Буква А во всем тексте заменяется на 3, Б на Ф и т.д. Очевидно, что в нашем случае такая схема не работает. Зато у нас есть подсказка, благодаря которой задача значи- тельно упрощается. Заметим, что расстояния (в алфавитном порядке) между буквами исходного и зашифрованного тек- ста зачастую достаточно малы. Также отметим, что регистр букв имеет значение при преобразовании. Для удобства вы- пишем все буквы алфавита и пронумеруем их. абвгд«(*в>1жлжвопрстуфхцчкцъм»>в* 1 2 3 4 Б в 7 8 8 10 11 12 13 14 16 16 17 18 18 20 21 22 23 24 2Б 28 27 28 29 30 31 32 33 *БвгдвёжзийклииопрстУ8хцч1цъньэаа 34 ЗБ 38 37 38 38 40 41 42 43 44 4Б 46 47 48 48 60 61 62 62 64 66 66 67 68 69 60 61 62 63 64 66 88 Определив расстояния между буквами исходного и за- шифрованного текста, заметим, что их значения повторяют- ся с длиной периода 4. Логично будет предположить, что, если при добавлении смещения к номеру получившееся зна- чение превышает общее количество букв, номер приводит- ся по соответствующему модулю (т.е. выполняется переход - 136-
ftatdilau^k Решения Глава III. к началу цепочки букв). Заменим числа на буквы с соответ- ствующими порядковыми номерами: И в Щ Ф X т п н б п о Ж к Ф ё Ц т Ф 3 а ш и ф Р о в а н н ы й т е к с т 1 2 1 12 1 2 1 12 1 2 1 12 1 2 1 12 1 2 а б а к а б а к а б а к а б а к а б Мы получили слово, являющееся ключом шифра — "абак". Это название вычислительного приспособления древ- них греков. Запишем буквы ключа под буквами зашифрован- ного текста: Гр гэёо нщё чпГёфтК еркюй аб акаб ака бакабак абака Ёп эбопх тхуф. ба кабак абак и т.д... ...и восстановим начало известного стихотворения Б. Л. Па- стернака: Во всем мне хочется дойти До самой сути. В работе, в поисках пути, В сердечной смуте. До сущности протекших дней, До их причины, До основанья, до корней, До сердцевины. - 137-
Санкт-Петербургские олимпиады по кибернетике Если бы авторы не привели пример, пришлось бы затра- тить больше усилий, но, анализируя имеющиеся данные и выдвигая предположения, справиться с задачей было бы воз- можно. В частности, с самого начала можно было догадаться, что зашифрованный текст — стихотворение. Приведенный шифр называют шифром Виженера.
^aiattausi^i Глава HI. Решения 3.3. Решения задач 2002 г. СКУЧАЮЩИЙ АВТОПИЛОТ Возможно, некоторых сбили с толку “астрономические” масштабы сюжета, хотя авторы и упоминают о слабых ум- ственных способностях автопилота и сделанных им предпо- ложениях. Надо понять, что, хотя скорость пакетов известна (это скорость света), она для решения задачи не имеет прин- ципиального значения. Для удобства предлагаем спуститься на землю и заменить космический корабль вместе с автопило- том пешеходом, идущим вдоль трамвайных путей, а инфор- мационные пакеты — трамваями, движущимися в обоих на- правлениях. Именно в такой постановке эта задача приведена в книге “Занимательная алгебра” Я. И. Перельмана. Интере- сующимся рекомендуем ознакомиться с предложенным там решением, здесь же приведем собственные рассуждения. Сначала относительно трамваев, которые обгоняют пе- шехода. Представим себе, что трамвайные пути достаточно длинные и на них находится несколько трамваев, вышед- ших из парка в разное время. Скорость их постоянна, интер- вал отправления постоянен, следовательно, расстояние меж- ду соседними трамваями (обозначим его через L) также по- стоянно. Пусть скорость трамвая — Vy, скорость пешехода — Vp (они неизвестны, но это нас пока не должно беспокоить). Очевидно, что L = Vyn. Представим теперь момент, в ко- торый один из трамваев нагнал пешехода. Следующий за ним трамвай находится сзади на расстоянии L. Если бы пешеход был неподвижен, этот трамвай поравнялся бы с ним через п минут. Но они встретятся только через минут, поскольку за это время пешеход успеет пройти расстояние Ri = Vpmi. - 139-
Санкт-Петербургские олимпиады по кибернетике Трамвай за mi минут проедет расстояние — L + Ri. Подставив записанные ранее выражения, получим: Vrmi = Урп + Vpirii. Поделим обе части этого равенства на Vt'. mi = n + Kmit здесь К = Vp/Vt. Выразим К: К = (?711 — п)/?П1. Выполнив аналогичные выкладки для встречных трамва- ев, получим: К ~(п — m2)/m2. Приравняем правые части обоих выражений и выразим п: п = (27ni77i2)/(mi + m2). При составлении программы следует помнить, что ttii и т2 — вещественные (и могли быть заданы с некоторой по- грешностью), а п должно быть целым. Наиболее надежный выход — округлить результат до ближайшего целого: п := roundfimimv/(mi + 7п2)); - 140-
Глава III. Решения АННА ПЕТРОВНА И СЛОЖНЫЕ ПРОЦЕНТЫ “Сложные проценты” оказались не такими уж сложными, но все-таки посмотрим, как можно решать эту задачу. Нач- нем с примера. Пусть процентная ставка равна Р = 1. Это значит, что через год будет начислен доход в 1% (0.01) от исходной суммы (Di = S • 0.01). Общая сумма при этом со- ставит 5i = 5+J91 = 5(1+0.01). Для произвольного значения процентной ставки это выражение примет вид: 51 = 5(1 + Р/100). Через два года сумма будет такой: s2 = S1(1 + Р/100) = S(1 + Р/100)2. Через N лет наберется сумма SN = S(1 + P/100)N. Выделим в этой сумме значение дохода D: 5 + Z)-5(l + P/100)7V, преобразуем: D/S+l = (1 +Р/100)*, Р = 100((Р/5 + 1)1/*-1). Результат в соответствии с условием следует округлить до ближайшего целого. Здесь мы сталкиваемся с маленькой про- блемой: в Паскале нет функции для возведения в произволь- ную степень (или извлечения корня произвольной степени). - 141-
Санкт-Петербургские олимпиады по кибернетике Но это поправимо, поскольку есть функция вычисления экс- поненты (возведения в заданную степень числа ё — 2.718...) и есть функция для вычисления натурального логарифма. Если надо возвести некоторое число X в степень V, следует сделать замену: X — е1п(х\ Тогда Xv — ev/nW; Если теперь нагромоздить все это в одно выражение, по- лучится такой фрагмент программы: Р := round{^exp{J,n(p jS + 1)/N) — 1) • 100); Есть и другие способы решения этой задачи (хотя и бо- лее длинные). Например, поскольку процентная ставка по условию является целым числом и не превышает 30, мож- но подобрать ее значение, перебирая целые числа, вычисляя для них доход и сравнивая его с заданным значением дохо- да. При этом удается обойтись без “хитрых” математических функций: For Р := 1 То 30 Do Begin mult := 1 + 0.01 * Р; К := 1; For i := 1 То N Do К := К ♦ mult; К := К - 1; DN := S * К; If ( Abs(DN-D) < Epsilon ) Then Break; End; Была также зафиксирована одна успешная попытка ис- пользовать вместо подбора процентной ставки ее дихотоми- ческий поиск (методом половинного деления). - 142-
^latattausi^i Глава III. Решения КРИПТОАНАЛИЗ У самых опытных из участников эта задача не вызвала больших затруднений. Но каждая из полностью решивших ее команд предложила собственное решение. В условии за- дачи приведена функция для шифрования. Не повезло то- му, кто решил включить ее в свою программу без изменений. Функция содержит цикл, в котором N (шифруемое число) К раз складывается с накопителем по модулю М. Значение К может почти достигать значения М (максимально — 1023), а количество чисел для расшифровки во входном файле может достигать 400000. Если перемножить два числа, то получится достаточно много. В общем, в отведенные 10 с на компьюте- ре с частотой 1.6 ГГц при некоторых наборах данных такая программа не уложится. Если взгянуть повнимательнее на функцию encode, мож- но догадаться, что она выполняет модульное умножение. Цикл суммирования пп := 0; For i:=l То k Do пп := ( пп + п ) Mod М; encode := пп; можно заменить на: encode := ( п * к ) Mod М; При этом было использовано свойство (... ((ai + а2) ModМ) 4-... 4- щ) ModМ = — (®1 4~ 4~ • • • 4~ Ofc) Mod Му - 143-
Санкт-Петербургские олимпиады по кибернетике которое можно легко проверить. При сложении набора чисел операцию приведения по модулю не обязательно применять после каждого суммирования. Можно сначала найти всю сум- му^ затем привести по модулю полученное значение — ре- зультат будет тот же. Пусть Р — исходное число, которое надо зашифровать, — шифрующий ключ, К2 — ключ для расшифровки, V — зашифрованное число. Тогда операция шифрования V = (PKi)ModM. Обратное действие: Р = (V * К2) Mod М =((P*Kl)ModM*K2)ModM = = (P*Ki*K2)ModM. Из этого равенства следует, что ключ К2 должен удовлетво- рять следующему условию: (Ki*K2)ModM = 1. Самый простой в реализации алгоритм — это перебор чисел- кандидатов с проверкой указанного условия. Достаточно провести поиск среди чисел, не превосходящих значения мо- дуля — дальше начинается повтор (нетрудно видеть, что, на- пример, значение К2 + М также годится для расшифровки): For k2:=l То М-1 Do If (( kl*k2 ) Mod M) == 1 Then break; Теперь, когда ключ найден, осталось только расшифро- вать данные: - 144-
Глава III. Решения For i:=l To n Do Begin Прочитать( V ); P := (V ♦ K2) Mod M; Записать( P ); End; Вот, собственно, и вся программа. Впрочем, только одна команда (из решивших задачу пол- ностыд) использовала приведенный алгоритм. Другая коман- да сократила среднее время поиска ключа (на самом деле, это практически не повлияло на время работы программы в це- лом), отказавшись от перебора. Как? Можно воспользовать- ся уже известной нам формулой, чтобы получить уравнение в целых числах и без операции приведения по модулю: (Ki * К2) ModM = 1 Ki * К2 = = L * М + 1 —> Ki * К2 — L * М = 1, здесь L — некоторое целое число. Для решения этого урав- нения используется обобщенный алгоритм Евклида. Как оказалось сам ключ искать необязательно. Одна из команд обратила внимание на следующие свойства: этот шифр является подстановочным, т.е. каждое из шифруемых чисел заменяется на другое; диапазон возможных значений достаточно мал (число должно быть меньше значения М). Следовательно, можно действовать так: составить таблицу пар чисел (Р^, И), шифруя все числа от 0 до М — 1; отсор- тировать эту таблицу по возрастанию элементов при рас- шифровке использовать входное значение в качестве индекса в таблице пар; из пары, стоящей на соответствующем ме- сте, значение Pi считать результатом расшифровки. Можно - 145-
Санкт-Петербургские олимпиады по кибернетике обойтись без сортировки, если строить таблицу, сразу упоря- доченной по Vi. Еще один,более трудоёмкий способ — “взла- мывать” код для каждого значения заново. Для этого можно воспользоваться уже знакомой формулой: V = (Р * Кг) ModM ->P*KX = V + J*M, где J — некоторое целое число. Надо для каждого И подби- рать такое J, чтобы правая часть этого выражения делилась нацело (без остатка) на Ki. Тогда частное и будет искомым числом Рс P=(V + J*M)/K1. Читателю предлагается самостоятельно оценить трудоем- кость приведенных здесь решений. КВАДРАТЫ Приведем сначала алгоритм, который прост в реализа- ции, но не всегда дает правильный ответ (впрочем, на олим- пиаде такого решения для этой задачи было достаточно). Возьмем прямоугольный листок бумаги в клеточку и ножни- цы (можно мысленно). Действительно, если разрезать листок по каждой из линий, получим максимально возможное коли- чество квадратов — А * В (столько, сколько всего клеточек в прямоугольнике). Квадраты получились маленькие. Если квадраты будут покрупнее, то их количество будет меньше. Пожалуй, стоит резать так, чтобы размеры квадратов были как можно больше. Как это сделать? Предлагается сначала отрезать от ис- ходного прямоуольника самый большой квадрат, какой толь- ко возможен. Очевидно, что сторона этого квадрата равна - 146-
^atattaus,^ Глава III. Решения Пусть, например, А > В. Отрежем этот квадрат и отложим в сторону. Теперь у нас остался прямоугольник со сторонами (А — В) и В. Поступим с ним так же — отре- жем от него наибольший квадрат. Резать надо до тех пор, пока оставшийся прямоугольник не окажется квадратом. Ес- ли А = В, значит пора остановиться. Требуется подсчитать, сколько квадратов у нас получилось при этих манипуляциях. Получается вот такой цикл: ent := 1; {Меньше одного квадрата не может быть!} While а <> b Do Begin If а > b Then a := a-b Else b := b-a; ent : = ent + 1; End; По завершении цикла переменная ent содержит искомое число. Можно заметить, что этот цикл реализует (попутно) алгоритм Евклида для нахождения наибольшего общего де- лителя чисел А и В. Можно попытаться сократить временные затраты (хотя в нашем случае нет такой необходимости), используя вместо вычитания целочисленное деление: ent := 1; While а <> b Do If а > b Then Begin ent := ent + (a Div b); a := a Mod b; End - 147-
Санкт-Петербургские олимпиады по кибернетике Else Begin ent := ent + (b Div a); b := b Mod a; End; Приведенный выше алгоритм использует “жадную” стра- тегию, однако жадность иногда мешает достичь желаемого результата. В частности, для прямоугольника 5x6 решение не оптимально. Этот контрпример привел Г.Н. Гутман, он же предложил идею — решать задачу методом динамического программирования. Предположим, мы уже решили задачу для всех полосок, более узких, чем наша. Тогда разбивая исходную полоску на две разными способами и складывая результаты для каждой из них, получаем набор решений, среди которых выбераем лучшее. Рассмотрим возможную реализацию этого алгоритма: для получения ответа на основной вопрос — каково мини- мальное количество квадратов в прямоугольнике размера т х п — следует сначала найти ответы на промежуточные вопросы о прямоугольниках меньшего размера: R»n,n ~ Rm,n—ljRm,2 + Пт,п-2у • • • • • • Rm,n—1 + Rm,l) Rl,n + Rm-1 ,п> ^2,п Rm—2,nj • * • • • • Rjn—l,n 4" Rl,n}- Будем искать решения с помощью таблицы (на примере 5 х 6 — прямоугольника). Значение таблицы в ячейке с индек- сами (г, j) показывает каково минимальное число квадратов для прямоугольника размера i х j. При этом значения эле- ментов первого столбца, первой строки и главной диагонали - 148-
^ataHaus,^. Глава III. Решения 1 2 3 4 5 6 2 1 таблицы очевидны. 3 1 4 1 5 1 Для заполнения (i,j) ячейки таблицы требуется просмот- реть значения элементов г-й строки с 1-го до j — 1-го и j-ro столбца с 1-го до г—1-го. (Аналогичную таблицу можно соста- вить и на основе приведенного ранее алгоритма; тогда будет видно, что предыдущий алгоритм для каждой заполняемой ячейки проверяет или только строку, или только столбец.) После заполнения таблица будет выглядеть так: 1 2 3 4 5 6 2 1 3 2 4 3 3 3 1 4 4 2 4 2 4 1 5 3 5 4 4 5 1 5 Таблица решений обладает симметрией относительно главной диагонали, что позволяет сократить число выпол- няемых при ее заполнении операций. В правом нижнем углу таблицы помещено искомое значение.
Санкт-Петербургские олимпиады по кибернетике ВОЛК В ЛОВУШКЕ ОТВЕТ: Vd > у/а2 + Ь2 Vw ~~ min{a,b} (1) Необходимость. Для определенности пусть а < Ь. До- пустим, что неравенство (1) неверно, т.е. vd + & Vw< а (2) Тогда волк уходит, двигаясь с максимальной скоростью по отрезку, перпендикулярному диагонали прямоугольника (см рисунок). Действительно, исходя из подобия треугольников нахо- дим имеющие отношение к делу расстояния. - 150-
^atallausiii!. Глава III. Решения Здесь с = d = е = 2®®, / = 2®, . Ь2—а2 Следовательно, волк добирается до границы поля за вре- мя а\/а2 4- Ь2 tw = 2bVw ’ - 151-
Санкт-Петербургские олимпиады по кибернетике Собака 1 способна достичь точки пересечения волком гра- ницы поля за время 1 а2 + Ь2 d- 2bVd ' Из неравенства (2) легко следует, что собака 1 опаздыва- ет на перехват волка > tw. Отсюда также вытекает, что остальные собаки тоже не успеют перехватить волка, если побегут по часовой стрелке. Не исключено, что в требуемую точку успевает собака 2. Однако ее одной недостаточно. По- этому даже в этом случае перехват возможен только, если в эту точку успевает собака 3, двигаясь кратчайшим путем: сначала по короткой стороне поля и затем налево. Для этого ей требуется время Однако из (2) с учетом неравенства b > а следует что > tw, т.е. собака 3 на перехват не успевает. Таким образом, если неравенство (1) нарушается, то волк уходит. Значит (1) — необходимое условие того, что собаки не дают волку уйти. Достаточность. Пусть (1) выполнено. Две прямые ли- нии, параллельные диагоналям прямоугольника и проходя- щие через текущую позицию волка, пересекают границу поля в четырех точках. С приближением волка к границе как минимум две из этих четырех точек слипаются в одну. Отсюда следует, что собакам достаточно все время находиться на указанных пе- ресечениях и волк не уйдет. Это, однако, возможно только, если скорости, с которыми перемещаются точки пересечения, - 152-
Глава III. Решения не превышают максимальной скорости собаки Уд. Справедли- вость данного условия как раз и гарантирует неравенство (1). Убедимся в этом. Скорости, с которыми перемещаются точки пересечения, определяются величиной и направлением скорости волка. Очевидно, что проекция его скорости на саму перемещае- мую прямую роли не играет: важна только составляющая, перпендикулярная этой прямой. Поэтому точки пересечения движутся с максимальными скоростями, когда волк с максимальной скоростью Vw дви- жется перпендикулярно перемещаемой прямой. Допустим, что он таким образом движется из центра поля до его края (см. второй рисунок). Тогда за одно и то же время волк и точ- ка пересечения пунктирной линии с “верхней” границей поля перемещяются на расстояния е = ах/2ь+Ь2 и f — **2Ь~ соот" ветственно. Отсюда легко находим максимально возможную - 153-
Санкт-Петербургские олимпиады по кибернетике скорость перемещения указанной точки пересечения: л/а2 + Ь2 *w а Легко убедиться, что при рассмотренном движении точ- ка пересечения пунктирной линии с “правой” границей по- ля смещается на расстояние а^а2^Ь • Отсюда находим макси- мально возможную скорость перемещения этой точки: _ v а2 + Ь2 Vy~ Ь Для “левой” и “нижней” границ поля скорости те же. В итоге убеждаемся: неравенство (1) действительно гарантирует, что скорости, с которыми перемещаются точки пересечения, не превышают максимальной скорости собаки Vj. Это, как уже отмечалось, завершает доказательство. - 154-
yatallaus^ Глава III. Решения КОЛЕСО Представим сначала, что сила тяжести отсутствует. В мо- мент отрыва капли двигаются по касательной к окружности со скоростью, равной произведению угловой скорости коле- са на его радиус. В отсутствие силы тяжести капли продол- жат свое движение с теми же направлением и скоростью. Рассмотрим все капли, оторвавшиеся от колеса в некоторый определенный момент времени. Все они находятся на окруж- ности с радиусом г (2), который со временем увеличивается (см. рисунок). Радиус определяется следующим выражени- ем: r(t)2 = R2 + (Vt)2. При этом уравнение окружности выглядит так: x2 + (y-H)2 = r(t)2. Теперь пора вспомнить про силу тяжести. Под ее действи- - 155-
Санкт-Петербургские олимпиады по кибернетике ем окружность падает вниз с ускорением*#. Внесем поправки в уравнение окружности: х2 + (у - Н + #t2/2)2 = г(02- Падая, капли окружности достигают пола (у — 0) в раз- ные моменты времени. Координата х точки падения капли будет определяться выражением х2 = r(t)2 - (#t2/2 - Я)2 = R2 + (Vt)2 - (#t2/2 - Я)2. Нас интересуют капли, наиболее удалившиеся от колеса вдоль оси X. Для решения этой задачи, глядя на приведен- ное выше уравнение, сформулируем вопрос следующим об- разом: капли, достигшие пола, в КАКОЙ момент времени t улетят на максимальное расстояние? Чтобы получить ответ, следует найти экстремум приведенной функции. Продиффе- ренцируем х2 по t2 (так удобнее) и приравняем полученное выражение нулю. Выразим отсюда t2 t2 = 2(V2+gH)/g2 и подставим его в исходное уравнение: х2 = R2 + V'/g1 + 2V2H/g. Искомая ширина мокрого участка равна удвоенному квад- ратному корню из этого выражения. К сожалению, ни одна из команд не смогла решить задачу точно таким способом, хотя некоторые были очень близки к этому. Наиболее же удачное решение (полностью прошедшее все тесты) заключалось в переборе с достаточно мелким ша- гом всевозможных парабол (траекторий движения капель) и выборе из них тех, которые дают максимальную дальность. А, собственно, почему бы и нет... - 156-
Глава III. Решения 3.4. Решения задач 2003 г. ИГРЫ РАЗУМА Ответ: емкость канала с > Необходимость. Допустим, что цель достижима. Други- ми словами, существуют алгоритм кодирования информации и алгоритм управления, для которых состояние становится сколь угодно маленьким, если подождать достаточно долго. Данное свойство имеет место для всех начальных состояний |х(0)| < Д. По условиям задачи последовательность управлений U — {гг(О), гг(1),..., tz(J)} полностью определяется последователь- ностью сообщений Z = {z(0), z(l), • •, z(j)}, переданных че- рез канал связи к моменту t = jT. Каждый член z(i) этой последовательности может принимать 2е различных значе- ний. Поэтому имеется только (2c)j+1 = 2^+1^с вариантов по- следовательности Z. Следовательно, если мы переберем все допустимые начальные состояния т(0), нам встретится не бо- лее 2^+1^с вариантов последовательности управлений U. Это означает, что начальные состояния разобьются на N < 2^+1^с групп: в пределах одной группы последовательность управ- лений общая. Тогда по крайней мере в одной группе найдутся два начальных состояния, отстоящие друг от друга на рас- стоянии не меньше 2Д2“^+1)<\ Действительно, иначе каждая группа накрывалась бы интервалом длины < 2Д2~^+1)С, не содержащим как минимум одной из своих крайних точек. Так как в совокупности группы покрывают весь отрезок [—Д, Д], то N < 2^+1^с упомянутых интервалов также должны по- крыть этот отрезок, что очевидно невозможно. Итак, мы убедились, что существует два начальных состо- - 157-
Санкт-Петербургские олимпиады по кибернетике яния |ж? — т2| > 2Д2_^Ч1)С, которым соответствует одна и та же последовательность управлений U = {«(0), и(1),., u(j)} до момента t = jT. Из этих двух состояний начинают- ся две траектории: ж? -4- яДО), a?i(l),..., ®i(j) и х% —> ж2(0), ж2(1), • • •, x2(j). Убедимся, что - х2(«)1 > 2Д|а|‘2-у+1)с (1) для г = 1,2,..., j. Рассуждаем по индукции. Для i = 0 нера- венство очевидно. Допустим ,что оно верно для некоторого i < j. Тогда |ti(г 4- 1) — х2(г 4- 1)| = |аж!(г) 4- bu(i) — ax2(i) — Ы(г)| = = lalluG) - x2(i)| > 2&|a|i+12~«+1>c, что доказывает индукционный переход. Итак, (1) верно для всех г = 1,2,..., j. При г = j неравенство (1) принимает вид к.О) - М>)1 > 22~<Д|^2^ = 22~СД I U . (2) \ 2е / Однако здесь каждое из состояний, а значит, и их разность можно сделать сколь угодно малыми, если взять j достаточно большим. Соответственно, член геометрической прогрессии в правой части (2) также сколь угодно мал для больших j. Значит, знаменатель этой прогрессии меньше единицы: откуда вытекает требуемое неравенство с > log2 |а|. Достаточность. Пусть с > log2 |а|. Требуется построить алгоритмы (системы) кодирования и управления, обеспечи- вающие цель управления. - 158-
ftaltfflausiffk Глава III. Решения Система управления, которую мы построим, будет выра- батывать не только управление it(ji), но и оценку A(j) теку- щего состояния < A(j). Эта оценка не имеет самостоя- тельного значения и нужна только для производства u(j}. Заметим, что действия любой системы управления пол- ностью определены ее алгоритмом и сообщениями, посылае- мыми системой кодирования через канал связи. Это означа- ет, что система кодирования имеет возможность продублиро- вать действия системы управления. Более того, так как пере- дача сообщения требует Т единиц времени, система кодиро- вания может даже предвосхитить действия системы управле- ния: вычислить управление u(j) и оценку A(j) на такте j — 1 (в момент t = (j — 1)Т). Система кодирования, которую мы построим, будет производить такое дублирование. Оценку будем рассчитывать по очень простому правилу. В качестве начального значения Д(0) принимаем известную верхнюю границу абсолютной величины начального состоя- ния (см. уточнение вопроса из условий задачи). На первом шаге оценку увеличиваем Д(1) = |а| Д(0), а затем последовательно уменьшаем (здесь уместно вспом- нить, что с > log2 |а| и поэтому 2е > |а|) Д(г + 1) = Уд(г), г = 1,2,... 2е (3) За исключением г = 0, пока совершенно неясно, будут ли по- строенные таким образом величины на самом деле оценивать состояние. После того как системы кодирования и управле- ния будут полностью построены, мы увидим, что ответ утвер- дительный. - 159-
Санкт-Петербургские олимпиады по кибернетике Так как в начальный момент t = 0 <=> j = 0 система управления не успевает получить ни одного сообщения, труд- но предложить какой-либо разумный выбор управления и(0). Но поскольку какое-то управление все таки выбрать надо, возьмем для определенности и(0) =0. Тогда ж(1) = ая(0), |х(1)| < |а||х(0)| < |а|Д = |а|Д(0) = Д(1), т.е. оценка Д(1), как и Д(0), верна. Рассмотрим систему кодирования, которая на каждом такте j = 0,1,... выполняет следующие действия: • делит интервал [—A(j+1), A(j+1)] на 2е подынтервалов равной длины 22 cA(j + 1); • находит подынтервал, содержащий прогноз состояния на один такт вперед, который находится по формуле x(j + 1) = ax(j) + bu(j)] • передает через канал связи номер этого подынтервала, предварительно закодированный в бинарной форме, т.е. в виде цепочки z(j) из с нулей и единиц, (так как число подынтервалов равно числу цепочек, такое кодирова- ние, причем взаимно однозначное, возможно); • вычисляет следующее значение оценки A(j + 2) и, дублируя действия системы управления (см. далее), - управление u(j + 1). Рассмотрим также систему управления, которая на каж- дом такте j — 1,2,... выполняет следующие действия: - 160-
Глава III. Решения • декодируя полученное сообщение z(j — 1), узнает ин- тервал длины 22~cA(j), содержащий текущее состояние ®(J); • находит центр xc(j) этого интервала и далее относится к нему, как к оценочному (т.е., возможно, неточному, но зато известному) значению текущего состояния; • генерирует управление, которое переводит систему из оценочного состояния xc(j) в нуль «СО = (4) • вычисляет следующее значение оценки A(j +1). Важное свойство предложенных алгоритмов состоит в том, что на любом такте j величина A(j) действительно яв- ляется оценкой текущего состояния < A(j). * Для j = 0,1 этот факт был установлен ранее. Допустим, что \x(j)| < A(j) для некоторого j > 1. Тогда, учитывая (4), имеем М + 1)1 = Mi) + Hi)l = = laIMJ)-zc0')|. Теперь следует вспомнить, что xc(j) — это центр интерва- ла длины 22'cA(j), содержащего состояние x(j). Поэтому |rr(j) — rrc(j)| < 2-cA(j) и, используя (3), получаем |®(j +1)1 < = Щз +1) 2е - 161-
Санкт-Петербургские олимпиады по кибернетике Таким образом рассуждая по индукции, мы установили спра- ведливость свойства (*). В то же время из (3) и (*) следует требуемое в условии за- дачи свойство: так как знаменатель геометрической прогрес- сии Д(1), Д(2),... меньше единицы, то член Д(^) прогрессии, а значит и оцениваемое им состояние t(j), становятся сколь угодно маленькими для больших j. - 162-
Глава III. Решения RalaHausiM!. 3.5. Решения задач 2004 г. ИДЕНТИФИКАЦИЯ Сообщением источника можно считать округленное сред- нее арифметическое сообщений приемника. Пусть помехи — целые числа —1 и +1; интуитивно должно быть ясно, что количество сообщений, у которых мы отняли 1, не должно сильно отличаться от количества тех, к кото- рым мы прибавили. Ведь шансы прибавить и отнять равны. Точно так же, как если бы вы бросали монетку: если бросать много, то число выпадений герба не сильно отличается от числа выпадений решки. Аналогичные рассуждения приме- нимы и для произвольного симметричного отрезка. Для любителей более строгих рассуждений сделаю сле- дующее замечание. В теории вероятностей (с которой можно познакомиться, например, по книжке А.Н.Ширяев “Вероят- ность”. М.: Наука, 1980) этот факт носит название закона больших чисел, из которого следует, что шансы ошибиться при таком ответе на вопрос стремятся к нулю при увеличе- нии количества передач сообщения источником. А поскольку 1024 — число очень большое по сравнению с максимальной величиной помехи — 5, то можно считать их равными нулю. - 163-
Санкт-Петербургские олимпиады по кибернетике БИОТЕХНОЛОГИЯ И КИБЕРНЕТИКА Стратегия существует тогда и только тогда, когда 4W ---- < Xr - XL- 2 — а Докажем сначала необходимость этого условия, а потом до- статочность. Необходимость. Предположим, что существует страте- гия управления, которая удерживает популяцию в требуемом коридоре для любых возмущений w(t),|w(t)| < W в ситу- ации, когда начальный размер популяции xl < ж(0) < xR неизвестен. Последнее означает, что стратегия должна удер- живать популяцию в требуемом интервале не только для лю- бых возмущений, но и любых начальных состояний из этого интервала [ж£, жд]. Возможно много вариантов развития со- бытий: каждый из них определяется конкретным начальным значением ж(0) из интервала [ж^, xr] и конкретной последова- тельностью возмущений w(t), |w(t)| < W. В каждом конкрет- ном варианте по ним однозначно определяются и все осталь- ные переменные ж(£), u(t), z(t), если конечно стратегия управ- ления выбрана. Стратегия, которую мы сейчас рассматрива- ем, характеризуется тем, что при любом варианте развития событий Xl x(t) < xr^ t 0,1,2,... Теперь подумаем, как "работает"стратегия управления. Напомним, что это алгоритм, который однозначно опреде- ляет текущее управление u(t) и "вопрос"z(t) на основании того, что известно к моменту их "производства". В любой момент нам известны a, W, Xl,xr. Этот тривиальный факт мы не будем явно отражать в дальнейших рассуждениях, - 164-
Глава III. Решения чтобы не загромождать их. Далее воспользуемся переменной £(t), которая принимает значение 1, если ответ на заданный в момент t вопрос утвердителен, и 0 — в противном случае. Для удобства £(t) далее будем называть просто ответом. В момент производства z(0) система управления (СУ) ничего, кроме a, W, xl, тд, не знает, а в моменты производства и(0) и z(l) она уже знает ответ £(0). В моменты производства и(1) и z(2) к этим сведениям добавляется ответ £(1), и т.д. Сле- довательно, стратегия управления работает так: z(0) — универсальная (для данной стратегии) константа; и(0) и z(l) <- однозначно определяются по £(0); и(1) и z(2) <— однозначно определяются по £(0), £(1); u(t) и z(t + 1) однозначно определяются по f(0), £( 1), ..., £(«); Таким образом, для заданной стратегии управления це- почка £(0), £(1), ..., £(t) однозначно определяет поведение СУ до момента t, а также вопрос z(t+1). Например, если нам кто-то сообщил, что в каком то из вариантов развития собы- тий первые четыре ответа были £(0) = 0, £(1) — 1, £(2) = 1, £(3) — 0, то мы даже не зная, что это за вариант (т.е. не зная ж(0) и w(i)), но зная стратегию управления, сможем сказать, какие применялись управления u(0), и(1), «(2), и(3) и какие задавались вопросы z(0), z(l), z(2), z(3), z(4). Однако узнать, каким было u(4) и z(5), мы уже не в состоянии. Очевидно, что произвольно выбранная цепочка ответов т/о, т/l, f]2t • • •, 'It (любое rji равно либо 0, либо 1), например цепочка 110010101001010010, совсем не обязательно реализу- - 165-
г Санкт-Петербургские олимпиады по кибернетике ется на практике f(0) = f(l) = хотя бы для одного возможного варианта развития событий. Ес- ли такой вариант все же существует, цепочку t/q, t)i, 7)2, • • , T]t назовем реализуемой, а любой порождающий ее вариант совместимым с этой цепочкой. Аналогично значение какой- либо из участвующих в задаче переменных, например, x(t) или u(t — 2), назовем — совместимым с цепочкой, если оно наблюдается для хотя бы одного совместимого варианта раз- вития событий. Для заданного t число реализуемых (как, впрочем, и чис- ло любых, т.е. необязательно реализуемых) цепочек конечно. А вот число всех возможных вариантов развития событий бесконечно. (Напомним, что вариант — это по существу ж(0) и последовательность возмущений w(t)). Поэтому неизбеж- но найдется реализуемая цепочка ответов заданной длины t, с которой совместимо бесконечно много вариантов разви- тия событий. Тогда, скорее всего будет и бесконечно много значений х переменной x{t), совместимых с этой цепочкой. Вспомним теперь, что мы рассматриваем стратегию управле- ния, удерживающую популяцию в требуемом коридоре неза- висимо от варианта развития событий. Значит, все совмести- мые с цепочкой значения х должны принадлежать интервалу Давайте теперь повнимательней присмотримся к множе- ству упомянутых значений х. Точнее, докажем, что оно обя- зательно содержит некоторый интервал положительной дли- ны. Как следует из изложенного, этот интервал должен на- крываться отрезком [ж£,жд] при любом t. Однако по ходу доказательства нам также станет ясно, как этот интервал меняется с течением времени t: мы увидим, что при наруше- нии условия, справедливость которого мы хотим установить, - 166-
^laiattaus^i Глава III. Решения длина этого интервала обязательно станет больше ширины xR — хь накрывающего его отрезка [жь,тя]. Это противоре- чие в итоге и докажет верность нашего условия. Начнем с обоснования следующего утверждения. Для удобства договоримся, что единственной цепочкой нулевой длины является пустая цепочка и что с такой цепочкой (ра- зумеется) совместим любой вариант развития событий. Для любого момента времени t = 0,1,2,... существует реализуемая цепочка ответов длины t, с которой совмести- мы все значения х переменной x(t) из некоторого интервала (xcL(t),xcR(t)), XcL(t) < xR(t). (Индекс с в честь compatible — совместимый). Рассуждаем по индукции. При t = 0 утверждение три- виально, так как цепочка имеет нулевую длину. Значит, это пустая цепочка, с которой совместимы все состояния из ин- тервала (®£,Жя). Теперь допустим, что доказываемое утверждение верно для некоторой длины t. Рассмотрим соответствующую це- почку ответов т/о, ^71» т/2, • • •, Vti (при t = 0 цепочка пустая) и интервал (xcL(t), xR(t)) совместных с ней значений x(t). В любом из совместных с данной цепочкой варианте разви- тия событий задается один и тот же вопрос z(t). (Напомним, что он однозначно определен этой цепочкой. Если t = 0, то z(0) — универсальная константа). Всем значениям х — x(t), удовлетворяющим паре неравенств x^(t) < х < z(t), соот- ветствует один и тот же ответ: Нет £(£) = 0. Аналогично всем значениям х = x(t), удовлетворяющим паре неравенств z(t) < х < xR(t), соответствует: Да £(t) = 1. Заметим одна- ко, что на самом деле значений ж, удовлетворяющих первой паре неравенств, может и не быть (если z(t) < xcL(t)). Анало- гично может не быть х, удовлетворяющих второй паре (если - 167-
Санкт-Петербургские олимпиады по кибернетике z(t) > xcR(t)). Однако ясно, что хотя бы одна из этих двух пар неравенств совместна и имеет целый интервал решений; более того, — его длина не меньше половины длины отрезка (^(t), Xjj(t)). Введем обозначение (?/ь(£),1/я(£)) этого интер- вала, возьмем в качестве в качестве r)t связанный с ним ответ, т.е. дополним им исходную цепочку. По построению любое значение состояния x(t) из интервала (уь(1),Ун^)) совмести- мо с дополненной цепочкой. Вместе с тем с ней совместимо и любое значение возмущения w = w(t), |w| < W (так как оно никак не влияет на все, что происходит с популяцией и в СУ до момента t включительно), в то время как управление u(t) определено этой цепочкой однозначно. Значит, если мыслен- но пробежим по всем вариантам развития событий, совме- стимых с этой цепочкой, то увидим, что для них u(t) одно и то же, а вот х = x(t) пробегает по меньшей мере интервал (.УьЦ), ?//?(£)), в то время как w = w(t) — интервал [—Ж, W], причем совершенно независимо от x(t). Отсюда следует, что с этой цепочкой совместимо любое состояние x(t + 1), — ко- торое можно получить в соответствии с уравнением задачи x(t + 1) = ах + u(t) + w, при фиксированном u(t) и любых х Е (yb(t),yR(t)) и w Е [—IV, IV]. Ясно, что такие состояния x(t + 1) образуют интервал (ayb(t) + u(t) - W, ayR(t) + u(t) + W), что и требовалось показать. При этом T£(£+l) := ayL(t)+u(t)-W, xR(t+l) := ayR(t)+u(t) + W. Из доказательство следует важная формула для длины Д(£) интервала (xcL(t),xcR(t)). Действительно, вспомним, что длина отрезка (yi^t), yR(t)) не меньше половины длины этого - 168-
^atattaus^i Глава III. Решения интервала: 3/к(*) - Уь(С > АЛ Следовательно, A(« + l) = ^(t + l)-a:l(t + l) = = a[j/R(t) - yb(t)] + 2W > ^Д(<) + 2W. £ Вместе с тем так как стратегия управления удерживает по- пуляцию в нужном коридоре, &(t)<xR-xL> t = 0,1,2,.... Переходим к анализу двух последних соотношений. Под- ставив в неравенство Д(2) > ?Д(1) + 2IV АЛ неравенство Д(1) > ^Д(О) + 2W, АЛ получим Д(2)> (5)2Д(0) + 2Ж [1 + ^1. X ал / L ал J Подставив полученное неравенство в Д(3) > ^Д(2) + 2VK, АЛ устанавливаем, что Д(3)> (|)3Д(0) + 2ж[1 + ^+(^2 . X Z / Z х Z / - 169-
Санкт-Петербургские олимпиады по кибернетике Продолжая аналогично, находим, что для произвольного t A(t) > (f)‘ Д(0) + 2W [1 + | + (|)2 + • • • + (§J*’1] = = (j)‘A(0) + 2IV^ = = (|)‘ Д(0) - Так как | < 1 по условиям задачи первые два слагаемые при больших t становятся исчезающе малыми. Значит A(t) с ростом t неограниченно приближается к третьему слагаемо- му Д(4) 21V г * t -> оо. Отсюда получаем 2РГ---—7—7 < Xr — Xl,, l-(f) что равносильно проверяемому условию. Достаточность. Рассмотрим систему управления (СУ), которая в момент t производит следующие действия. 1) Задает вопрос: “превышает ли истинный размер ж(£) середину требуемого интервала” z(t) х0 := XR + XL 2 и получает ответ. 2) На основе этого ответа строит оценку x(t) (скорее всего, неверную) этого размера, следуя достаточно естественным эвристическим соображениям. Именно СУ считает (возмож- но, неверно), что текущий размер лежит в требуемом интер- вале [xl, ®д]. Если это на самом деле так, то на основании - 170-
^atattaus,^ Глава III. Решения полученного ответа интервал, содержащий х(Г), можно было бы уточнить: xL(t) < x(t) < xR(t), xL(t) := z(t), если получен ответ Да; ®l(0> если получен ответ Нет; xR(t) := xR(t)^ если получен ответ Да; z(t), если получен ответ Нет. СУ не вдаваясь в рассуждение, лежит ли x(t) в [ть, хд] на самом деле или нет, просто вычисляет интервал [жДО, жд(£)] и за оценочное значение x(t) текущего размера популяции СУ принимает его середину: x(t) := xL(t) 4- xR(t) 2 Замечание. Произвести в том же духе повторное уточ- нение интервала в данный момент t нельзя, так как еще один вопрос можно задать лишь в следующий момент времени. 3) В качестве u(t) берет управление, которое при отсут- ствии возмущения w(t) = 0 перевело бы за единичное время популяцию с оценочного размера x(t) в середину xq требуе- мого интервала [жь,жд]. Это требование выражается равен- ством Xq = ax(t) 4- n(t), откуда управление легко определя- ется: u(t) = Xq — ax(ty, 4) Put t := t 4-1 and go to 1. Покажем теперь, что данный алгоритм управления удер- живает популяцию в требуемом коридоре: xL < x(t) < xR - 171-
Санкт-Петербургские олимпиады по кибернетике для всех t = 0,1,2,.... Используем индукцию по t. При t = О популяция находится в этом коридоре по условиям задачи. Допустим, что она находится там в некоторый момент t, и покажем, что тогда она остается в нем и в следующий момент времени t 4- 1. Управление u(t) выбрано так, что популяция оказалась бы в центре требуемого коридора, если бы ее раз- мер x(t) в момент t был равен оценочному ж(£), а возмущение отсутствовало бы: w(t) = 0. Однако на самом деле все это не так (точнее, не обязательно так): x(t) x(t),w(t) Ф 0. Таким образом, скорее всего, ж(£4-1) х0. Вместе с тем легко найти оценки для x(t + 1): x(t + 1) — ttjc(i) 4- u(£) 4~ < ож(£) 4- iz(t) И- W < < axR(t) + u(t) + W = axR(t) + [ж0 — аж(£)] + W = = ж0 4- a[xR(t) - ж(£)] + W. Аналогично ж(£ + 1) > ж0 + а[ж/,(£) — ж(£)] — W. По построению x(t) — середина отрезка [жД£), жд(£)]. В свою очередь, длина этого отрезка равна половине длины отрезка [ж£,жд]. Значит, xR(t) - x(t) = x(t) - xL(t) = - xL(t)] = ^[жд - xL\. Подставим эти соотношения в оценки x(t + 1): ж(£ + 1) < ж0 + a[xR(t) - ж(€)] 4- W = ж0 4- |[жд - xL] 4- W, x(t + 1) > ж0 - |[жд - xL\ - W. Теперь пришло время воспользоваться основным условием. Оно гарантирует, что W < ^^[xR — х^]. Вспомнив, что ж0 — - 172-
Глава III. Решения середина отрезка [xl, жд], получаем x(t + 1) < ж0 + |[^д -xL] + W < < + + = xR, x(t 4-1) > х0 - l\xR — xj\—W> > _ 2[Жя _ a.L] _ ^[XR - ffL] = XL, что и требовалось доказать. МЫШЕЛОВКИ Отметим сначала, что около норы с номером 0 мышелов- ку поставить необходимо. С остальными поступим следую- щим образом. Поместим в нору с номером 0 управляемую мышь и будем ее двигать все время вдоль левой стены. Если однажды она придет в какую-нибудь норку, то в этой норе надо поставить мышеловку. Тогда мы заделаем эту нору (по- ставим в карту лабиринта число 1) и будем двигать мышь дальше. Когда она вернется в норку 0, тогда все закончит- ся. Мышеловки надо поставить в тех норках, в которых она побывала. Зациклиться этот алгоритм, очевидно, не может. Пример программы для решения задачи: #include<stdio.h> #include<stdlib.h> #include<math.h> const R=100; int L[R] ER]; - 173-
Санкт-Петербургские олимпиады по кибернетике int Н[11] ; int i,j; int x,y,n; /♦ n - 0 up 1 right 2 down 3 left */ void moveXYO; void main() { FILE *f; char name [10]="INPUT.TXT”; f=fopen(name,"r"); int gh=O; for(.i=0; i<R; i++) for(j=0; j<R; j++) { fscanf (f, "7.d" ,&gh) ; L[j] [i]=gh; f closed); for(i=0; i<R; i++) { L[i][0]=l; L[i][R-l]=l; L[0][i]=l; L[R-l][i]=l; for(i=l; i<ll; i++) - 174-
TllalaUaus^ Решения Глава III. H[i]=O; H[O]=1; x=l; y=R-l; n=0; L [x] [y] =0; moveXYO ; while( !((x==l)&&(y==(R-l))) ) { moveXYO; if(y==l) if(x<20) if (x7.2==l) H[int((x-l)/2)+l]=l; char outname[11]="OUTPUT.TXT"; f=fopen(outname,"w"); for(i=0; i<ll; i++) fprintf (f ,"7.d ",H[i])j fclose(f); void moveXYO < switch(n) { case 0: { //up if( L[x-l][y]==0 ){ x--; n=3; } else if( L[x][y-l]==0 ) { y—; n=0; } else if( L[x+l][y]==0 ) { - 175-
Санкт-Петербургские олимпиады по кибернетике х++; п«1; } else if ( L[x][y+l]==O ) { у++; n=2; break; case 1: { //right if ( L[x][y-l]==O ) { у—; n=0; } else if ( L[x+l][y]==O ) { x++; n=l; } else if( L[x][y+l]==O ) { y++; n=2; } else if( L[x-1] [y]==0 ) { X—; n=3; break; case 2: { //down if( L[x+l][y]==0 ) { x++; n=l; } else if( L[x][y+1]==0 ) { y++; n=2; } else if( L[x-1][y]==0 ) { x—; n=3; } else if( L[x][y-l]==0 ) { y—; n=0; break; } case 3: { //left - 176-
Глава III. Решения if ( L[x][y+l]==O ) { y++; n=2; } else if( L[x-l][y]==O ) { x—; n=3; } else if( L[x] [y-l]==O ) { У—J n=0; } else if ( L[x+1][y]==0 ) { x++; nsl; break; ЕСТЬ ЛИ ЖИЗНЬ НА МАРСЕ? Задача решается по следующей схеме. Показывается, что наибольшей площадью при фиксированном числе углов и фиксированной длине обладает фигура, являющаяся поло- винкой правильного многогранника. А затем производится перебор по всему возможному количеству поворотов. Докажем, что среди всех треугольников с одинаковым ос- нованием и одинаковым периметром максимальной площа- дью обладает равнобедренный. Это так, поскольку у него наибольшая высота. В этом легко убедиться, построив эллипс на основании треугольника, фокусы — границы основания, а вершина на эллипсе. Сумма расстояний до фокусов — одина- ковая, а максимальная высота — малый радиус. Теперь, рас- смотривая два соседних отрезка пути, видим, что если они неодинаковы, мы можем увеличить исследованную площадь, - 177-
Санкт-Петербургские олимпиады по кибернетике не затрачивая дополнительной энергии, просто сделав эти отрезки равными. Таким образом, любую траекторию, у ко- торой есть неравные кусочки пути, можно улучшить. Невоз- можно улучшить только, если все звенья пути равны. Теперь, если мы отобразим путь симметрично относительно берего- вой линии, то получим замкнутую фигуру, площадь которой надо максимизировать: при этом все стороны у нее равны. Значит, это должен быть правильный многогранник. Все эти рассуждения и приводят нас к формулам: макси- мальная возможная длина X пройденного пути при п поворо- тах вычисляется из уравнения: ХЕтЕпЕг = Et, а площадь — по формуле S = X2ct</(360/4/n)/(2n). Теперь осталось только взять максимум по п от 1 до N, это и будет правильный ответ. Но надо предварительно про- верить корректность данных. Если у марсохода не хватит энергии на два поворота, выводим 0.
Глава III. Решения ЖАЖД.Х БУБЛОВ Для каждого брокера допустимые значения стоимости од- ного бубла (ж) и стоимости сделки (у) лежат в некоторой по- лоске (области, ограниченной двумя параллельными прямы- ми). Требуется найти точку пересечения всех полосок. Для этого берется некоторая, произвольная начальная точка (на- пример, (ж,?/) = (10,10)). Далее эта точка проецируется на прямую, являющуюся центром первой полоски; затем новая точка проецируется на соответствующую прямую второй по- лоски и т.д. Поскольку полосок довольно много, то и прибли- жение будет достаточно хорошим. Пример программы для решения задачи: #include<stdio.h> #include<stdlib.h> #include<math.h> void mainO { FILE *f=fopen("INPUT.TXT","r"); float a[1000][3]; int k; for(k=O;k<1000;k++) { f scanf (f, "7.f 7.f 7.f " ,&a[k] [0] ,&a[k] [1] ,&a[k] [2] ) ; a[k] [0]=-a[k] [0] ; a[k] [l]=-a[k] [1]; fclose(f); float x=10.; float y=10.; - 179-
Санкт-Петербургские олимпиады по кибернетике float аа,Ъ,ЪЪ; for(k=0;k<1000;k++) { аа=а[к][2]; b=(a[k] [О]+а[к] [1])/2.; ЪЪ=х+аа*у; у= (аа*ЬЪ+Ь.) / (1+аа*аа) ; х=ЪЪ-аа*у; f=fopen("OUTPUT.TXT","w"); f printf (f, "7.f 7.f " ,x, y) ; fclose(f); ДИАТЛОН В задаче требуется найти точку на прямой, из которой отрезок мишени виден под максимальным углом. Через гра- ницы забора и через точку стрельбы проведем окружность. Предположим, что дорога, по которой бежит диатлонист, пе- ресекает окружность. Тогда угол, под которым видна ми- шень, в любой точке отрезка дороги, лежащей внутри окруж- ности, будет больше, чем в точке стрельбы. Следовательно, дорога должна касаться окружности. А тогда расстояние с, которое должен пробежать диатлонист, равняется корню из а(а + Ь). Пример программы для решения задачи: #include<stdio.h> - 180-
Глава III. Решения #include<stdlib.h> #include<math.h> void main() { FILE *f=fopen("INPUT.TXTr; float a,b; f scanf (f, "%f Xf ",&a, &b); fclose(f); f=fopen("OUTPUT.TXT","w"); fprintf (f, "X. 3f ", sqrt (b* (a+b) ) ) ; fclose(f);} - 181-
Санкт-Петербургские олимпиады по кибернетике 3.6. Решения задач 2005 г. НАСОСЫ, СОСУДЫ, ГОРЕЛКИ И ГЕЛИЙ Рассмотрим одну собранную установку с закаченным в нее гелием. Воспользуемся уравнением Клапейрона- Менделеева для определения количества газа в установке: PV = v RT, здесь Р — давление в установке; V — объем сосуда; Т — тем- пература, создаваемая горелкой; R — универсальная газовая постоянная, I/ — количество идеального газа (гелия), нахо- дящегося в установке. Масса гелия М равна его количеству, умноженному на его молярную массу: М — I/ * 0.004кг/молль. Тогда максимальная масса гелия, которую можно закачать в установку, равна: М = 0.004*^^, Ш min где Ртах — максимальное давление, a Tmin ~ минималь- ная температура, на которые рассчитана установка. Следо- вательно, массивами Pmin и Ттах можно пренебречь — это избыточные данные. Тогда искомая масса гелия равна 0.004 PkVk М = тоаж fc=l * где максимум берется по всем возможным перестановкам массивов {Pt}™0 = Р^, = Tmi„, = V. Ока. зывается, что максимум достигается когда Ртах и V упоря- дочены по возрастанию, a Tmin — по убыванию. - 182-
Глава III. Решения ^atattaus,^. Пример программы для решения задачи: #include<stdio.h> #include<stdlib.h> #include<math.h> float V[1000]; float minTClOOO]; float maxT[1000j; float minP[1000]; float maxP[1000]; ReadData(FILE *f){ int k; for(k=0; k<1000; k++) fscanf (f,"7.f ", &V [k] ) ; for (k=0 ;k<1000; k++) fscanf (f, "7,f " , faninT Ek] ) ; for(k=0;k<1000;k++)fscanf (f, "7.f" ,&maxT[k]) ; for (k=0; k<1000; k++) fscanf (f, "7.f ", faninP [k] ) ; for(k=0;k<1000;k++)fscanf (f, "7.f" ,&maxP[k]) ; return 0;}; Swap(float &a, float &b){ float buf; buf=a; a=b; b=buf; return 0;}; SolveIt(FILE *f){ //Sort int n,k; - 183-
Санкт-Петербургские олимпиады по кибернетике f ох(п=0;п<1000;п++) for(к=0;к<(999-п);к++){ if (V[k]<V[k+l])Swap(V[k] ,V[k+l]); if(maxP[к]<maxP[k+1])Swap(maxP[k],maxP[k+1]); if(minT[k]>minT[k+1])Swap(minT[k],minT[k+1]); float Result=0; for(n=0;n<1000;n++) Result+=V[n]*maxP[n]/minT[n]*0.004/8.314; fprintf (f, "7.. 3f ",Result) ; return 0;}; main(){ char* file.write="OUTPUT.TXT"; char* file_read="INPUT.TXT"; FILE *f; f=fopen(file_read,"r"); ReadData(f); fclose(f); f=fopen(file.write,"w"); Solvelt(f); fclose(f); return 0;}; ПОКОРЕНИЕ АМАЛЬТЕИ Эта задача на перебор. Надо просто перебрать все воз- можные пути: все последовательности из 7 точек. Число 7! не очень большое, поэтому программа уложится в отведенное ей время. - 184-
Глава III. Решения Пример программы для решения задачи: #include<stdio.h> #include<stdlib.h> #include<math.h> float x[7] ; float у[71; int num[7]; ReadData(FILE *f){ for(int k=0;k<7;k++)fscanf (f, "7.f %f " ,&x[k] ,&y[k]) ; return 0;}; float Length(float xl, float yl, float x2, float y2){ return sqrt((x2-xl)*(x2~xl)+(y2-yl)*(y2-yl)) SolveIt(FILE *f){ int k; float Result=100*100*100*100*100*100*100; float R; for(int k0=0;k0<7;k0++) {num[O]=kO; for(int kl=0;kl<7;kl++) {if(kl!=k0){num[1]=kl; for(int k2=0;k2<7;k2++) {if((k2!=kl)&(k2!=k0)){num [2]=k2; for(int k3=0;k3<7;k3++) {if((k3!=k2)&(k3!=kl)&(k3!=k0)){num[3]=k3; for(int k4=0;k4<7;k4++) {if((k4!=k3)&(k4!=k2)&(k4!=kl)&(k4!=k0)){num [4]=k4; for(int k5=0;k5<7;k5++) {if ( (k5! =k4) & (k5! =k3) & (k5! =k2) & (k5! =kl) & (k5! =k0) ) - 185-
Санкт-Петербургские олимпиады по кибернетике {num [5] =к5; for(int к6=0;к6<7;кб++) {if ( (кб! =к5) & (кб! =к4) & (кб! =кЗ) & (кб! =к2) & (кб! =к!) &(кб!=к0)){num[6]=к6; R=Length(O., 0.,х[num[O]],у[num[O]]); f or(к=0;к<6;к++)R+=Length(x[num[к]],у[num[k]], x[num[k+1] ] ,у[num[k+1]]); if(Result>R)Result=R; fprintf (f, "7.f " ,Result) ; return 0;}; main(){ FILE *f; f=fopen("INPUT.TXT","r"); ReadData(f); fclose(f); f=fopen("OUTPUT.TXT","w"); Solvelt(f); fclose(f); return 0;};
^alatfausilk Глава III. Решения ПРЕВЫШЕНИЕ СКОРОСТИ Милиционеры догонят нарушителей в тот момент вре- мени, когда их машины окажутся на одинаковом расстоя- нии от поста ДПС; следовательно, нужно решить уравнение 55(A + t) = 2*. Поскольку явно это уравнение не решается, то предлагается воспользоваться каким-нибудь численным ме- тодом. Самое простое — это перебирать все t, начиная с t = О и с шагом, например, (1001, пока (55(А +1) — 2*) не станет меньше 0.01. Пример программы для решения задачи: #include<stdio.h> #include<stdlib.h> #include<math.h> float a; ReadData(FILE *f){fscanf(f,"%f",&a);return 0;}; SolveIt(FILE *f){float t=9.; while(((a+t)*55)>exp(t*log(2))){t+=0.001;}; fprintf (f ,"7,.3f " ,t) ;return 0;>; main(){ FILE *f; f=fopen("INPUT.TXT","r"); ReadData(f); fclose(f); f=fopen("OUTPUT.TXT","w"); Solvelt(f); fclose(f); return 0;}; - 187-
Санкт-Петербургские олимпиады по кибернетике БРОНЕПОЕЗД Наиболее выгодной для выстрела является позиция 1 ше- рифа, когда бандит находится в точке 2, а пуля летит по кратчайшему пути и попадает в бандита в точке 3. Удоб- нее рассматривать движение в системе отсчета связанной с поездом. Пройденные пути бандита и пули до точки 3 запи- сываются: /23 = 2u(t — т); 3L = rt, где t — время полета пули, т — время реакции ковбоя. Из рисунка видно, что /23 = 3Ltg, а = |Z. Тогда т = . 2 4и v - 188-
Глава IV. Кибернетика Глава IV. Кибернетика 4.1. Что такое управление?1 А. Л. Фрадков С проблемами управления мы сталкиваемся в повседнев- ной жизни: сидя за рулем велосипеда или автомобиля, пыта- ясь регулировать температуру воды в душе или уговаривая утром кого-нибудь из домашних принести в постель кофе. Независимо от результата каждая задача управления вклю- чает четыре компонента: А. Управляемую систему (или как говорят специалисты, объект управления) — то, чем мы хотим управлять. В. Цель управления — то, чего мы хотим достичь при помощи управления, т.е. желаемое поведение объекта управления. 1 Расширенный перевод фрагмента из книги [1]. - 189-
Санкт-Петербургские олимпиады по кибернетике С. Список измеряемых переменных (или выходов) — то, что мы можем измерять. D. Список управляющих переменных (или входов) — то, что мы можем менять для того, чтобы воздействовать на объект управления. Еще один важный компонент — регулятор — устрой- ство, вырабатывающее входные величины, необходимые для достижения заданной цели. Однако этот пятый элемент не присутствует на стадии постановки проблемы управления; он появляется после *гого, как теоретическое решение найде- но. Под решением проблемы управления (проблемы синтеза управления) будем понимать нахождение закона управления (алгоритма управления), обеспечивающего достижение це- ли. Как только искомый закон найден, он может быть ис- пользован для вычисления управляющих входов по измерен- ным значениям выходов объекта управления. Система, состо- ящая из объекта и регулятора, называется системой управ- ления, или замкнутой системой управления. Даже очень простые правила могут дать решение зада- чи управления, если она достаточно проста. Однако в более сложных случаях эвристики не работают и для управления необходимо иметь математическую модель объекта управле- ния. Модели объекта управления Еще Р. Декарт в XVII в. осознал, что одна и та же реаль- ная физическая система может иметь много математических - 190-
Глава IV. Кибернетика моделей. Эту идею можно проиллюстрировать следующим примером. Пример. Модели водопроводного крана. Обычно для управления выбирают как можно более простую модель объекта управления. Рассмотрим, например, систему, в кото- рой входом является угловое положение крана с горячей во- дой, а выходом — температура вытекающей из крана воды. Назовем эту систему “кран”. Пусть u(t) - угловое положение крана в момент времени t, a y(t) — температура воды. Когда отклонение входного угла u(t) от некоторого базового значе- ния й мало, мы можем предположить что соответствующее отклонение y(t) от соответствующего равновесного значения у пропорционально величине u(t) — й и составить уравнение У{*) - У = P(u(t) - й), (1) где /3 — постоянный коэффициент. Уравнение (1) и есть в данном случае простейшая модель объекта управления “кран”. Ее можно переписать еще и так: y(t) = a + /3(u(t) -й), (2) где а = у — (Зй. Модели (1) и (2) принадлежат к классу линейных стати- ческих (безынерционных) моделей. Действительно, в каж- дый момент времени t значение выхода y(t) зависит от зна- чения входа u(t), измеренного в тот же момент t. В этом уже присутствует идеализация: на самом деле материальная си- стема всегда имеет некоторую инерцию (задержку, память), поскольку ее состояние не может измениться мгновенно. В более точных моделях текущее значение выхода может зави- сеть от значений входов и выходов (а возможно, и их произ- - 191-
Санкт-Петербургские олимпиады по кибернетике водных) в прошлые моменты времени. Такие более сложные модели называются динамическими моделями. В случае крана учет того, что температура потока после смешения не может измениться мгновенно с изменением ско- рости движения (расхода) составляющих потока, приводит к модели в виде дифференциального уравнения первого по- рядка + !/(<) = “+МО, (3) at где Т > 0 - постоянная времени, характеризующая инерци- онность объекта. Далее, если кусок трубы между краном и смесителем достаточно длинный, то следует учесть запазды- вание + = а + ~ т)’ at (4) где т > 0 - время задержки. Наконец, если мы хотим, чтобы модель работала не толь- ко в области малых отклонений от равновесия, необходимо учесть ее нелинейность. В соответствии с законами теплопе- редачи нелинейная статическая модель имеет вид y(t) = a + /3f(u(t)), (5) №) kiuyi + k2u2y2 kiu + к2и2 (6) где i/i, 1/2 - температуры горячей и холодной воды; k]U,k2u2 - расходы горячей и холодной воды; Ал, к2 - масштабные ко- эффициенты. - 192-
Глава IV. Кибернетика ^aiaHauSt^i Цели управления После построения моделей объекта управления мы пере- ходим к следующему компоненту задачи: цели управления. Для классической теории управления характерны две основ- ных цели: регулирование и слежение. Цель 1: Регулирование. Регулирование (стабилизация, позиционирование) понимается как приведение вектора пере- менных состояния объекта x(t) к некоторому равновесию х* Иногда имеет значение регулирование не всех переменных состояния, а только некоторых выходных переменных y(t). Хотя время, за которое цель достигается, на практике суще- ственно, определить его теоретически обычно весьма затруд- нительно. Поэтому часто от времени достижения цели при постановке задачи абстрагируются и задают идеализирован- ную формальную цель управления типа 1 в виде предельного соотношения lim x(t) — х* (7) t—>оо ИЛИ lim y(t) = у*. (8) t—tco Иногда используют более реалистические приближенные соотношения, например limt^oo|®(t) - ж*] < А, (9) ИЛИ 1пп|1/(*)-1/ш| < А, t—tco (10) где lim^oo f(t) означает верхний предел — наибольший из пределов подпоследовательностей f(tk) при tk —> оо; А - параметр допустимой погрешности. - 193-
г Санкт-Петербургские олимпиады по кибернетике Цель 2: Слежение. Термин “слежение” означает приведе- ние вектора переменных состояния x(t) к желаемой траек- тории #*(£), те- lim [rr(i) — «♦(t)] = 0, (11) t—>оо или приведение выхода y(t) к желаемой функции времени ?/.(<), т.е. lim [?/(*) -V.(0] = 0- (12) t->oo Отметим, что цели 1 и 2 могут быть выполнены и без воздействия управления, если желаемое равновесие или со- ответственно желаемая траектория системы обладает свой- ством устойчивости - малые начальные отклонения от рав- новесия (от желаемой траектории) остаются малыми во все моменты времени. Стабилизировать и без того устойчивое движение нет необходимости, но в этом случае могут потре- боваться более тонкие цели, например, приближение к рав- новесию за заданное время. В последние годы новые задачи управления сложным, в том числе колебательным, движением привело к необходи- мости рассматривать новые классы целей управления. Мы кратко остановимся на двух из них: синхронизация и моди- фикация аттракторов. Цель 3: Синхронизация. Под синхронизацией будем пони- мать совпадение или сближение переменных состояния двух или нескольких систем или согласованное изменение некото- рых количественных характеристик систем. Задача синхро- низации отличается от задачи управления с эталонной мо- делью, поскольку в ней допускается совпадение различных переменных, взятых в различные моменты времени. Времен- ные сдвиги могут быть либо постоянными, либо стремиться - 194-
Глава IV. Кибернетика ^ataUausl^V. к постоянным (асимптотические фазы). Кроме того, во мно- гих задачах синхронизации связи между системами являют- ся двусторонними (двунаправленными). Это значит, что пре- дельный режим в системе (синхронное решение) заранее не известен. Еще X. Гюйгенс в XVII в. обнаружил, что явление син- хронизации может возникать в системах без управления (са- мосинхронизация). Самосинхронизация хорошо изучена и применяется в вибрационной механике, связи и энергети- ке [2, 3, 4]. Задачи управляемой синхронизации стали систе- матически изучаться лишь недавно [5, 6, 7], хотя отдельные работы появлялись и ранее [8]. Общее понимание задач само- синхронизации и управляемой синхронизации оформилось в работах [9, 10]. Цель 4: Модификация предельных множеств систем Этот класс целей включает такие частные виды целей, как — изменение типа равновесия (например, преобразование неустойчивого положения равновесия в устойчивое или наоборот); — изменение вида предельного множества (например, пре- образование предельного цикла в хаотический аттрак- тор или наоборот, изменение фрактальной размерности предельного множества и т.д.); — изменение положения и типа точки бифуркации в про- странстве параметров системы; — создание (генерация) колебаний с заданными свойства- ми (например, возбуждение колебаний с заданной ча- стотой, амплитудой, энергией и т.д.). - 195-
Санкт-Петербургские олимпиады по кибернетике Кроме основной цели управления могут быть заданы до- полнительные цели или ограничения. Например, требуется обеспечить достижение цели при малой мощности управле- ния или малых затратах на управление. “Наивное” управление Предположим теперь, что задача управления поставлена (формализована). Как ее решать? На первый взгляд кажет- ся, что при простой модели объекта и решение должно быть простым. Иногда это действительно так, но могут возникнуть и сложности. Рассмотрим, например, объект, описываемый дифферен- циальным уравнением первого порядка (3). Для удобства пе- репишем уравнение объекта в форме, разрешенной относи- тельно производной выхода (так называемой форме Коши): = ау + Ъи + оо, (13) at где постоянные коэффициенты а, Ь, а© зависят от параметров (3): а = —1/T,b — (3/T,clq = а/Т. Заметим, что в (13) нам не нужно предполагать, что Т > 0, т.е. уравнение (13) может описывать и системы с неустойчивой (а > 0) или нейтрально устойчивой (а = 0) собственной динамикой. Пусть цель управления — регулирование выхода y[t) к желаемому значению ?/*. Напрашивается следующий очевид- ный способ решения задачи: определить положение равно- весия у — — а0/а — Ъй/а системы (3) при постоянном входе u(t) = г/, а затем выбрать значение й так, чтобы выполня- - 196-
Глава IV. Кибернетика лось равенство у = у*, т.е. выбрать u(t) = и*, где и* = —(ау* + ао)/Ь. (14) Тогда цель управления y(t) = у* будет выполнена для всех t > 0 при условии, что она выполнена в начальный момент времени t = 0, т.е. если 1/(0) = у*. Кроме того, цель будет достигаться асимптотически, в пределе при £ —> оо для лю- бых начальных условий 1/(0), если только уравнение объекта (13) асимптотически устойчиво (а < 0). Задача слежения за заданной выходной функцией y*(t) может быть решена ана- логично, т.е. простой подстановкой y*(t) в (13) и разрешением (13) относительно ги(£): «♦(О = (- ay*(t) - ао) /Ь. (15) у at J Например, чтобы заставить систему (13) колебаться гармони- чески, можно выбрать i/*(t) = 4+В sin cut, а затем приложить к системе управление w*(0 = (Вы coswt — аА — аВ sin иЛ — Оо) /Ь. Однако этот простой подход к решению задачи имеет ряд недостатков. а) Если объект управления неустойчив, то постоянный вход (14) оставит его неустойчивым и, значит, да- же небольшая погрешность выбора начальных условий приведет к неограниченному росту ошибки и самой вы- ходной переменной. Ь) Пусть объект (3) устойчив, но его параметры извест- ны неточно (т.е. используемые для расчета регулятора - 197-
Санкт-Петербургские олимпиады по кибернетике значения а, b отличаются от истинных). Тогда ошибка вычисления и* может оказаться значительной и жела- емая цель достигнута не будет. с) Внезапные изменения значений параметров из-за изме- нения внешних условий приводят к необратимому на- рушению цели. Обратная связь Многолетний опыт специалистов по автоматизации по- казал, что значительно более эффективные решения могут быть получены на основе принципа обратной связи, т.е. при- менением алгоритмов управления, использующих доступные измерения ?/(s), 0 < s < t для вычисления u(t). Арсенал спо- собов выбора обратной связи весьма широк. Самый простой и понятный - пропорциональный закон обратной связи: u(t) = K(y(t) -у*). (16) Часто используется релейный (знаковый)закон обратной свя- зи: u(t) = 7<sign(?/(t) - у*). (17) В обоих случаях коэффициент обратной связи К — параметр регулятора. Легко видеть, что при b > 0 выбор К < 0 (отри- цательная обратная связь) в (16) или (17) позволяет превра- тить неустойчивый объект (13) (с а > 0) в устойчивый. Одна- ко при этом может возникнуть установившаяся предельная ошибка воо = lim^oo [?/(£) — у*] =Уоо—у^ Действительно, рав- новесие замкнутой системы (13), (16) асимптотически устой- чиво, если а 4- ЬК < 0; при этом все решения стремятся к - 198-
^laiaHaus^i Глава IV. Кибернетика величине Уоо = У* ~ (аУ* + ао)/(а + ЬК), а предельная ошиб- ка равна Coo = —(ау* + а0)/(а + ЬК), т.е. становится меньше, если коэффициент К возрастает. Для полного исключения установившейся ошибки можно, например, ввести поправку (смещение) u(t) = —(ay* + а0)/Ь + K(y(t) - у*), (18) Однако значения поправочных коэффициентов зависят от параметров объекта, и если они известны неточно, то такой способ может привести к дополнительным ошибкам. Более традиционный способ состоит в том, чтобы ввести интегральную обратную связь: u(t) = K\(y(t) - у*) + К2 [ (y(s) - y*)ds. (19) Jo Пропорционально-интегральные (ПИ) регуляторы (19) ши- роко применяются, поскольку они обеспечивают приемлемые динамические свойства замкнутой системы и не требуют для расчета полной информации о параметрах объекта. Однако если желаемый режим зависит от времени, у* = y*(t), т.е. си- стема должна решать задачу слежения, то установившаяся ошибка не исчезнет. Можно показать, что пропорциональ- на скорости изменения y*(t) и также зависит от параметров объекта. Заметим, что при а = ао — 0 система имеет нулевую уста- новившуюся ошибку для всех у* и К, таких что ЬК < 0. Таким образом, в этом случае любое желаемое значение вы- хода у* может быть достигнуто при помощи обратной связи (16) со сколь угодно малым К, что означает ( при ограничен- ных начальных условиях) сколь угодно малую управляющую силу. - 199-
Санкт-Петербургские олимпиады по кибернетике Описанный простой пример демонстрирует возможности обратной связи: она способна улучшить как устойчивость, так и точность замкнутой системы, но неопределенность и нестационарность условий работы препятствуют дальнейше- му повышению ее качества. На качество систем управления влияют и другие факто- ры, среди которых наиболее важными являются следующие: — нелинейность, — неполнота измерений, — неполнота и ограничения на управления. Неполнота измерений означает, что либо не все перемен- ные состояния объекта доступны для измерения, либо уро- вень помех измерений слишком высок. Неполнота управле- ния означает недостаточность ресурса управления для дости- жения цели, например, что число управлений меньше числа регулируемых переменных, или имеются ограничения на ве- личину управлений. Тем не менее современная теория нелинейного и адаптив- ного управления располагает достаточным числом методов, позволяющих во многих случаях преодолеть вышеперечис- ленные трудности. Рассмотрим некоторые из них. Неопределенность Проиллюстрируем основные идеи нелинейного и адаптив- ного управления на примерах. Начнем с методов адаптивно- го управления, служащих для преодоления неопределенно- сти параметров объекта и внешних воздействий. Как было -200-
Глава IV. Кибернетика lim y(t) = у*. t—>оо показано выше, неточная информация о параметрах может существенно ухудшить качество системы. Если это не так, то система называется робастной. Однако если диапазон воз- можных значений параметров достаточно широк, то постро- ение робастных систем затруднительно. В подобных случаях можно пытаться построить адаптивный регулятор. Предположим опять, что объект описывается линейным дифференциальным уравнением 1-го порядка (13) и рассмат- ривается задача регулирования: (20) Как было сказано ранее, закон управления (18) способен обеспечить достижение цели (20), если точные значения па- раметров a, b, Go известны. Чтобы построить регулятор, хо- рошо работающий для произвольных значений параметров объекта, можно попытаться подстраивать параметры регу- лятора (18) по текущим результатам измерений. Для этого представим закон (18) в форме v(t) = £12/* + £2 + £3(2/ - 2/*)> (21) где = —а/Ь, £2 — —а0/Ь, £з — К. После этого заменим постоянные коэффициенты &, i = 1,2,3 на настраиваемые: u(t) = Oi(t)y* + 62(t) + 03(t)(y(t) - у*), (22) где Oi,i — 1,2,3 - настраиваемые параметры. Теперь нужно выбрать правило настройки величин 0$(£), обеспечивающее достижение цели (20) для произвольных значений а, Ь. Воспользуемся так называемым методом скоростного градиента (подробнее см. [11, 12]). Для синтеза алгоритма -201-
Санкт-Петербургские олимпиады по кибернетике настройки по методу скоростного градиента переформули- руем цель (20) следующим образом: lim Q(y(t)) = 0, (23) t—>оо где Q(y) = (у — у*)2/2 — так называемая целевая функция. Теперь вычислим производную Q = dQ/dt — скорость изме- нения Q(y(t)) вдоль траекторий системы (12), (22) с фикси- рованными 6i,i = 1,2,3. Очевидно, Q = (у - у*)у = (у- у*)(ау + bf^y* + Ь02 + Ь03(у - у*) + а0)- После этого вычислим частные производные dQ/dQi, соста- вим из них вектор скоростного градиента ^eQ — co\dQ/d6i где 0 = со1(0г ,02, 0з), “col” — символ вектора-столбца, и запи- шем алгоритм скоростного градиента d0x ( at (24) at = -'Ку-у*)2, at где 7 > 0 - коэффициент усиления. Алгоритм (24) будет из- менять вектор 0(t) в направлении убывания Q, что со време- нем, возможно, повлечет (при достижении неравенства Q < 0 для всех у 0) убывание исходной целевой функции Из известных результатов [11, 12] следует, что цель (23) в замкнутой системе будет достигаться для всех начальных условий при b > 0. То же самое будет верно и при b < 0, если изменить знак коэффициента 7 > 0 на противоположный. Таким образом, для решения задачи при помощи регулятора (22), (23) достаточно, чтобы был известен знак коэффициен- та Ь. - 202-
Глава IV. Кибернетика Нелинейность Иногда алгоритмы управления нелинейными системами можно построить так же, как и в случае линейных систем. Пусть, например, в модель объекта управления (12) добавлен нелинейный член sin?/ следующим образом: у = ay + OQ ^dsiny + bu, (25) где a, ao,d,b — неизвестные постоянные параметры. Легко увидеть, что если систему замкнуть линейной обратной свя- зью, то в ней может возникнуть несколько положений равно- весия, причем некоторые из них могут оказаться неустойчи- выми и находиться далеко от желаемых режимов. Более есте- ственным подходом представляется введение соответствую- щего синусоидального члена в закон управления: u(t) = 0i(t)?/* + 02(t) + 0з sin?/ + 04(t)(?/(t) - ?/*)• (26) Тогда алгоритм настройки параметров может быть выбран аналогично алгоритму (24): d0! dt -y(y-y*)y*, d02 dt (27) de3 dt -?(?/-2/*) sin?/, d04 dt -?(?/ - ?/*)2- Во многих случаях нелинейность увеличивает сложность поведения объекта, но не приводит к увеличению сложно- сти синтеза алгоритма управления. Однако нелинейность мо- жет создать проблемы при попытке учесть дополнительные - 203-
Санкт-Петербургские олимпиады по кибернетике ограничения, например требование малости управления. Для иллюстрации рассмотрим задачу о раскачивании маятника, являющегося классическим примером нелинейной динамиче- ской управляемой системы. Пример. Маятник Капицы В 1940-х годах академик, будущий Нобелевский лауреат по физике П.Л. Капица провел эксперимент, демонстрирую- щий, что верхнее, неустойчивое положение равновесия маят- ника становится устойчивым, если ось подвеса маятника виб- рирует в вертикальном направлении с достаточно большой частотой [2, 13]. Этот эксперимент был объяснен на основе метода усреднения и положил начало новому разделу меха- ники: вибрационной механике [2]. Аналогичные идеи легли и в основу соответствующего раздела теории управления: виб- рационного регулирования [14]. Математическая модель маятника Капицы имеет вид d2<z>(£) d<p(t) 9 , /ло. - < + Q-^-rr- + tvg sin= b usm<pt (28) at£ at где = <p(t) - угол отклонения маятника от нижнего верти- кального положения; и — u(t) - вертикальное ускорение оси подвеса, являющееся управляющим воздействием; g?o _ па- раметр свободного движения маятника (собственная частота малых колебаний); q > 0 — коэффициент трения; Ъ > 0 - мас- штабный коэффициент. П.Л.Капица рассматривал гармони- ческое перемещение оси подвеса с частотой ш и амплитудой А при котором u(t) имеет вид u(t) = Aw2smcu£, (29) -204-
Глава IV. Кибернетика ftalaHausliv. и экспериментально обнаружил стабилизацию маятника вблизи верхнего, неустойчивого равновесия. Многочислен- ные теоретические исследования этого явления (проводив- шиеся как до, так и после экспериментов П.Л.Капицы) [2,15] показывают, что стабилизация неустойчивого равновесия на- ступает при достаточно большом си, т.е. если амплитуда вход- ного воздействия в (28) достаточно велика [2,13|. При этом перемещение точки подвеса может оставаться малым, что усиливает парадоксальность эффекта. Таким образом, ста- билизация неустойчивого равновесия наступает при высоко- частотном гармоническом воздействии со значительной ам- плитудой. Поставим вопрос: можно ли добиться аналогичного пове- дения маятника Капицы при меньшей амплитуде u(t), если в законе вибрации оси подвеса используется обратная связь? Традиционный для теории автоматического управления подход, основанный на линеаризации модели объекта, в дан- ном случае не проходит. Действительно, рассмотрим мо- дель объекта, линеаризованную вблизи положения равнове- сия ip = О <Pip(t) dip(t) 2 t ~^~ + e~dT + u°v-bu' (30) где cuo = \/2g/Z, b = 2/(ml2). Пусть q — 0. Задавая “резонанс- ный” гармонический входной сигнал u(t) = 7 sin wot (31) и решая полученное дифференциальное уравнение, мы убеж- даемся в существовании у системы (30), (31) неограниченно- го решения ip(t) = —(7t/2w0) cosw0t. Таким образом, энергию линеаризованного маятника (30) можно сделать сколь угодно - 205-
Санкт-Петербургские олимпиады по кибернетике большой, даже при сколь угодно малой амплитуде входного воздействия 7. Однако это не так, если гармонический сиг- нал (31) действует на исходную нелинейную модель (28), по- скольку частота свободных колебаний системы (28) зависит от их амплитуды! Из-за нелинейности модели объекта и зави- симости частоты колебаний от их амплитуды выбор ш = шо приводит к сложным, нерегулярным колебаниям — так на- зываемый нелинейный резонанс. Кроме того, линеаризация дает хорошее приближение лишь вблизи положения равнове- сия или некоторой траектории, а нас интересует глобальное решение, работающее во всем пространстве состояний маят- ника. Поставим цель управления: lim H(t) = Н*, (32) t—>00 ГДе -2 Я = _j_ mgl(l — cos cp) (33) 2 — полная энергия маятника, ф = . Цель (32) несколько отличается от традиционных для теории управления целей — регулирования и слежения. Скорее, она выглядит как цель обезьянки, раскачивающейся на лиане, чтобы перепрыгнуть с дерева на дерево. Близкие задачи возникают при запуске некоторых вибрационных установок, в маятниковых часах и т.д. ‘Здравый смысл подсказывает, что раскачивание требует значительно меньше усилий, чем удержание маятника (или руки робота) в некоторой фиксированной позиции. Так как же помочь обезьянке решить задачу? Обратимся к методу скоростного градиента, задав в каче- стве целевой функции величину Q = (Н — Я*)2/2 - отклоне- - 206-
Глава IV. Кибернетика ние полной энергии маятника от некоторого желаемого зна- чения Я*. Вычисляя скорость изменения функции Q вдоль траекторий системы (28) с фиксированным и, а затем гради- ент (частную производную)от скорости по управлению, мы придем к простым алгоритмам и = —^(Н — (34) и = —7 sign [(Н — H^sin^]. (35) Выберем в качестве желаемого уровня энергии энергию ма- ятника в верхнем равновесии: Н* = 2cuq. Можно показать [7,11], что в системе достигается уровень энергии не менее чем и, следовательно, уровень Я* = 2wq будет обеспечен при 7 > 2^ojo- В частности, при q — 0 стабилизация поверхно- сти уровня энергии Н = Н* достигается при сколь угодно малой амплитуде управления 7. При малом демпфировании @ амплитуда управления 7 также может быть выбрана ма- лой. Достижение требуемого уровня энергии еще не означает стабилизации равновесия, лежащего на этом уровне. Однако в работе [16] было показано, что если q = 0, то несколько модифицированный алгоритм (35) при Я* = 2си§ обеспечи- вает сходимость Я(</>(£), 99(f)) —> 2ci?o при t —> 00 за конеч- ное время при почти всех начальных условиях, а сходимость > (тг,О) имеет место при любых начальных усло- виях. При этом величина 7 > 0 может быть сколь угодно малой. - 207-
Санкт-Петербургские олимпиады по кибернетике Дополнительные трудности могут возникнуть из-за неполноты или неточности измерений (например, если недо- ступна измерению угловая скорость ф(б)) или из-за неполно- ты управления (например, когда нельзя пренебречь инерци- онностью двигателя, вращающего маятник, и его движение описывается уравнениями ml2 (Pipit) . . и , —----+mglsintp = u, T— + u = v, (36) где v — v(t) - новый сигнал управления). Действительно, изменяя управляющее воздействие v(t), нельзя произвольно изменять правые части (36). Современная теория нелинейного и адаптивного управле- ния предлагает несколько подходов к преодолению указан- ных трудностей. С ними можно познакомиться по специаль- ной литературе. ЛИТЕРАТУРА 1. Fradkov A.L., Pogromsky A. Yu. Introduction to control of oscillations and chaos. Singapore: World Scientific, 1998. 2. Блехман И.И. Вибрационная механика. М.: Наука, 1994. 3. Леонов Г.А., Смирнова В.Б. Математические проблемы теории фазовой синхронизации. СПб.: Наука, 2000. 4. Линдсей В. Системы синхронизации в связи и управле- нии. М.: Мир, 1978. 5. Pecora, L.M. and T.L. Carroll. Synchronization in chaotic systems. //Phys. Rev. Lett. 1990. V. 64. P. 821-823. -208-
Глава IV. Кибернетика 6. Марков А.Ю., Симин Г.С. Фрадков А.Л. Синхрониза- ция хаотических генераторов на туннельных диодах. Радиотехника и электроника. 1997. Kfi12. С. 1476-1481. 7. Фрадков А.Л. Кибернетическая физика. СПб.: Наука, 2003. 208с. 8. Мирошник И.В., Ушаков А.В. Синтез алгоритма син- хронного управления квазиподобными системами // Автоматика и телемеханика. 1977. №11. С. 22-29. 9. Blekhman, I.I., Fradkov A.L. Nijmeijer H.f Pogromsky A. Yu. On self-synchronization and controlled synchronization // Systems & Control Letters. 1997. V. 31. P. 299-305. 10. Управление мехатронными вибрационными установка- ми / Под ред. И.И. Блехмана, А.Л. Фрадкова. СПб.: Наука, 2001. 278 с. 11. Мирошник И.В., Никифоров В.О., Фрадков А.Л. Нели- нейное и адаптивное управление сложными динамиче- скими системами. СПб.: Наука, 2000. 12. Андриевский Б.Р., Фрадков А.Л. Избранные главы тео- рии автоматического управленйя с примерами на языке MATLAB. СПб.: Наука, 1999. 467 с. 13. Капица П.Л. Динамическая устойчивость маятника при колеблющейся точке подвеса // ЖЭТФ. 1951. Т.21. N 5. -209-
Санкт-Петербургские олимпиады по кибернетике 14. Meerkov S.M. Principle of vibrational control: theory and applications // IEEE Trans. Aut. Contr. 1980. V. AC-25. P. 755-762. 15. Stephenson A. On a new type of dynamical stability. Mem. Proc. Manch. Lit. Phil. Soc., 1908, V. 52,1-10; On induced stability. // Phil. Mag. 1909. V. 15. P. 233-236. 16. Shiriaev A.S., 0. Egeland, H. Ludvigsen, A.L. Fradkov. VSS-version of energy-based control for swinging up a pendulum // Systems & Contr. Lett. 2001. V. 44 (1). P. 45-56.
^ataMauSt^ Глава IV. Кибернетика 4.2. Некоторые общие принципы построения адаптивных систем управления1 В. Н. Фомин Предмет теории управления Управление в широком смысле представляет собой воз- действие на эволюцию (развитие во времени) того или иного процесса с целью придания ему желаемых свойств. При этом процесс может относиться к различным явлениям окружаю- щего мира и областям человеческой деятельности (загрязне- ние Мирового океана, освоение космического пространства, социально-экономическая жизнь государств и коллективов людей, дипломатия и военное дело, технология и наука, со- здание и использование различных технических устройств и их комплексов, жизнедеятельность конкретного организма и Т.Д.). Направленные воздействия осуществляет управляющая система, в качестве которой могут выступать человек, есте- ственный или искусственный орган (устройство) и др. Под- черкнем, что в любом случае определение или интерпретация цели управления (желаемых свойств управляемого процес- са) являются прерогативой человека или коллектива людей. Оригинальное издание: СОЖ. 1996. №12. С. 102-108. Публикуется с разрешения регщкции Соросовского образовательного журнала (СОЖ). - 211-
Санкт-Петербургские олимпиады по кибернетике Так, с научной точки зрения явления природы не являются целенаправленными, хотя очень многие вкладывают прямой смысл в утверждение: ’’Мир устроен целесообразно’’. С задачей управления непосредственно связан вопрос: чем и зачем управлять? При соответствующем уточнении со- здается предпосылка решения задачи управления, что связа- но с ответом на вопрос: как управлять? Исследование этого вопроса составляет основное содержание теории управления. В сложившейся математической теории управления пер- вый вопрос является внешним: обычно предполагаются из- вестными математическая модель процесса и необходимые сведения о состояниях модели в те или иные моменты вре- мени, так что ясно, чем надо управлять. Кроме того, цель управления формализована (указана в подходящих терми- нах), а потому понятно, зачем надо управлять. Хотя в рамках теории управления рассматриваются разнообразные модели управляемых объектов и ставятся различные цели управле- ния; вопрос об их адекватности реальным процессам и нефор- мальным целям управления не ставится. Такой подход к тео- рии управления позволяет широко использовать математиче- ские методы исследования. Практическая значимость полу- ченных результатов зависит от содержательности принятых моделей управляемых процессов и целей управления. Наибольшее развитие теория получила при исследовании процесса управления моделями, описывающими движение относительно простых физических и механических систем. Математические методы исследования проблемы управле- ния лишь начинают пробивать дорогу при изучении моделей окружающей среды, экономических и социологических моде- лей, при описании сложных явлений в биологии, медицине... Исходными являются понятия объект управления, цель - 212-
Глава IV. Кибернетика управления, стратегия управления. Объект управления (ОУ) характеризуется наличием входного процесса (набо- ром управляющих и возмущающих воздействий), выходно- го процесса (управляемого процесса или выхода ОУ) и свя- зями между входными и выходными процессами. Теорети- ки часто отождествляют ОУ с оператором, отображающим заданное множество входных процессов в множество вы- ходных процессов. Это входо-выходное отображение может иметь сложную функциональную форму, но обязано удовле- творять условию причинности: значение выходного процес- са в каждый момент времени не должно зависеть от бу- дущих значений входного процесса. Формализованное опи- сание входо-выходного отображения называют также мате- матической моделью управляемого процесса (управляемого объекта). Изменение входного управляющего процесса вле- чет изменение выходного процесса. Решение задачи управ- ления состоит в требовании указать способ изменения во времени входного управляющего процесса, при котором вы- ходной процесс обладал бы предписанными свойствами (т.е. обеспечивал бы поставленные цели управления). Этот спо- соб называют стратегией управления (СУ). Стратегия долж- на быть допустимой, т.е. использовать лишь те данные об ОУ, которые доступны в соответствующий момент времени (эти данные могут изменяться, например, в результате обнов- ления информации в процессе управления), и обеспечивать выполнение некоторых общих условий протекания процесса управления. (Важным из таких условий является обеспече- ние устойчивости системы управления, это свойство озна- чает, что для любого ограниченного во времени входного процесса соответствующий выходной процесс также должен быть ограничен во времени. В некоторых приложениях тре-
Санкт-Петербургские олимпиады по кибернетике бование устойчивости системы управления может выступать в качестве цели управления.) Задача управления предпола- гает задание класса допустимых стратегий, и ее решение со- стоит в выборе из этого класса стратегии, обеспечивающей выполнение ЦУ. Понятие об адаптивном управлении В инженерной практике обычно стремятся построить воз- можно более простую модель управляемого процесса (кото- рая тем не менее должна отражать основные его свойства). Наличие простых моделей позволяет, в частности, более пол- но изучить процесс управления путем имитации его с помо- щью аналоговых либо цифровых вычислительных машин и в итоге выбрать наиболее подхо,цящий режим работы системы управления. Для современного производства характерны усложнение технологических процессов, ужесточение допустимых откло- нений управляемого процесса от предписанных значений и т.д. Совершенствование методов управления в этих усло- виях предполагает разработку более сложных математиче- ских моделей управляемых процессов, позволяющих опти- мизировать управление, а использование усложненных мо- делей порождает проблему задания значений характеристик и параметров модели, нужных для формирования требуемо- го управления. Более того, некоторые из таких параметров могут дрейфовать во времени вследствие износа или старе- ния тех или иных устройств и механизмов, составляющих ОУ. Иногда можно учитывать подобный дрейф параметров путем регулярной замены изношенных деталей либо путем - 214-
Глава IV. Кибернетика переналадки управляющей системы, но обычно это требу- ет прерывания технологического процесса и потому может оказаться экономически невыгодным либо даже невозмож- ным по производственным причинам. Широкое внедрение современных ЭВМ в процессы управления технологически- ми процессами позволяет контролировать изменение пара- метров без прерывания технологического процесса и исполь- зовать текущие значения параметров (либо их оценки) для формирования управляющих воздействий. Если параметры изменяются во времени достаточно медленно (что бывает во многих прикладных задачах управления), то такие методы управления могут оказаться весьма эффективными, посколь- ку не связаны с прерыванием технологического процесса для тестирования управляемого процесса или ОУ. Робот-велосипедист Опишем модельную задачу автоматического управления, на которой продемонстрируем общие подходы к построе- нию адаптивных систем. Пусть объектом управления явля- ется двухколесный велосипед, движущийся равномерно (ве- лосипед с моторчиком) и прямолинейно, и наша задача со- стоит в построении управляющей системы (будем называть ее роботом-велосипедистом), которая должна поддерживать равновесие велосипеда путем соответствующего манипулиро- вания его рулем. Рассмотрим для определенности случай, когда робот- велосипедист представляет собой устройство, на вход которо- го поступает сигнал измерителя (датчика, сенсора), равный углу отклонения рамы велосипеда от вертикальной плоско- -215-
Санкт-Петербургские олимпиады по кибернетике сти (значения этого сигнала в момент времени t обозначим а выходом является сигнал, идущий на устройство по- ворота руля и указывающий нужный угол поворота руля в тот или иной момент времени. Обозначим: u(t) — значение этого управляющего сигнала в момент времени t. Таким об- разом, робот-велосипедист предполагается снабженным дат- чиком, позволяющим получать в каждый момент времени значение угла отклонения рамы велосипеда от вертикаль- ной плоскости. Под действием этого сигнала робот должен вырабатывать управляющий сигнал w, который обеспечива- ет достаточно малое отклонение рамы велосипеда от вер- тикальной плоскости. Если математическая модель двухко- лесного велосипеда полностью известна, то построить соот- ветствующее автоматическое устройство (т.е. модель робота- велосипедиста) обычно несложно. Остановимся на этом по- дробнее. В рамках элементарной теории велосипеда (см., на- пример, [1, гл. VI]) математическая модель двухколесного ве- лосипеда выглядит достаточно просто. Например, при упро- щающих предположениях (ось руля вертикальна, проходит через центр переднего колеса и является главной осью эл- липсоида инерции передней части велосипеда, массы колес пренебрежимо малы по сравнению с массой системы вело- сипед + робот) уравнение, описывающее зависимость угла отклонения рамы велосипеда y(t) от управляющего воздей- ствия и (утла поворота руля), в линейном приближении имеет вид1 y(t) - aoy(t) = biu(t) 4- bQu(t) + v(i), (1) где y(t) = d?y(t) /dt2 — ускорение угла отклонения рамы ве- 1 Управление в условиях неопределенности для линейной модели об- ращенного маятника обсуждается в статье В. А. Брусина [2]. - 216-
^aiattausi^i Глава IV. Кибернетика лосипеда от вертикальной плоскости; u(t) = du(t)/dt — ско- рость поворота руля; ао, Ьо, — некоторые постоянные, кон- кретизирующие принятую математическую модель двухко- лесного велосипеда; v(t) — возмущающее воздействие в мо- мент времени t (возмущающее воздействие v может описы- вать действующие на велосипед порывы ветра, неровности дороги, а также включать в себя факторы, вызванные несо- вершенством рассматриваемой математической модели вело- сипеда). Значения возмущающего воздействия v(t) обычно неизвестны, но в конкретных условиях управления велоси- педом часто удается высказать правдоподобные суждения о некоторых общих свойствах возмущающих воздействий (по- нятно, что если ничего не предполагать о возмущающих воз- действиях в уравнении (1), то принятая математическая мо- дель велосипеда бессодержательна в том смысле, что не уда- ется использовать ее особенности для содержательного ана- лиза задачи управления). Примем, что возмущающее воздей- ствие v во все моменты времени удовлетворяет условию Н«)|<С„ (2) с некоторой достаточно малой постоянной Cv. Предположе- ние о малости Cv — уровня возмущающего воздействия v — означает, что принятая модель велосипеда в виде линейного дифференциального уравнения второго порядка с постоян- ными коэффициентами достаточно хороша, а действующая на велосипед помеха мала. В некоторых идеализированных условиях такие предположения представляются естествен- ными (окончательное суждение о работоспособности осно- ванных на этих предположениях алгоритмов управления мо- гут быть сделаны либо с помощью натурных экспериментов, в которых построенный регулятор — робот-велосипедист — - 217-
Санкт-Петербургские олимпиады по кибернетике управляет реальным велосипедом, либо имитацией подобных экспериментов на ЭВМ). Коэффициенты уравнения (1) выражаются через физиче- ские параметры модели. Так, например, если постоянная ско- рость движения велосипеда равна V, база велосипеда (рас- стояние между осями колес велосипеда) равна с, высота цен- тра тяжести системы велосипед + робот и расстояние от цен- тра тяжести до вертикальной прямой, проходящей через ось заднего колеса, равны соответственно Z, /г, то в рамках теории элементарного велосипеда могут быть получены следующие значения коэффициентов модели (1) (сам вывод этих соот- ношений отнюдь не элементарен): „ _ 9 . V2 _ IV Ь1~1^ (3) где g — ускорение силы тяжести (на поверхности Земли д' = 9.8 м/с2). Схематически система велосипед + робот изоб- ражена на рисунке. Возможны и более сложные модели велосипеда. Так, в приведенной модели предполагалось, что инерцией руля ве- лосипеда можно пренебречь, т.е. прилагаемые к рулю усилия со стороны управляющего устройства достаточно велики. Ес- ли нельзя пренебречь инерцией руля, то более адекватная ре- альному велосипеду Математическая модель (даже в линей- ном приближении) будет сложнее: она описывается парой ли- нейных дифференциальных уравнений второго порядка (см. [1, гл. VI]). Использование такой усложненной модели требу- ет задания дополнительных параметров, таких как моменты инерции заднего и переднего колес относительно их осей соб- ственного вращения, коэффициент трения в рулевой колонке и т.п. В дальнейшем ограничимся рассмотрением упрощен- -218-
Глава IV. Кибернетика Схематическое изображение системы велосипед + робот: М — центр тяжести системы с координатами I и Л, с — база велосипеда, у — угол отклонения рамы велосипеда от верти- кальной плоскости, и — угол поворота руля, V — скорость движения велосипеда. ной модели (1), хотя принципиально дифференциальный по- рядок математической модели несуществен для построения адаптивного регулятора (усложнение математической моде- ли обычно уменьшает эффективность алгоритма адаптивно- го управления). Предположим, что в качестве цели управления принято требование обеспечить при всех достаточно больших t нера- венство |»(*)1 < (4) где Су — некоторая заданная, достаточно малая положитель- ная постоянная. Таким образом, при выполнении цели управ- ления (4) рама велосипеда будет незначительно отклоняться от вертикальной плоскости, т.е. велосипед будет двигаться - 219-
Санкт-Петербургские олимпиады по кибернетике примерно прямолинейно. Аналогично можно ставить зада- чу о движении велосипеда по заданной траектории, в этом случае рама велосипеда должна будет отклоняться от верти- кальной плоскости в те или иные моменты времени по закону, обеспечивающему перемещение центра тяжести системы ве- лосипед + робот по заданной траектории (цель управления тогда вместо (4) может иметь вид \y(t) ~У*№I < СУ, где у* (б) — заданная функция отклонений рамы велосипе- да от вертикальной плоскости, при которой обеспечивается движение центра тяжести системы велосипед + робот по за- данной траектории). Итак, задача состоит в описании алго- ритма построения управляющих воздействий tz(t), в те или иные моменты времени обеспечивающих выполнение целево- го условия (4). Если постоянные а0, bo, Ьг известны, а робот снабжен дат- чиками, позволяющими в каждый момент времени t изме- рять y(t) и y(t), то можно предложить весьма простые алго- ритмы управления (эти алгоритмы определяют способ функ- ционирования робота-велосипедиста). Например, можно при- нять, что управление и формируется по у с помощью обрат- ной связи bitt(t) + bQu{t) = —2#x£(t) + (а0 - Po)3/(t), (5) где czg, Ьо, b\ — постоянные из (1), а д0> ~ произвольные положительные постоянные. Объект управления (1), замкну- тый обратной связью (5), устойчив в том смысле, что все удо- влетворяющие уравнениям (1), (5) функции y(t}, u(t) стре- мятся к нулю при t —> оо. Действительно, уравнение (1) с - 220-
Глава IV. Кибернетика учетом (5) можно переписать в виде y + 2giy + goy = v(t). (6) Если помеха отсутствует (v(t) = 0, t 6 Т), то общее решение уравнения (6) имеет вид (для простоты примем, что до < gl) y(t) = ci exp{mit} + c2 exp{m2t}, (7) где mi, m2 — корни уравнения m2 + Zgtm + go = 0 (mi,2 = -gx ± [p? - #o]°‘5) (8) и ci, c2 — произвольные постоянные. В силу положительно- сти коэффициентов go, gi обратной связи (5) оба корня урав- нения (8) (в предположении д0 < д*) являются отрицатель- ными числами, а потому независимо от начальных данных (независимо от значений постоянных сх, с2) функция (7) экс- поненциально быстро убывает до нуля при t —> оо. Таким образом, при достаточно больших t модуль функции (7) бу- дет удовлетворять целевому неравенству (4). Этот же вывод остается справедливым и при ненулевой, но достаточно ма- лой помехе (постоянная Cv достаточно мала). Построение управляющей системы усложняется, если па- раметры модели неизвестны. В этом случае естественно воспользоваться адаптивными методами управления, когда неизвестные значения параметров ОУ оцениваются тем или иным способом в режиме функционирования управляемого объекта и найденные текущие оценки используются при фор- мировании управляющих воздействий. Подобный идентифи- кационный подход к адаптивному управлению обсуждается ниже в применении к роботу-велосипедисту. - 221-
Санкт-Петербургские олимпиады по кибернетике Параметрическая неопределенность в задании мате- матической модели управляемого объекта и способы ее преодоления Необходимость в адаптивном управлении возникает, ко- гда математическая модель задана не полностью, например с точностью до значений конечного набора параметров. Для линейных моделей такими параметрами могут быть коэффи- циенты описывающего ОУ уравнения (для модели велосипе- да (1) неизвестными могут быть все или часть коэффициен- тов ао> ^о, bi). В подобных ситуациях говорят о параметри- ческой неопределенности модели. В условиях параметрической неопределенности классиче- ские методы управления, основанные на полном знании зна- чений всех параметров системы, обычно оказываются непри- годными и приходится эти методы дополнять теми или ины- ми способами восстановления неизвестных значений пара- метров математической модели ОУ. Иногда достаточно точ- ные оценки значений параметров можно получить из анали- за входо-выходных сигналов управляемого объекта. Всякий такой способ, позволяющий с необходимой точностью восста- навливать неизвестные значения параметров, можно интер- претировать как процесс адаптации (приспособления). После завершения процесса адаптации приходим к обычной задаче управления (неизвестные значения параметров восстановле- ны с необходимой точностью и тем самым преодолена на- чальная неопределенность задания математической модели). Алгоритмы адаптации могут требовать различного времени для получения требуемых оценок (это время называется вре- менем адаптации). С практической точки зрения важны ал- горитмы, время адаптации у которых не слишком велико, - 222-
Глава IV. Кибернетика причем сами алгоритмы достаточно простые. Эти противо- речивые условия (а также ряд других) трудно формализуе- мы, но могут успешно изучаться путем имитации алгоритмов адаптивного управления на ЭВМ. Имеется некоторый универсальный подход к преодоле- нию параметрической неопределенности. Несколько неточно говоря, этот метод основан на случайном переборе возмож- ных значений неизвестных параметров с проверкой "каче- ства"выбранного параметра. Подобная идея самонастройки была воплощена английским ученым У. Р. Эшби [3] в изобре- тенной и построенной им кибернетической машине для моде- лирования явления гомеостаза — механизма удержания су- щественных переменных живого организма (таких, как тем- пература, давление крови, ее состав и т.п.) в физиологиче- ских пределах. Интересные соображения, связанные с про- цессами самоорганизации более сложных систем и образова- ния структур "с памятью есть в работе [4]. Можно показать, что при достаточно общих условиях по- добный метод самонастройки закончится за конечное время, т.е. на каждой реализации ’’подходящие’’оценки будут найде- ны после конечного числа попыток. К сожалению, на боль- шинстве реализат дй этого переборного процесса время его завершения (время адаптации) оказывается чрезмерно боль- шим (и оно быстро нарастает с увеличением числа оценива- емых параметров). Поэтому, несмотря на универсальность, описанный случайный перебор в практических задачах ма- лоэффективен и используется крайне редко. В нашем случае неизвестные параметры входят в уравнение (1) линейно, это обстоятельство позволяет воспользоваться одним из методов направленного перебора. Приведем один из таких методов оценивания, основанный на предположении, что помеха огра- - 223-
Санкт-Петербургские олимпиады по кибернетике ничена во времени, см. (2). Соответствующие оценки оказы- ваются подходящими, если уровень С — v помехи достаточно мал. Конечно-сходящиеся алгоритмы адаптации. Метод рекуррентных целевых неравенств В рамках идентификационного подхода к задаче адаптив- ного управления разработан достаточно общий метод оце- нивания, помеха в рамках этого метода может вообще не быть случайной (математическое понятие случайного про- цесса предполагает некоторые свойства его измеримости, что трудно проверить в прикладных задачах). Метод разрабо- тан в Ленинградском—Санкт-Петербургском государствен- ном университете научным коллективом, работающим под руководством чл.-кор. Российской Академии наук В.А. Яку- бовича, и широко используется в качестве алгоритма адапта- ции. Некоторые предварительные итоги по обоснованию это- го метода и применению его в разнообразных задачах адап- тивного управления приведены в книге [5] (см. также [6]). Этот метод в применении к задаче о роботе-велосипедисте можно описать следующим образом. Примем для определенности, что известным является ко- эффициент уравнения (1), тогда как коэффициенты а0, Ьо неизвестны (случай, когда неизвестны все коэффициенты, исследуется аналогично). Будем предполагать, что множе- ство Q возможных их значений является ограниченным за- мкнутым множеством (например, Q может быть прямоуголь- ником с центром в некоторой точке {ас*, bj}). Пусть фиксиро- ван некоторый способ получения оценок неизвестных значе- -224-
Глава IV. Кибернетика ний параметров ао> ^о- Обозначим: ао(О> МО ~ оценки, от- вечающие моменту времени t. Функции ao(t), bo(t) строятся как кусочно-постоянные, изменяющиеся лишь в дискретные моменты времени {t^k = 1,2,...,£* G Т} и принимающие постоянные значения в промежутках между этими значени- ями, a0(t) = ао(М> МО = bo(tfc), t* < t < tk + 1. (9) Выбор моментов времени {tk, k = 1,2,..., tk G T} и соот- ветствующих значений оценок ао(^л)> bo(tjt) может осуществ- ляться по-разному. Ограничимся лишь пояснением, в чем со- стоит метод рекуррентных целевых неравенств в рассматри- ваемой задаче о роботе-велосипедисте. Вводя обозначение f(t) — y(t) — biit(t), перепишем модель (1) в виде /(О - М0з/(0 “ bo(t)u(t) = = (а0 - aQ(t))y(t) + (bo - b0(t))u(t) + v(t). (10) Из равенства (10) и неравенства (2) следует, что неравенства \f(t) - a0(t)y(t) - b0(t)w(t)| < 2CV, t e T, (11) относительно величин ao(t), Ъъ(Г) разрешимы (они, очевид- но, выполнены при ao(t) = Go, МО = Ьо). Если функции ао(О> bo(t), удовлетворяющие континуальной системе нера- венств (11), как-то получены, то в силу (10) уравнение ОУ может быть записано в виде /(0 - OQ(t)y(t) - b0(t)w(t) = w(t), (12) где функция w(t) = (а0 - ao(t))y(t) + (b0 - b0(t))u(t) + v(t) (c неизвестными значениями) может рассматриваться как ”по- меха’’в нестационарном ОУ (12), и эта помеха в силу (11) - 225-
Санкт-Петербургские олимпиады по кибернетике удовлетворяет неравенству |w(t)| < 2С„. (13) Сказанное справедливо при любом выборе управления и. Примем теперь, что управление формируется с помощью об- ратной связи M(t) + bQu(t) = -2giy(t) - (ao(t) 4- g0)y(t) (14) где go, 9i ~~ произвольные положительные числа, g± > go. Уравнение (12) тогда преобразуется к виду У + 2gi9 + 9оУ = w(t). Как и в случае уравнения (6), отсюда при достаточно малой постоянной Cv в неравенстве (13) и начальных данных в си- стеме управления (12), (14) следует выполнение неравенства (4). Таким образом, задача управления свелась к нахожде- нию оценок a0(t), bo(t), удовлетворяющих неравенствам (13). Неравенства (13) в рамках обсуждаемого метода рассматри- ваются как целевые, т.е. использование их решения обеспе- чивает выполнение цели управления (4). Заметим, что эти неравенства не ”заданы”заранее, до начала процесса управ- ления: чтобы проверить, выполнено или нет соответствующее неравенство в момент времени t, следует вычислить величи- ну s(t) = y(t) - aoy(t) - biu(t) - b0(t)u(t) = = f(t) ~ aG(t)y(t) - bQ(t)u(t), (15) для чего нужно с помощью датчиков получить значения ве- личин y(t), y(t), u(t), а для этого требуется управлять - 226-
Глава IV. Кибернетика объектом до момента времени t, управление же в этот мо- мент времени (см. (14)) зависит от оценок ao(s), bo(s), s < 1. Неравенства (11) приходится решать последовательно, или рекуррентно, чередуя процесс получения оценок с процес- сом формирования управляющих воздействий. Эти свойства обсуждаемого подхода к задаче адаптивного управления и послужили основанием назвать его методом рекуррентных целевых неравенств. Таким образом, отыскание нужных оценок сводится к решению рекуррентных целевых неравенств вида (11). При этом требуется в действительности найти такое решение aj, bp, для которого неравенства (11) будут выполняться лишь с некоторого конечного момента t* (с этого момента парамет- ры робота-велосипедиста восстановлены с необходимой точ- ностью, и он будет успешно справляться с задачей удержания велосипеда в вертикальном положении, т.е. с этого момента времени будет обеспечиваться целевое неравенство (2)). Вви- ду ограниченности объема статьи не будем останавливать- ся на подробном выводе соответствующих алгоритмов оце- нивания (настройки параметров). Отметим лишь, что нера- венство (11) в каждый момент времени t определяет поло- су шириной 2CV в плоскости параметров {а0, Ьо}. В качестве алгоритма настройки может быть выбран, например, алго- ритм проектирования текущей оценки a0(£), bQ(t) на средин- ную плоскость этой полосы, направляющий вектор которой и расстояние до начала координат определяются соответствен- но вектором u(t)) и числом f(t). Соответствующие фор- мулы могут быть найдены, например, в [5,6], где приведены различные алгоритмы подобного рода под названием алго- ритмов адаптации ’’Полоска”. Эти алгоритмы при естествен- ных предположениях обладают свойством сходимости за ко- -227-
Санкт-Петербургские олимпиады по кибернетике нечное число итераций, т.е. на каждой реализации процес- са управления существует конечный момент времени t* — момент завершения процесса адаптации, начиная с которого для полученных оценок a0(t) = a0(t*), bo(t) = bo(t*) будут выполнены неравенства (11). Момент завершения процесса адаптации зависит от конкретной реализации помехи v, дей- ствующей на ОУ (1), и, вообще говоря, может быть сколь угодно большим. В рамках метода рекуррентных целевых неравенств полу- чены разного рода теоретические оценки скорости сходимо- сти алгоритмов типа ’’Полоска”. Однако эти теоретические оценки являются весьма грубыми и, как показывают экспе- рименты по имитации адаптивного робота-велосипедиста на ЭВМ, сильно завышенными. Многочисленные имитационные эксперименты на ЭВМ продемонстрировали высокую эффек- тивность метода рекуррентных целевых неравенств даже в условиях, когда классические методы типа широко известно- го метода наименьших квадратов оказываются несостоятель- ными. Более подробно эти вопросы обсуждаются, например, в [5, 6]. Заключение Широко распространена интерпретация задачи адаптив- ного управления как совокупности взаимосвязанных задач оценивания и собственно управления. В действительности задача адаптивного управления может рассматриваться как задача собственно управления в условиях неполного наблю- дения вектора состояния, если под вектором состояния ОУ понимать набор переменных, описывающих развитие во вре- - 228-
Глава IV. Кибернетика мени объекта, дополненный набором неизвестных парамет- ров. Однако исследование подобной задачи управления мо- жет оказаться весьма сложной проблемой. Например, если исходный объект линейный, то после включения неизвест- ных его коэффициентов в состояния расширенного ОУ при- ходим к нелинейному ОУ со всеми вытекающими сложными проблемами управления нелинейными объектами. Сложившаяся теория адаптивного управления учиты- вает линейность ОУ, что позволяет построить эффектив- ные алгоритмы адаптивного управления. Такие алгоритмы естественно возникают, например в рамках метода рекур- рентных целевых неравенств, о котором упоминалось вы- ше. Эффективность конечно-сходящихся алгоритмов типа ’’Полоска"подтверждается многочисленными и разнообраз- ными экспериментами по имитации адаптивного управления не только в применении к роботу-велосипедисту. ЛИТЕРАТУРА 1. Неймарк Ю. И., Фуфаев Н. А. Динамика неголономных систем. М.: Наука, 1967. 2. Брусин В. А. Об управлении динамическими система- ми в условиях неопределенности // Соросовский Обра- зовательный Журнал. 1996. №6. С. 115-121. 3. Эшби У. Р. Конструкция мозга. М.: Мир, 1964. 4. Кадомцев Б. Б. Динамики и информация // Успехи физ. наук. 1994. Т. 164. №5. С. 487-530. 5. Фомин В. Н., Фрадков А. Л., Якубович В. А. Адаптив- ное управление динамическими объектами. М.: Наука, 1981. 6. Фомин В. Н. Математическая теория обучаемых опо- знающих систем. Л.: Изд-во ЛГУ, 1976. -229-
F Санкт-Петербургские олимпиады по кибернетике 4.3. Многомерная геометрия и распознавание образов1 Ю. И. Неймарк Введение и постановка проблемы В предыдущей статье [1] я говорил о математике как об операционной системе и моделях. Сейчас я постараюсь рассказать о замечательных простых математических моде- лях очень сложных интеллектуальных способностей челове- ка, моделях, которые послужили основой и трамплином для бурного триумфального шествия нового раздела науки — распознавания образов. В 1957 г. в новой, только в 1948 г. провозглашенной Н. Винером науке кибернетике произошло ошеломляющее, получившее благодаря журналистам широ- кую огласку, событие: демонстрация устройства со звучным названием персептрон [2,3]. Персептрон распознавал (узна- вал, различал, опознавал) зрительные образы и обучался это- му распознаванию. Он мог узнавать новые образы, если его, как и нас, людей, этому учили путем показов. Ранее каза- лось, что такое умение — бесспорная прерогатива человека, что только человек с его высоким интеллектом способен к обобщению и формированию абстрактного понятия образа, только он это может и только его можно этому научить. Ока- залось, что это может делать устройство, бездушная машина. 1 Оригинальное издание: СОЖ. 1996. К*7. С. 119-123. Публикует- ся с разрешения редакгрш Соросовского Образовательного Журнала (СОЖ). - 230-
Глава IV. Кибернетика Персептрон имел не только звучное название, он был на вид прост и загадочен. Его создал Розенблатт, физиолог по профессии, исходя из современных ему представлений о кон- струкции мозга [4|, связей между слоями его нервных клеток и о самих нервных клетках, исходя из того, что он сам назвал принципами нейродинамики [5]. Персептрон имел фасетчат- ный глаз, как у стрекозы, состоящий из десяти тысяч фото- элементов. Далее шел ящик с лампочками, отвечающими на показ, и кнопками для сообщения ему, что показывают при обучении, состоящем в указаниях, правильно ли он, персеп- трон, распознает то, что ему показывают. Что внутри ящика, не видно, ящик черный, как в игре “Что? Где? Когда?”. Но вскоре содержимое ящика стало понятным, и сотни групп ученых во всем мире стали экспериментировать с пер- септронами. Уже в начале 60-х годов в нашей стране при- менили машинное распознавание образов к опознанию неф- теносной местности, местности, в недрах которой скрыта нефть. Затем с помощью ЭВМ начали распознавать болез- ни человека и делать это подчас лучше, чем сам человек. ЭВМ научилась “читать” печатный и даже рукописный текст и воспринимать текст с голоса, обнаруживать неисправности, предсказывать аварийные ситуации и многое, многое другое. Отдельный конкретный стул мы можем в деталях описать и научить ЭВМ по этому описанию его узнавать. Но как на- учить ЭВМ узнавать любой стул, в том числе и тот, которого мы сами не видели, т.е. каким образом описать образ “стул”? Стул предназначен для сидения, имеет ножки и спинку. Но что значит для ЭВМ: “предназначен для сидения, ножка и спинка”? Это столь же неясно, как и то, что такое сам стул. Итак, что такое "объект что такое "образ"и как можно ЭВМ научить "распознаванию образов как можно распозна-
Санкт-Петербургские олимпиады по кибернетике вание использовать для перечисленных выше вопросов? Мо- гущество математики состоит в том, что ответы на эти во- просы могут быть получены, если найдены соответствующие этим вопросам математические модели, т.е. математические модели объекта, образа, распознавания и обучения распозна- ванию. Как только такие модели станут общим достоянием, ЭВМ будут распознавать не хуже, а может быть, и лучше человека. Приложения, и самые разнообразные, посыплют- ся, как горох из мешка, причем не только ожидаемые, но и совершенно неожиданные. Ведь персептрон распознавал зри- тельные образы, а затем ЭВМ ставила диагнозы болезней, находила скрытые неисправности и осуществляла геологиче- скую разведку. Кажется, что построить эти математические модели невозможно и уж, во всяком случае, очень трудно. Будущий врач учится полжизни, чтобы верно ставить диагнозы за- болевания, только талантливый химик догадывается о свой- ствах вещества по его структурной химической формуле, а мы хотим, чтобы это делали ЭВМ. Конечно, трудно, даже очень трудно, потому что эти модели существенно новые, от- личные от привычных нам уравнений, и мы еще не знаем, как их построить. Нужен взлет, скачок мысли, и он был бы невозможен, не обладай человек изобретением своего вообра- жения, называемым многомерным пространством. Изобрете- нием потому, что многомерного геометрического простран- ства нет в природе, его изобрел математик. Изобрести это многомерное пространство в связи с моделированием распо- знавания образов очень маловероятно, пожалуй, невозмож- но. Идеи многомерного пространства высказывались еще в XVIII в. И. Кантом и Ж. Д’Аламбером, а многомерная гео- метрия построена А. Кэли, Г. Грассманом и Л. Шлефли в - 232-
Глава IV. Кибернетика прошлом веке. После этого первоначальные сомнения и свя- занная с ними мистика были преодолены, и многомерное про- странство стало плодотворным математическим понятием. Многомерное пространство такое же, как наше трехмерное, но только у него не три координатных оси, а много, любое число п. Представить его в нашем трехмерном пространстве нельзя, но вообразить можно: п осей координат Oxi, 0x2, • • •, Охп, каждая точка х имеет п координат a?i, Х2, ..., хп; плос- кость, точнее гиперплоскость, делит все пространство на две части; через любые две точки можно провести единствен- ную прямую; конечный отрезок прямой имеет длину и т.д. Для физиков уже давно стало привычным рабочим инстру- ментом четырехмерное пространство с тремя пространствен- ными координатами и четвертой — временем. Говорят, наш замечательный геометр Делоне легко представлял себе четы- рехмерное пространство так же, как мы трехмерное, и мог в нем производить геометрические построения. В конце кон- цов, мы же изображаем наше трехмерное пространство на двумерных картинах, рисунках и чертежах. Но вернемся к математическим моделям. Мне очень труд- но перед Вами хитрить, ведь я знаю эти модели, и они про- сты, как дважды два — четыре. Помогают мне хитрить толь- ко прошлые воспоминания, когда они были неизвестны и всем казались недосягаемыми и загадочными. Чувство удив- ления и затем восхищения не прошли для меня даром: я за- нялся разработкой и приложением идей распознавания об- разов в медицине. В 1972 году вышла книга "Распознава- ние образов и медицинская диагностика" [6], плод труда и эн- тузиазма математиков, врачей и инженеров. Сейчас возрос- шие возможности персональных ЭВМ побудили нас на ос- нове приобретенного опыта к разработке самообучающегося, - 233-
Санкт-Петербургские олимпиады по кибернетике автоматизированного консультанта врача в постановке диа- гноза, прогноза течения болезни, показанности оперативных вмешательств, выборе метода лечения и др. [7]. Естественно, что мне хочется, чтобы сейчас эти же чувства удивления и восхищения посетили и Вас. Итак, требуется описать на ма- тематическом языке, т.е. построить, математические модели объекта, образа, распознавания и обучения. Математические модели распознавания Что такое изображение? Для простоты черно-белое, та- кое, как в газете, полученное путем нанесения или не на- несения на бумагу в определенных ее местах черных точек. Перенумеруем от 1 до п все места, где можно ставить черные точки. В s-м месте может стоять или не стоять черная точка, это опишем тем, что х8 = 1 или, соответственно, ха = 0. В результате любое изображение описывается последователь- ностью чисел х1} Х2, хп. Аналогично сетчатка нашего глаза, состоящая из колбочек и палочек, воспринимает лю- бое изображение как некоторую последовательность чисел. Еще отчетливей это для фасетчатого глаза стрекозы. Теперь введем n-мерное пространство X с координатами a?i, ^2, • • хп. Любое изображение представляется в нем некоторой точ- кой х. Если бы изображение состояло только из трех черных и белых точек, то пространство X и точку — изображение х можно было бы наглядно нарисовать. Но координат хг, ж2, ..., хп тысячи и сотни тысяч. Ну и что? Изобразим его так же, только с п осями и такой же точкой х — изображением. Таким образом, конкретный объект-рисунок — это точка х в многомерном пространстве X всевозможных рисунков. -234-
Глава IV. Кибернетика ^atattaus,^ А что такое образ? Это обобщенное представление обо всех его конкретных изображениях или нечто объемлющее все эти изображения, т.е. множество точек х в многомерном пространстве X, соответствующих всем этим изображениям. Будем мыслить это множество точек в виде некоторого обла- ка, назвав его, например, А (см. рис.). Другому образу будет отвечать другое облако, пусть В. Например, А — всевозмож- ные стулья, а В — ведра. Таким образом, строятся математические модели кон- кретного изображения и множества изображений, составля- ющих образы. Теперь мы можем ответить на вопрос ’’что такое распознавание образов?"Это умение выяснить, к како- му из облаков А или В принадлежит точка я, отвечающая показываемому изображению — объекту. Как узнать, лежит ли точка х в облаке А или В? Ведь нарисовать на самом деле их нельзя, и пространство X воображаемое, вообража- емые и облака А и В в нем, да и точка х тоже, но сделать -235-
Санкт-Петербургские олимпиады по кибернетике это все же можно, например, так. Разделим облака А и В ги- перплоскостью или, если не выходит, гиперповерхностью S (см. рис.). С одной ее стороны облако А, с другой — В. Как это сделать? Фантазия? Вот и нет! Гиперповерхность S — это множество точек, на которых ’’зануляется’’некоторая функ- ция f (xi, Х2,..., Хп). С одной стороны поверхности S f > 0, с другой f < 0. Так что, например, х G А, если f < 0, и х € В, если f > 0. Это не единственный способ, но он очень хороший и дает нам определенную математическую модель различия, распознавания образов. Надо только еще научиться находить эту поверхность S и ее уравнение /(Ж1,Ж2,..-,Жп) = 0. (1) Ясно, что найти эту поверхность можно, только ’’показы- вая’’точки облаков А и В. Показать сразу все облако А или В мы не можем, они воображаемые, и точек в них может быть слишком много. Но показать не очень большие количества точек множеств облаков А и В можно, просто перечислив их. Теперь можно сформулировать, в чем состоит модель обу- чения распознаванию образов. Это нахождение разделяющей поверхности S по конечным ограниченным показам точек об- лаков А и В. (Все время речь шла о распознавании двух об- разов, но, умея распознать два, нетрудно распознать любое их конечное число. Достаточно, например, каждое из мно- жеств отличать от всех остальных. Это не лучший способ, даже плохой, и можно придумать лучший, при котором раз- деляющих поверхностей требуется много меньше). Наша цель достигнута: построены математические моде- ли объекта (изображения), образа, распознавания образов и обучения распознаванию образов. Но все же, как конкретно -236-
Глава IV. Кибернетика находить требуемую разделяющую поверхность, мы не зна- ем. Тут возможны разные способы, но прежде давайте немно- го осмыслим полученные математические модели. Математи- ческие модели — это описания на абстрактном математиче- ском языке. Куда уж дальше? Модели не только абстракт- ные, но и фантастические, воображаемые. Но это не плохо, а, оказывается, очень хорошо. Хорошо потому, что под эти модели подходят не только зрительные объекты, но и зву- ковые, обонятельные и осязательные, и те представления об объектах, которые дают не только наши органы чувств, но и приборы, проще, всё, что может быть описано или, как го- ворят, закодировано числами, а числами может быть закоди- ровано все, что можно описать словами и любыми значками, т.е. всё, что мы можем знать. Такова всеобъемлющая мощь этих математических моделей. Нужен диагноз болезни — по- жалуйста, только опишите больного и дайте достаточно слу- чаев этой болезни, которые я использую как представителей - 237-
Санкт-Петербургские олимпиады по кибернетике ее образа. Нужно узнать, есть ли в глубине земли золото, — пожалуйста; в чем неисправность машин — пожалуйста; не раковая ли это клетка — пожалуйста; чей это почерк — пожалуйста; не жулик ли этот человек — пожалуйста; бу- дет ли этот человек хорошим водителем автомобиля — по- жалуйста; какие свойства у еще не полученного химического вещества — пожалуйста... Такова необычайная широта при- ложений математических моделей распознавания образов. Теперь, я думаю, Вы готовы узнать, как же найти разде- ляющую поверхность, во всяком случае, важность этого Вам ясна. Алгоритм обучения Выше были описаны математические модели объекта и образа. Объект — это точка многомерного пространства его признаков, образ — это множество, облако таких точек. Рас- познавать образы — это указывать, к какому из облаков- образов принадлежит заданная точка. Обучение показами — это когда предъявляются какие-то точки х и указывается, к какому из множеств-образов они принадлежат, а в резуль- тате вырабатывается способность определять, к какому из множеств-образов принадлежит новая, в том числе и ранее не показываемая, точка. Перейдем теперь к вопросу о том, как осуществить обуче- ние показами, с помощью какого алгоритма его достигнуть. Как уже говорилось, этого можно достигнуть путем постро- ения разделяющей поверхности. Но как ее найти? Об этом и пойдет речь. Будем искать, например, разделяющую поверх- - 238-
Глава IV. Кибернетика ность в виде /(•£> с) ^1^1 (®i, • • • i хп) 4~.. • 4~ о7п^>тп(®1,..., Хп) = 0, (2) где х — точка многомерного пространства X с координатами- признаками Xi,..хп, a ai,..Оп — неизвестные параметры, которые мы хотим подобрать так, чтобы она была искомой разделяющей, т.е. чтобы для всех точек х Е A f(x,a) < О, а для всех х G В f(x,a) > 0. Функции фа(х1,... ,хп) извест- ны и подобраны так, что мы можем надеяться найти требу- емую разделяющую поверхность. Согласно сказанному, ис- комые значения параметров можно найти из системы нера- венств /(ж,а*)<0 при х е А, f(ar, а*) > 0 при х Е В. (3) Ясная математическая задача поставлена. Однако как ее ре- шить? Точек х очень много, все не перечислишь, параметров аа также не мало. Персептрон Розенблатта делал это следу- ющим образом. Возьмем произвольные начальные значения параметров аа, s = 1,2,..., m, и будем последовательно по- казывать точки множеств-облаков А и В, указывая каждый раз с помощью величины £, к какому из образов А или В она принадлежит. Если £ — — 1, то показываемое х принадлежит А, если £ = +1, то х € В. При этих показах одновремен- но выясняется, а верно ли, в соответствии с условиями (3), распознает объект х персептрон. Если верно, его не трогают. Если неверно, меняют параметры аа в соответствии с фор- мулами аа — а8 4- ^фа{хх,..., хп^} s — 1,2,..., тп. (4) - 239-
Санкт-Петербургские олимпиады по кибернетике Дальше за параметры персептрона аа принимают и по- казывают следующий объект, и опять либо не меняют, ли- бо меняют параметры согласно формулам (4). Процесс очень простой и смысл его тоже, так как при каждой ошибке невер- ное значение функции /(ж, а) за счет изменения параметров становится "менее"неверным. Именно: f(x,a) -> f(x, а) = 57(а, + £фа(х))ф,(х) = Поэтому, если f(x,a) > 0 и £ = —1 (ж € А), то f(x,a) < f(x, а), а если f(x, а) > 0 и £ = 1 (ж е В), то /(ж, а) > /(ж, а). Трудно поверить, что такой простой алгоритм ведет к цели, но это так при весьма общих условиях и, самое важное, удач- ности выбора общего вида (2) разделяющей функции /(ж, а). Удачность означает принципиальную разрешимость с запа- сом неравенств (3). С запасом — это значит, они выполняются не только для некоторого а*, но и всех а, достаточно близ- ких к а*. Достигаемая цель состоит в том, что в описанном процессе персептрон совершает не более, чем некоторое ко- нечное число ошибок N. Если персептрон уже их совершил, то после этого он уже никогда не ошибается, узнавая пра- вильно даже те объекты, которые он никогда ранее не видел и которые ему не показывали. Идея доказательства очень проста [8]. Рассмотрим изме- нение величины V, равной V = £(а, - А<)2 > О, А > 0, (5) при совершении персептроном ошибки 4V = + £ф, - Аа*)2 - £(а, - Аа*)2 = -240-
Глава IV. Кибернетика = 2v {J2 ~ 52 a*^a}+52 Первый член этой суммы отрицателен, так как в силу ошибки персептрона знаки х и аафа = f(x, а) противоположны, а знаки £ и а*аФз = f (ж, л*) одинаковы, и по величине неогра- ниченно растет вместе с А. Это позволяет выбрать А так, что убывание величины V при каждой ошибке персептрона не менее, чем на q > 0. Из этого и следует конечность числа ошибок, так как величина V не может стать отрицательной. Заключение Есть поговорка: ”3а одного битого двух небитых дают”. Раз побили, значит, в чем-то ошибся. Поэтому поговорку можно перефразировать и так: "За одного ошибавшегося двух неошибавшихся дают". Ученик, чтобы познать новое, должен ошибиться положенное ему число раз. Поэтому уче- нику мы стараемся давать постепенно задачи с разумными подвохами, так, чтобы, ошибаясь и осмысливая ошибки, он быстрее поумнел. Высказанным я хочу обратить Ваше вни- мание на то, что законы обучения персептрона и ученика схожи, что в основе обучения обоих, возможно, лежат общие закономерности обучения, порождаемые общностью их мате- матических моделей, тех самых, о которых я Вам рассказал. Розенблатт шел от принципов работы мозга, нейродинами- ки, и придумал персептрон. Мы же от персептрона, от его принципа обучения и общих математических моделей верну- лись к человеческому мозгу. Круг замкнулся, обогатившись новыми знаниями, удивительным фактом о конечности чис- ла ошибок при обучении, о связи этого предельного числа -241-
Санкт-Петербургские олимпиады по кибернетике ошибок с выбором обучаемой функции /(ж, а) и влиянии на обучение порядка показа представителей образа. Всеобъемлющая значимость общих абстрактных моделей математики не только в их конкретных приложениях, но еще более, пожалуй, в их эвристических возможностях. В своей научной деятельности я столкнулся с рассматриваемыми об- щими принципами обучения, разрабатывая адаптивные (са- мообучающиеся) системы управления. Так вот, для убыстре- ния их адаптации и улучшения их работы лучше, если они в самом начале покажут все свои "фокусы"и нарушения хо- рошего управления, затем, после этого, они будут работать надежнее и лучше. Только столкнув при обучении будущего оператора атом- ной станции с возможными аварийными ситуациями, его можно допустить к самостоятельной работе: ошибаться нуж- но при обучении, а не на работе. Для этого, конечно, необхо- димо провести предварительно большую исследовательскую работу не только технической стороны, но и динамики атом- ного реактора и станции (создав достаточно хорошую их ма- тематическую модель). И еще: в плане подчеркивания важ- нейшей эвристической роли общих абстрактных математи- ческих моделей я хотел бы обратить внимание на то, что понимание общих моделей обучения наталкивает на мысль о желательности к своему процессу обучения относиться кри- тически, оценивая как бы со стороны его результаты и, в зависимости от этой оценки, корректировать свои дальней- шие действия. Именно эта общая идея побудила нас в раз- рабатываемой самообучающейся системе принятия решений в трудно формализуемых условиях ввести отдельный блок критики. Этот блок анализирует ошибки и подсказывает кор- рективы, которые нужно внести в алгоритм распознавания: -242-
Глава IV. Кибернетика ftataHauslilV. расширить описание объекта и как именно, запросить допол- нительные обучающие данные и какие именно, изменить ко- дировку признаков, в каких случаях к ответам алгоритма можно относиться с полным доверием и в каких нельзя и др. После высказанных общих соображений о процессе обу- чения и распознавания укажем, что же распознавание поз- воляет получить, например, для диагностики рака желудка, отделяющей его от других, сходных по симптомам, заболева- ний: язвы, полипоза, гастрита, доброкачественной опухоли. Оказывается, что только по результатам иммунологического анализа крови, дающего девять чисел Ж1, ж2, ..ж9 — коли- честв в ней разных типов клеток (лейкоцитов, лимфоцитов, В-лимфоцитов и др.), можно с достоверностью порядка 98% выяснить, рак ли это. Диагноз "рак"или "не рак зависит от знака функции /(ж, а), равной /(ж, а) = 0.02Ж1 + 0.207ж2 + 0.31ж3 + 0.75Ж4 + 0.618ж5+ +0.154ж6 + 0.212ж7 + 0.403ж8 - 0.492ж9 - 0.5, который легко вычисляется по данным анализа крови. ЛИТЕРАТУРА 1. Неймарк Ю. И. Математика как операционная система и модели // Соросовский Образовательный Журнал. 1996. №1. С. 82-85. 2. Rosenblatt F. The Perceptron, A Perceiving and Recognizing Automation / Project PARA, Cornell Aeronaut. Lab. Rep. №85-460-1. Jan. 1957. - 243-
Санкт-Петербургские олимпиады по кибернетике 3. Rosenblatt F. Two Theorems of Statistical Separability in the Perceptron, Proceedings of Symposium on the Mechanization of Thought Processes, London, 1959. P. 421-456. 4. Эшби У. P. Конструкция мозга. M.: ИЛ, 1962. 5. Розенблатт Ф. Принцип нейродинамики. М.: Мир, 1966.. 6. . Неймарк Ю. И., Баталова 3. С., Васин Ю. Г., Брейдо М. Д. Распознавание образов и медицинская диагности- ка. М.: Наука, 1972. 7. Неймарк Ю. И., Теклина Л. Г., Таранова Н. Н., Ко- тельников И. В. Обучающаяся статистическая кон- сультативная система. Межвузовский сборник "Дина- мика систем Изд. Нижегородского ун-та, 1995. С. 3-28. 8. Novikoff A. On Convergence Proofs for Perceptrons. Proceedings of Symposium on Mathimatical Theory of Automata. Polytechnik Institute of Brooklyn, 1963. V. XII.
^aiattausi^i Глава IV. Кибернетика 4.4. Становление информатики в России1 Д. А. Поспелов Замечания по терминологии История информатики в нашей стране (сначала СССР, а затем России) насыщена драматическими коллизиями и рез- кими изменениями приоритетов. Это ощущается даже в тер- минологии. Термин “информатика” для обозначения совокуп- ности научных направлений, тесно связанных с появлением компьютеров и их стремительным вхождением в ноосферу, определяемую жизнедеятельностью людей, у нас относитель- но новый. Он получил “права гражданства” в начале 1980-х годов, а до этого, согласно определению, данному в Большой советской энциклопедии, информатика рассматривалась как “дисциплина, изучающая структуру и общие свойства науч- ной информации, а также закономерности ее создания, пре- образования, передачи и использования в различных сферах человеческой деятельности” [1, с. 1031]. Подобное определение связывало информатику с библио- тековедением, библиографией, методами поиска информации в массивах документов. Когда в 1952 году был создан Инсти- тут научной информации АН СССР, позже преобразованный 1 Оригинальное издание: Очерки истории информатики в России Со- ставители Д. А. Поспелов, Я. И. Фет. Новосибирск: НИЦ ОИГГМ СО РАН, 1998. Публикуется с разрешения составителей. - 245-
Санкт-Петербургские олимпиады по кибернетике в ВИНИТИ — Всесоюзный институт научной и технической информации, то он должен был стать головным академиче- ским учереждением в области информатики. То, что стало называться информатикой в начале 1980-х в нашей стране, было совершенно иным. Ближе всего содержа- ние этого понятия подходит к тому, что в США и большин- стве других стран называется “computer science”, т.е. “ком- пьютерные науки”. В [2] говорится, что “компьютерные науки” концентриру- ют свое внимание на различных аспектах, связанных с про- теканием и использованием информационных процессов, с теми структурами, в которых представляется информация, и теми процедурами, которые используются при её перера- ботке. Последнее связывает область “компьютерных наук” с теорией машин для переработки информации — компьюте- ров — и методами их использования в системах переработки информации. Для термина “информатика” в [2] нет отдельной ста- тьи, а есть лишь ссылки на термины: “компьютерные на- уки”,“компьютерное обучение” и ’’информационные науки”. Содержание понятия“информационные науки” в [2] полно- стью совпадает с толкованием термина“информатика” в БСЭ 11]. С начала 80-х содержание того, что скрывается за терми- ном ’’информатика”, ближе всего к тому, что понимают фран- цузы, когда говорят о науке, носящей название informatique. До этого совокупность научных направлений, называе- мых теперь информатикой, именовалась по-разному. Сна- чала объединяющим названием был термин“кибернетика”, затем на роль общего названия той же области исследо- ваний стала претендовать“прикладная математика”. Следы - 246-
L^ataltaus^ Глава IV. Кибернетика этой разноголосицы хорошо видны в наименовании выс- ших учебных заведений и научных институтов. Факультет в МГУ, готовящий специалистов в области информатики, носит название ’’Вычислительная математика и кибернети- ка”, а институты, ведущие исследования в данной области, могут называться и“Институт кибернетики Национальной АН Украины”, и“Институт прикладной информатики РАН”, и“Институт прикладной математики РАН”. Поэтому, говоря об истории информатики в бывшем СССР и теперешней России, по сути, надо излагать историю отечественной кибернетики и частично прикладной матема- тики и вычислительной техники. Именно так построена эта вводная статья. Структура информатики На протяжении полувековой истории информатики в ней неоднократно возникали и исчезали те или иные направле- ния. В настоящее время ее структура, по-видимому, опреде- лилась. В нее входят следующие основные области исследо- вания: • теория алгоритмов (формальные модели алгоритмов, проблемы вычислимости, сложность вычислений и т. п.); • логические модели (дедуктивные системы, сложность вывода, нетрадиционные исчисления: индуктивный и абдуктивный вывод, вывод по аналогии, правдоподоб- ный вывод, немонотонные рассуждения и т.п.); -247-
Санкт-Петербургские олимпиады по кибернетике • базы данных (структуры данных, поиск ответов на за- просы, логический вывод в базах данных, активные ба- зы и т. п.); • искусственный интеллект (представление знаний, вы- вод на знаниях, обучение, экспертные системы и т. п.); • бионика (математические модели в биологии, модели поведения, генетические системы и алгоритмы и т. п.); • распознавание образов и обработка зрительных сцен (статистические методы распознавания, использование признанных пространств, теория распознающих алго- ритмов, трехмерные сцены и т. п.); • теория роботов (автономные роботы, представление знаний о мире, децентрализованное управление, плани- рование целесообразного поведения и т. п.); • инженерия математического обеспечения (языки про- граммирования, технологии создания программных си- стем, инструментальные системы и т. п.); • теория компьютеров и вычислительных сетей (архитек- турные решения, многоагентные системы, новые прин- ципы переработки информации и т. п.); • компьютерная лингвистика (модели языка, анализ и синтез текстов, машинный перевод и т. п.); • числовые и символьные вычисления (компьютерно- ориентированные методы вычислений, модели перера- ботки информации в различных прикладных областях, работа с естественно-языковыми текстами и т. п.); -248-
Глава IV. Кибернетика • системы человеко-машинного взаимодействия (модели дискурса, распределение работ в смешанных системах, организация коллективных процедур, деятельность в телекоммуникационных системах и т. п.); • нейроматематика и нейросистемы (теория формальных нейронных сетей, использование нейронных сетей для обучения, нейрокомпьютеры и т. п.); • использование компьютеров в замкнутых системах (мо- дели реального времени, интеллектуальное управление, системы мониторинга и т. п.). Эти области информатики возникли не одновременно. Ис- тория информатики связана с постепенным расширением об- ласти ее интересов. Возможность расширения диктовалась развитием компьютеров и накоплением моделей и методов их применения при решении задач различного типа. Следуя историческим реалиям, мы в данной книге постараемся от- разить эту особенность истории информатики. Борьба за признание Во второй половине 30-х годов в нескольких странах по- явились первые проекты электромеханических и электрон- ных устройств, нацеленных на выполнение массовых вычис- лений. Первый проект, завершившийся созданием прообраза будущих вычислительных машин, был выполнен в США. К декабрю 1939 года Дж. Атанасов и К. Берри создали макет процессора, а в мае 1942 года первая в мире вычислительная машина начала действовать. Эти работы велись в условиях -249-
Санкт-Петербургские олимпиады по кибернетике секретности, что впоследствии породило судебное разбира- тельство по вопросу о приоритете с разработчиками машины ЭНИАК, созданной в США в период с 1943 по 1946 годы. Однако именно с ЭНИАКом связано начало той вычис- лительной техники, которая породила сначала кибернетику, а затем и информатику. В этой машине впервые была реа- лизована структура, предложенная Дж. фон Нейманом. Про- грамма вычислений стала объектом, доступным для преобра- зования с помощью вычислительной машины. Так возникло программирование. В нашу страну сведения о создании новых видов перера- ботчиков информации поступили довольно быстро. Исходя из интересов страны (прежде всего из необходимости под- держивать высокий уровень военных разработок), в СССР начались работы по созданию отечественных вычислитель- ных машин. В конце 30-х годов в Институте электротехники АН УССР под руководством С. А. Лебедева уже начиналась работа по созданию вычислительной машины, использующей двоичную систему счисления, но начавшаяся война прервала эти исследования [3]. После нее наступило время их продол- жить. В 1951 году в Киеве заработала первая в континен- тальной Европе вычислительная машина — МЭСМ, создан- ная коллективом, возглавляемым С. А. Лебедевым. Работы, имевшие для страны большое значение, как это было принято, поручались сразу нескольким организациям. Поэтому МЭСМ и вскоре последовавшая за ней БЭСМ не оказались одинокими. В 1952 году стали действовать маши- ны М-1 и М-2, созданные в коллективе И. С. Брука, в 1953 году появился первый экземпляр ЭВМ“Стрела”, а с 1954 го- да началось семейство машин“Урал”, главным конструкто- ром которого был Б. И. Рамеев [3,4]. - 250-
'Nalattausl^i Глава IV. Кибернетика Все фундаментальные исследования и инженерные раз- работки, которые могли использоваться в военной сфере, в СССР были скрыты от широкой общественности завесой секретности. Поэтому первая научная монография по тео- рии ЭВМ и программированию [5] имела гриф и выдавалась лишь по предъявлении документа о допуске к государствен- ным секретам. Изданная в 1948 году книга американского математика Норберта Винера“Кибернетика или управление и связь в жи- вотном и машине” попала на полки с секретными изданиями по другой причине. Ее автор высказал идеи, не согласую- щиеся с официальными доктринами, пропагандируемыми в советском обществе. Для Винера было абсолютно ясно, что многие концепту- альные схемы, определяющие поведение живых организмов при решении конкретных задач, практически идентичны схе- мам, характеризующим процессы управления в сложных тех- нических системах. И более того, он был убежден, что соци- альные модели управления и модели управления в экономике могут быть проанализированы на основе тех же общих поло- жений, которые разработаны в области управления система- ми, созданными людьми. Эти крамольные идеи не могли стать достоянием совет- ских граждан, которым настойчиво внушался тезис марк- систской философии о несводимости“высших форм” суще- ствования материи к“низшим формам”. Поэтому место книги Винера было однозначно определено — спецхран. В этом состоит главная причина того, что у истоков раз- вития кибернетики (информатики) в СССР стояли сотруд- ники различных закрытых ведомств и предприятий, в боль- шинстве своем носившие военную форму. Забегая вперед, -251-
Санкт-Петербургские олимпиады по кибернетике отметим, что все первые книги в области кибернетики, вы- числительных машин и программирования, выпущенные уже во второй половине 50-х годов без грифа секретности, были написаны военными. Этот нетривиальный для истории нау- ки факт имел для отечественной информатики немаловаж- ное значение. Если бы не активная наступательная позиция военных, поддержанная членами АН СССР, то идеологиче- ские концепции, охраняемые представителями консерватив- ной философской элиты, задержали бы на много десятиле- тий развитие информатики, как это случилось с генетикой и другими неугодными придворной философии науками. Вре- мя для очередного разгрома — начало 50-х годов — было весьма подходящим. Первой ласточкой стала статья, помещенная на страни- цах идеологического официоза“Вопросы философии” в мар- те 1950 года [6]. В ней критике были подвергнуты некото- рые теоретические положения математической логики, про- тиворечащие, по мнению авторов статьи, догмам материа- лизма. Статья была откликом на публикацию переводов книг Д. Гильберта и В. Аккермана“Основы теоретической логики” (М.: Издательство иностранной литературы, 1947) и А. Тар- ского“Введение в логику и методологию дедуктивных наук” (М.: Издательство иностранной литературы, 1948). Редакто- ром перевода и автором предисловия к первой из книг была С. А. Яновская, в издании и комментировании второй книги кроме нее участвовал еще Г. М. Адельсон-Вельский. Они и послужили мишенью для идеологического разно- са. Авторы работы [6] не скупятся на резкие высказыва- ния:“Классики марксизма-ленинизма дали нам ясные и со- вершенно достаточные указания для правильного понимания философских вопросов математики” (с. 331);“...изъятие вся- - 252-
^atailauSf^ Глава IV. Кибернетика кого содержания в пользу ’’чистой” и субъективной формы, творящей содержание, противоречит марксизму и науке” (с. 333);“Речь идет не о том, чтобы ’’ликвидировать” математи- ческую логику, а о том, чтобы отсечь реакционную тенден- цию в ней, извращения ее, отражающие идеологию враждеб- ных нам классов” (с. 336). И, наконец:“Эти работы являются выражением примиренчества к идеализму в математике” (с. 337). Редактору книг С. А. Яновской пришлось оправдываться за ’’идеологические просчеты”. Ее письмо по этому поводу по- мещено сразу же после текста погромного опуса (сс. 339-342). В этом же номере журнала помещена и статья, по-видимому, призванная смягчить впечатление от разгрома формально- го метода в логике. Она называется“О предмете формальной логики”. Автор этой статьи М. С. Строгович пишет:“Сейчас отношение к формальной логике изменилось коренным обра- зом: указаниями товарища И. В. Сталина формальная логи- ка восстановлена в своих правах. На основании постановле- ния ЦК ВКП(б) преподавание ее введено в средних школах, а также во многих высших учебных заведениях” (стр. 309). Вождь, по-видимому, вспомнил о годах своей учебы в семи- нарии и упомянул о пользе логики. Но что дозволено“льву” не всегда дозволено остальным. После математической логики настала очередь массиро- ванной атаки на те направления в физиологии, которые нару- шали чистоту учения И. П. Павлова, объявленного марксист- скими философами венцом учений о поведении животных и той части поведения человека, которая регулировалась его центральной нервной системой. В 1953 году наступила оче- редь кибернетики. В четвертом издании“Краткого философского словаря” - 253-
Санкт-Петербургские олимпиады по кибернетике (1954) в статье“Кибернетика” эта наука была определена как“реакционная лженаука, возникшая в США после второй мировой войны и получившая широкое распространение и в других капиталистических странах; форма современного ме- ханицизма” [7]. В унисон с этим ’’определением” звучат тек- сты рефератов статей по кибернетике, которые в эти годы публикуются в реферативном журнале“Математика” (кста- ти в инструкции, которой должны были руководствоваться авторы рефератов, было прямо сказано, что реферат дол- жен излагать содержание работ абсолютно нейтрально, ни- какие оценочные суждения не должны иметь место, но, по- видимому, Д. Ю. Панов, редактировавший эти рефераты, считал, что идеология превыше декларированных редакцией журнала принципов“невмешательства”). Апофеозом наступления на кибернетику стала статья, напечатанная в пятом номере журнала“Вопросы филосо- фии” В 1953 году [8]. Она была помещена в разделе, но- сившем название“Критика буржуазной идеологии” и назы- валась“Кому служит кибернетика”. Написавший этот паск- виль, по-видимому чувствуя некоторый страх, скрылся под псевдонимом“Материалист”. В конце концов неважно, кто именно и“по велению серд- ца” или“по заданию сверху” написал этот донос. Его появле- ние носило знаковый характер. Это была затравка для мас- сового наступления "на кибернетику. Как и статья, направленная против математической логи- ки, статья против кибернетики разделяла технологический и теоретический аспекты. Все, что касалось развития вы- числительной техники как таковой, когда вычислительные машины уподоблялись очень быстро работающим арифмо- метрам, объявлялось полезным и нужным для социалисти- - 254-
Глава IV. Кибернетика ческого отечества. В подобном качестве вычислительные ма- шины ничем не отличались от устройств, создаваемых че- ловеком для облегчения своего труда. Но когда речь захо- дит об использовании этих машин для моделирования раз- личных процессов или для символьных преобразований, то натренированный на поиске идеологического криминала ум борца за чистоту марксистско-ленинского учения немедленно подавал сигнал опасности: ”По мнению Винера, деятельность вычислительных машин дает ключ к познанию самых разно- образных природных и общественных явлений. Эта в корне порочная идея послужила Винеру основанием для создания новой“науки” — кибернетики” [8, с. 212]. Итак, вычислительные машины не могут внести каче- ственно новую струю в процесс познания окружающего ми- ра. Чтобы эта мысль дошла до всех читателей статьи, автор формулирует ее еще раз:“Теория кибернетики, пытающаяся распространить принципы действия вычислительных машин новейшей конструкции на самые различные природные и об- щественные явления без учета их качественного своеобразия, является механицизмом, превращающимся в идеализм. Это пустоцвет на древе познания, возникший в результате одно- стороннего и чрезмерного раздувания одной из черт позна- ния” [8, с. 218]. Набор ярлыков для кибернетики (пустоцвет, лженаука, идеологическое оружие империалистической реакции, по- рождение лакеев империализма и т. п.) свидетельствовал, что никакой патриотически настроенный ученый в СССР не мо- жет заниматься столь одиозной наукой. Надо было немед- ленно свертывать все исследования в этой области. Но, как уже говорилось, практические задачи (и прежде всего задачи укрепления обороноспособности страны) требо- - 255-
Санкт-Петербургские олимпиады по кибернетике вали не прекращения работ в области кибернетики, а расши- рения и активизации этих исследований. Это понимали да- же партийные чиновники из оборонного отдела ЦК ВКП(б) и отдела науки того же всесильного ведомства. И поэтому, когда один из первых отечественных специалистов по при- менению вычислительных машин в военной области А. И. Китов, математик с энциклопедическим стилем мышления А. А. Ляпунов и известный своими теоретическими рабо- тами, связанными с созданием атомной бомбы, математик С. Л. Соболев объединились как авторы статьи, в которой давался ответ“Материалисту”, и принесли ее в тот же жур- нал“Вопросы философии”, то:“Как ни странно, редколлегия спорить не стала. Единственное, что они попросили сделать, так это получить на опубликование статьи разрешение ЦК КПСС” [9]. В 50-х годах высшие чиновники Коммунистической пар- тии никогда не действовали от своего имени. Все их дирек- тивы подкреплялись ’’мнением широких народных масс” или специалистов в определенной области. Поэтому в отделе на- уки ЦК ВКП(б), ознакомившись с текстом статьи в защи- ту кибернетики и“посоветовавшись кое с кем”, сказали, что инициатива авторов статьи своевременна, но хорошо бы за- ручиться поддержкой их точки зрения на кибернетику среди научной общественности страны. А. И. Китов и А. А. Ляпунов организовали серию выступ- лений на научных семинарах в академических институтах, высших учебных заведениях и в организациях, в которых методы кибернетики могли бы принести практическую поль- зу. К этой деятельности подключились их коллеги по работе в Вычислительном центре Министерства обороны и других военных организациях: М. Г. Гаазе-Рапопорт, Н. А. Криниц- -256-
Глава IV. Кибернетика кий, И. А. Полетаев и другие. В Московском университете идеи кибернетики нашли отклик у признанного в СССР ав- торитета в области математической логики А. А. Маркова, а в Институте автоматики и телемеханики эти работы бы- ли поддержаны М. А. Айзерманом, М. А. Гавриловым и А. А. Фельдбаумом. Известный специалист в области поведения животных Л. В. Крушинский, ознакомившись с текстом бу- дущей статьи, занял позицию безусловной поддержки нового научного направления. Сохранилась стенограмма одного из докладов. Он был прочитан А. А. Ляпуновым 24 июня 1954 года в Энергети- ческом институте АН СССР (текст доклада опубликован в данной книге) и назывался“0б использовании математиче- ских машин в логических целях”. Полемизируя с теми, кто буквально истолковывает способность машин к реализации творческих действий, Ляпунов показывает, что даже в тех случаях, когда внешне действия машины выглядят разум- ными и творческими (для иллюстрации он рассматривает задачу управления лифтами в высотном здании и гипоте- тическую в то время, но принципиально возможную задачу доказательства теорем в планиметрии), истинная творческая деятельность осуществляется не машиной, а человеком, со- ставившим программу ее работы. Этот основной аргумент против необоснованной критики возможностей вычислитель- ных машин Ляпунов обсуждает в своем докладе несколько раз. Подготовка положительной реакции на дезавуирование кампании против кибернетики заняла около полутора лет. Не все проходило гладко и безболезненно. Я помню выступ- ление А. А. Ляпунова на семинаре по машинной математике МГУ в 1954 году. Дискуссия, развернувшаяся после этого - 257-
Санкт-Петербургские олимпиады по кибернетике выступления, в которой самое активное участие принимали университетские философы и биологи, была настолько горя- чей, что пришлось сделать два продолжительных перерыва, чтобы часть возражений против кибернетики снять в процес- се личных контактов. Где-то в начале 1955 года текст статьи С. Л. Соболева, А. И. Китова и А. А. Ляпунова попал в редакцию журна- ла“Вопросы философии”. На заседании редколлегии журна- ла ее содержание обсуждалось вместе со статьей“Что такое кибернетика” чешского философа Э. Кольмана, жившего то- гда в СССР. Обсуждение носило, главным образом, позитив- ный и доброжелательный характер. За два года, прошедших со времени опубликования статыи“Материалиста”, в жизни страны произошли определенные перемены, сталинские ме- тоды управления наукой были уже непопулярны, а киберне- тика получила массовую поддержку научно-технической ин- теллигенции. Обе статьи появились на страницах журнала в 1955 году [10, 11]. В этих статьях нет прямой полемики с“Материалистом”. Необходимость в ней отпала из-за отсутствия официальной поддержки негативного отношения к кибернетике. Поэто- му в [10, 11], в основном, излагаются принципы киберне- тики и поясняется практическая значимость исследований в этой области. Все возражения“Материалиста” снимаются без ссылки на высказывания из [8]. Например, в [10] на стр. 141 утверждается:“Следует подчеркнуть большое методоло- гическое значение вопроса, поставленного кибернетикой, о необходимости обобщения, объединения в широком плане ре- зультатов и достижений различных областей науки, разви- вающихся в известном смысле изолированно друг от дру- га, например, таких областей, как физиология и автоматика, - 258-
^alatiaus^k. Глава IV. Кибернетика теория связи и статистическая механика”. И далее на стр. 144:“Принципы работы электронных счетных машин вполне позволяют реализовать на этих машинах логические про- цессы, подобные процессу выработки условных рефлексов у животных и человека”. А чтобы вновь не звучали обвине- ния в механицизме, на той же стр. 144 говорится: ’’Следует ясно представлять коренное, качественное отличие процес- сов мышления человека от работы счетной машины”. Эта же мысль звучит, как рефрен и в самом конце статьи:“Следует вести борьбу также и против вульгаризации метода аналогий в изучении процессов высшей нервной деятельности, отвер- гая упрощенную, механистическую трактовку этих вопросов, тщательно исследуя границы применимости электронных и механических моделей и схем для представления процессов мышления”. Философские размышления Э. Кольмана [11] подкрепля- ли основные положения статьи С. Л. Соболева и его соав- торов. Написанная в традиционном для читателей философ- ского журнала стиле, она привлекала на сторону кибернети- ки тех, кто должен был дать идеологическую оценку новой науки. В СССР знали, что статьи, появившиеся в таком органе, как“Вопросы философии”, выражают официальную точку зрения. Одним из свидетельств этого явилось исключение по- громного текста статьи ”Кибернетика” при допечатке в 1955 году тиража 4-го издания ’’Философского словаря”. Борьба против кибернетики была в основном закончена, люди, от- стаивавшие новую науку, победили. - 259-
Санкт-Петербургские олимпиады по кибернетике Начальный период К этому периоду можно отнести время с 1955 года до создания в 1959 году в АН СССР Научного совета по ком- плексной проблеме“Кибернетика”. За эти пять лет в СССР возникла инфраструктура, поддерживающая новое научное направление. Своим возникновением она обязана А. И. Вергу, чей та- лант организатора науки позволил преодолеть все препоны и рогатки бюрократического государства. В лице адмирала Берга, в 1953-1957 годах занимавшего пост заместителя ми- нистра обороны СССР по радиоэлектронике, кибернетика об- рела того человека, который обеспечил этой науке условия для ее становления и расцвета. А. И. Берг начал свою деятельность не на пустом ме- сте. К концу 1957, когда он освободился от поглощающих все время обязанностей крупного военного руководителя и смог начать полновесную научно-организационную деятель- ность, уже был заложен солидный фундамент под будущую инфраструктуру. Продолжалась разработка новых вычислительных машин и развитие методов решения на них разнообразных задач. В 1948 году были созданы Институт точной механики и вычис- лительной техники АН СССР и Специальное конструктор- ское бюро Министерства приборостроения и средств автома- тизации (СКВ 245). В них, а также в ряде других организа- ций АН СССР и различных ведомств (в лаборатории элек- тросистем Энергетического института им. Г. М. Кржижанов- ского (позднее - Институт электронных управляющих ма- шин), НИИ электронных математических машин в Москве; лаборатории вычислительной техники Института математи- - 260-
^aiaHauSi^i Глава IV. Кибернетика ки АН УССР в Киеве (позже преобразованной в ВЦ АН УС- СР); Ереванском институте математических машин; Пензен- ском институте управляющих вычислительных машин), ак- тивно развивалась теория вычислительных машин, разраба- тывалась технология программирования. Теоретические ис- следования активно проводились в Московском, Ленинград- ском и Киевском университетах, Институте автоматики и те- лемеханики АН СССР, в созданном в 1955 году Вычислитель- ном центре АН СССР. В 1950 году в ИТМиВТ АН СССР начал работать первый постоянный семинар по программированию, которым руко- водил Л. А. Люстерник. В 1952 году в МГУ была создана кафедра вычислительной математики (кафедру возглавил С. Л. Соболев), для студентов и аспирантов которой в 1952-53 учебном году А. А. Ляпунов впервые прочитал курс ’Прин- ципы программирования”. В 1953 году в Отделе прикладной математики Математического института АН СССР был со- здан во главе с А. А. Ляпуновым отдел программирования [12]. В этом же году появилась первая доступная всем инте- ресующимся этой областью книга по программированию [13]. В 1955 году был создан Вычислительный центр МГУ, специа- лизирующийся на разработке и применении вычислительных методов для решения сложных научных и прикладных задач. В конце 50-х годов был получен ряд результатов, стоящих на уровне мировых достижений. Была разработана теория логического анализа и синте- за релейно-контактных, а позже и функциональных схем, в которой аппарат математической логики был использован в области технических наук. Начатые в 40-х годах М. А. Гав- риловым в Институте автоматики и телемеханики АН СССР [14], эти работы были продолжены О. Б. Лупановым и С. - 261-
Санкт-Петербургские олимпиады по кибернетике В. Яблонским в Отделе прикладной математики АН СССР. В результате этих исследований в СССР возникли две наг- учные школы, сыгравшие важную роль в создании теории дискретных управляющих устройств и методов инженерно- го проектирования устройств такого типа (в частности, схем, узлов и устройств вычислительной техники). В 1952-53 годах А. А. Ляпуновым был предложен опе- раторный метод для описания программ [15]. Практически впервые был создан способ представления программ на обо- зримом уровне. Вместо неэффективного для человека зада- ния программ в машинных кодах А. А. Ляпунов предложил формализованное представление высокого уровня. Особенно важным было то, что операторный метод позволял создать теорию синтаксических структур программ [16]. В 1953 году А. А. Ляпунов сформулировал постановку задачи автоматизации программирования. Эта оригинальная постановка была успешно использована в первых отечествен- ных трансляторах, называвшихся тогда программирующими программами. Летом 1954 появилась программирующая про- грамма ПП-1 (Отдел прикладной математики Института ма- тематики АН СССР), а в 1955 году — ее улучшенный вариант ПП-2. Чуть позднее была создана еще одна программирую- щая программа [17]. В 1953-54 годах Л. В. Канторович разработал технологию крупноблочного программирования, которая также давала обозримое описание программ и обеспечивала степень фор- мализации, достаточную для исследования синтаксических структур программ и создания программирующих программ [181- М. Л. Цетлин впервые поставил вопрос о возможности моделирования с помощью простейших технических средств - 262-
Глава IV. Кибернетика сложных форм поведения. Эти идеи послужили началом со- здания теории коллективного поведения технических систем, намного опередившей аналогичные исследования в других странах [19]. К середине 50-х годов у ведущих специалистов в области вычислительной техники было ясное представление о путях развития отечественной информатики. Примером может слу- жить статья В. М. Глушкова, работавшего тогда в лабора- тории вычислительной техники Института математики АН УССР в Киеве [20]. В середине 1957 года автор статьи четко определяет направления стратегических исследований в об- ласти информатики. По мнению В. М. Глушкова, основой прогресса развития вычислительных машин должна стать теория их работы, разработка методов автоматизации про- ектирования ЭВМ и развитие методов автоматизации про- граммирования. Он подчеркивает важную роль исследова- ний в области теории алгоритмов и теории конечных детер- минированных и стохастических автоматов, принципиальное значение разработки методов символьных преобразований на ЭВМ (аналитических преобразований, доказательства тео- рем, машинного перевода), отмечает центральную роль, ко- торую играет задача оптимизации программ (особенно для управляющих машин), а также указывает на обратное влия- ние развития вычислительных машин на дальнейшие работы в области вычислительной математики. С 1953 года в нашей стране налажен серийный выпуск вычислительных машин. Первой в серию пошла“Стрела”, соз- данная в СКВ-245 под руководством Ю. Я. Базилевского. В 1958 году в серию пошла машина М-20, созданная в коллек- тиве С. А. Лебедева в ИТМиВТ АН СССР. Эта машина сыг- рала большую роль в развитии программирования, а позже -263-
Санкт-Петербургские олимпиады по кибернетике на ее базе была создана транзисторная машина М-220. Таким образом, к началу 60-х годов были заложены теоретические и технические основы для развития информатики. В Московском, Ленинградском и Киевском университетах началась подготовка специалистов по вычислительной мате- матике, а в ряде технических высших учебных заведений по- явились курсы по вычислительной технике, а затем стали открываться кафедры вычислительной техники или вычис- лительных машин. Свидетельством окончательного официального призна- ния кибернетики стала статья“Кибернетика” в 51-м томе вто- рого издания Большой Советской Энциклопедии, написанная А. Н. Колмогоровым. В ней нет и намека на ту травлю, кото- рой подверглась эта наука всего несколько лет назад. Начало статьи необычно для советских изданий того времени, тем более для БСЭ, которая должна была стоять на страже со- ветской науки, всячески выпячивать ее мировой авторитет и значимость:“Кибернетика - научное направление, задачи ко- торого были сформулированы в работах американского уче- ного Н. Винера, опубликованных в 1948; по Винеру и его по- следователям, кибернетика есть наука о“связи”,“управлении” и“контроле” в машинах и живых организмах”. Далее в ста- тье расшифровывается содержание понятий, взятых в кавыч- ки в определении кибернетики, и устанавливается связь ки- бернетики с теорией информации, опирающейся на идеи К. Шеннона. Отголоском недавней борьбы за кибернетику вы- глядит абзац, по своему стилю выпадающий из общего стан- дартного для энциклопедий ’’академического” тона изложе- ния:“Много дискутировавшийся вопрос о праве кибернетики на существование в качестве самостоятельной научной дис- циплины сводится к вопросу о том, насколько существенны - 264-
Глава IV. Кибернетика общие черты всех процессов связи, управления и контроля, т. е. могут ли общие свойства этих процессов в машинах, жи- вых организмах и их объединениях быть предметом доста- точно содержательной единой теории. На этот вопрос следу- ет ответить с полной определенностью утвердительно, хотя в направлении систематического построения кибернетики сде- ланы лишь первые шаги” [21]. Вскоре появились книги отечественных специалистов [22- 25]. В 1958 г. вышел“Сигнал” И. А. Полетаева. Как уже говорилось, все авторы первых отечественных книг по ки- бернетике были военными, работали в учебных заведени- ях, готовивших кадры для Министерства обороны. Акаде- мии имени Жуковского и Дзержинского в Москве, Ака- демия имени Можайского в Ленинграде, Харьковское выс- шее авиационно-техническое училище и Киевское высшее инженерно-радиотехническое училище были первыми воен- ными учебными заведениями, где преподавание кибернетики стало обязательным. Важным событием было появление перевода основопола- гающей для кибернетики книги Норберта Винера. Первое из- дание [26] вышло с десятилетним опозданием относительно оригинала (с купюрами: все места, которые можно было ин- терпретировать как критику нашего строя или экономиче- ского уклада, были изъяты). Переводчиком книги был И. В. Соловьев, а редактором - Г. Н. Поваров, который в эти годы начал активно заниматься логическими методами анализа и синтеза схем. Позже книга была переиздана с учетом вто- рого расширенного американского издания, появившегося в 1961 году, в более полном объеме [27]. Была издана и вторая книга Н. Винера, наделавшая в США в 1954 году много шу- ма из-за своей направленности против многих сторон жизни - 265-
Санкт-Петербургские олимпиады по кибернетике капиталистического общества [28]. Затем издаются переводы книг других зарубежных ав- торов [29-31]. Наконец, появились отечественные научно- популярные книги, пропагандирующие идеи и достижения кибернетики [32, 33]. Не только военные, но и политические руководители стра- ны стали уповать на помощь вычислительных машин. Ста- тья одного из создателей первых отечественных машин, по- мещенная в главном идеологическом органе партии [34], го- ворит о необходимости использования компьютеров в зада- чах планирования народного хозяйства. Это показывает, что недоверие к вычислительной технике и кибернетике в верх- них эшелонах власти стало коренным образом меняться. Но, пожалуй, главным событием этого времени стал вы- ход в 1958 году первого выпуска“Проблем кибернетики” - де- тища А. А. Ляпунова и его единомышленников. Этот наряд- ный, в ярко-красной суперобложке том открыл собою серию из 41 сборника, во многом определивших пути развития тео- ретической кибернетики и того, что потом стало называться информатикой. До переезда Ляпунова в Новосибирск в 1962 году“Проблемы кибернетики” в значительной мере отражали интересы участников семинара по кибернетике, проходивше- го под его руководством, начиная с 1954-55 учебного года, на механико-математическом факультете МГУ. Первый вы- пуск содержал изложение идей доклада, прочитанного М. В. Келдышем, А. А. Ляпуновым и М. Р. Шура-Бурой на ок- тябрьской сессии АН СССР 1956 года [15]. Роль этого семинара в истории отечественной информа- тики огромна. На протяжении почти двадцати лет (до смерти А. А. Ляпунова в 1973 году) этот семинар во многом опреде- лял высокий уровень работ в области кибернетики. Как отме- -266-
Глава IV. Кибернетика чается в [35], всего было проведено 141 заседание семинара. В работе семинара принимали активное участие математики, физиологи, лингвисты, управленцы и представители других наук. Это был первый в истории нашей науки по-настоящему междисциплинарный семинар. Многие его участники в по- следующие годы стали крупными учеными в области инфор- матики. Знакомство с темами докладов, прочитанных на се- минаре (см. приложение к статье [35]), показывает, сколь ши- рок был спектр интересов его участников. Семинар был не только чисто научным мероприятием. А. А. Ляпунов использовал его возможности и для осуществ- ления научно-организационной деятельности. На семинаре обсуждались рукописи новых книг отечественных авторов, принимались после обсуждения рекомендации по переводу наиболее интересных зарубежных книг (при этом, как пра- вило, переводчики и редакторы переводов находились среди участников семинара), обсуждалась структура и научные за- дачи учреждений, которые должны были создаваться в об- ласти кибернетики. Не без поддержки (в той или иной фор- ме) семинара увидели свет книги [36-39]. С 1960 года начал выходить ’’Кибернетический сборник”, в котором оператив- но публиковались переводы наиболее интересных зарубеж- ных статей по кибернетике. Во главе этого начинания стояли А. А. Ляпунов и О. Б. Лупанов. После переезда Ляпунова в Новосибирск Лупанов продолжил это весьма важное для оторванных от источников зарубежной информации специа- листов СССР дело. По образу и подобию“болыпого” семинара стали созда- ваться семинары по кибернетике и в других местах. Наибо- лее известным стал среди них семинар секции кибернетики при Ленинградском доме ученых. Эта секция была создана - 267-
Санкт-Петербургские олимпиады по кибернетике в ноябре 1956 года, и ее первым председателем был Л. В. Канторович. Потом его на этом посту сменил Л. П. Крайз- мер, остающийся до настоящего времени бессменным пред- седателем секции и проводимого ею семинара. Это наиболее долговечный кибернетический семинар в СССР. В середине 50-х годов начал работать семинар по теории автоматов на физическом факультете МГУ [40], бессменным руководителем которого до своего преждевременного ухода из жизни был М. Л. Цеглин. Этот семинар стал центром, вокруг которого со временем сложилась отечественная шко- ла в области коллективного поведения автоматов. Модели такого типа носили ярко выраженный кибернетический ха- рактер, а их исследование было немыслимо без специальных приемов моделирования на ЭВМ. В семинаре принимали ак- тивное участие не только физики, но и физиологи, програм- мисты, математики. Неординарная и многогранная личность руководителя [41] привлекала к участию в работе семинара по поведению автоматов широкие круги научной обществен- ности. Тематика семинара связывала между собой задачи ло- гического анализа и синтеза схем с проблемами машинного моделирования и моделями поведения живых систем. Чуть позже начал работать семинар в Киеве под руко- водством В. М. Глушкова. В его работе принимали участие медики, биологи и философы. Со временем от“болыпого” се- минара отпочковался“малый” семинар, получивший назва- ние“чайкофского” (часть его заседаний, во время которых молодые участники семинара В. Г. Боднарчук, Ю. В. Ка- питонова, А. А. Летичевский, М. А. Спивак и другие решали задачи, поставленные перед ними руководителем семинара В. М. Глушковым, проходили на Крещатике в заведении, на- зывавшемся“Чай - Кофе”). На этом семинаре обсуждались - 268-
4\latatlaus^ Глава IV. Кибернетика вопросы абстрактной теории автоматов, созданием которой в эти годы вместе со своими учениками активно занимался руководитель семинара. Математическая логика заняла достойное место в мате- матическом образовании. В 1958 году в МГУ была открыта первая в СССР кафедра математической логики. Кафедру возглавил А. А. Марков. В эти годы было проведено несколько научных меропри- ятий, в программах которых предусматривались доклады и сообщения, посвященные решению задач в рамках киберне- тического подхода. В октябре 1956 года состоялась Сессия АН СССР по научным проблемам автоматизации производ- ства. На ней была дана положительная оценка роли киберне- тики в решении практических задач автоматизации. Перед этим, в том же году, во время проведения Третьего всесо- юзного математического съезда работала специальная сек- ция кибернетики, на которой был сделан ряд докладов по программированию и теоретическим проблемам новой нау- ки. Важное значение для дальнейшего развития кибернети- ки имела прошедшая в марте 1956 года в Москве Всесоюз- ная конференция“Пути развития советского математическо- го машиностроения и приборостроения”. На ней было сделано несколько докладов, связанных с программированием и с ис- пользованием вычислительных машин для решения разнооб- разных задач. В феврале 1958 года в Баку прошло Всесоюз- ное совещание по вычислительной математике и применению средств вычислительной техники. В работе Всесоюзного со- вещания по вычислительной математике и вычислительной технике, проходившего в МГУ в ноябре 1959 года, в програм- ме которого была и секция кибернетики, приняло участие свыше 2000 человек. -269-
Санкт-Петербургские олимпиады по кибернетике Хотя и с огромным трудом, отечественные специалисты в области информатики стали выезжать за рубеж для участия в научных мероприятиях в данной области. Из [35] можно узнать, что на семинаре А. А. Ляпунова о своих зарубеж- ных поездках отчитывались члены советских делегаций, вы- езжавших на конгресс по кибернетике в Намюре в 1957 го- ду, в США и Великобританию. На симпозиуме ’’Механизмы мыслительных процессов”, проходившем в ноябре 1958 года в Национальной физической лаборатории в Теддингтоне, А. П. Ершов сделал два доклада:“0 работах в ВЦ АН СССР в области теоретического программирования” и“О работах в ВЦ АН СССР в области автоматизации программирования”. Эти доклады вызвали положительные отклики за рубежом. Достижения советской науки в области программирования получили весьма высокую оценку. На основе этих докладов А. П. Ершов подготовил по просьбе редколлегии известного в то время журнала“Па!ата1юп” обзорную статью о програм- мировании в СССР [42]. Эта статья была, наверное, второй после статьи [43] публикацией о достижениях отечественных специалистов в области информатики, напечатанной в зару- бежном издании. Признанием важности информатики стала защита дис- сертаций в этой области. Первой, по-видимому, была за- щищена кандидатская работа, написанная Э. 3. Любим- ским на тему“Об автоматизации программирования и мето- де программирующих программ” (1957). Вскоре за ней по- следовали защиты других специалистов :“О равносильности и преобразованиях схем программ” (Ю. И. Янов, 1958),“Мат- ричный метод анализа схем и некоторые его приложения” (М. Л. Цеглин, 1958) “Операторные алгорифмы” (А. П. Ер- шов, 1961). Защиты диссертаций проходили на механико- -270-
Глава IV. Кибернетика математическом и физическом факультетах МГУ, в Мате- матическом институте АН СССР и в Институте математики с вычислительным центром СО АН СССР. Высокая марка научных советов этих ведущих учреждений обеспечивала се- рьезное отношение к выполненным работам. Формирование инфраструктуры В конце 1958 года А. И. Берг полу- чил“добро”от“руководящих органов” на подготовку обосно- вания необходимости создания в нашей стране центрального научного института по кибернетике. А. И. Берг тут же начал серию консультаций с ведущими специалистами в этой обла- сти, и прежде всего с А. А. Ляпуновым, Л. В. Канторовичем, А. А. Марковым и В. М. Глушковым. К сожалению, вскоре между участниками консультаций возникли непреодолимые разногласия по основным направлениям работы будущего института и кадровым вопросам. Суть разногласий состояла в определении границ новой науки. Математики опасались, что слишком широкое и расплывчатое очерчивание поля деятельности кибернетики привлечет в нее специалистов, не владеющих математической культурой. Это привело бы к тому, что кибернетика из строгой математической науки (в предисловии к первому выпуску“Проблем кибернетики” прямо говорилось, что“...кибернетика по своим методам является наукой математической”) превратилась бы в науку с неопределенными методами исследования. Им проти- востояли сторонники взгляда на кибернетику (ими были в основном гуманитарии) как на научную методологию, носящую междисциплинарный характер. По мнению та- - 271-
Санкт-Петербургские олимпиады по кибернетике ких специалистов, самые разнообразные науки (биология, химия, автоматика и т. п.) должны сделать совместный шаг к интегрированной картине мира, позволить создать всеобъемлющую философию научного познания, а также обогатить друг друга своими идеями, моделями и методами. Эти споры послужили основой раскола сторонников ки- бернетики на два лагеря, которые в дальнейшем сосущество- вали в условиях ’’вооруженного противостояния”. Подобное расхождение взглядов на кибернетику не было особенностью развития науки в СССР. Оно проявилось во всех странах, где кибернетика привилась. В США этому способствовала яростная критика книг и идей Винера. В Великобритании против расширенного истолкования кибернетики выступили физики, во Франции - математики. В конце 50-х годов началась активная деятельность по созданию международных научных ассоциаций. Была сдела- на попытка образовать Международную федерацию кибер- нетики. Успехом она не увенчалась. Хотя федерация и воз- никла, но представлены в ней были далеко не все страны. Отсутствие в ней специалистов США и Великобритании не позволило этой ассоциации занять сколько-нибудь заметное место в мире. Куда большее влияние приобрели две другие федерации. В 1957 году возник ИФАК — Международная федерация по автоматическому управлению, а в 1962 году - ИФИП — Международная федерация по процессам пере- работки информации, ставшая преемницей Международной федерации кибернетики. В 1962 году, выступая на заседа- нии Совета ИФИП, представитель СССР А. А. Дородницын предложил внести в будущий глоссарий терминов по процес- сам обработки информации два термина:“СуЬегпеНс8 active” ^‘Cybernetics talkative” [44]. Себя автор, по-видимому, при- - 272-
Глава IV. Кибернетика числял не к тем, кто занимается ’’трепотливой кибернетикой”. Все, кто интересовался кибернетикой всерьез, в эти годы размышляли о ее месте в системе наук и значении для даль- нейшего развития наших знаний об окружающем мире. До нас дошли два ярких документа, отражающих подобные раз- мышления. Это тезисы о кибернетике, написанные в январе 1957 года (тексты этих двух документов печатаются в насто- ящем издании). В первом документе, помеченном 16-17 янва- ря, Вяч. Вс. Ивбнов, М. К. Поливанов и В. А. Успенский, мо- лодые единомышленники академика А. Н. Колмогорова, по его просьбе формулируют восемь тезисов, касающихся опре- деления кибернетики, ее основных понятий, места кибернети- ки в системе наук и ее роли, заимствованных из книг Винера и других творцов новой науки, и на каждый тезис пишут собственный комментарий. Например, приводя определения кибернетики по Винеру и Куфиньялю, они предлагают свое определение кибернетики как науки об информации в том же смысле, в каком физика является наукой об энергии. Рассуж- дая о содержании кибернетики, авторы тезисов справедливо отмечают, что наука эта не представляет монолитного цело- го. Уже сейчас в ней видны две различные части: наука об аналогиях в живых и искусственных системах и наука о свя- зи и информации. В конце этого варианта“Тезисов” подчеркивается роль ки- бернетики в уменьшении энтропии в научной сфере, ее зна- чение для структуризации научной терминологии и научных знаний. Комментарий к последнему тезису слегка ироничен и, очевидно, прямо адресуется Колмогорову: именно его сле- дует в первую очередь понимать под ’’высоко организованной системой”, а не просто любого читателя. Ответный документ Колмогорова, имеющий такое же на-
Санкт-Петербургские олимпиады по кибернетике звание“Тезисы о кибернетике”, датирован 20-м января. В нем Колмогоров пишет о том, что в той части кибернетики, кото- рая касается информации и связи, весь разговор может идти на уровне точных терминов и определений, но ограничивать этим кибернетику нельзя, нельзя превращать ее в математи- ческую науку (эта позиция не совпадает с позицией редколле- гии“Проблем кибернетики”), исключать из нее разделы, для изложения которых пока пригоден лишь язык таких наук, как биология, физиология и психология. Колмогоровские те- зисы и дополняют тезисы его корреспондентов, и полемизи- руют с ними (первично ли понятие информации, может ли су- ществовать некодированная информация и т. п.). В конце мы видим, как из этой своеобразной кибернетической“переписки из двух углов” возникает строгий текст первого наброска на- чала статьи“Кибернетика” для БСЭ (написан вслед за тези- сами, 24 января, и примыкает к ним). Из-за разногласий по поводу содержания того, что кро- ется за названием новой науки — кибернетики, стало яс- но, что вопрос о создании института кибернетики придет- ся отложить. Нельзя было ставить под удар начинание, ко- торое и так уже было встречено в штыки частью филосо- фов и, к сожалению, математиков и физиков, которым ки- бернетика казалась пристанищем не слишком хороших спе- циалистов, занимающихся добыванием научного авторитета на основе“легковесных” результатов (аналогичная ситуация повторится и в начале становления работ в области искус- ственного интеллекта). У Берга возникла идея начать с более простого, чем орга- низация академического института. Он решает создать На- учный совет при Президиуме АН СССР, который коорди- нировал бы исследования по кибернетике в СССР и одно-
Глава IV. Кибернетика временно вел бы научные исследования, что позволило бы в дальнейшем создать на базе Совета Институт кибернетики АН СССР. Президиум АН СССР отнесся к этой идее поло- жительно и предложил А. И. Бергу сделать доклад, который мог бы служить основой для принятия решения об органи- зации Совета по кибернетике. Соответствующий документ был подготовлен коллекти- вом специалистов в следующем составе: академик А. И. Берг (председатель комиссии), д.ф.-м.н. А. А. Ляпунов (зам. председателя), к.ф.-м.н. М. Л. Цетлин (ученый секретарь), к.филол.н. Н. Д. Андреев, к.т.н. Ю. Я. Базилевский, д.ф.-м.н. В. М. Глушков, к.филол.н. В. В. Ивбнов, чл.-корр. АН СССР Л. В. Канторович, к.т.н. И. А. Полетаев, д.т.н. В. В. Соло- довников, чл.-корр. АН СССР В. А. Трапезников, к.ф.-м.н. С. В. Яблонский. Документ начинается с попытки определения кибернети- ки: ’Кибернетика представляет собой теоретическую осно- ву изучения процессов управления и строения управляющих систем”. Такая трактовка новой науки является доведением до логического завершения взглядов Н. Винера на это науч- ное направление. По мнению составителей записки, объектом изучения кибернетики являются управляющие системы, где бы они ни возникали. Такая парадигма позволяла осуществ- лять перенос кибернетического подхода, моделей и методов в другие науки, позволяла говорить о технической, биоло- гической, экономической, химической и т. п. кибернетике. В этом четко проявлялось строение новой науки: теоретическая часть есть теория абстрактных управляющих систем, а при- кладные разделы интерпретируют ее теоретические модели в конкретных областях. Сформулированная парадигма предопределила структу- -275-
Санкт-Петербургские олимпиады по кибернетике ру будущего доклада на Президиуме АН СССР. В пер- вой части записки анализируются основные задачи, стоящие перед теоретической кибернетикой. Составители различают два уровня описания процесса управления: макроописание и микроописание. На макроуровне объект управления предста- ет в виде черного ящика. В этом случае процесс управления можно строить только на поведенческом уровне, все знания об объекте управления и его откликах на управляющие воз- действия добываются лишь на основе внешнего наблюдения. Макроподход используется в теории информации, задачах построения кодов для тех или иных целей, в теории иденти- фикации объекта управления. На уровне микроописания ре- шаются задачи анализа поведения отдельных частей объек- та, выявляются связи между частями и решаются проблемы синтеза с учетом целей, стоящих перед системой управления. Далее сформулированные для теоретической части ки- бернетики задачи, возникающие на макро- и микроуров- нях, интерпретируются в терминах физических, техниче- ских, биологических, лингвистических, экономических си- стем. Интерпретации сведены в обозримые таблицы, рассмат- ривая Которые легко убедиться, что между различными на- уками можно на кибернетическом уровне установить явные аналогии. Доклад А. И. Берга на заседании Президиума АН СССР 10 апреля 1959 года был успешным. Авторитет докладчика и прекрасно подготовленные текст доклада и иллюстративные материалы к нему сделали свое дело. Президиум АН СССР единогласно принял постановление об организации (пока на общественных началах, т. е. без штатных сотрудников) Науч- ного совета по комплексной проблеме“Кибернетика” при Пре- зидиуме АН СССР. В деле борьбы за окончательное призна- - 276-
Глава IV. Кибернетика ние кибернетики в СССР была поставлена последняя точка. Текст доклада был с незначительными сокращениями и изменениями опубликован в довольно странном для такого важного документа издании —“Морском сборнике” [45] (ско- рее всего свою роль сыграла близость А. И. Берга к Россий- скому флоту). Авторы статьи, ссылаясь на решения Июнь- ского Пленума ЦК КПСС, сразу“берут быка за рога”:“В борь- бе за дальнейший технический прогресс, за внедрение новой техники и технологии в социалистическое производство сле- дует, по нашему мнению, отвести большую роль глубокой разработке и широкому внедрению кибернетики. Киберне- тика должна быть поставлена на службу повышения эффек- тивности деятельности советских людей и использована для решения трудных задач руководства нашим быстро развива- ющимся народным хозяйством. А для этого нужно создать школу советской кибернетики, свободную, с одной стороны, от ошибок буржуазной науки, выразившихся, в частности, в“одушевлении машины” и принижении роли человека, а с другой — от непонимания у нас значения и возможностей кибернетики” (с. 33). Далее это положение подкрепляется ссылками на преимущества общественного строя в СССР, ко- торые позволяют ставить и решать управленческие задачи большого масштаба. В 1959-1961 годах Совет, который возглавлял А. И. Берг, работал на общественных началах. Заместителем Берга стал Я. И. Хургин, научные интересы которого в то время лежали в области теории информации. М. Л. Цетлин исполнял функ- ции ученого секретаря, А. А. Ляпунов, С. В. Яблонский, В. В. Ивбнов старались активно помогать только что родившемуся координирующему органу. За эти годы были ойределены за- дачи Совета, круг его обязанностей, наиболее эффективная - 277-
Санкт-Петербургские олимпиады по кибернетике структура. Становилось ясно, что на общественных началах такое большое дело не поднять. А. И. Берг стал пробивать через руководство АН СССР и другие инстанции постоянные штаты. Он обосновывал их необходимость большими плана- ми Совета по организации издательской деятельности и ор- ганизации научных мероприятий в области кибернетики и применения вычислительных машин в различных областях человеческой деятельности. Вновь сделался актуальным вопрос о создании специаль- ного института Академии наук, основной проблематикой ко- торого стала бы кибернетика. А. А. Марков собрал с этой целью инициативную группу, заседание которой состоялось 25 июня 1960 года. На этом собрании присутствовали: Р. Л. Добрушин, В. В. Ивбнов, Н. А. Криницкий, Д. Г. Лахути, А. А. Ляпунов, А. А. Марков, И. А. Мельчук, Н. М. Нагорный, В. А. Успенский, С. К. Шаумян и А. И. Яглом. Обсуждалось два вопроса: профиль будущего института, его состав, назва- ние и технология организации института. Бросается в глаза большое число лингвистов и близких к ним специалистов в составе инициативной группы и полное отсутствие среди ее членов представителей технической кибернетики. Это про- изошло, конечно, не случайно. Незадолго до собрания иници- ативной группы Президиум АН СССР принял решение (так никогда и не осуществленное под влиянием все тех же ’’твер- долобых философов”) об организации в Академии Института семиотики. Инициативная группа решила использовать этот факт и создать Институт семиотики и кибернетики или Ин- ститут кибернетики, в котором проблемы семиотики и струк- турной лингвистики занимали бы важное место. Предполагалось, что институту такого профиля луч- ше не зависеть от гуманитарной общественности и следует
Глава IV. Кибернетика включить его организационно в состав Отделения физико- математических наук АН СССР. Как следует из стенограммы заседания инициативной группы (ее текст публикуется в данном издании), участники обсуждения вновь отстаивали позицию понимания киберне- тики как математической науки, полностью исчерпывающей- ся применением вычислительных машин для решения невы- числительных задач. Кроме того, лингвисты и математики не пришли к согласию и о взаимосвязи семиотики и кибернети- ки. Одни считали семиотику самостоятельной наукой, лишь частично пересекающейся с тематикой кибернетики, другие включали семиотику в состав кибернетики. Письмо о результатах работы инициативной группы бы- ло послано А. И. Бергу. Руководитель Совета по кибернетике посчитал, что вряд ли стоит затевать какую-то деятельность по созданию нового института, когда уже существующий Со- вет может стать зародышем будущего учереждения. Надо только активизировать процесс выбивания штатного распи- сания для Совета. На это и направил А. И. Берг свои усилия и усилия своих помощников. Эти усилия увенчались первы- ми успехами к 1961 году. У Совета возник штат из трех че- ловек. Кроме штатной должности заместителя председателя Совета, которую занял Я. И. Хургин, появились должности ученого секретаря и лаборанта. На первую из них по рекомен- дации Хургина попала С. С. Масчан. Выбор был безошибоч- ным. Все время, пока Берг возглавлял Совет, С. С. Масчан обеспечивала всю организационную сторону его деятельно- сти. Атмосферу непрестанного служения делу развития оте- чественной кибернетики и оценку личного вклада А. И. Берга в ее создание можно ощутить по воспоминаниям старейших работников Совета по кибернетике [46, 47].
Санкт-Петербургские олимпиады по кибернетике В конце того же 1961 года в Киеве был создан Научный совет по комплексной проблеме“Кибернетика” при Президи- уме АН УССР. Этот Совет возглавил В. М. Глушков. В 1962 году он стал директором организованного им при активной поддержке А. И. Берга Института кибернетики АН УССР, ставшего центром развития информатики на Украине. Чуть раньше создания этого института А. И. Берг сумел добиться от руководства Академии наук Грузии согласия на открытие в Тбилиси Института кибернетики АН ГССР (1960). Дирек- тором этого института стал В. В. Чавчанидзе. Затем были со- зданы институты такого же профиля и в других республиках СССР: Институт кибернетики АН ЭССР (1960) в Таллинне, Институт кибернетики АН АзССР (1965) в Баку, Институт технической кибернетики в Минске (1965), Институт кибер- нетики АН УзССР в Ташкенте (1966). В других республиках отделения, отделы и лаборатории кибернетического профи- ля возникли в структуре ранее существовавших академиче- ских институтов (в Молдавии это был Институт математики, в Киргизии - Институт автоматики, в Латвии — Институт электроники и вычислительной техники). 6. Расширение сферы влияния. На протяжении 60-х годов в нашей стране действовали две тенденции. Первая - широкое развертывание работ в области теории вычислительных ма- шин, программирования и внедрение вычислительной техни- ки в самые разные области. Вторая - начавшееся отставание от ведущих стран в области технологии создания новых поко- лений вычислительных машин. Если отечественные транзи- сторные машины 60-х годов (такие, как БЭСМ-6 или МИР-2) по своей архитектуре были на уровне передовых зарубежных образцов и в чем-то явно превосходили их, то элементная база, на которой эти ЭВМ были созданы, была для запад- - 280-
Глава IV. Кибернетика ных стран уже вчерашним днем. Транзисторы в массовом порядке заменялись интегральными, а потом и сверхбольши- ми интегральными схемами. К концу 60-х технологический разрыв в области вычислительных машин достигал уже 6-7 лет [48,49]. Этот разрыв в технологии на первых порах никак не ска- зывался на развитии теоретических основ информатики, не сдерживал творческие начинания специалистов, связанных по роду своей деятельности с разработкой и внедрением вы- числительных машин. В эти годы в СССР быстрыми шага- ми развивалась космическая программа, происходило техни- ческое перевооружение армии, решались крупные народно- хозяйственные задачи (как известно, тогдашнее руководство страны всерьез обещало своим гражданам, что их внуки бу- дут жить при коммунизме). В планах развития промыш- ленности, сельского хозяйства, оборонной мощи страны вы- числительным машинам отводилось немалое место. Не было недостатка в правительственно-партийных документах, под- черкивающих решающую роль, которую должны сыграть новые технологии, основанные на внедрении вычислитель- ных машин, в достижении глобальной цели - построения в СССР коммунистического общества. Интересные соображе- ния о причинах такой эйфории в нашей стране в связи с на- деждами на помощь кибернетики, высказываются в [50]. А. И. Берг принимал непосредственное участие в под- готовке подобных документов. Работая над ними, он все- гда привлекал к этому делу специалистов. Именно поэтому многие государственные программы и постановления тех лет несут на себе печать высокого профессионализма. Примером может служить Постановление ЦК КПСС и Совета Мини- стров СССР 1959 года об ускорении и расширении производ- -281-
Санкт-Петербургские олимпиады по кибернетике ства вычислительных машин и внедрении их в науку и на- родное хозяйство, подготовленное комиссией, возглавляемой А. И. Бергом. Научный совет по комплексной проблеме “Кибернети- ка” значительно расширил свои штаты и стал напоминать небольшой академический институт. В его составе работало больше десятка секций (теоретической кибернетики, техни- ческой кибернетики, кибернетики на транспорте, медицин- ской кибернетики и т. д.), каждая из которых возглавлялась авторитетными ведущими в данной области специалистами. Десятки членов секций поддерживали научные и организаци- онные начинания Совета, а ученые секретари секций, состо- явшие в штате Совета, обеспечивали тесный контакт аппара- та Совета и его руководителя с научной общественностью. Демонстрируя собравшимся на Юбилейную сессию Науч- ного совета по комплексной проблеме“Кибернетика” таблицу, отражающую достижения Совета к концу 1967 года, А. И. Берг сказал:44...начиная с 1962 года, объем координируемых Советом работ возрос в 3 раза. Рост числа работ и количе- ства научных организаций и ведомств, принимающих уча- стие в исследованиях по проблеме“Кибернетика”, свидетель- ствует о насущной потребности в применении идей, методов и технических средств кибернетики в различных областях производственной и научной деятельности” [51, с. 22-23]. Вот как выглядела эта таблица. 1962 1963 1964-65 1966 1967-70 Количество тем в плане по проблеме“Кибернетика” 170 231 374 428 516 Количество научных организаций-исполнителей Количество 29 61 96 133 184 ведомств-исполнителей 14 19 22 27 44 - 282-
ftatattausiiiik Глава IV. Кибернетика Далее докладчик подчеркнул важный мо- мент:“Количественный рост тематики имел своей основой глубокие качественные сдвиги. За этот период в нашей стране сложились важные новые направления кибернетики и ее приложений. К их числу можно отнести: • теорию управляющих систем; • теорию оптимального и помехоустойчивого кодирова- ния информации; • теорию построения информационных систем; • теорию адаптивных систем; математическую теорию планирования эксперимента; • биокибернетику, медицинскую кибернетику, нейроки- бернетику; • инженерную психологию; • применение кибернетики в обучении. • Начаты и успешно развиваются исследования в обла- сти теории больших систем, теории построения систем управления энергетическими и транспортными процес- сами, теории систем научно-технической информации, эвристического программирования и др.” [51, с. 23]. Эти высказывания руководителя Совета по кибернетике требуют некоторых комментариев. К середине 60-х годов среди ведущих специалистов в об- ласти кибернетики расхождения в очерчивании той области - 283-
Санкт-Петербургские олимпиады по кибернетике знаний, с которой эта наука имеет дело, усилились. Весьма широкое йстолкование этой науки было характерно для А. И. Берга и ученых, группировавшихся вокруг него. В этом науч- ном сообществе кибернетика понималась скорее не как наука, а как особая всеобъемлющая научная парадигма. Например в [52, с. 29] можно прочитать, что“кибернетика возникла как чрезвычайно широкое научное и техническое направление. С одной стороны, ее рождение было связано с конструирова- нием и применением сложных автоматов, с автоматизацией производства, с электроникой и универсальными вычисли- тельными машинами. С другой стороны, к кибернетике вели науки, издавна изучавшие процессы управления и переработ- ки информации в конкретных областях, например, наука о жизни. И, конечно, мощный комплекс математических идей и теорий”. И далее [52, с. 40]:“Применение кибернетики во все большем круге наук и областей практической деятельности человека - знамение нашего времени. Идеи и методы кибер- нетики постепенно меняют лицо многих научных дисциплин. Это касается даже самой“самостоятельной” из наук — мате- матики”. Из этих цитат видно, что сторонники столь широко- го взгляда на кибернетику рассматривают ее как новый философско-методологический подход к различным теорети- ческим и прикладным наукам. В более поздних работах тех, кто разделял подобное истолкование кибернетики, эта мысль выражена еще более отчетливо [53, 54]. На другом полюсе находились те, кто связывал кибер- нетику с появлением и внедрением вычислительных ма- шин, с теми изменениями в математике и смежных с нею областях, которые были порождены процессами ре- шения задач на вычислительных машинах. Такая точка -284-
Глава IV. Кибернетика зрения на кибернетику характерна, например, для ред- коллегии и авторов статей сборника“Проблемы кибернети- ки”. Если для сторонников широкого взгляда на кибер- нетику ее ключевыми словами были“управление” “обратная связь” “энтропия”, то для тех, кто интерпретировал кибер- нетику более узко, такими ключевыми словами выступа- ли“алгоритм” “программа”,“управляющая система”. Создание двух международых организаций: IFAC и IFIP, как уже говорилось, характеризовало расхождения во взгля- дах на науки, связанные с появлением вычислительных ма- шин. Специалисты инженерного профиля тяготели к ИФА- Ку, а математики и близкие к ним программисты и логики предпочитали ИФИП. И только Совет А. И. Берга еще долгие годы пытался интегрировать в своих рамках эти две группы специалистов. Нападки на кибернетику со стороны философов практи- чески прекратились. Как рецидив прошлого выглядела бро- шюра [55], автор которой все еще критиковал позицию Ви- нера и особо отмечал философские“просчеты” в предисловии Э. Кольмана к последней книге Винера:“В. И. Ленин десят- ки раз повторял, что головной мозг есть орган мысли, что мысль есть функция мозга. Из этих ленинских высказыва- ний вытекает два вывода: 1) сознанием, мышлением обладает лишь головной мозг человека; 2) между сознанием человека, как качественно высшей формой отражения материи, и дру- гими формами отражения имеется не только общее, связь, родство, но и коренное отличие. Отсюда следует, что неорга- ническая (мертвая) материя не может обладать сознанием. Поэтому в электронной машине нет и не может быть созна- ния, ибо она построена из неорганического материала” (стр. И). -285-
Санкт-Петербургские олимпиады по кибернетике Но это были последние слабые отголоски давней бури. Новое поколение философов оценивало ситуацию с киберне- тикой совсем с других позиций (см., например, (56]). В начале 60-х критика достижений в области применения вычислительных машин возникла совсем с другой стороны. И. А. Полетаев опубликовал в газете“Комсомольская прав- да” шутливое письмо от имени некоторого инженера, отвер- гающего все культурные ценности прошлых“гуманитарных времен” и собирающегося заменить ’’старую культуру” новой, основанной на достижениях кибернетики и вычислительной техники. Все знавшие И. А. Полетаева, человека высокой культуры и интеллекта, конечно, восприняли это письмо как озорную мистификацию. Но, опубликованное газетой, оно по- родило известную дискуссию о“физиках” и“лириках”, в кото- рую оказались втянутыми многие представители культуры и науки. Теперь уже не со стороны философов высказывалась критика по поводу ’’кибернетического экстремизма”. Против идеи“умных машин, чей интеллект сравним с человеческим” выступили широкие слои общественности. В связи с этим потребовалось еще раз изложить на до- ступном уровне основные положения кибернетики. Эту зада- чу взял на себя популярный в то время журнал“Техника — молодёжи”. В десятом и одиннадцатом номерах за 1961 год была опубликована статья А. Н. Колмогорова, открывшая дискуссию“Проблемы кибернетики сегодня” [57]. Эта статья явилась изложением доклада Колмогорова на методологиче- ском семинаре механико-математического факультета МГУ, сделанного 6-го апреля 1961 года [58]. Доклад начинается следующими словами: ’’Сегодняшний доклад задуман как до- клад для математиков. Предполагается, что основные слу- шатели понимают те стороны дела, которые понимают имен- -286-
Глава IV. Кибернетика но математики”. Но, несмотря на такое начало и последую- щее изложение, требовавшее для понимания определенной математической культуры, среди тех, кто по достоинству оценил глубокое содержание доклада, были не только ма- тематики. А. Н. Колмогоров своим выступлением привлек внимание широкой аудитории к вопросам, имеющим осно- вополагающее значение для наук о живом и той части ки- бернетических исследований, которая позже получила назва- ние“искусственный интеллект”. После статьи Колмогорова (ее текст был адаптирован к уровню читателей журнала) в“Технике - молодежи” было опубликовано еще немало статей и дискуссионных матери- алов. Наиболее важные из публикаций перечислены в [59]. Интересен комментарий, которым редакция журнала сопро- водила сокращенное изложение доклада Эшби, прочитанного им на конференции по интеллектуальным машинам, прохо- дившей незадолго до этого в США:“Статья печатается в по- рядке дискуссии, чтобы дать представление об интересных, хотя и наиболее крайних взглядах в кибернетике, существу- ющих среди некоторых ученых на Западе”. 60-е и 70-е годы На последующее двадцатилетие приходится расцвет ки- бернетических исследований в нашей стране. Активно раз- вивались все ее направления. Во многих из них результаты советских специалистов или находились на мировом уровне, или опережали его. Перечислим те области, в которых до- стижения были наиболее впечатляющими. • После знаменитого Джорджтаунского эксперимента по -287-
Санкт-Петербургские олимпиады по кибернетике использованию вычислительной машины для перевода с одного языка на другой в СССР стремительно развер- нулись работы в этой области. Вскоре у нас были созда- ны первые версии программ для машинного перевода [36, 60]. Эти программы, базировались на тех достиже- ниях лингвистики, которые были стимулированы новы- ми структурными и математическими подходами к про- блемам анализа и синтеза языковых конструкций. В со- здании и изучении моделей подобного типа отечествен- ные лингвисты находились на одном уровне с лингви- стами из других стран. Это позволило тем, кто создавал первые программы для машинного перевода, занять ли- дирующее положение в этой области. И в дальнейшем, когда по многим позициям в области кибернетических исследований наша страна стала заметно отставать, ра- боты в области машинного перевода отставались на ми- ровом уровне [61]. • Активное внедрение идей кибернетики в психологию мышления привело к появлению ряда интегральных моделей организации целесообразной человеческой де- ятельности. В Москве модели такого типа активно об- суждались на семинаре по психонике, работавшем с 1964 по 1970 год в Московском энергетическом инсти- туте [62]. В работе этого семинара участвовали психо- логи (Б. В. Зейгарник, В. П. Зинченко, В. Н. Пушкин и другие) и специалисты в области кибернетики. Тер- мин“психоника” был придуман по аналогии с терми- ном“бионика”, получившим в 60-е годы широкое распро- странение. (Состоялись три весьма многолюдные кон- ференции по бионике, труды которых были опублико- - 288-
RalaHauslW Глава IV. Кибернетика ваны [63-65], в Совете по кибернетике активно работа- ла секция бионики, но к середине 70-х это направле- ние практически перестало существовать). Психоникой предлагалось назвать область междисциплинарных ис- следований, целью которых должно было быть включе- ние в искусственные системы моделей и процедур, ана- логичных тем, которые характеризуют направленную жизнедеятельность высших животных и человека. Вы- явление их становилось задачей психологов. Другой за- дачей психоники было внедрение кибернетической ме- тодологии и математических моделей и методов в пси- хологические исследования. В Институте кибернетики АН УССР, в Киеве, аналогичные проблемы обсужда- лись на семинаре Н. М. Амосова. В результате этих уси- лий было предложено несколько интегральных моделей мыслительной деятельности и целесообразного поведе- ния, не потерявших свою актуальность до настоящего времени [68-69]. Их дальнейшее развитие [70-72] показа- ло значимость подобных моделей для создания интел- лектуальных систем. • Несколько иные подходы к поиску интегральных моде- лей целесообразной деятельности демонстрировали ра- боты, возглавлявшиеся на биологическом факультете МГУ А. В. Напалковым [73-75]. В них доминировало понятие“эвристика”. В 60-е годы это понятие использо- валось в большинстве исследований в области модели- рования мыслительных процессов. Главенствовала идея о том, что основной процедурой в целесообразном по- ведении является использование разнообразных прие- мов (эвристик), позволяющих резко уменьшать пере- -289-
Санкт-Петербургские олимпиады по кибернетике бор альтернативных вариантов при поиске нужного ре- шения. На изучение приемов сокращения перебора бы- ли направлены усилия как психологов, так и специа- листов по использованию вычислительных машин для решения невычислительных задач. Подобное понима- ние сути процессов поиска решений задач в психологии соответствовало так называемой лабиринтной модели, известной еще с начала века. Первые успехи в области создания интеллектуальных программ, появившихся во второй половине 60-х годов, были связаны с исполь- зованием именно таких моделей. Они оказались весь- ма эффективными при программировании игровых за- дач и вообще задач, для которых основу составлял на- правленный поиск на множестве альтернативных вари- антов. Отечественные специалисты разработали в эти годы эффективные методы целенаправленного сокра- щения перебора, что дало им возможность демонстри- ровать весьма эффективные программы для решения задач, требующих большого перебора [76, 77]. Успех из- вестной шахматной программы“Каисса”, победившей на Втором чемпионате мира среди шахматных программ, целиком определялся удачным выбором эвристик, за- имствованных из практики шахматистов, и эффектив- ными методами сокращения перебора при анализе шах- матных позиций [78]. • Распознавание образов в 60-е и первой половине 70-х да- вало возможность для разработки интересных и прак- тически полезных программ. Поэтому в СССР работы по созданию процедур распознавания и программ, осно- ванных на них, привлекали многие коллективы специ- -290-
^laiaHaus^i Глава IV. Кибернетика алистов. Пожалуй, наиболее яркие достижения в этой области, во многом превосходящие зарубежные резуль- таты, были получены в коллективах, возглавлявших- ся М. М. Бонгардом и Ю. И. Журавлевым, а также в нескольких коллективах, работавших в Институте про- блем управления АН СССР (ранее - Институт автома- тики и телемеханики). Задача распознавания образов имеет два этапа. На первом этапе надо выбрать на- бор признаков, обеспечивающих разбиение объектов на нужные классы. На втором - найти эффективную про- цедуру классификации по заданным признакам. До М. М. Бонгарда усилия направлялись на реализацию вто- рого этапа распознавания, в предположении, что удач- ный выбор признаков уже сделан. Но основная труд- ность задач распознавания образов скрыта как раз на первом этапе их решения. Заслугой Бонгарда и его со- трудников явилось создание процедур выявления ха- рактеристических признаков на основе индуктивного обучения. Результаты этой работы отражены в моно- графии [79], ставшей на длительное время собранием идей и методов в задачах распознавания образов. Лишь через 6-7 лет после выхода этой книги стали появлять- ся аналогичные результаты за рубежом. В Институте проблем управления распознаванием образов занима- лось несколько групп. В трех из них были разработаны методы, по праву вошедшие в мировую копилку про- цедур распознавания. Это метод потенциальных функ- ций, метод статистических оценок и метод разделения классов с помощью системы гиперплоскостей [80-82]. Весьма значительный вклад в теорию распознавания образов внесли работы Ю. И. Журавлева и его учени- - 291-
Санкт-Петербургские олимпиады по кибернетике ков [83, 84]. Впервые в мировой практике в них была дана точная постановка задачи распознавания образов и возникла возможность строго оценивать эффектив- ность тех или иных алгоритмов распознавания и под- бирать для конкретной задачи наиболее эффективный алгоритм. Школа Ю. И. Журавлева до настоящего вре- мени удерживает лидирующее положение в мировом со- обществе в этой области информатики. • Модельная теория мышления, развитая в работах В. Н. Пушкина, послужила основой для разработки ме- тода ситуационного управления большими системами. Этот метод, возникший во второй половине 60-х годов [85], во многом предвосхитил технологию решения за- дач в системах, опирающихся на знания (такая техно- логия возникла в исследованиях по искусственному ин- теллекту лишь в середине 70-х в экспертных системах). С помощью метода ситуационного управления удалось решить ряд практических задач, и его использование продолжается до настоящего времени [86, 87]. Значение работ по ситуационному управлению в нашей стране весьма велико. Большое количество специалистов, за- нимавшихся развитием этого подхода и применением его для решения практических задач (за десятилетие активности“ситуационного движения” в 1967-77 годах было проведено около двух десятков конференций, сим- позиумов и школ, через которые прошли несколько сот специалистов), оказалось подготовленным к немедлен- ному переходу к технологиям искусственного интеллек- та, как только они появились в начале 70-х годов. • После успехов в области создания трансляторов ТА-1, - 292-
Глава IV. Кибернетика ТА-2 и ’’Альфа” в 1964-65 годах, отечественные исследо- вания в области автоматизации программирования про- должали сохранять высокий темп развития. В Москве, Новосибирске и Киеве работали коллективы, обеспечи- вавшие высокий уровень соответствующих программ- ных продуктов [12]. В СССР был создан алгоритмиче- ский язык РЕФАЛ, в основе которого лежала теоре- тическая модель процесса, реализуемого нормальными алгоритмами Маркова [90]. Его использование в нашей стране позволило создать ряд оригинальных программ- ных продуктов, не имеющих аналогов за рубежом. К со- жалению, РЕФАЛ испытал судьбу многих отечествен- ных находок. За рубежом его не признали по соображе- ниям, далеким от науки, а в нашей стране после вынуж- денной эмиграции его создателя он использовался лишь небольшой частью программистов и постепенно утра- тил свои позиции. Сходная судьба и у языков програм- мирования семейства АНАЛИТИК, созданных в Ин- ституте кибернетики АН УССР для ЭВМ серии“МИР”. Эти машины, по существу, были первыми персональ- ными ЭВМ (к сожалению, тогдашняя элементная ба- за не позволяла свести их габариты к настольным). Но несмотря на передовые принципы, заложенные в струк- туру и функции языков семейства АНАЛИТИК [91], они также не стали достоянием мирового сообщества программистов, хотя иностранные эксперты достаточ- но высоко оценивали достижения программирования в СССР [92-94]. К сожалению, к началу разработок ЭВМ третьего поколения (60-е годы) в нашей стране не воз- никла парадигма программной совместимости. Талант- ливые разработчики ЭВМ и программного обеспечения
Санкт-Петербургские олимпиады по кибернетике для них работали разобщенно, вне рамок какой-либо государственной программы и требований стандарти- зации. Это привело сначала к потере темпа, потом к отставанию и, наконец, к роковому для отечественной информатики копированию в СССР и странах Восточ- ной Европы разработок фирмы ИБМ. После этого на- ши достижения в области программирования, операци- онных систем, языков программирования практически сходят на нет, что и отмечается зарубежными экспер- тами [95-98]. • Исследования в области параллельного программиро- вания в СССР имеют длинную историю. Их начало от- носится к середине 60-х годов, когда в Институте мате- матики СО АН СССР (Новосибирск) и в Московском энергетическом институте возникли первые коллекти- вы, заинтересовавшиеся теорией параллельных процес- сов в вычислительных системах, состоящих из однород- ных или неоднородных машин. Со временем в этих ор- ганизациях сложились известные школы специалистов в области параллельных вычислительных процессов. Первые монографии по теории вычислительных систем и параллельных вычислений вышли в нашей стране с большим опережением аналогичных изданий за ру- бежом [99, 100). Отечественные специалисты первыми в мировой науке дали постановку и предложили пер- вые решения таких задач, как сегментация алгоритмов и программ, планирование выполнения больших про- грамм на вычислительных системах, динамическое дис- петчирование потока программ и сегментов программ, асинхронная организация протекания процессов [101- - 294-
ftalaHausjiik Глава IV. Кибернетика 103]. В это время было предложено несколько ориги- нальных моделей для параллельных вычислений, зано- во переоткрытых потом в США и других странах. В работах [104, 105] отражен дальнейший этап развития работ по параллельным процессам в Новосибирске и ча- стично в других организациях СССР. • Со второй половины 60-х кибернетические модели управления и методы решения сложных задач на ЭВМ стали активно внедряться в реальные системы управ- ления самого различного уровня. Это начинание бы- ло активно поддержано правительством в виде значи- тельного финансирования государственных программ по созданию автоматических систем управления пред- приятиями, отраслями, регионами и общегосударствен- ными системами. Программы развития сетей передачи и обработки информации, которые должны были охва- тить всю страну, увязывались с глобальной идеологиче- ской программой построения коммунистического обще- ства. Эти ’’наполеоновские” планы не были подкрепле- ны необходимой технической базой и были обречены на неудачу. Но, как ни странно, некоторая польза от этого движения все-таки была. Были созданы многие десятки отраслевых и региональных институтов, вычислитель- ных центров на предприятиях и в различных организа- циях, что потребовало массовой подготовки специали- стов, способных работать во вновь создаваемых учере- ждениях. Была организована подготовка специалистов по автоматизированным системам управления разного профиля, что позволило позже сделать информатику массовой профессией. И, наконец, были получены но- - 295-
Санкт-Петербургские олимпиады по кибернетике вые результаты в области информатики и управления в больших технических, экономических, организацион- ных и социальных системах, которые вошли в научный оборот [106]. • Работы в области обработки изображений всегда несколько отставали в нашей стране от передового фронта на Западе, что, в частности, может быть объяс- нено слабостью технической базы для таких работ в на- шей стране. На этом фоне особняком стоит цикл иссле- дований, проведенных в Институте проблем передачи информации АН СССР под руководством В. С. Файна [107]. Возглавляемому им коллективу впервые в миро- вой практике удалось решить проблему компьютерно- го моделирования динамических процессов (в частно- сти, процессов старения и омоложения), протекающих в биологических объектах. В некотором смысле эти до- стижения не превзойдены в мировой информатике до сих пор. • Еще в одной довольно специфической области киберне- тических исследований наша страна долгое время ли- дировала - это область использования ЭВМ для ана- лиза и синтеза музыкальных произведений. Эти успехи связаны с неутомимой деятельностью Р. X. Зарипова, сумевшего не только догнать по уровню исследований пионеров этой области - ученых США, но и значительно опередить их достижения [108]. И позже исследования Р. X. Зарипова постоянно определяли ’’планку” мирово- го уровня [109]. -296-
Глава IV. Кибернетика Все перечисленные достижения отечественной информа- тики в 60-70-х годах проходили на фоне высокой активности научного сообщества в нашей стране. Повсеместно работа- ли семинары и научные школы, проходили многочисленные и, как правило, многолюдные конференции, симпозиумы и совещания, нарастал поток издаваемой в области кибернети- ки литературы, возникали новые институты и подразделения кибернетического профиля в ранее существовавших органи- зациях. Большую объединительную роль играли Всесоюзные сим- позиумы по кибернетике, которые проводились Институтом кибернетики АН ГССР. С 1961 по 1981 год состоялось де- вять таких симпозиумов, на которых обсуждалась практиче- ски вся тематика кибернетических исследований [110]. Это двадцатилетие было временем расцвета научных школ в области кибернетики. Школы возникали там, где был лидер, способный увлечь своих коллег в неизведанные тогда области. Некоторые школы, не успев возникнуть и заявить о себе, в силу разных причин столь же быстро исчезали, не оставляя после себя сколько-нибудь заметных следов. Но бы- ли школы, определившие на долгие годы направление разви- тия тех или иных областей кибернетики. 1. Школа А. А. Ляпунова. О роли этой школы в разви- тии отечественной кибернетики мы уже говорили. Время ее расцвета приходится на конец 50-х и 60-е годы. Личность ее лидера определяла широкий круг проблем, интересовавших ее участников. Математические вопросы биологии, теория игр и принятия решений, оптимизационные задачи, форма- лизация процессов программирования и автоматизация про- граммирования - далеко не полный перечень того, что обсуж- далось на семинаре Ляпунова в МГУ, а затем в Новосибир- -297-
Санкт-Петербургские олимпиады по кибернетике ске. Это скорее была не школа в традиционном понимании этого термина, а широкое научное движение, лидер которого сумел привлечь в кибернетику множество ярких специали- стов. Материалы, помещенные в этой книге, характеризуют многие грани этого уникального в истории отечественной ки- бернетики научного движения. 2. Школа М. А. Гаврилова. Эта школа сыграла ре- шающую роль в развитии логического подхода к анализу и синтезу дискретных систем управления. По времени возник- новения это первая“кибернетическая” школа в нашей стране. В середине 50-х М. А. Гаврилов организовал семинар в то- гдашнем Институте автоматики и телемеханики АН СССР (ныне Институт проблем управления РАН), из участников которого формировался костяк школы. Начиная с зимы 1964 года стали проводиться два раза в год знаменитые Гавриловские школы, на которых опреде- лялись основные направления исследований в области реше- ния теоретических и практических задач логического проек- тирования различных устройств. Уровень школы был весь- ма высок и определял лидирующее ее положение в мире. В 70-х годах члены этого“незримого колледжа” первыми нача- ли создавать системы автоматизированного проектирования дискретных систем управления. Участниками школы стали практически все ведущие специалисты в этой области в на- шей стране и ряде стран Восточной Европы (лишь в Румы- нии в эти годы была школа, возглавлявшаяся Г. Мойсилом, чей уровень приближался к уровню школы Гаврилова). До начала 80-х годов результаты, полученные в этом сообществе, определяли мировой уровень соответствующего научного на- правления. - 298-
ftalaHauslMl Глава IV. Кибернетика Школа Гаврилова пережила уход из жизни своего осно- вателя и идеолога и продолжает (правда, не столь активно) действовать и сейчас [111]. В разное время от базовой шко- лы отпочковались самостоятельные научные школы, специ- ализирующиеся в тех или иных направлениях (наиболее из- вестными из них являются школы А. Д. Закревского, В. Г. Лазарева, В. А. Горбатова). 3. Школа О. Б. Лупанова — С. В. Яблонского. Ес- ли в школе Гаврилова основное внимание уделялось созда- нию практических методов анализа и синтеза дискретных устройств, то работавшая на базе механико-математического факультета МГУ школа, основанная С. В. Яблонским и его учеником, вскоре выросшим в крупного ученого, О. Б. Лупа- новым, сосредоточила свое внимание на теоретических про- блемах, связанных с использованием логических моделей в практических задачах. Основными достижениями этой шко- лы, обеспечившими выход на мировой уровень, стали работы по оценкам сложности синтезируемых схем, работы по до- казательству полноты различных логических исчислений и теории логических тестов. Последнее направление, смыкаю- щееся по своим методам с методами распознавания образов, породило в рамках данной школы дочернюю школу, во главе которой стал Ю. И. Журавлев. О достижениях этого науч- ного коллектива уже говорилось. Достижения школы чаще всего публиковались в сбор- нике“Проблемы кибернетики”. Постепенно этот сборник (по- сле смерти А. А. Ляпунова) стал органом школы Лупанова- Яблонского. 4. Школа В. М. Глушкова. Об этой весьма продук- тивной школе, сложившейся на базе Института кибернетики АН УССР и возглавлявшейся ярким и разносторонним уче- - 299-
Санкт-Петербургские олимпиады по кибернетике ным В. М. Глушковым, также неоднократно упоминалось вы- ше. Особо впечатляющими достижениями этой школы, ока- завшими влияние на соответствующие исследования за рубе- жом, были работы по алгебраической теории автоматов, язы- кам программирования для символьных преобразований и доказательства теорем. Журнал“Кибернетика”, издаваемый ИК АН УССР, был главным местом, где помещали свои ре- зультаты участники этой школы. Развиваемая под руковод- ством Глушкова концепция аппаратной реализации языков программирования высокого уровня, воплощенная в серий- ных машинах“МИР” и в замысле нереализованного проекта машиньГУКРАИНА” [112], на много лет опередила аналогич- ные решения за рубежом. 5. Школа М. Л. Цетлина — М. М. Бонгарда. Оба имени уже упоминались в тексте данной статьи. Вокруг этих двух ярких и самобытных лидеров объединились математи- ки, программисты, физиологи, инженеры и физики. Основ- ной круг интересов участников школы концентрировался во- круг проблем моделирования в биологии, физиологии, меди- цине и этологии. Достижения этой школы в области индук- тивного формирования понятий, моделей зрения, моделей ро- ста тканей и коллективного поведения во многом недостижи- мы для западной науки и по сей день. Участники школы в течение десятка лет в 60-х годах ре- гулярно встречались (как правило, под Ленинградом, что послужило появлению названия“Комаровские школы”, хотя Комарово далеко не всегда было местом фактического про- ведения школы) и обменивались полученными за это вре- мя результатами. Трагический уход из жизни руководите- лей школы, произошедший на небольшом интервале времени, прекратил деятельность этого многообещающего сообщества -300-
^alaHaus,^. Глава IV. Кибернетика ученых. Поток публикаций по кибернетической тематике настоль- ко возрос, что потребовалось начать выпуск специальных журналов, которые могли бы информировать научную об- щественность о новых результатах. С 1963 года выхо- дят“Известия АН СССР. Техническая кибернетика”. В этом журнале стали публиковаться работы, связанные с примене- нием кибернетических подходов и компьютеров в системах управления сложными техническими объектами. Здесь же публиковались статьи по логическим методам анализа и син- теза схем, по применению автоматных моделей для решения разнообразных задач, распознаванию образов. В какой-то ме- ре тематика этого журнала дублировалась в имевшем по- чтенный“докибернетический” возраст журнале44Автоматика и телемеханика”, который явно“перестроился” на тематику технической кибернетики. В Киеве с 1965 года стал выходить уже упоминавший- ся журнал ”Кибернетика”, основным содержанием которого были статьи по теоретическим вопросам кибернетики и про- граммированию. Долгие годы этот журнал занимал нишу, связанную с теорией программирования, языками програм- мирования и технологиями создания различных программ- ных продуктов. С большим опозданием в 1975 году был осно- ван журнал“Программирование”, который стал ведущим оте- чественным журналом в этой области. Новые информационные технологии С начала 70-х годов стремительно развивается новое на- учное направление - искусственный интеллект. Сначала круг - 301-
Санкт-Петербургские олимпиады по кибернетике его интересов охватывает лишь вопросы, связанные с моде- лированием интеллектуальной деятельности, но постепенно в сферу приложений искусственного интеллекта втягивают- ся практически все направления информатики. Даже такие традиционные для информатики направления, как системное программирование или вычислительные модели, с течением времени стали обогащаться идеями, порожденными в ходе работ в области искусственного интеллекта (использование логических методов доказательства правильности программ или обеспечение интерфейса на профессиональном естествен- ном языке с пакетами прикладных программ - лишь два при- мера такого обогащения). С 80-х годов можно считать, что технология решения за- дач, опирающаяся на идею использования знаний о пред- метной области, где возникла задача, и знаний о том, как решаются подобные задачи, характерная для работ по ин- теллектуальным системам, стала основной парадигмой для современной информатики [113, 114]. Но это уже относится к тому периоду, который наступил после завершения в сере- дине 70-х начального этапа развития информатики в нашей стране [115]. Нам же осталось сказать совсем немного. Свообразным знаком завершения начального этапа развития кибернети- ки, превращения ее в ’’респектабельную” научную дисципли- ну явилось издание в середине 70-х двухтомной энциклопе- дии по кибернетике и толкового словаря по кибернетике [116, 117]. Обе работы были подготовлены и выпущены в свет по инициативе В. М. Глушкова, привлекшего к работе над эти- ми книгами многих специалистов не только из руководимого им Института кибернетики АН УССР, но и из других веду- щих в этой области организаций страны. После смерти В. М. -302-
RalaHausiM!. Глава IV. Кибернетика Глушкова“Словарь по кибернетике” был выпущен повторно 11181- (Через несколько лет, как бы знаменуя новый этап в развитии информатики, вышли толковый словарь по искусственному интеллекту, трехтомный справочник по искусственному интеллекту и энциклопедический сло- варь по информатике, в котором разделы ’’Кибернетика” ^‘Искусственный интеллект” входят наряду с другими раз- делами в состав информатики [119-121].) В 1986 году вышел сборник с символическим названи- ем“Кибернетика. Становление информатики” [122]. Он от- крывался статьями тогдашнего президента АН СССР А. П. Александрова и вице-президента Е. П. Велихова, в кото- рых говорилось об определяющем значении информатики для развития человеческого общества в грядущем столетии. В этом же сборнике помещены статьи наиболее авторитет- ных ученых и организаторов науки в области информатики. Основная идея всех авторов состоит в том, что информати- ка уже оторвалась от своей прародительницы кибернетики и стала самостоятельной научной дисциплиной. Характеризуя информатику 80-х годов, А. П. Ершов пишет:“...этот термин снова, уже в третий раз, вводится в русский язык в новом и куда более широком значении - как название фундамен- тальной естественной науки, изучающей процессы передачи и обработки информации” (с. 29), и далее на той же страни- це информатика определяется как“наука об информацион- ных моделях, отражающих фундаментальное философское понятие“информация””. Термин“информатика” в 80-е годы получает широкое рас- пространение, а термин“кибернетика” постепенно исчезает из обращения, сохранившись лишь в названиях тех институтов, -303-
Санкт-Петербургские олимпиады по кибернетике которые возникли в эпоху“кибернетического бума” конца 50- х - начала 60-х годов. В названиях новых организаций тер- мин“кибернетика” уже не используется. Вместо заключения Информатика сейчас настолько глубоко пронизала все сферы человеческой жизни, что никакой обзор ее теперешне- го состояния не может расчитывать на какую-то полноту, он всегда останется фрагментарным и будет отражать субъек- тивные пристрастия составителя. Но наша задача - не обзор того, чт.е. информатика сегодня, а попытка восстановить тот путь, который отечественная информатика прошла за полве- ка, отделяющие нынешнее время от начала эпохи компьюте- ров, без которых люди уже не представляют своей жизни. ЛИТЕРАТУРА 1. А. И. Михайлов, А. И. Черный, Р. С. Гиляревский. Ин- форматика // Большая Советская энциклопедия, 3-е изд., т. 10. М.: Советская энциклопедия, 1972, сс. 348- 350. 2. Encyclopedia of Computer Science. 3rd Edition. A. Ralston, E. D. Reilly (Eds.). New York: Van Nostrand Reinhold, 1993. 3. И. А. Апокин. Развитие вычислительной техники и си- стем на ее основе / / Новости искусственного интеллек- та, 1994, №1, сс. 26-69. 4. Б. Н. Малиновский. История вычислительной техники в лицах. Киев: Наукова думка, 1995. -304-
Глава IV. Кибернетика 5. Л. А. Люстерник, А. А. Абрамов, В. И. Шестаков, М. Р. Шура-Бура. Решение математических задач на ав- томатических цифровых машинах. Программирование для быстродействующих электронных счетных машин. М.: Издательство АН СССР, 1952. 6. В. П. Тугаринов, Л. Е. Майстров. Против идеализма в математической логике // Вопросы философии, 1950, №3, сс. 331-339. 7. Краткий философский словарь, под ред. М. Розенталя, П. Юдина, 4-е изд., дополненное и исправленное. М.: Государственное издательство политической литерату- ры, 1954, сс. 236-237. 8. Кому служит кибернетика // Вопросы философии, 1953, №5, сс. 210-219. 9. В. Нескоромный. Человек, который вынес кибернетику из секретной библиотеки // Компьютерра, 18.11.1996, ? 43, с. 44-45. 10. С. Л. Соболев, А. И. Китов, А. А. Ляпунов. Основные черты кибернетики // Вопросы философии, 1955, №4, сс. 136-148. 11. Э. Колъман. Что такое кибернетика? // Вопросы фи- лософии, 1955, №4, сс. 148-159. 12. А. П. Ершов, М. Р. Шура-Бура. Становление програм- мирования в СССР. Начальное развитие // Препринт ВЦ СО АН СССР №12, 1976; А. П. Ершов, М.Р. Шура- Бура. Становление программирования в СССР. Пере- ход ко второму поколению языков и машин // Пре- принт ВЦ СО АН СССР №13, 1976. 13. М. Уилкс, Д. Уилер, С. Гилл. Составление программ для электронных счетных машин. М.: Издательство -305-
Санкт-Петербургские олимпиады по кибернетике иностранной литературы, 1953. 14. М. А. Гаврилов. Теория релейно-контактных схем. Ана- лиз и синтез структуры релейно-контактных схем. М.; Л.: Издательство АН СССР, 1950. 15. А. А. Ляпунов. О некоторых общих вопросах киберне- тики // Проблемы кибернетики, 1958, вып. 1, сс. 5-22. 16. А. А. Ляпунов, Ю. И. Янов. О логических схемах про- грамм // Проблемы кибернетики, 1958, вып. 1, сс. 46- 74. 17. А. П. Ершов. Программирующая программа для быст- родействующей электронной счетной машины. М.: Из- дательство АН СССР, 1958. 18. Л. В. Канторович, Л. Т. Петрова, М. А. Яковлева. Об одной системе программирования // Пути развития со- ветского математического машиностроения и приборо- строения. Всесоюзная конференция, часть III. М.: ВИ- НИТИ, 1956, сс. 30-36. 19. М. Л. Цетлин. Исследования по теории автоматов и моделированию биологических систем. М.: Наука, 1969. 20. В. М. Глушков. О некоторых задачах вычислительной техники и связанных с ними задачах математики // Украинский математический журнал, 1957, №4, сс. 369- 376. 21. А. Н. Колмогоров. Кибернетика // Большая советская энциклопедия, 2-е изд., т. 51. М.: Большая советская энциклопедия, 1958, сс. 149-151. 22. А. В. Китов. Цифровые вычислительные машины. М.: Советское радио, 1956. 23. И. А. Полетаев. Сигнал. М.: Советское радио, 1958. -306-
ftataHausllik Глава IV. Кибернетика 24. Ю. И. Соколовский. Кибернетика настоящего и будуще- го. Харьков: Харьковское книжное издательство, 1959. 25. А. И. Китов, Н. А. Криницкий, П. Н. Комолов. Эле- менты программирования. М.: Издательство Артилле- рийской инженерной академии, 1956. 26. Н. Винер. Кибернетика или управление и связь в жи- вотном и машине. М.: Советское радио, 1958. 27. Н. Винер. Кибернетика или управление и связь в жи- вотном и машине. 2-е изд. М.: Советское радио, 1968. 28. Н. Винер. Кибернетика и общество. М.: Издательство иностранной литературы, 1958. 29. Цинъ Сюэ-сэнъ. Техническая кибернетика. М.: Совет- ское радио, 1956. 30. П. Косса. Кибернетика. М.: Издательство иностранной литературы, 1958. 31. У. Р. Эшби. Введение в кибернетику. М.: Издательство иностранной литературы, 1959. 32. Н. Е. Кобринский, В. Д. Пекелис. Быстрее мысли. М.: Молодая гвардия, 1959. 33. Л. Теплое. Очерки о кибернетике. М.: Московский ра- бочий, 1959. 34. И. Брук. Электронные вычислительные машины - на службу народному хозяйству // Коммунист, 1957, >7, сс. 124-127. 35. М. Г. Гаазе-Рапопорт. О становлении кибернетики в СССР // Кибернетика: прошлое для будущего. Этюды по истории отечественной кибернетики. Теория управ- ления. Автоматика. Биокибернетика. М.: Наука, 1989, сс. 46-85. -307-
Санкт-Петербургские олимпиады по кибернетике 36. О. С: Кулагина. Некоторые теоретические вопросы ма- шинного перевода. М.: Математический институт АН СССР, 1958. 37. Е. А. Жоголев, Г. С. Росляков, Н. П. Трифонов, М. Р. Шура-Бура. Система стандартных подпрограмм. М.: Государственное издательство физико-математической литературы, 1958. 38. Л. Н. Королев. Некоторые вопросы теории машинного словаря. М.: ИТМиВТ, 1959. 39. А. И. Китов, Н. А. Криницкий. Электронные цифро- вые машины и программирование. М.: Государствен- ное издательство физико-математической литературы, 1959. 40. В. Л. Стефанюк. От автоматов М.Л.Цеглина к искус- ственному интеллекту (этапы и вехи, или как это было) // Новости искусственного интеллекта, 1995, №4, сс. 56- 92. 41. В. В. Иванов. Из истории кибернетики в СССР. Очерк жизни и деятельности М. Л. Цеглина // Вопросы ки- бернетики. Кибернетика и логическая формализация. Аспекты истории и методологии. М.: Научный совет по комплексной проблеме“Кибернетика” АН СССР, 1982, сс. 166-190. 42. Andrei Р. Ershov. Automatic Programming in the Soviet Union // Datamation, 1959, V. 5, N. 4, pp. 14-20. 43. F. Bryzgalin. USSR Struggles with Electronic Computers // Petroleum Engineer, V. 27, August, 1955, p. A58. 44. А. А. Дородницын. Информатика: предмет и задачи // Кибернетика. Становление информатики, М.: Нау- ка, 1986, сс. 22-28. -308-
^ataHaus,^. Глава IV. Кибернетика 45. А. И. Берг, А. А. Ляпунов, С. В. Яблонский. Теорети- ческие и практические проблемы кибернетики / / Мор- ской сборник, 1960, №2, сс. 33-56. 46. Е. В. Маркова. Жил среди нас необыкновенный чело- век: академик А. И. Берг // Академик Аксель Иванович Берг (К столетию со дня рождения). М.: Государствен- ный Политехнический музей, 1993, сс. 26-64. 47. С. С. Масчан. Последние годы жизни академика А. И. Берга / / Академик Аксель Иванович Берг (К столетию со дня рождения). М.: Государственный Политехниче- ский музей, 1993, сс. 65-75. 48. S. Е. Goodman. Computing and the Development of the Soviet Economy // Soviet Economy in a Time of-Change. Washington: Government Printing Office, 1979, pp. 524- 553. 49. W. B. Holland. Soviet Computing, 1969: A Leap into the Third Generation? // Datamation, 1969, V. 15, N. 9, pp. 55-60. 50. Л. P. Грэхэм. Естествознание, философия и науки о че- ловеческом поведении в Советском Союзе. М.: Полит- издат, 1991. 51. А. И. Берг. Вступительное слово на открытии Юби- лейной сессии Научного совета по комплексной пробле- ме“Кибернетика” АН СССР // Кибернетика и научно- технический прогресс (к 75-летию академика А. И. Бер- га). М.: Знание, 1968, сс. 18-27. 52. А. И. Берг, Б. В. Бирюков. Кибернетика и научно- технический прогресс // Кибернетика и научно- технический прогресс (к 75-летию академика А. И. Бер- га). М.: Знание, 1968, сс. 28-48. -309-
Санкт-Петербургские олимпиады по кибернетике 53. А. И. Верг, В. В. Бирюков, И. Б. Новик, А. Г. Спиркин. Кибернетика — методологические проблемы // Вестник АН СССР, 1971, №9, сс. 45-54. 54. А. И. Берг, И. Б. Новик, В. Н. Свинцицкий, В. С. Тюх- тин. Кибернетика против теологии / / Науки о неорга- нической природе и религия. М.: Наука, 1973, сс. 101— 115. 55. С. Г. Иванов. Некоторые философские вопросы кибер- нетики. Л.: Общество по распространению политиче- ских и научных знаний РСФСР, Ленинградское отде- ление, 1960. 56. 3. Равенский, А. Уёмов, Е. Уемова. Машина и мысль. М.: Госполитиздат, 1960. 57. А. Н. Колмогоров. Автоматы и жизнь (изложение Н. Г. Рычковой) // Техника — молодежи, 1961, №10, сс. 16-19; №11, сс. 30-33. 58. А. Н. Колмогоров. Автоматы и жизнь // Кибернети- ка ожидаемая и кибернетика неожиданная. М.: Наука, 1968, сс. 10-29. 59. Н. Г. Бруевич. Автоматизация умственного труда // Техника — молодежи, 1961, №11, сс. 30-33; №12, сс. 22- 27; С. А. Стебаков. Можно вывести уравнения здоро- вья // Там же, 1961, №12, сс. 22-25; Э. Колъман. Мо- гут ли машины обладать психикой? // Там же, 1962, №1, сс. 24-26; П. Кузнецов. Химическая кибернетика // Там же, 1962, №2, сс. 22-25; И. И. Артоболевский, А. Е. Кобринский. Живое существо и техническое устройство // Там же, 1962, №2, сс. 22-26; А. Берг. Кибернетику — на службу коммунизму // Там же, 1962, №3, сс. 24- 26; №4, сс. 30-32; А. Кондратов. Рождение одной идеи. -310-
Глава IV. Кибернетика Контуры новой науки — искусствометрии // Там же, 1962, №5, сс. 28-31; В. М. Глушков. Сделать кибернети- ку подлинным помощником умственной деятельности человека // Там же, 1962, Ж), сс. 28-30; У. Р. Эшби. Что такое интеллектуальная ма-шина? // Там же, 1962, №6, сс. 31-33. 60. И. А. Мельчук, Р. Д. Равич. Автоматический перевод. 1949-1963. М.: ВИНИТИ, 1967. 61. И. А. Мельчук. Исследования по автоматическому пере- воду в 1970-1974 годах // Институт русского языка АН СССР. Предварительные публикации, 1975, вып. 67, сс. 1-88. 62. Д. А. Поспелов. Семинар по психонике // Новости ис- кусственного интеллекта, 1991, Ж, сс. 31-36. 63. Бионика. М.: Наука, 1965. 64. Вопросы бионики, М.: Наука,1967. 65. Проблемы бионики, М.: Наука, 1973. 66. В. Н. Пушкин. Оперативное мышление в больших си- стемах. М.; Л.: Энергия, 1965. 67. В. Н. Пушкин. Эвристика - наука о творческом мыш- лении. М.: Политиздат, 1967. 68. Н. М. Амосов. Моделирование мышления и психики. Киев: Наукова думка, 1965. 69. Н. М. Амосов. Искусственный разум. Киев: Наукова думка,1969. 70. В. Н. Пушкин. Психология и кибернетика. М.: Педаго- гика, 1971. 71. Д. А. Поспелов, В. Н. Пушкин. Мышление и автоматы. М.: Радио и связь, 1972. -311-
г Санкт-Петербургские олимпиады по кибернетике 72. Н. М. Амосов. Алгоритмы разума. Киев: Наукова дум- ка, 1979. 73. Л. А. Абатурова, А. В. Напалков, Л. А. Парфенова. Алгоритмический анализ работы мозга и оптимизация процесса обучения. М.: МГУ, 1966. 74. А. В: Напалков, Н. В. Целкова. Информационные про- цессы в живых организмах. М.: Высшая школа, 1974. 75. Е. А. Александров. Основы теории эвристических ре- шений. Подход к изучению естественного и построению искусственного интеллекта. М.: Радио и связь, 1975. 76. А. Л. Брудно. Грани и оценки для сокращения перебора вариантов // Проблемы кибернетики, 1963, вып. 10, сс. 141-150. 77. М. В. Донской. О программе, играющей в шахматы // Проблемы кибернетики, 1974, вып. 29, сс. 169-200. 78. Г. М. Адельсон-Вельский, В. Л. Арлазаров, М. В. Дон- ской. Программирование игр. М.: Наука, 1978. 79. М. М. Бонгард. Проблема узнавания. М.: Физматгиз, 1967. 80. М. А. Айзерман, Э. М. Враверман, Л. И. Розоноер. Ме- тод потенциальных функций в теории обучения машин. М.: Наука,1970. 81. В. Н. Вапник, А. Я. Червоненкис. Теория распознава- ния образов. Статистические проблемы обучения. М.: Наука, 1974. 82. А. Г. Аркадьев, Э. М. Враверман. Обучение машины классификации объектов. М.: Наука, 1971. 83. Ю. И. Журавлев. Об алгебраическом подходе к реше- нию задач распознавания или классификации // Про- блемы кибернетики, 1978, вып. 33, сс. 5-68. -312-
Глава IV. Кибернетика 84. Ю. И. Журавлев. А. А. Ляпунов и становление киберне- тики в нашей стране // А. А. Ляпунов. Проблемы теоре- тической и прикладной кибернетики. Новосибирск: На- ука, 1980, сс. 4-17. 85. Д. А. Поспелов. Ситуационное управление. Теория и практика. М.: Наука, 1986. 86. Ю. И. Клыков. Ситуационное управление большими си- стемами. М.: Энергия, 1974. 87. А. А. Башлыков. Проектирование систем принятия ре- шений в энергетике. М.: Энергоатомиздат,1986. 88. Б. В. Гнеденко, В. С. Королюк, Е. Л. Ющенко. Элемен- ты программирования. М.: Физматгиз, 1961. 89. Е. А. Жоголев, Н. П. Трифонов. Курс программирова- ния. М.: Наука, 1964. 90. В. Ф. Турчин, В. И. Сердоболъский. Язык РЕФАЛ и его использование для преобразования алгебраических выражений // Кибернетика, 1969, №3, сс. 58-62. 91. В. М. Глушков, Т. А. Гринченко, А. А. Дородницына. Алгоритмический язык АНАЛИТИК-74. Киев: Инсти- тут кибернетики АН УССР, 1977. 92. S. Е. Goodman. Software in the Soviet Union: Progress and Problems // Advances in Computers, 1979, V. 18, pp. 231-287. 93. G. Rudins. Soviet Computers: A Historical Survey // Soviet Cybernetics Review, 1970, N. 1, pp. 6-44. 94. P. Wolcott, S. E. Goodman. High-Speed Computers of the Soviet Union // IEEE Computer, 1988, September, pp. 32-41. -313-
Санкт-Петербургские олимпиады по кибернетике 95. N. С. Davis, S. Е. Goodman. The Soviet Bloc”s Unified System of Computers // Computing Surveys, 1978, V. 10, N. 2, pp. 93-122. 96. S. E. Goodman. Technology Transfer and the Development of the Soviet Computer Industry // Trade, Technology and Soviet-American Relations (Ed. B. Parrot). Bloomington: Indiana University Press, 1985, pp. 117-140. 97. S. E. Goodman, W. K. McHenry. Computing in the U.S.S.R.: Recent Progress and Policies // Soviet Economy, 1986, V. 2, N. 4, pp. 327-354. 98. N. Wade. Computer Sales to U. S. S. R.: Critics Look For Quid Pro Quo // Science, 1974, February 8, V. 183, N. 4124, pp. 499-501. 99. Э. В. Евреинов, Ю. Г. Косарев. Однородные универ- сальные вычислительные системы высокой производи- тельности. Новосибирск: Наука, 1966. 100. Д. А. Поспелов. Введение в теорию вычислительных си- стем. М.: Советское радио, 1972. 101. А. В. Барский. Параллельные процессы в вычислитель- ных системах: планирование и организация. М.: Радио и связь,1990. 102. В. А. Головкин. Параллельные вычислительные систе- мы. М.: Наука, 1980. 103. Апериодические автоматы. Под ред. В. И. Варшавско- го. М.: Наука, 1986. 104. N. N. Mirerikov. Parallel language developments in Russia // Computing & Control Engineering Journal, 1993, February, pp. 37-44. 105. Ya. I. Fet, D. A. Pospelov. Parallel Computing in Russia // Parallel Computer Technology. Proceedings of the -314-
^aiattauSf^l Глава IV. Кибернетика 3rd International Conference: PaCT-95, St. Petersburg, Russia, 1995. (Lecture Notes in Computer Science, 1995, V. 964, pp. 464-476). 106. В. M. Глушков. Введение в АСУ. Киев: Техника, 1972. 107. В. С. Файн. Алгоритмическое моделирование формооб- разования. М.: Наука, 1975. 108. Р. X. Зарипов. Кибернетика и музыка. М.: Наука, 1971. 109. Р. X. Зарипов. Машинный поиск вариантов при моде- лировании творческого процесса. М.: Наука, 1983. 110. М. Г. Гаазе-Рапопорт. Всесоюзные симпозиумы по ки- бернетике в Грузии / / Новости искусственного интел- лекта, 1991, №4, сс. 82-119. 111. О. П. Кузнецов. Гавриловские школы: жизнь после смерти // Новости искусственного интеллекта, 1996, №2, сс. 88-92. 112. С. Б. Погребинский, 3. Л. Рабинович. Проблематика реализации в ЭВМ языков высокого уровня и общие принципы их структурной интерпретируемости. Киев: Знание, 1982. 113. Г. С. Поспелов. Искусственный интеллект — основа но- вой информационной технологии. М.: Наука, 1988. 114. Д. А. Поспелов. История искусственного интеллекта до середины 80-х годов // Новости искусственного интел- лекта, 1994, №4, сс. 74-95. 115. Д. А. Поспелов. Новые информационные технологии — это те ключи, которые откроют нам путь в новое обще- ство // Новости искусственного интеллекта, 1994, №2, сс. 57-76. — 315—
Санкт-Петербургские олимпиады по кибернетике 116. Энциклопедия кибернетики в двух томах (отв., ред. В. М. Глушков). Киев: Украинская советская энциклопе- дия, 1974. 117. Словарь по кибернетике (под ред. В. М. Глушкова). Ки- ев: Главная редакция Украинской советской энциклопе- дии, 1979. 118. Словарь по кибернетике (под ред. В. С. Михалевича). 2-е изд., Киев: Главная редакция Украинской советской энциклопедии, 1989. 119. Толковый словарь по искусственному интеллекту / Авторы-составители А. Н. Аверкин, М. Г. Гаазе- Рапопорт, Д. А. Поспелов. М.: Радио и связь, 1992. 120. Искусственный интеллект. Справочник в трех томах (под ред. В. Н. Захарова, Э. В. Попова, Д. А. Поспе- лова, В. Ф. Хорошевского). М.: Радио и связь, 1990. 121. Информатика. Энциклопедический словарь (под ред. Д. А. Поспелова). М.: Просвещение, 1994. 122. Кибернетика. Становление информатики. М.: Наука, 1986 (А. П. Александров. Задача до конца столетия, сс. 6-10; Е. П. Велихов. Информатика — актуальное на- правление развития советской науки, сс. 10-21; А. А. Дородницын. Информатика: предмет и задачи, сс. 22- 28; А. П. Ершов. Информатика: предмет и понятие, сс. 28-31; В. С. Михалевич, Ю. М. Каныгин, В. И. Грицен- ко. Информатика — новая область науки и практики, сс. 31-45; Г. С. Поспелов. Искусственный интеллект — новая информационная технология, сс. 106-121; А. Г. Ивахненко. Искусственный интеллект —“ядро” инфор- мационных систем будущего, сс. 121-128). -316-
^atallausli» Глава V. Приложения Глава V. Приложения 5.1. Кафедры кибернетического профиля ВУЗов Санкт-Петербурга Получить высшее образование по специальности свя- занной с кибернетикой можно во многих вузах Санкт- Петербурга. Ниже приводится список кафедр кибернетиче- ского профиля. Санкт-Петербургский государственный университет Кафедра теоретической кибернетики (http: //www. math. spbu. ru/ru/mmeh/Chairs/dep_r21. html) Кафедра теории систем управления электрофизической аппаратурой (http://www.apmath.spbu.ru /ru/structure/depts/tsuefa/) -317-
Санкт-Петербургские олимпиады по кибернетике Кафедра теории управления (http://www.apmath.spbu.ru/ru/structure/depts/tu/) Кафедра математической теории моделирования систем управления (http: //www. apmath. spbu. ru/ru/structure/depts/mtmsu/) Кафедра математической теории микропроцессорных систем управления (http: //www. apmath. spbu. ru /ru/structure/depts/mtmpsu/) Санкт-Петербургский государственный университет информационных технологий, механики и оптики Кафедра систем управления и информатики (автоматики и телемеханики) (http://csi.ifmo.ru/) Кафедра информационно-навигационных систем (http://www.elektropribor.spb.ru/IFMO/) Санкт-Петербургский государственный электротехнический университет Кафедра Системы автоматического управления (http://www.eltech.ru/kafedrs/fea_sau/) Кафедра автоматики и процессов управления (http: //www. eltech. ru/kaf edrs/apu/index .htm) - 318-
Глава V. Приложения Кафедра автоматизированных систем обработки информации и управления (http: //www. eltech. ru/kaf edrs/asoiu/kaf _asoiu. htm) Кафедра робототехники и автоматизации производственных систем (http: //ww. eltech. ru/kaf edr s/RAPS/Fea_raps. htm) Кафедра корабельных систем управления (http: //www. eltech. ru/kaf edrs/KSU/f ea_ksu. htm) Кафедра лазерных измерительных и навигационных систем (http://www.eltech.ru/kafedrs/anum/index.htm) Санкт-Петербургский государственный технический университет Кафедра Системный анализ и управление (http://www.unilib.neva.ru /rus/stu/fac_pages/8/sac/sac.html) Кафедра автоматики и вычислительной техники (http://aivt.ftk.spbstu.ru/) Кафедра систем автоматического управления (http://saugtu.nord.nw.ru/) Санкт-Петербургский государственный университет аэрокосмического приборостроения Кафедра управление и информатика в технических системах -319-
Санкт-Петербургские олимпиады по кибернетике Кафедра Робототехнические и электромеханические системы Петербургский государственный университет путей сообщения Автоматика и телемеханика на железнодорожном транспорте технический университет Кафедра системы обработки информации и управления (http://www.bstu.spb.su /about/education/kaf edra/i3. shtml Кафедра радиоэлектронные системы управления (http://www.bstu.spb.su /about/education/kafedra/i4. shtml Кафедра информационные системы и компьютерные технологии (http: //www. bstu. spb. su /about/education/kafedra/i5.shtml Кафедра мехатроника и робототехника (http: //www. bstu. spb. su /about/education/kafedra/nl.shtml Кафедра конструирование и производство - 320-
Глава V. Приложения приборов систем управления (http: //www. bstu. spb. su /about/education/kaf edra/n2. shtml Кафедра автономные информационные и управляющие системы (http: //www. bstu. spb. su I about/education/kaf edra/n5. shtml Санкт-Петербургский институт машиностроения (ЛМЗ-ВТУЗ) Кафедра электротехники, вычислительной техники и автоматизации (http://www.pim.sp.ru/210200.HTM) Санкт-Петербургский государственный морской технический университет Кафедра судовой автоматики и измерений (http: //www. smtu. ru/rus/seai/general/history. htm) Кафедра систем автоматического управления и бортовой вычислительной техники (http: / / www. f mpsmtu. spb. ru/kaf f. php#k35) Кафедра корабельных автоматизированных комплексов и информационно-управляющих систем (http: / /www. f mpsmtu. spb. ru/kaf f. php#kiO) - 321-
Санкт-Петербургские олимпиады по кибернетике 5.2. Интернет-ресурсы по кибернетике, информатике и их истории Здесь приведены ссылки на Интернет-ресурсы, содержа- щие интересные материалы по кибернетике, информатике и их истории. Как известно, Интернет является не застывшей, а развивающейся системой и поэтому со временем некото- рые ссылки могут стать недействительными. Однако полез- ные вещи имеют тенденцию где-то сохраняться, и поэтому стоит поискать “пропавший” ресурс через поисковую систе- му (Яндекс, Google, и др.) История информатики в России. http://cshistory.nsu.га/ Сайт представляет собой постоянно актуализируемую базу исторических материалов и документов. На март 2005 г. он содержал несколько тысяч статей, документов, фотографий, относящихся ко всем основным событиям, фактам и фигу- рам из истории отечественной информатики и кибернетики. Основная часть этих материалов получена из малодоступ- ных источников, таких, например, как личные архивы выда- ющихся советских ученых-кибернетиков. Норберт Винер. Кибернетика, или управление и связь в животном и машине, http://grachev62.narod.ru/Cybern/index.htm Классическая книга, провозгласившая в 1948 году появле- ние новой науки — кибернетики (с персонального сайта М. Н. Грачева). - 322-
^aiattausi^i Глава V. Приложения Норберт Винер. Кибернетика и общество. http://grachev62.narod.ru/wiener/cybsoc.htm (с персонального сайта M. H. Грачева). Очерки истории информатики в России. Составители Д. А. Поспелов, Я. И. Фет. Новосибирск: НИЦ ОИГГМ СО РАН, 1998 http://cshistory.nsu. ru/obj 251/INTERFACE.htm Книга содержит статьи и документы, относящиеся к перио- ду зарождения кибернетики и информатики в России. В неё включены работы ведущих специалистов, в которых дает- ся анализ путей развития кибернетического движения в на- шей стране, воспоминания участников тех событий, очерки о наиболее значительных людях и научных школах того вре- мени, переиздание ключевых статей тех лет. Вводная статья Д. А. Поспелова “Становление информатики в России” пере- печатана в настоящем сборнике. Полетаев И. А. “Сигнал”. Сов.Радио, 1958. http://vivovoco.rsl.ru/VV/BOOKS/SIGNAL/CONTENT.HTM Репринтное издание первой в нашей стране монографии о кибернетике. Кибернетика (статья из Краткого философского словаря, 1954). http://www.ibmh.msk.su /vivovoco/VV/PAPERS/BIO/CYBER.HTM В этой статье кибернетика была определена как “реакцион- ная лженаука, возникшая в США после второй мировой вой- ны и получившая широкое распространение и в других ка- питалистических странах”. - 323-
Санкт-Петербургски£ олимпиады по кибернетике Виртуальный компьютерный музей. http://www.computer-museum.ru/ Материалы по истории вычислительной техники и истории развития программного обеспечения, истории компьютерных игр, книги и компьютерная пресса и т.д. История кибернетики и вычислительной техники http://www.prometeus.use.ru /archives/exhibit2/hiscyber.ssi Библиография с XIX в. no 2003 г, около 200 книг и статей. Малиновский Б. Н., История вычислительной техники в лицах. Киев, 1995. http://lib.ru/MEMUARY/MALINOWSKIJ/0.txt Книга посвящена жизни и творчеству первосоздателей оте- чественной цифровой электронной вычислительной техники — С. А. Лебедева, И. С. Брука, Б. И. Рамеева, В. М. Глуш- кова, Н. Я. Матюхина, М. А. Карцева и др. Книга включает записки В. М. Глушкова о своем творческом пути в вычисли- тельной технике и кибернетике, своеобразную исповедь, ко- торую тяжело больной ученый продиктовал своей дочери в последние девять дней, когда еще был в сознании. Касаткин В. Н. “Азбука кибернетики” М., “Молодая гвардия”, 1-е изд. 1968г. http://www.sccenter.ru/cyber/index.htm В книге в легкой и доступной форме рассказано о системах счисления, алгебре высказываний, логических операциях, их свойствах и об элементах логических машин — основе всей существующей сегодня вычислительной техники. Автор — талантливый педагог Валентин Николаевич Касаткин с нача- ла 1960-х годов возглавлял секцию кибернетики Малой Ака- - 324-
Глава К Приложения демии Наук (МАН) школьников Крыма, являлся одним из создателей, а с 1973 года в течение 25 лет — Президентом МАН. Его книга “Введение в кибернетику”. (К.: “Радянсь- ка школа”, 1976) выдержала три издания, последнее издание было в 1986 г. А. Соловьев (1994). Ишкушштвенный интеллект. — альма- нах “Восток” 2005, июль-август, N 7/8(31/32) http://www.situation.ru/арр/j _art_938.htm Юмористический по форме и грамотный с профессиональ- ной точки зрения обзор: Лекция 1. Кибернетик на горшке. Лекция 2. Смыслы Лекция 3. Парле зи рашн? Лекция 4. Машины с квадратными колесами. Лекция 5. Извлечение знаний. Лекция 6. Математические страдания. Статьи по кибернетике и теории управления из Со- росовского Образовательного Журнала: (http://journal.issep.rssi.ru/) Соросовский Образовательный Журнал (СОЖ) выходил ежемесячно с 1995 г. по 2001 г. и бесплатно рассылался во все школы страны, муниципальные и вузовские библиоте- ки, Соросовским Учителям и Профессорам. С 1999 г. полные тексты всех статей журнала размещены на сайте ISSEP в Интернете. Все расходы оплачивались из средств основателя ISSEP, американского финансиста и филантропа Дж. Соро- са. Цель СОЖ - сделать доступными учителям, школьникам и студентам России последние успехи в области естественных наук - биологии, химии, наук о Земле, физики и математи- - 325-
Санкт-Петербургские олимпиады по кибернетике ки. Статьи, представленные для печати в СОЖ, проходили очень строгий отбор; были опублйкованы лишь самые хоро- шие статьи — примерно 25В 2004 г. издание возобновлено под названием ’’Сетевой Образовательный Журнал’’. Ныне журнал выходит только в электронной форме, его издание осуществляется благодаря поддержке Департамента образо- вания г. Москвы. 1. Математика как операционная система и модели. Ней- марк Ю. И. // СОЖ, 1996, №1, сс. 82-85. 2. Об управлении динамическими системами в условиях неопределенности. Брусин В. А. // СОЖ, 1996, К26, с. 115-121. 3. Информация, термодинамика и конструкция биологи- ческих систем. Блюменфельд Л. А. // СОЖ, 1996, №7, с. 88-92. 4. Многомерная геометрия и распознавание образов. Ней- марк Ю. И. // СОЖ, 1996, №7, с. 119-123. 5. Некоторые общие принципы построения адаптивных систем управления. Фомин В. Н. // СОЖ, 1996, №12, сс. 102-108. 6. Простые математические модели и их роль в постиже- нии мира. Неймарк Ю. И. // СОЖ, 1997, №3, сс. 139- 143. 7. Экстремальные задачи в современной науке и приложе- ниях. Габасов Р. Ф. // СОЖ, 1997, №6, с. 115-120. - 326-
Глава V. Приложения 8. Задачи оптимального управления. Колмановский В. Б. // СОЖ, 1997, №6, с. 121-127. 9. Динамическое программирование. Черноусько Ф. Л. // СОЖ, 1998, №2, с. 139-144. 10. Задачи управления при неполной информации. Колма- новский В. Б. // СОЖ, 1999, №4, с. 122-127. 11. Задачи оптимального оценивания. Колмановский В. Б. // СОЖ, 1999, №11, с. 122-128. 12. Планирование эксперимента для построения математи- ческих моделей. Жирабок А. Н. // СОЖ, 2001, №9, сс. 121-127. Англоязычные ресурсы: Principia Cybernetica Web: http://pespmcl.vub.ac.be/ The Alan Turing Home Page: http: //www. taring. org. uk/turing/ Ashby W. R. (1956) Introduction to Cybernetics. Methuen, London, electronically republished at: http://pespmc1.vub.ac.be/books/IntroCyb.pdf Cybernetics projects http://www.rmcybernetics.com I science/Cybernetics/cybernetics.htm - 327-
Санкт-Петербургские олимпиады по кибернетике Cybernetics and Information Theory in the United States, France and the Soviet Union David Mindell (MIT), Jerome Segal (Max Planck Institute for the History of Science, Berlin), Slava Gerovitch (Dibner Institute for the History of Science and Technology and the Russian Academy of Sciences) [Science and Ideology: A Comparative History, Mark Walker (dir.), Routledge, London, 2003, pags. 66-95]. http://www.infoamerica.org /documentos_word/shannon-wiener.htm Slava Gerovich homepage From Newspeak to Cyberspeak: A History of Soviet Cybernetics (MIT Press, 2002) http://web.mit.edu/slava/homepage/ C. Francois. Systemic^ and cybernetics in a historical perspective (pdf document) http://www.uni-klu.ac.at /~gossimit/ifsr/francois/papers/ More related papers of Charles Francois: http://www.uni-klu.ac.at/~gossimit/if sr/francois/ Словари и энциклопедии: Рубрикой: www.rubricon.com/ Википедия: www. wikipedia. org http://en.wikipedia.org/wiki/Cybernetics Web Dictionary of Cybernetics and Systems: http://pespmcl.vub.ac.be/ASC/indexASC.html - 328-
Глава V. Приложения 5.3. Об авторах Ананьевский Михаил Сергеевич, аспирант кафедры теоретической кибернетики математико-механического фа- культета Санкт-Петербургского государственного универси- тета (СПбГУ), младший научный сотрудник лаборатории “Управление сложными системами” Института проблем ма- шиноведения РАН (www.ipme.ru/ipme/labs/ccs/). Болтунов Геннадий Иванович — зам.председателя оргкомитета Олимпиады, доцент кафедры систем управле- ния и информатики Санкт-Петербургского государственного университета информационных технологий, механики и оп- тики (СПбГУИТМО) (http: //csi. if mo. ru/). Зайцев Юрий Евгеньевич, доцент кафедры физики Санкт-Петербургского государственного электротехническо- го университета (СПбГЭТУ) (http://www.eltech.ru/kaf edrs/f iz/f iz.htm). Матвеев Алексей Серафимович, профессор кафед- ры теоретической кибернетики математико-механического факультета СПбГУ (http: //www. math. spbu. ru/ru/mmeh/Chair s/dep_r21. html). - 329-
Санкт-Петербургские олимпиады по кибернетике Фрадков Александр Львович, председатель оргко- митета Олимпиады, заведующий лабораторией "Управле- ние сложными системами "Института проблем машиноведе- ния РАН, профессор кафедры теоретической кибернетики математико-механического факультета СПбГУ (www.ipme.ru/ipme/labs/ccs/) Шиегин Виталий Валерьевич, научный сотрудник лаборатории “Управление сложными системами” Института проблем машиноведения РАН, выпускник кафедры систем управления и информатики СПбГУИТМО (www.ipme.ru/ipme/labs/ccs/).
^laiaHaus^. Глава V. Приложения
Научное издание Михаил Сергеевич Ананьевский Геннадий Иванович Болтунов Юрий Евгеньевич Зайцев Алексей Серафимович Матвеев Александр Львович Фрадков Виталий Валерьевич Шиегин Санкт-Петербургские олимпиады по кибернетике Редактор издательства Т. П. Жукова Художник Е. В. Кудина Книга печатается с оригинал-макета, подготовленного автором Санкт-Петербургская издательская фирма “Наука” РАН 199034, Санкт-Петербург, Менделеевская линия, 1 E-mail: mainOnauka .nw.ru Internet: www. nauka .nw.ru www. natahaus. ru Лицензия ИД № 02980 от 06 октября 2000 г. Подписано к печати 12.12.05. Формат 60x84 •/16- Бумага офсетная. Печать офсетная. Гарнитура Таймс. Усл. печ. л. 21,0. Тираж 500 экз. Зак. 207. С. 332. Отпечатано с готовых диапозитивов в типографии “СПб ГИПТ” 199004, Санкт-Петербург, В. О., 5-я линия, д. 28.
^aiattaus,^
Санкт-Петербургские школьные олимпиады по кибернетике проводятся с 1999 года коллективом энтузиастов из Санкт- Петербургского государственного университета, Санкт- Петербургского государственного университета информа- ционных технологии, механики и оптики и Института проблем машиноведения Российской академии наук, предло- жившим концепцию школьной кибернетики как области на стыке трех наук: математики, физики и информатики. Ежегодно в олимпиаде участвуют более 50 команд из школ, лицеев и гимназий Санкт-Петербурга и ближайших городов. , % ,,bt 3аДачи олимпиад, *** Л,<‘С/ 1** ВеДущих ученых о