Математика-народному хозяйству
А. Кондратов
Какая связь между машинной математикой и первыми живыми существами?
Работники Киевского вычислительного центра А. А. Летичевский и А.А. Дородницына задумали поставить смелый эксперимент: имитировать на вычислительной машине "Киев" эволюцию первых живых существ на Земле.
ЭВОЛЮТОР
...Удушливые, тяжелые облака над бесплодным и мрачным океаном, покрывающим почти всю планету. Великий экспериментатор Природа ставит свой самый изумительный опыт: зарождение жизни на Земле. Химические элементы миллионы и миллиарды раз соединялись друг с другом до тех пор, пока совершенно случайно не образовались "соединения жизни" - первые живые организмы.
С этого момента наряду с физическими законами на Земле начинает действовать другой закон, закон эволюции, благодаря которому жизнь завоевала всю нашу планету и на Земле появился ее нынешний владыка и хозяин - Человек...
Но какое отношение имеет эволюция жизни к работе Вычислительного центра, адрес которого вы прочитали наверху страницы "Киев, Лысогорская,4"? Какая связь между машинной математикой и первыми живыми существами?
Но кибернетика действительно "на все руки мастер", и работники Киевского вычислительного центра А. А. Летичевский и А.А. Дородницына задумали поставить смелый эксперимент имитировать на вычислительной машине "Киев" эволюцию первых живых существ на Земле.
Конечно, эта жизнь существенно отличалась от настоящей, зародившейся миллиарды лет тому назад. Прежде всего потому, что "эволюция" являлась всего-навсего выполнением заложенной в машину программы. Это и обусловливало разницу' между поведением первых живых веществ и работой электронной машины. Поведение искусственных существ подчинялось специальной таблице, где было предусмотрено всего лишь 64 различных правила поведения. В жизни поведение даже самых простейших организмов неизмеримо сложней. И все-таки эволютор имитировал основные законы жизни питание, размножение, движение.
По замкнутому кругу двигалась "пища". Сначала в одну, потом в другую сторону, совершая, словно, маятник, ритмические колебания. Тут же находились "обитатели", которые действовали согласно своим правилам поведения. Правила были случайны. Так же случайно, хаотически, двигались и первые живые существа. "Обитатели" были способны к размножению. Когда они достигали определенного "возраста" и достаточной "сытости", то, подобно бактериям и другим простейшим организмам, делились надвое. Получались два точно таких же "обитателя".
Впрочем, понятие "точно такие же" не совсем верное. При делении происходили случайные, но неизбежные изменения в правилах поведения, и "потомки" не были точными копиями своих "предков". Благодаря именно таким "опечаткам" и была возможна эволюция жизни на Земле.
Уже с самого начала эксперимента исчезли "обитатели", двигавшиеся вслед за "пищей". Они не догнали "пищу" и погибли "голодной смертью". Остались в живых и размножились только те, которые двигались навстречу "пище". Прошло еще несколько поколений, и в результате тех же случайных изменений в правилах поведения появились "обитатели", замедлявшие в районе "пищи" свое движение. Их потомки стали вытеснять другие виды "обитателей". Сменилось 60 тысяч поколений, прежде чем остался всего лишь один вид.
Так с помощью электронной вычислительной машины был еще раз подтвержден дарвиновский закон в борьбе за существование выживает самый приспособленный вид.
РАБОТАЕТ ГИО
Сотрудникам Вычислительного центра приходится сталкиваться в своей работе не только с такими теоретическими вопросами, как возникновение жизни на Земле. Сама жизнь, кипучая, стремительная, бурная, ставит перед ними свои задачи, проблемы. В наше время самыми злободневными, и неотложными являются, конечно, вопросы экономики, планирования народного хозяйства.
Еще до зарождения кибернетики возникла интереснейшая прикладная наука, названная исследованием операций. Все задачи в ней решаются, как правило, коллективно. В группу исследования операций - сокращенно ГИО - входят математик, специалист в данной области исследования, и зачастую психолог.
Чтобы понять суть исследования операций, приведем пример, который может показаться простым до предела. В воинской части два бачка для мытья солдатских котелков и два бачка для ополаскивания тех же котелков. После обеда всегда возникают очереди. Между тем стоит только переставить бачки так, чтобы в трех мыли, а в одном ополаскивали, очереди исчезнут. Надо лишь подсчитать, что на мытье котелка уходит времени в три раза больше, чем на ополаскивание.
Конечно, реальные задачи, решаемые путем исследования операций, неизмеримо сложней, и работа ГИО разбивается на три последовательных этапа. Первый этап - изучение объекта. Например, если это железнодорожный узел, то изучаются основные и запасные пути, различные варианты расстановки поездов, и вагонов, вообще все то, что входит, если говорить языком кибернетики, в состояние системы, а у экономистов называется вариантами планов.
Второй этап самый ответственный. На нем вводятся оценки, по которым все варианты будут сравниваться между собой. На этом этапе является решающим мнение специалиста.
Наконец, переходят к третьему этапу - нахождению оптимального варианта. При этом лучше всего воспользоваться новым математическим методом - последовательным анализом, разработанным кандидатом физико-математических наук В. С. Михалевичем и младшим научным сотрудником Н 3. Шором. В чем преимущества последовательного анализа?
Чтобы ответить на этот вопрос, достаточно сравнить новый метод хотя бы с линейным программированием, При помощи линейного программирования можно решать только такие задачи, в которых причина и результат прямо пропорциональны. Например, если 10 станков дают 30 пар обуви, то 100 станков дадут 300, если по железнодорожному пути проходит один поезд, то по 7 путям пройдут семь. Но ведь даже самая обыкновенная очередь за билетами в кассу или за газированной водой возрастает "нелинейно"!
Кроме того, существуют еще и динамические, "временные" задачи. Так, например, автомобильный завод, не учитывающий динамику производства, рискует завалить склады отдельными частями, так и не собрав из них ни одного целого автомобиля. Если, например, шины будут сделаны в январе, а ветровые стекла в августе.
Для того, чтобы решать такие "нелинейные" задачи, и был создан метод последовательного анализа.
Недавно Вычислительному центру предложили спроектировать железную дорогу между двумя городами Назовем их условно А и Б. Длина дороги - 100 километров. Рельеф местности холмистый. Предстоит выбрать трассу, на прокладку которой ушло бы минимум средств.
Так как местность неровная, то дорога может быть проложена на разных высотах. Предположим, что возможны лишь десять таких "высотных уровней". В соответствии с инженерными требованиями прямой отрезок железнодорожного полотна не может быть короче пятисот метров. Это значит, что на стокилометровом расстоянии от А до В уложится двести таких отрезков
Строители советуют оценивать все варианты по количеству земляных работ, необходимых для прокладки дороги. Казалось бы, чего проще: вложи в электронную вычислительную машину эти данные, и пусть она перебирает их со скоростью 10 или 20 тысяч операций в секунду. Но напрасно мы стали бы ждать того дня, когда путем "слепого" механического перебора вариантов машина натолкнулась бы на наилучший. Прошли бы годы - сотни и даже тысячи лет,- а машина продолжала бы поиск. Ведь число возможных вариантов дороги выражается чудовищной цифрой - единицей с двумястами нулями!
Очевидно, что здесь требуется какой-то другой, более разумный метод поиска.
Чтобы лучше представить себе методику последовательного анализа, зададимся вопросом как быстрее всего угадать день рождения человека, если ответы на все вопросы могут быть только двух видов "да" или "нет"?
Если мы слепо начнем перебирать все дни года подряд, то рискуем задать чуть ли не 365 вопросов (если день рождения пришелся на 31 декабря). Однако если мы прибегнем к так называемому двоичному поиску, то таких наводящих вопросов будет не больше 8 или 9. Надо задать и такие вопросы в каком полугодии был день рождения, в каком времени года, месяце, половине месяца, неделе, половине педели и, наконец, четным или нечетным был день.
Метод последовательного анализа сводится к такому двоичному поиску. Так, в нашем случае с дорогой на первом этапе исследуются все возможные связи между городом А и вертикалями М| и М2, которые являются первым и вторым промежуточными этапами на пути к городу Б. Значительная часть этих исследуемых вариантов сразу же отпадает как "безнадежные". Они не удовлетворяют условиям оптимальности уже на первом этапе. Только небольшая часть вариантов останется "кандидатами" на наилучший план. Эти "кандидаты" соединяются с вертикалью Мз, и затем вновь происходит анализ. Так на каждом этапе все меньше и меньше вариантов выдерживают жесткий конкурс на оптимальность.
Чтобы отыскать наилучший вариант с помощью метода последовательного анализа, электронной вычислительной машине потребуются не тысячелетия, как это было бы при "слепом" переборе, а всего лишь... несколько секунд! Экономится не только время. Опытные расчеты на машине "Киев", которые были проведены программистами
A. И. Сибирко и К. М. Берестовенко, показали, что оптимальный вариант трассы железной дороги оказался экономичнее варианта, разработанного опытными проектировщиками вручную, более чем на десять процентов.
ВПЕРЕД, КИБЕРНЕТИКА!
Последовательный анализ... С его помощью решаются задачи, "неподведомственные" другим математическим методам. Рациональные планы перевозок сахарной свеклы с полей к местам переработки, выбор наивыгоднейшего сечения проводов для линий электропередач, определение оптимального варианта судоходства на Днепре - эти и другие не менее важные вопросы разрабатываются сегодня математиками Украины. А в перспективе более важные и, как говорят сами математики, более интересные. I
Представьте себе малогабаритную вычислительную машину, установленную на борту самолета. Радиолокатор ощупывает местность, над которой пролетает самолет, а вычислительная машина тут же определяет наилучший маршрут железнодорожной или автомобильной трассы.
Хотя это - дело будущего, но уже близкого. Пройдет несколько лет, и электронный разведчик заменит тяжелый труд поисковых геодезических партий.
"Электронные вычислительные машины помогают человеку в самых различных областях его деятельности,- говорит руководитель отдела экономической кибернетики
B. С. Михалевич,- но, пожалуй, самую ценную помощь они оказывают народному хозяйству, его разумному и целенаправленному развитию".
Читайте в любое время