Интеллектуальные агенты.

Определение

Термин «агент» описывает программную абстракцию , идею или концепцию, подобно таким терминам ООП как метод, функция или объект. Концепция агента обеспечивает удобный и мощный способ описания сложной программной сущности, которая способна действовать с определённой степенью автономности с целью выполнения задач от имени пользователя. Но в отличие от объектов, которые определяются в терминах методов и атрибутов , агент определяется посредством описания его поведения.

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

Чем не является агент

Нет никакого особого смысла в том, чтобы расписать, что является агентом, а что нет. Тем не менее, сопоставление термина с близкими понятиями может прояснить его значение.

Интуитивное отличие агентов от объектов

Отличие агентов от экспертных систем

Отличие интеллектуальных программных агентов от интеллектуальных агентов в искусственном интеллекте

История

Концепцию агента можно проследить начиная с модели акторов Карла Хьюитта: «автономный, интерактивный и одновременно исполнящий несколько функций объект, обладающий внутренним состоянием и информационным обменом».

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

«Навигатор по знаниям», созданный в 1987 г. Джоном Скалли, представлял собой видеосвязь между конечным пользователем и агентом. Будучи первым в своём роде, он послужил основой для опытной серии неудачных нисходящих реализаций, вместо того, чтобы шаг за шагом подходить к восходящим методам. Диапазон типов агентов в настоящее время (с 1990 г.) довольно широк: WWW, поисковые системы и т. д.

Примеры

Интеллектуальные программные агенты

Агенты по добыче и анализу данных

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

Агенты по добыче и анализу данных работают в хранилище данных обнаруженной информации. «Хранилище данных» объединяет информацию из множества разных источников. «Анализ данных» апредставляет собой процесс просмотра данных в хранилище с целью нахождения такой информации, которую можно использовать для предпринятия целенаправленных действий, например, для увеличения продаж или сохранения клиентов, которые рассматривают возможность ухода к конкурентам.

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

Другие примеры

Другими примерами современных интеллектуальных агентов являются некоторые спам -фильтры, игровые боты и средства мониторинга серверов. Боты индексации поисковых систем также считаются интеллектуальными агентами.

  • User agent - для браузеров WWW.
  • Агент передачи почтовых сообщений - для обслуживания электронной почты, например, Microsoft Outlook . Он общается с почтовым сервером POP3, при этом пользователю нет необходимости знать команды протокола POP3 . Он имеет также набор правил, по которым производится фильтрация почты для пользователей, тем самым избавляя их от проблемы того, чтобы делать это самостоятельно.
  • Агент системы простого управления сетями SNMP .
  • Агент разметки в HTML-формате агентства DARPA .
  • Агент палтформы разработки многоагентных систем Jason.
  • Система разработки искусственных автономных агентов 3APL.
  • Язык программирования для разработки рациональных агентов GOAL.
  • Демоны в UNIX-подобных операционных системах .
  • В Unix-подобных сетевых серверах httpd - демон протокола HTTP , который реализует этот протокол в корне всемирной паутины .
  • Агенты управления, используемые в узлах телекоммуникационных сетей.
  • Моделирование толпы для обеспечения безопасности, а также для трёхмерной графики .
  • Java Agent Template - шаблон создания программных агентов в системе Java (JAT).

Вопросы разработки

В развитии агенто-ориентированных систем возникают некоторые интересные вопросы, а именно:

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

Чтобы работать совместно и эффективно, программные агенты должны использовать совместно семантику своих данных. Это может быть сделано путём применения компьютерных систем описания своих метаданных .

Определение обработчика агентов можно рассматривать в двух взаимосвязанных направлениях:

  • обработчик внутреннего состояние и онтологических аспектов представления знаний;
  • протоколы взаимодействия - стандарты для определения связей агентов.

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

  • Машинные агенты - различного вида движки, имеющие разную степень интеллектуальности.
  • Контентные агенты - данные, используемые движками в системах логического вывода и обучения.
  • Агенты доступа - методы, обеспечивающие движкам восприятие контента и выполнение действий, являющихся результатом логического вывода.
  • Агенты безопасности - гаджеты, связанные с распределёнными вычислениями, дополненные несколькими специальными свойствами, связанными с агентным подходом.

Агент использует свои методы доступа для входа в локальные и удалённые базы данных при поиске контента. К таким методам доступа относятся, в частности, методы доставки агенту потока новостей, чтения доски объявлений или скачивания страниц из интернета с помощью веб-паука . Контент, который извлекается таким образом, возможно, частично фильтруется - отбираются новости или информация из тех баз данных, которые удовлетворяют поисковому запросу. Далее агент может использовать языковые процессоры для нахождения ключевых слов или идентификационных особенностей контента, который был отобран. Этот абстрагированный смысл (или набор событий), затем передаётся «мыслящему» агенту или машине логического вывода для того, чтобы решить, что делать с новым контентом. Этот процесс сопоставляет контент с экспертными данными или базой знаний, предоставленных пользователем. Если этот процесс находит хорошее соответствие нового контента, агент может использовать другие свои возможности, чтобы провести более детальный поиск по контенту. Наконец, агент может принять решение о характере действий по новому контенту, например, послать уведомление пользователю о том, что произошло важное событие. Это действие проверяется системой безопасности, и затем предоставляются те или иные права пользователю. Агент использует доступный пользователю метод доступа для доставки этого сообщения пользователю. Если пользователь подтверждает, что событие важно, быстро реагируя на уведомление, агент может использовать это событие как обучающий фактор для увеличения весовой функции такого рода событий.

Воздействие программных агентов

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

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

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

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

хорошую работу на сайт">

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Подобные документы

    Анализ и виды интеллектуальных агентов в системе дистанционного обучения и их характеристики. Построение интеллектуального агента глоссария на платформе Jadex с помощью XML формата. Среда разработки и описание интеллектуального агента с помощью BDI.

    курсовая работа , добавлен 10.02.2011

    Технология программных агентов. Форматы метаданных, использующиеся для описания электронных ресурсов. Разработка интеллектуальных агентов. Среда разработки Jadex для построения интеллектуальных агентов. BDI модель интеллектуального агента ресурсов.

    курсовая работа , добавлен 20.02.2011

    Понятие и структура персонального компьютера, его возможности. Уровни программного обеспечение компьютера. Базовое и прикладное программное обеспечение персонального компьютера. Особенности стационарных ПК, ноутбуков, нетбуков, моноблоков, планшетов.

    курсовая работа , добавлен 23.10.2014

    Использование агентными технологиями спектра типологий агентов и их модулей, архитектур МАС, агентных библиотек и средств поддержки разработки типов МАС. Набор базовых характеристик агента. Уровни в архитектуре. Многоагентская система, агент-координатор.

    презентация , добавлен 25.06.2013

    Apple I как ранний персональный компьютер, первый компьютер Apple Computer. Основные характеристики Rhapsody, Blue Box. История создания Mac OS X, принципы ее работы, значение и направления использования. Существующие типы и формы данной системы.

    курсовая работа , добавлен 26.11.2014

    История создания и эволюция персональных компьютеров. Характеристика современных видов компьютеров, их приспособляемость к различным условиям эксплуатации. Тенденции развития микропроцессорных технологий. Примеры решения задач в среде Mathcad и AutoCAD.

    курсовая работа , добавлен 13.04.2015

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

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

    Приведенный пример (рис. 1) — всего лишь один вариант использования тех возможностей, которые будут доступны в новой семантической сети, должной прийти на смену современной сети World Wide Web, концепция и принципы работы которой практически не менялись с момента ее появления и уже в некоторой степени сдерживают развитие Интернета. Благодаря семантическому Web’у с информацией, опубликованной в Интернете, можно будет работать на совершенно ином уровне. И если сейчас в большинстве случаев для анализа информации, представленной на страницах различных сайтов, необходим человек (поскольку достижения в области искусственного интеллекта пока еще не позволяют программам полностью понимать даже текстовую информацию), то в семантической сети информация перестанет быть просто данными, а превратится в знания, которые смогут использовать как люди, так и различные программы. Таким образом, программные агенты не только будут работать с уже существующими знаниями при решении поставленных перед ними задач, но и смогут получать из семантических сетей новые знания.

    Рис. 1. Поиск нужной книги в книжных магазинах города с использованием персонального интеллектуального агента и семантической сети

    Проблемы World Wide Web

    оявление World Wide Web сделало Интернет одним из важнейших и крупнейших источников информации, но проблема заключалась в распределенном характере Сети, что сильно затрудняло поиск нужной информации среди массы разнообразных материалов, охватывающих самые разные сферы человеческой деятельности. Поэтому практически с самого зарождения Интернета были разработаны и запущены так называемые поисковые машины. До появления WWW они индексировали и позволяли искать в основном содержимое сети FTP-серверов, через которую пользователи могли обмениваться файлами, но с появлением HTML они быстро переключились на Web-сайты.

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

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

    Поисковые системы используют ряд технических приемов, которые позволяют поддерживать качество поиска на соответствующем уровне, когда пользователь, как правило, все-таки может найти то, что он искал, если очень постарается. В основном эти приемы связаны с сортировкой результатов поиска и с ускорением индексирования новых или меняющихся страниц. Среди них — различные алгоритмы, определяющие авторитетность ресурсов (например, PageRank), использование данных о посещаемости и получение информации о новых страницах с помощью специальных счетчиков (как, например, в Rambler’s Top100), получение информации о сайтах из тематических каталогов для точного определения тематики ресурса (так, в частности, делает Яндекс). Но, несмотря на все эти меры, многие пользователи не удовлетворены работой современных поисковых систем.

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

    Семантическая сеть

    онцепцию семантической сети (Semantic Web) как новой формы представления Web-контента председатель W3C Тим Бернерс-Ли представил в 2001 году, выступив на Восьмой конференции консорциума W3C и опубликовав соответствующий трактат в журнале Scientific American (рис. 2). Он подробно описал преимущества новой формы представления информации в WWW, которая предусматривает максимальную степень классификации любой информации, делая совместную работу людей и машин на порядок более эффективной. Главное отличие Semantic Web от Web состоит в том, что каждая страница семантической сети содержит информацию на двух языках: на обычном, понятном человеку и показываемом браузером, и на специальном, информация на котором скрыта от человеческих глаз, но понятна интеллектуальным программам-агентам, роботам. Этот специальный язык описывает представленный на странице материал с помощью тэгов и атрибутов, понятных машинам.

    Рис. 2. Архитектура семантической сети, представленная в докладе Тимоти Бернерс-Ли
    «Semantic Web — XML2000» (http://www.w3.org/2000/Talks/1206-xml2k-tbl/)

    В основе семантической сети лежат три принципа: агрегация, безопасность и логика. Агрегация означает совместное использование данных. Подобно тому, как гипертекст является неотъемлемой частью WWW и благодаря ему «всё можно связать со всем», в Semantic Web при решении поставленной задачи могут быть использованы любые данные. Для этих данных будет создана соответствующая семантическая информация (онтологии), позволяющая использовать их надлежащим образом. В основу безопасности, обеспечивающей доверие к семантической сети, положены цифровые подписи, которые могут использоваться агентами и компьютерами для проверки того, что информация получена из достоверного источника, например от какого-то публичного сервиса или персонального агента другого доверенного пользователя. Логика — это набор правил описания информационной структуры данных, протоколы и язык описания страниц. Именно логика дает семантической сети правила вывода для проведения рассуждений и методики выбора тактик выполнения операций с данными, чтобы получить ответы на вопросы.

    Онтологии

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

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

    В центре большинства онтологий находятся классы, каждый из которых может иметь подклассы, представляющие собой более точные понятия, чем исходный класс. Все классы онтологии выстраиваются в одну или несколько иерархий и описывают понятия предметной области. При этом классы могут содержать атрибуты, которые описывают свойства и внутреннюю структуру понятий, лежащих в основе классов. Все подклассы наследуют атрибуты родительских классов. Каждый атрибут класса помимо названия имеет тип значения, разрешенные значения, число значений (мощность). Тип значения атрибута описывает, какие типы значений может содержать атрибут, например строку или целое число. Существует также ограничение значения атрибута, состоящее в том, что он может принимать только определенные классы или экземпляры определенных классов. Разрешенные значения атрибута устанавливают ограничения на атрибут, но уже в рамках его типа, например заданный диапазон целых чисел. Мощность атрибута определяет, сколько значений он может иметь: только одно значение — это единичная мощность или любое число значений — множественная мощность. Онтология может включать и экземпляры классов, то есть такие классы, в которых установлены значения всех их атрибутов. Считается, что онтология вместе с набором индивидуальных экземпляров классов образует базу знаний, хотя на самом деле трудно определить, где кончается онтология и где уже начинается база знаний.

    Для того чтобы лучше понять, как устроены онтологии, рассмотрим пример онтологии издательства, выпускающего книги и журналы. Основными понятиями этой предметной области являются: издательство, книга и журнал, и именно они и будут классами в нашей онтологии (в скобках указаны типы значений и разрешенные значения).

    Класс «издательство» имеет следующие атрибуты:

    Название (строка);

    Город (строка).

    Класс «книга» имеет следующие атрибуты:

    ISBN (строка специального формата);

    Тип обложки (строка; возможные значения: мягкая, твердая, суперобложка);

    Год издания (натуральное число — четыре цифры);

    Описание (текст);

    Класс «журнал» имеет следующие атрибуты:

    Название (строка);

    ISSN (строка специального формата);

    Число страниц (натуральное число);

    Издательство (экземпляр класса «издатель»);

    Год выпуска (натуральное число — четыре цифры);

    Номер (натуральное число);

    Описание (текст);

    Цена (число с плавающей точкой — два знака после запятой).

    Поскольку классы «книга» и «журнал» имеют много общих атрибутов (полей), имеет смысл вынести их в отдельный класс под названием «печатная продукция». В результате мы получаем в этой онтологии два дерева классов: первое состоит из единственного класса «издательство», а второе — из класса «печатная продукция» и двух его подклассов — «книга» и «журнал». На рис. 3 представлены классы рассматриваемой нами онтологии, экземпляры классов и отношения между ними: черным обозначены классы, синим — экземпляры; прямые связи обозначают атрибуты и внутренние связи, такие как «подкласс» и «экземпляр класса».

    Рис. 3. Фрагмент онтологии издательства с классами и экземплярами классов

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

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

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

    Для описания онтологий используются различные формальные языки, которые можно разделить на две группы. В первую входят традиционные языки описания онтологий: Interlinguas, CycL; языки, основанные на дескриптивных логиках (такие, как LOOM), и языки, основанные на фреймах (OKBC, OCML, Flogic). Вторая группа — языки, основанные на Web-стандартах: XOL, UPML, SHOE, RDF с RDFS, DAML, OIL, OWL, созданные специально для использования онтологий в WWW. Различия между языками заключаются в их возможностях по описанию предметной области и в некоторых возможностях механизма логического вывода для этих языков.

    Язык RDF (Resource Description Framework) разработан консорциумом W3C для описания метаданных в семантической сети. Он предназначен для описания отношений между ресурсами и должен стать одним из составляющих фундамента семантической сети. RDF является подмножеством языка XML и имеет специальный язык RDF Schema для описания структуры документов. Спецификация RDF очень проста: здесь все отношения между ресурсами определяются как триады «объект — атрибут — значение». Например, «книга издается издательством»: в роли объекта выступает «книга», в роли атрибута — «издается», а «издательство» является значением атрибута. Объект и атрибут обязательно представляются как URI (Uniform Resource Identifier), а значение может быть записано либо в виде URI, либо в виде текста. Частным случаем URI является URL (Uniform Resource Locator) вместе с «якорем», указывающим объект на Web-странице, но, в отличие от него, URI не обязательно должен указывать адрес объекта в Сети. Таким образом, RDF является самым низкоуровневым из существующих языков описания метаданных, поскольку оперирует лишь понятиями связей примитивных сущностей.

    Первыми предложениями по описанию онтологий на базе RDFS были European Commission OIL (Ontology Inference Layer) и DARPA DAML-ONT (DARPA Agent Markup Language). Язык OIL был основан на описательной логике (Description Logics), позволяющей описывать классы через наборы свойств, которым должны удовлетворять объекты, относящиеся к понятию, и наборы логических операторов (конъюнкция, дизъюнкция, отрицание и различные виды ролевых кванторов). DAML обеспечивал примитивы для объявления пересечений, объединений, дополнений классов и т.д. Еще одним расширением RDFS стал DRDFS, который, как и OIL, давал возможность для выражения классов и определения свойств, однако выразительная мощность языков DRDFS и OIL такова, что ни один из них не мог рассматриваться как фрагмент другого.

    На базе языков DAML и OIL возникло совместное решение — DAML+OIL, вобравшее в себя всё лучше, что было в обоих языках, и по этой причине выбранное специалистами консорциума W3C в качестве базы для построения нового языка онтологий, когда средств XML и RDF оказалось недостаточно для представления информации и метаданных для построения полноценной семантически связанной сети. Новый язык получил название OWL (Web Ontology Language), и именно ему, по мнению консорциума, была уготована главенствующая роль в семантической сети. 10 февраля этого года консорциум W3C присвоил OWL статус рекомендованной к реализации технологии. Эта дата и была названа некоторыми специалистами официальным днем рождения семантической сети.

    Интеллектуальные агенты

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

    Чтобы эффективно решать задачи, поставленные пользователем перед своим персональным интеллектуальным агентом, последний должен обладать некоторой информацией о пользователе, например знать его интересы, пристрастия, расписание, личные контакты, иметь сведения о тех информационных источниках, которые обычно используются. В противном случае агент не сможет автоматически отфильтровать интересные для пользователя материалы, понять, к какой области знаний относится по умолчанию введенное им в поиске слово, если оно имеет несколько значений, или найти в расписании свободное время для какого-то мероприятия. Если пользователь захочет убедиться, было ли найденное решение правильным, агент представит ему цепочку своих «рассуждений», построенную для того, чтобы получить результат, назовет используемые источники данных и укажет на степень их достоверности, основанную на цифровых сертификатах.

    В роли агентов в семантической сети будут выступать не только персональные агенты, но и различные Web-сервисы, с которыми те будут взаимодействовать. Если при обращении к такому сервису с запросом не найдется нужной информации или какой-то ее части, но будут известны дополнительные источники, то сервис сможет обратиться к последним за помощью с необходимым подзапросом. Передаваясь таким образом от сервиса к сервису, первоначальный запрос будет обрастать необходимой информацией — до тех пор, пока сервис, к которому обратился агент, не вернет полный ответ с найденным решением или не сообщит о неудаче. По такой схеме будет возможна и работа поисковых систем, переправляющих запрос одному или нескольким специализированным сайтам в зависимости от тематики запроса. На практике будут использоваться оба подхода: и когда агент самостоятельно собирает в семантической сети информацию, необходимую для решения задачи, и когда он обращается к специальным сервисам, способным получать эту информацию из других источников (рис. 4).

    Рис. 4. Поиск нужной информации через поисковый сервис, работающий с семантической сетью

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

    Рис. 5. Взаимодействие агентов двух пользователей и использование ими для получения необходимых данных других сайтов или сервисов

    На пути к новому Web’у

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

    Изменения должны коснуться и работы поисковых систем. Посредством онтологий, используемых в семантической сети, они смогут в некоторой степени решить проблему качества поиска информации в Интернете. Внедрение семантического Web’а будет происходить постепенно — по мере того, как все больше разработчиков сайтов и сервисов, а также пользователей будут осознавать преимущества и перспективы Semantic Web. Однако нельзя утверждать, что со временем вся информация, представленная в WWW, будет иметь семантическую составляющую, поэтому поисковые системы не смогут совсем отказаться от механизмов индексации информации, используемых ими в настоящее время. В дополнение к поисковым движкам (search engine) поисковые системы обзаведутся специальными логическими движками (logical engine), предназначенными для поиска и обработки информации в семантической сети. Комбинация этих двух поисковых механизмов позволит поднять качество и точность поиска в Сети на совершено иной уровень (рис. 6).

    Рис. 6. Принцип работы поисковой системы, использующей поисковый и логический модули

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

    По всем расчетам, переход к семантической сети не будет ни простым, ни быстрым. Работы начались еще в 1998 году, а официальная рекомендация OWL консорциумом W3C в качестве основного языка для описания онтологий была представлена только в феврале этого года. Немало специалистов считают, что семантический Web — это утопия, и с ними можно частично согласиться, поскольку его внедрение требует немалых усилий от различных категорий разработчиков и пользователей, включая разработчиков крупных информационных порталов, поисковых систем, каталогов и небольших сайтов, а также от разработчиков интеллектуальных программ-агентов.

    Чтобы разработчики сайтов начали повсеместно внедрять поддержку онтологий в свои ресурсы, у них должен быть стимул, то есть использование онтологий должно давать их сайту некоторые преимущества, например увеличение числа переходов с поисковиков или увеличение числа пользователей за счет предоставления дополнительных сервисов и т.п. Необходимы мощные и гибкие программы-агенты, которые смогут полноценно использовать возможности семантического Web’а. Но их активная разработка начнется только тогда, когда у пользователей появится реальная необходимость в них. Чтобы ускорить этот процесс и собственно процедуру внедрения семантической сети, необходимо начать с поддержки онтологий в крупных поисковых системах и различных сервисах — на первом этапе этого будет вполне достаточно. Если сервис или поисковая система будет давать ощутимый приток посетителей тем сайтам, которые предоставляют информацию, предназначенную для семантической сети, то это будет способствовать распространению новой сети.

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

    Интеллектуальные агенты

    Проблематика интеллектуальных агентов и мультиагентных систем (МАС) имеет почти 40-летнюю историю и сформировалась на основе результатов, полученных в рамках работ по распределенному ИИ (DAI), распределенному решению задач (DPS) и параллельному ИИ (PAI). Данная тематика интегрирует достижения в области компьютерных сетей и открытых систем, ИИ и информационных технологий .

    Агент – это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем или пользователем.

    Таким образом, в рамках МАС-парадигмы программные агенты рассматриваются как автономные компоненты, действующие от лица пользователя.

    Интеллектуальные агенты должны обладать следующими свойствами:

    * автономность – способность функционировать без вмешательства со стороны своего владельца и осуществлять контроль внутреннего состояния и своих действий;

    * социальное поведение – возможность взаимодействия и коммуникации с другими агентами;

    * реактивность – адекватное восприятие среды и соответствующие реакции на ее изменения;

    * активность – способность генерировать цели и действовать рациональным образом для их достижения;

    * базовые знания – знания агента о себе, окружающей среде, включая других агентов, которые не меняются в рамках ЖЦ агента;

    * убеждения – переменная часть базовых знаний, которые могут меняться во времени, хотя агент может об этом не знать и продолжать их использовать для своих целей;

    * цели – совокупность состояний, на достижение которых направлено текущее поведение агента;

    * желания – состояния или ситуации, достижение которых для агента важно;

    * обязательства – задачи, которые берет на себя агент по просьбе других агентов;

    * намерения – то, что агент должен делать в силу своих обязательств.

    В зависимости от концепций, выбранных для организации МАС, обычно выделяются три базовых класса архитектур:

    * архитектуры, которые базируются на принципах и методах работы со знаниями;

    * архитектуры, основанные на поведенческих моделях типа «стимул–реакция»;

    * гибридные архитектуры.

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

    Реактивными называются агенты и архитектуры, в которых функционирование отдельных агентов и всей системы осуществляется по правилам типа «ситуация–действие». При этом под ситуацией понимается потенциально сложная комбинация внутренних и внешних состояний (2-й подход).

    Для решения реальных задач используются гибридные архитектуры.

    Развитие и внедрение программных агентов было бы невозможно без опыта разработки открытых систем, которые характеризуются свойствами:

    * расширяемость/масштабируемость (возможность изменения набора составляющих систем);

    * мобильность/переносимость (простота переноса ПС на разные аппаратно-программные платформы);

    * интероперабельность (способность к взаимодействию с другими системами);

    * дружелюбность, легкая управляемость.

    Одним из результатов внедрения концепции открытых систем в практику стало распространение архитектуры «клиент - сервер». В настоящее время выделяются следующие модели клиент-серверного взаимодействия:

    · «толстый клиент – тонкий сервер». Серверная часть реализует только доступ к ресурсам, а основная часть приложения находится на клиенте;

    · «тонкий клиент – толстый сервер». Модель активно используется в связи с распространением интернет-технологий. Клиентское приложение обеспечивает реализацию интерфейса, а сервер объединяет остальные части приложений.

    Мобильные агенты – это программы, которые могут перемещаться по сети. Они покидают клиентский компьютер и перемещаются на удаленный сервер для выполнения своих действий, после чего возвращаются обратно.

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

    С точки зрения разработки и реализации МАС наиболее эффективными системами поддержки распределенных технологий являются DCOM, Java RMI, COBRA.

    Основная ценность DCOM – предоставление возможности интеграции приложений, реализованных в разных системах программирования.

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

    Основным преимуществом COBRA является интерфейс IDL, унифицирующий средства коммуникации между приложениями.

    Агентом является все, что может воспринимать свою среду с помощью датчиков и воздействовать на нее с помощью исполнительных механизмов (человек, робот, программа). Каждый агент может воспринимать собственные действия.

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

    В любой конкретный момент времени оценка рациональности действий агента зависит:

    От показателей производительности;

    Знаний агента о среде, приобретенных ранее;

    Действий, которые могут быть выполнены агентом;

    Последовательности актов восприятия агента, которые произошли

    до настоящего времени.

    Рациональный агент должен иметь способность к обучению и быть автономным.

    Под проблемной средой агента понимается совокупность показателей производительности, среда, исполнительные механизмы и датчики.

    Пример 9.1. Проблемная среда водителя такси

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

    Классификация вариантов проблемной среды:

    Полностью/частично наблюдаемая: полностью наблюдаемая, если

    датчики фиксируют все необходимые данные;

    Детерминированная/стохастическая: если следующее состояние

    среды определяется текущим и действием агента, то среда

    детерминированная;

    Эпизодическая/последовательная: в эпизодической среде опыт агента

    состоит из неразрывных эпизодов. Каждый эпизод включает в себя

    восприятие среды агентом, а затем выполнение одного действия

    (распознавание дефектных деталей), в последовательных средах

    Агенту следует думать наперед (вождение машины, игра в шахматы);

    Статическая/динамическая: если среда может измениться в ходе

    принятия агентом решения, то она является динамической;

    Дискретная/непрерывная: игра в шахматы - дискретная,

    вождение автомобиля – непрерывная;

    Одноагентная/многоагентная (мультиагентная): решение кроссворда,

    диагностика – одноагентная, игра в шахматы, вождение

    автомобиля – многоагентная.

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

    агент = архитектура + программа

    Архитектура может представлять собой персональный компьютер или роботизированный автомобиль.

    Существуют четыре основных вида программных агентов, которые лежат в основе почти всех интеллектуальных систем:

    Простые рефлексивные агенты;

    Рефлексивные агенты, основанные на модели;

    Агенты, действующие на основе цели;

    Агенты, действующие на основе полезности.

    Простейшим видом агента является простой рефлексивный агент , который выбирает действия на основе текущего акта восприятия, игнорируя всю остальную историю актов восприятия. Агент – пылесос: решения основаны только на информации о текущем местоположении и о том, содержит ли оно мусор.

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

    Знаний о текущем состоянии среды не всегда достаточно для принятия решения. На перекрестке такси может ехать прямо, направо, налево. Правильное решение – место назначения клиента. То есть кроме текущего состояния агенту необходимо знать цель. Инструментом для выработки последовательности действий, позволяющих агенту достичь цели, являются поиск и планирование.

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

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

    Структура обучающего агента включает четыре концептуальных компонента.

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



    План:

      Введение
    • 1 Определение
    • 2 Чем не является агент
      • 2.1 Отличие агентов от программ
      • 2.2 Интуитивное отличие агентов от объектов
      • 2.3 Отличие агентов от экспертных систем
      • 2.4 Отличие интеллектуальных программных агентов от интеллектуальных агентов в искусственном интеллекте
    • 3 История
    • 4 Примеры
      • 4.1 Интеллектуальные программные агенты
        • 4.1.1 Агенты-покупатели (роботы по закупкам)
        • 4.1.2 Пользовательские агенты (персональные)
        • 4.1.3 Агенты по мониторингу и наблюдению (предиктивные)
        • 4.1.4 Агенты по добыче и анализу данных
      • 4.2 Другие примеры
    • 5 Вопросы разработки
    • 6 Воздействие программных агентов
    • Примечания

    Введение

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

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


    1. Определение

    Термин «агент» описывает программную абстракцию, идею или концепцию, подобно таким терминам ООП как метод, функция или объект. Концепция агента обеспечивает удобный и мощный способ описания сложной программной сущности, которая способна действовать с определённой степенью автономности с целью выполнения задач от имени пользователя. Но в отличие от объектов, которые определяются в терминах методов и атрибутов , агент определяется посредством описания его поведения.

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

    2. Чем не является агент

    Нет никакого особого смысла в том, чтобы расписать, что является агентом, а что нет. Тем не менее, сопоставление термина с близкими понятиями может прояснить его значение.

    2.1. Отличие агентов от программ

    В работе Франклина и Грауссера обсуждаются четыре ключевых понятия, по которым агенты отличаются от произвольных программ: реакция на окружающую среду, автономность, целевая ориентация и живучесть.

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


    2.2. Интуитивное отличие агентов от объектов

    • Агенты более автономны, чем объекты.
    • Агенты имеют более гибкое поведение и обладают реактивностью, проактивностью, социальным поведением.
    • Агенты имеют по крайней мере один поток выполнения, но могут иметь и больше.

    2.3. Отличие агентов от экспертных систем

    • Экспертные системы не имеют связи с окружающей средой;
    • Экспертные системы не обладают реактивным, проактивным поведением.
    • Экспертные системы не обладают социальным поведением.

    2.4. Отличие интеллектуальных программных агентов от интеллектуальных агентов в искусственном интеллекте

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

    3. История

    Концепцию агента можно проследить начиная с модели акторов Карла Хьюитта: «автономный, интерактивный и одновременно исполнящий несколько функций объект, обладающий внутренним состоянием и информационным обменом».

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

    «Навигатор по знаниям», созданный в 1987 г. Джоном Скалли, представлял собой видеосвязь между конечным пользователем и агентом. Будучи первым в своём роде, он послужил основой для опытной серии неудачных нисходящих реализаций, вместо того, чтобы шаг за шагом подходить к восходящим методам. Диапазон типов агентов в настоящее время (с 1990 г.) довольно широк: WWW, поисковые системы и т.д.


    4. Примеры

    4.1. Интеллектуальные программные агенты

    Стефен Хааг в своей работе считает, что существуют только четыре основных типа интеллектуальных программных агентов:

    1. Агенты-покупатели или торговые боты
    2. Пользовательские или персональные агенты
    3. Агенты по мониторингу и наблюдению
    4. Агенты по добыче и анализу данных

    4.1.1. Агенты-покупатели (роботы по закупкам)

    Агенты-покупатели просматривают сетевые ресурсы (например, интернет) с целью получения информации о товарах и услугах. Эти агенты, известные также как «роботы по закупкам», очень эффективно работают с товарами народного потребления, такими как компакт-диски, книги, электронные компоненты и другие продукты «на все случаи жизни».

    4.1.2. Пользовательские агенты (персональные)

    Пользовательские или персональные агенты - это интеллектуальные агенты, которые действуют от вашего имени. К этой категории относятся интеллектуальные агенты, которые уже выполняют или будут выполнять следующие задачи:

    • Проверяют вашу электронную почту, сортируют её по вашим предпочтениям и извещают о приходе важных писем.
    • Играют в компьютерные игры, когда ваш противник или патрулирующий игру проявляет активность.
    • Собирают заказанные отчеты новостей для вас. Есть несколько версий таких агентов, в том числе newshub и CNN.
    • Делают поиск информации по вашей теме и вашему запросу.
    • Автоматически заполняют веб-формы для вас, сохраняют вашу информацию для использования в будущем.
    • Сканируют веб-страницы для поиска и выделения текста, который представляет собой «важную» часть информации.
    • «Обсуждают» темы с вами в диапазоне от подсознательного страха до спорта.
    • Содействуют онлайн поиску работы путём сканирования известных досок объявлений о работе и отправки резюме с указанием достоинств, которые соответствуют желаемым критериям.
    • Профилируют синхронизацию разнородных социальных сетей.

    4.1.3. Агенты по мониторингу и наблюдению (предиктивные)

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

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

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


    4.1.4. Агенты по добыче и анализу данных

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

    Агенты по добыче и анализу данных работают в хранилище данных обнаруженной информации. «Хранилище данных» объединяет информацию из множества разных источников. «Анализ данных» апредставляет собой процесс просмотра данных в хранилище с целью нахождения такой информации, которую можно использовать для предпринятия целенаправленных действий, например, для увеличения продаж или сохранения клиентов, которые рассматривают возможность ухода к конкурентам.

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


    4.2. Другие примеры

    Другими примерами современных интеллектуальных агентов являются некоторые спам-фильтры, игровые боты и средства мониторинга серверов. Боты индексации поисковых систем также считаются интеллектуальными агентами.

    • User agent - для браузеров WWW.
    • Агент передачи почтовых сообщений - для обслуживания электронной почты, например, Microsoft Outlook . Он общается с почтовым сервером POP3, при этом пользователю нет необходимости знать команды протокола POP3. Он имеет также набор правил, по которым производится фильтрация почты для пользователей, тем самым избавляя их от проблемы того, чтобы делать это самостоятельно.
    • Агент системы простого управления сетями SNMP.
    • Агент разметки в HTML-формате агентства DARPA.
    • Агент палтформы разработки многоагентных систем Jason.
    • Система разработки искусственных автономных агентов 3APL.
    • Язык программирования для разработки рациональных агентов GOAL.
    • Язык описания онтологий для семантической паутины OWL.
    • Демоны в UNIX-подобных операционных системах.
    • В Unix-подобных сетевых серверах httpd - демон протокола HTTP, который реализует этот протокол в корне всемирной паутины.
    • Агенты управления, используемые в узлах телекоммуникационных сетей.
    • Моделирование толпы для обеспечения безопасности, а также для трёхмерной графики.
    • Java Agent Template - шаблон создания программных агентов в системе Java (JAT).

    5. Вопросы разработки

    В развитии агенто-ориентированных систем возникают некоторые интересные вопросы, а именно:

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

    Чтобы работать совместно и эффективно, программные агенты должны использовать совместно семантику своих данных. Это может быть сделано путём применения компьютерных систем описания своих метаданных.

    Определение обработчика агентов можно рассматривать в двух взаимосвязанных направлениях:

    • обработчик внутреннего состояние и онтологических аспектов представления знаний;
    • протоколы взаимодействия - стандарты для определения связей агентов.

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

    • Машинные агенты - различного вида движки, имеющие разную степень интеллектуальности.
    • Контентные агенты - данные, используемые движками в системах логического вывода и обучения.
    • Агенты доступа - методы, обеспечивающие движкам восприятие контента и выполнение действий, являющихся результатом логического вывода.
    • Агенты безопасности - гаджеты, связанные с распределёнными вычислениями, дополненные несколькими специальными свойствами, связанными с агентным подходом.

    Агент использует свои методы доступа для входа в локальные и удалённые базы данных при поиске контента. К таким методам доступа относятся, в частности, методы доставки агенту потока новостей, чтения доски объявлений или скачивания страниц из интернета с помощью веб-паука. Контент, который извлекается таким образом, возможно, частично фильтруется - отбираются новости или информация из тех баз данных, которые удовлетворяют поисковому запросу. Далее агент может использовать языковые процессоры для нахождения ключевых слов или идентификационных особенностей контента, который был отобран. Этот абстрагированный смысл (или набор событий), затем передаётся «мыслящему» агенту или машине логического вывода для того, чтобы решить, что делать с новым контентом. Этот процесс сопоставляет контент с экспертными данными или базой знаний, предоставленных пользователем. Если этот процесс находит хорошее соответствие нового контента, агент может использовать другие свои возможности, чтобы провести более детальный поиск по контенту. Наконец, агент может принять решение о характере действий по новому контенту, например, послать уведомление пользователю о том, что произошло важное событие. Это действие проверяется системой безопасности, и затем предоставляются те или иные права пользователю. Агент использует доступный пользователю метод доступа для доставки этого сообщения пользователю. Если пользователь подтверждает, что событие важно, быстро реагируя на уведомление, агент может использовать это событие как обучающий фактор для увеличения весовой функции такого рода событий.


    6. Воздействие программных агентов

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

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

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


    Примечания

    1. Нвана Х. Программные агенты: Обзор. Knowledge Engineering Review, Vol.11, No.3, 205-244, Cambridge University Press (англ.)
    2. Шермер Б. Программные агенты, наблюдение и право на неприкосновенность частной жизни: законодательная база для наблюдения с помощью агентов. Leiden University Press, 2007, p.140. (англ.)
    3. 1 2 3 Вулдридж М., Дженнингс Н. Интеллектуальнве агенты: теория и практика. Knowledge Eng. Rev., vol. 10(2), pp. 115–152, 1995 (англ.)
    4. Франклин, Грауссер. Агент или программа? Таксономия автономных агентов. Springer-Verlag, 1996 - www.msci.memphis.edu/~franklin/AgentProg.html (англ.)
    5. Стюарт Рассел, Питер Норвиг. Искусственный интеллект: Современный подход. Prentice Hall, 2009, ISBN 978-0136042594 (англ.)
    6. Carl Hewitt. Viewing Control Structures as Patterns of Passing Messages. Journal of Artificial Intelligence, June 1977.
    7. Стефен Хааг, Управление информационными системами в информационный век, 2006, р 224-228 (англ.)
    8. Harold E. Popplewell Agents & Applicability - www.agentwaresystems.com/publications/agents.html
    9. А. Серенко, Б. Детлор. Интеллектуальные агенты как инновация, Artificial Intelligence & Society, 18(4), 364-381 - foba.lakeheadu.ca/serenko/papers/Serenko_Detlor_AI_and_Society.pdf (англ.)
    10. А. Серенко, У. Руби, М. Кокосила. Незапланированные эффекты интеллектуальных агентов при использовании в Интернете: Социально-информационный подход. Artificial Intelligence & Society, 21(1-2), 141-166. - foba.lakeheadu.ca/serenko/papers/AI_Society_Serenko_Social_Impacts_of_Agents.pdf (англ.)
    скачать , Программный модуль .