научная статья по теме НА ПУТИ К ПОСТРОЕНИЮ ОБЩЕСТВА ПРОГРАММ Математика

Текст научной статьи на тему «НА ПУТИ К ПОСТРОЕНИЮ ОБЩЕСТВА ПРОГРАММ»

ПРОГРАММИРОВАНИЕ, 2009, № 1, с. 4-9

ОБЩИЕ ВОПРОСЫ ПРОГРАММИРОВАНИЯ

УДК 004.92+004.94

НА ПУТИ К ПОСТРОЕНИЮ ОБЩЕСТВА ПРОГРАММ

© 2009 г. Э. 3. Любимский

Институт прикладной математики им. М.В. Келдыша РАН 125047 Москва, Миусская пл., 4

E-mail: ljubimsk@keldysh.ru Поступила в редакцию 23.09.2008 г.

Проект грид - это очередной шаг на пути к созданию всемирного искусственного разума. Например, интернет позволил человеку не заботиться о том, где хранится и как доставляется нужная ему информация. Грид позволит ему не заботиться о том, где и на каких ресурсах исполняются его программы. Будет и такой шаг, который позволит человеку не заботиться о том, при помощи каких программ решаются его задачи. Достаточно будет сформулировать свою проблему, а программы "сами" найдутся и организуются для ее совместного решения. И этот шаг тоже не будет последним. Все это характеризует процесс создания всемирного разума с внешней стороны, т.е. с точки зрения пользователей. Важно увидеть и внутреннее содержание этого процесса. "Изнутри" этот процесс является процессом создания глобального общества программ.

Если в первые десятилетия развития программирования центральной проблемой было создание все более сложных и умных программ, то, начиная с 90-ых, на первый план вышло обеспечение их совместного существования и функционирования. Процесс этот вполне объективный и подчинен целому ряду закономерностей, из которых мы обратим внимание на две. Во-первых, структура общества программ и механизмы их взаимодействия в значительной мере аналогичны структуре и механизмам человеческого общества. Во-вторых, человеческое общество попадает во все большую зависимость от общества программ, в то время как общество программ все больше освобождается от необходимости участия человека в своей "жизнедеятельности" . И настанет такой момент, когда оно станет вполне самодостаточным. Как тогда сложатся взаимоотношения этих двух обществ -вопрос очень серьезный и многогранный, и заниматься им надо уже теперь.

В качестве первого шага предлагается заняться построением модели будущего общества программ с привлечением ученых разных специальностей. Исследование этой модели позволит направить построение общества программ в нужное русло.

Взгляд извне - инфосфера

Как только появились компьютеры, мы сразу начали их обучать. Сначала мы учили их производить нужные нам вычисления. Затем мы стали повышать их квалификацию, разрабатывая всевозможные служебные программы. Первыми служебными программами стали редакторы связей, которые позволяли собирать из маленьких программ большие, а затем и накапливать библиотеки таких программ-заготовок. Потом появились служебные программы - трансляторы, которые научили компьютеры пони-

мать разные языки программирования. Затем операционные системы практически полностью скрыли компьютер от человека и, заодно, стали управлять работой устройств компьютера, обеспечив их параллельное использование. Они же предоставили возможность использовать компьютер для одновременного выполнения нескольких программ и обслуживания нескольких пользователей. Служебные программы локальных сетей позволили сотрудникам одного учреждения свободно обмениваться информацией со своих рабочих мест.

Новый этап наступил, когда были проложены региональные, национальные, а затем и глобальные компьютерные коммуникации. Расположенные в узлах глобальной компьютерной сети программы превратили все подсоединенные к сети компьютеры в ее абонентов. Каждый из них получил свой уникальный адрес, и они получили возможность оперативно обмениваться информацией друг с другом. В этот момент стало очевидным, что будущий всемирный компьютерный мозг станет не централизованным, а глобально распределенным.

Комплекс программ под общим названием "интернет", накрывший глобальную компьютерную сеть, сыграл большую роль в объединении программистов всего мира и в существенном расширении рядов пользователей компьютеров. Интернет избавил нас от необходимости знать, где находится нужная нам информация, обеспечил ее надежную доставку, создал предпосылки для разработки множества информационных серверов. Новые слои населения получили быстрый доступ к справочной, энциклопедической и другой информации, к универсальным и специализированным, всемирным и региональным библиотекам, фонотекам, видеотекам и т.д. и т.п. Программисты (и не только они) получили возможность разрабатывать совместные проекты, не покидая своих городов и стран.

В интернете появились программы, представляющие субъекты реального мира, - промышленные предприятия, учреждения,банки, биржи, органы власти и прессы. Эти программы (сайты) не только распространяют информацию о представляемых ими субъектах, но иногда и действуют от их имени, - проводят конкурсы, заключают контракты, управляют счетами.

Сейчас над интернетом надстраивается новый слой программ, получивший название "грид". Если интернет обобществил информацию, то грид должен обобществить компьютерные ресурсы. Мы перестанем заботиться о том, где будут исполняться наши программы. Соответствующие служебные программы (в гриде их называют службами) найдут подходящие свободные ресурсы, согласуют с их владельцами условия их использования, доставят туда наши программы и файлы с исходной информацией и потом доставят нам результаты. И при

этом будут приняты меры для обеспечения надежной идентификации заказчика и исполнителя, конфиденциальности передаваемой информации, борьбы с хакерами и т.п. Поскольку все это будет происходить с электронной скоростью, наши интересы в этом процессе будут представлять специальные, уполномоченные нами программы-агенты. Интересы владельцев ресурсов, естественно, также представляются программами-агентами. Остается добавить, что ресурсы в гриде - это не только компьютеры, но и каналы связи, и банки данных, и различные внешние устройства, - все, что может получать, порождать, перерабатывать, хранить или передавать информацию. И конечно же, сами программы. Легко предположить, что ресурсы реального мира, представленные своими программными агентами, также станут рассматриваться как ресурсы грида.

Этим, разумеется, дело не кончится. Следующая за гридом программная надстройка, по-видимому, избавит нас от необходимости заботиться о том, какие программы должны решать нашу задачу. Достаточно будет ее сформулировать в определенных терминах. А интеллектуальные службы из этой надстройки сами подберут программу или группу программ, соответствующих нашей задаче, организуют их взаимодействие и передадут службам грида для исполнения.

В какой-то момент мы убедимся, что язык нашего общения с программами приобрел основные черты естественного языка: свободная лексика, общепринятый набор базовых понятий и связей между ними, возможность объяснять новые понятия через имеющиеся, возможность приблизительных или неполных высказываний и их последующих уточнений в процессе диалога и т.п. С этого момента мы сможем говорить, что мы имеем дело со всемирным искусственным разумом, который, конечно же, будет продолжать развиваться и дальше, но уже не только нашими, а и своими собственными усилиями (что, впрочем, частично происходит уже сейчас). Это будет означать, что программы научились читать наши книги и смотреть наши фильмы (по крайней мере, научные), так же, как и мы, понимают показания своих датчиков и сенсоров. Что они сформировали свою модель ми-

ЛЮБИМСКИЙ

6

pa, соответствующую нашей, и продолжают ее развивать и совершенствовать на основе своего опыта, то есть рефлексивно. Это будет означать, что в рамках ноосферы, о которой говорил Вернадский (или наряду с ней), сформировалась новая сфера - "инфосфера".

Ноосфера со стороны выглядит как единый всемирный разум, а изнутри представляет собой общество мыслящих единиц (homo sapiens). Эти мыслящие единицы связаны между собой густой сетью коммуникаций, умеют объединяться для совместных действий в различные виды коллективов, научились и продолжают учиться правилам совместного существования на одной планете, т.е. в общей среде обитания с ограниченным количеством ресурсов. Они научились записывать и хранить свои знания в библиотеках (и других "-теках"), систематизировать их при помощи классификаторов и рубрикаторов, делать их всеобщим достоянием. А что будет представлять собой изнутри инфосфера? Мы покажем, что изнутри инфосфера будет представлять собой "общество" программ. То есть большое множество программ, организованное по принципам, аналогичным принципам организации нашего общества. Ведь уже сейчас, работая на своем компьютере, мы общаемся отнюдь не с отдельной программой, а с организованной совокупностью программ и данных, которые вовлекаются в наш диалог.

Это означает, что внутреннее содержание процесса информатизации и компьютеризации нашего общества, процесса, определяющего современный технический прогресс, состоит в том, что мы "всем миром" строим всемирное общество программ.

Программы и компьютеры

Прежде чем перейти к более подробному разговору об обществе программ, я должен, наконец, объяснить, почему я все время говорю только о программах, а не о компьютерах, коммуникационном оборудовании или внешних устройствах. Ведь принято считать, что, например, грид - это вычислительные узлы, высокоскоростные глобальные каналы связи и, лишь потом, программное обеспечение. И можно ли вообще говорить о программе без компьютера? Да, можно. Программа - это знание, часть об-

щего знания, а компьютер - это всего лишь инструмент для интерпретации этого знания. Программа не зависит от компьютера в том смысле, что если она, например, умеет умножать матрицы, то она будет умножать их на любом компьютере (возможно, после трансляции). В то время как любой компьютер всегда будет делать то, что ему предписывает программа. Под управлением программы умножения матриц он будет их умножать, а под управлением программы сложения - складывать. И если любой конкретный компьютер сломается, программа останется сама собой. Так же, как, если сломается рояль, Лунная соната останется Лунной сонатой.

Компьютеры всего мира и соединяющие их каналы связи являются д

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком