Воспроизведение агентов, априорная информация
sergey shishkinМодели информации и данных. Атом и универсум информации
Если мы рассматриваем мультиагентную систему как среду или сообщество, то агенты в этой среде должны быть подобны организмам – возникать и исчезать из среды и присоединяться и уходить из сообществ. А потому агенты должны иметь возможность совершать действия, характеризующие живые организмы, в том числе развитие и размножение.
Интеллектуальное (не физическое) развитие агента целиком связано с процессом обучения через коммуникацию, то есть через наблюдение и обучение. Развитие агента связано с внутренними механизмами и возможностями агента.
Размножение, то есть воспроизведение себе подобных агентов, используется как основная идея программ-вирусов, центральная задача которых максимально быстро распространиться и прикрепиться к другим программам на различных компьютерах.
В мультиагентных системах могут существовать различные подходы к воспроизведению. Некоторые мультиагентные системы (например, web-среда) определяют формат протокола взаимодействия агентов, например, протокол HTTP. Создание новых видов агентов не контролируется, основное требование – соответствие требованиям протоколам обмена данными. То есть реализация агента может быть создана с нуля или может быть создана через модификацию существующей реализации агента, например, агента с открытым исходным кодом. И, разумеется, воспроизводство нового агента – это использование некоторой реализации агента.
Другие мультиагентные системы предъявляют требования к конкретной реализации агента (например, Skype и другие системы обмена сообщениями). Протокол обмена данными между агентами является недокументированным, закрытым. А создание нового агента – это инсталляция агента на некотором компьютере в определенной среде (сети Интернет).
После установки некоторой реализации агента как программного продукта вы можете использовать его с данными, которые развертываются при установке. Второй вариант – это копирование данных из существующего агента. Копирование совершенно невозможно для живых существ, но в том-то и отличие информационных систем, что мы понимаем их внутреннее наполнение, а потому можем контролировать его и управлять им.
В корпоративных системах управления (ERP-системах) практикуются подобные копирования данных и настроек. Например, если компания внедряет систему в своих нескольких филиалах (дочерних компаниях), то обычно выбирается один из филиалов для пилотного проекта внедрения, а затем внедренная система развертывается (roll out) на другие филиалы. Филиалы могут располагаться в других странах и, соответственно, предъявлять требования к системе в зависимости от государственного регулирования и местных обычаев в этих странах. Различные филиалы могут иметь собственные бизнес-процессы или применять различный объем бизнес-процессов, а, следовательно, и использовать различный функционал в системе. Тем не менее, основные бизнес-процессы остаются едиными во всей компании, они позволяют получать единообразную отчетность, как финансовую, так и по различным натуральным показателям деятельности компании.
Развертывание настроек делается следующим образом:
1) Выделяются общие настройки для всей компании и, соответственно, для всех филиалов, где внедряется система. Эти настройки образуют так называемый корпоративный шаблон системы.
2) Выделяются общие данные всех инсталляций и/или компаний системы. Например, основная часть плана счетов (детализация плана счетов может зависеть от особенностей бизнеса каждого филиала), единые коды элементов запасов, единые коды глобальных поставщиков и заказчиков и пр. Такие данные обычно контролируются и управляются централизованно, и они образуют специализированную базу данных, называемую нормативно-справочной информацией (НСИ, MDM – Master Data Management).
3) Из базы данных пилотного филиала вычищаются настройки и данные, специфичные для этого конкретного филиала. Затем эти настройки и данные развертываются через копирование в другие филиалы.
Аналогичным образом данные из одного агента могут переноситься в другие агенты. То есть платформа для обработки данных и структуры данных остаются теми же самыми, что и в исходной системе, данные же и способы обработки данных переносятся ограниченно. Эти переносимые данные и способы обработки данных далее будут описаны как априорные данные.
Остается открытым вопрос, что включают в себя априорные данные. Ответ на этот вопрос целиком зависит от возможностей системы, её гибкости и специфичности данных. Априорные данные не должны влиять на дальнейшие возможности системы к обучению, к взаимодействию с другими системами, то есть не должны формировать ненужных шаблонов поведения системы. В смысле переноса предопределенных данных принцип «чем больше информации, тем лучше» не способствует развитию обучающихся систем, поскольку у системы, которая уже имеет определенный набор данных, не возникает потребности в её восполнении. А пересмотр и замещение базовых (в данном случае априорных) данных – гораздо более затяжной процесс, чем выстраивание системы и структуры собственных данных с нуля, так как агенту не требуется сомневаться в актуальности данных, а он при потребности в них видит их отсутствие, и добывает их.