В качестве примера, газеты с объявлениями или доски объявлений можно рассматривать не более чем как обособленные коммуникативные системы. Однако и газеты рекламных объявлений, и другие способы коммуникации структурируют и формализуют информацию – через формат газеты, рубрики и разделы, формат объявлений.
Для рассмотрения «общества» интеллектуальных систем наилучшим образом подходит теория многоагентных систем (МАС, multi-agent system). Это система, которая образована несколькими взаимодействующими интеллектуальными агентами. Интеллектуальный агент – это некоторая сущность, наблюдающая за окружающей средой или действующая в ней. Такой агент может быть роботом, программной системой, человеком и пр. Коммуникативная часть является определяющей, однако раз мы исследуем компьютерные системы, большее внимание мы будем обращать на агентов как на программные системы.
Агенты разделяются на агентов с простым поведением, агенты с модельным поведением, целенаправленные агенты, практичные агенты, обучающиеся агенты и т. д.
В теории мультиагентных систем отдельно выделяются субагенты. Субагент – это часть агента, которая может быть выделена в специализированную подсистему. Так, существуют:
– временные субагенты для принятия оперативных решений,
– пространственные агенты для взаимодействия с реальным миром,
– обучающие агенты и т. д.
Субагенты могут быть различного назначения, и в большей степени они разделяются исходя из процессов и архитектуры самого агента.
Агенты в многоагентной системе должны иметь несколько важных характеристик:
– автономность,
– ограниченность представления. То есть, ни у одного агента нет представления обо всей системе,
– децентрализованность, то есть, в системе нет агентов, управляющей всей системой.
В многоагентной среде отдельные агенты имеют возможность получать и формировать информационные поля в виде сообщений между собой. Не обязательно, что все агенты являются равными по ролям, по правам, по возможностям, по зависимостям друг от друга, по доступности или открытости взаимодействия с другими агентами. Например, в многоагентной среде наравне с интеллектуальными агентами могут существовать агенты для обмена данными, такие как поисковые сервера, публичные хранилища для обмена данными и для получения данных.
В многоагентной среде на первый план выходит взаимодействие между агентами. И на второй план отходит реализация этих агентов. Главное, чтобы агенты поддерживали общепринятый протокол обмена информацией, а как устроены эти агенты внутри и из чего они состоят, по большому счету, не имеет значения.
Таким образом, агенты предстают перед нами в виде черного ящика. Мы знаем, что они общаются с нами, но не знаем, кто они такие, какие механизмы обработки данных лежат в их основе, какую информацию они хранят в себе.
Большое количество современных программ и отдельных обработок в программах представляется нам аналогичным образом. Они являются закрытыми: на их входе существует некоторое количество исходных данных, на выходе – некоторый результат. С развитием интерактивных программ, некоторые обработки в рамках программных систем становятся еще менее прозрачными для пользователя, поскольку ему не всегда понятно, какие данные системы являются исходными для обработки, куда сохраняется результат и почему получился именно такой результат. Например, при расчете остатка дней отпуска сотрудника в системе управления персоналом система может брать (или не брать) в расчет дату приема сотрудника, признак ненормированного рабочего дня, отпуска, взятые за свой счёт более 7 дней, отпуска по уходу за ребенком. Количество параметров столь велико, что нельзя быть уверенным, что процедура расчета полностью возьмет все из них, и корректно рассчитает количество дней права на отпуск. Результатом работы такой процедуры является остаток дней. Но система может их хранить в нескольких таблицах (например, по рабочим годам сотрудника и общее количество дней в целом). И нет никакой гарантии, что процедура расчета верно запишет результаты во все таблицы, и что данные в этих таблицах будут непротиворечивы. Поскольку данные хранятся во внутренних таблицах системы, проверить их простому пользователю практически невозможно (лишь используя специальные отчеты) так же, как и невозможно проверить правильность работы процедуры – от параметров до логики.
Читать дальше