Реферат: Баяндиной Елены Валерьевны Научный руководитель Авербух Владимир Лазаревич имм уро ран, заведующий сектором, к т. н Екатеринбург 2008 реферат



Федеральное агентство по образованию РФ
Государственное образовательное учреждение высшего профессионального образования
УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
им. А. М. Горького

МАТЕМАТИКО-МЕХАНИЧЕСКИЙ ФАКУЛЬТЕТ
Кафедра информатики и процессов управления


РАЗРАБОТКА ИНФОРМАЦИОННЫХ ФИЛЬТРОВ ДЛЯ ПРОГРАММИРУЕМЫХ СЕТЕВЫХ АГЕНТОВ



"Допущен к защите"
___________________

"___"____________2008 г.

 

Квалификационная работа на соискание звания магистра математики
по направлению "Математика, компьютерные науки"
студентки гр. МГКН-2
Баяндиной Елены Валерьевны
Научный руководитель
Авербух Владимир Лазаревич
ИММ УрО РАН, заведующий сектором, к.т.н



Екатеринбург
2008

РЕФЕРАТ

Баяндина Е.В. РАЗРАБОТКА ИНФОРМАЦИОННЫХ ФИЛЬТРОВ ДЛЯ ПРОГРАММИРУЕМЫХ СЕТЕВЫХ АГЕНТОВ, диссертация на соискание звания магистра математики: стр. 49, рис. 9, библ. 10 назв.


Ключевые слова: ИНФОРМАЦИОННЫЙ АГЕНТ ПРОГРАММИРОВАНИЯ, ИНФОРМАЦИОННОЕ ПРОСТРАНСТВО, СОЦИАЛЬНАЯ СЕТЬ, СЕТЕВОЙ АГЕНТ, АГЕНТСКАЯ ФУНКЦИЯ.

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

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

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

Введение 4

Теоретическое обоснование 5

Социальные сети 5

История социальных сетей 5

Концепция социальных сетей 7

Сильные и слабые связи 7

Централизация в сети 8

Применение принципов построения социальной сети на практике 10

Live Journal, DBLP и адаптационное поведение 13

Информационные агенты 15

Определение понятия агента 17

Автономный агент 20

Разработка сетевого агента 25

Информационное пространство 25

Функции, выполняемые агентом 28

Взаимодействие агента с внешним миром 29

Формирование фильтров поиска 30

Используемые технологии 35

Технология ASP 36

Разработка базы данных на MySQL 37

Визуализация с помощью CallGraph 38

Описание реализации сетевого агента 41

Выбор социальной сети для исследований 41

Проектирование информационного пространства 41

Реализация функций агента 42

Модельное исследование 44

Подведение итогов 46

ЛИТЕРАТУРА 48


Введение
Современное развитие компьютерной техники повлияло не только на науку и технологию, но и на социальное поведение людей. Благодаря новым технологиям, люди получили возможность общения в сети. Одним из таких феноменов стали социальные сети в интернете. Произошел перенос социальной жизни миллионов людей в среду интернет, в результате чего появилась необходимость некой «структуризации» общения, а именно общения в клубе по интересам. Благодаря чему и возникли такие сайты, как «Живой журнал» (livejournal.com), «В контакте» vkontakte.ru, «Хабрахабр» habrahabr.ru и многие другие, так называемые социальные сети в интернете. Каждое новое явление нуждается в научном осмыслении и объяснении. Целью моей работы является создания инструментария для социологического и психологического исследования этого феномена.

С помощью чего можно изучить такой феномен? Изучение путем просмотра сообщений в интернете не дает значимого практического результата, т.к. не позволяет выделить общие принципы жизнедеятельности социальных сетей, а дает только некоторый личный опыт общения в них. В качестве инструмента для изучения социальных сетей напрашивается использование сетевых агентов, т.е. программ, осуществляющих поиск и сбор информации в интернете, и последующую первичную обработку данных. Что позволит проводить дальнейшие социологические и психологические исследования результатов, полученных таким способом.
^ Теоретическое обоснование Социальные сети
Социальная сеть — это «группа людей (или организаций, или других социальных единиц), связи в которой являются социальными, а именно: дружбой, совместной работой или обменом информации» (Garton и др., 1997). Хотя интернет и является основным источником избыточной информации, он также позволяет пользователю эффективно управлять своими социальными сетями и таким образом получать ту информацию, которая ему необходима.

Эта область знаний находится на пересечении таких наук, как информатика, социология и математика. Поэтому изучение использование социальных сетей в общественных и деловых целях должно проходить при помощи информационных и коммуникационных технологий (information communication technologies (ICTs)), в том числе, интернета.
^ История социальных сетей
Термин «Социальная сеть» был введён задолго до появления Интернета и собственно современных интернет-сетей, ещё в 1954 году социологом из «Манчестерской школы» Джеймсом Барнсом.
Во второй половине 20 века социальные сети стали активно развиваться как научная концепция, сначала они стали популярны на западе, чуть позже пришли и к нам. Затем это обычное профессиональное понятие социологов превратилось в модную концепцию, являющуюся одной из центральных в концепции веб 2.0, которую как понятие впервые ввёл Тим О’Рейли 30 сентября 2005 года в своей статье «Tim O’Reilly — What Is Web 2.0».

Первыми компьютерными социальными сетями стали, как ни странно, всё те же группы людей, использовавшие для создания и поддержания социальных связей средства компьютерного общения, которыми стала электронная почта. Случилось это 2 октября 1971 года – день первого сообщения, отправленного на удалённый компьютер, а первыми пользователями социальной сети стали военные в сети ARPA Net. Это был первый шаг к созданию Интернета и современных социальных интернет-сетей.

Следующим шагом стало изобретение IRC (англ. Internet Relay Chat — ретранслируемый интернет-чат) – сервисной системы для общения в режиме реального времени. IRC была создана в 1988 году финским студентом Ярко Ойкариненом. Это были уже более «продвинутые» социальные сети, однако ещё далекие от современных.

Из изобретения компьютеров, электронной почты, IRC и многих других 7 августа 1991 года вытекло изобретение Интернета. Именно в этот день британский ученый Тим Бернерс-Ли впервые опубликовал первые интернет-странички и сделал тем самым следующий шаг к современным социальным сетям.

И вот в 1995 году появилась первая, приближенная к современным, социальная сеть Classmates.com, которую создал Рэнди Конрад, владелец компании Classmates Online, Inc. Этот сайт помогал зарегистрированным посетителям находить и поддерживать отношения с друзьями, одноклассниками, однокурсниками и другими знакомыми людьми. Сейчас в этой сети зарегистрировано более 40 миллионов людей, преимущественно из США и Канады.

Концепция Classmates оказалось успешной и с далёкого 2005 года она развивается и уже не только в пределах этой сети появились такие мировые гиганты, как MySpace, FaceBook, Bebo и LinkedIn или гиганты рунета Одноклассники.ру, ВКонтакте, МойМир и МойКруг.


^ Концепция социальных сетей
Первые шаги в исследовании социальных были сделаны социологом Mark Granovetter и математиком Linton C. Freeman, которые написали основополагающие материалы еще до широкого распространения интернета.
^ Сильные и слабые связи
M. Granovetter (1973) заявил, что внутри социальных сетей слабые связи имеют гораздо большее значение, чем сильные. Он объяснял это тем, что через слабые связи информация «просачивается» быстрее. Это происходит, по его мнению, из-за того, что слабые связи «важнее для отдельных пользователей при их «вливании» и взаимодействии в сообществе, тогда как в результате сильных связей образуется тесная локальная группа».

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

Наравне с ними, Granovetter определил и отсутствующие связи (также называемые «кивающими» (nodding)) — такие связи испытывают недостаток эмоциональной составляющей, времени, доверия и взаимности — как слабые. Кто-то, живущий с вами на одной улице, кому вы киваете каждый день, будет как раз примером такой связи. Отсутствующая связь — это персона, присутствующая в вашей жизни, но с которой у вас нет каких бы то ни было взаимоотношений. Связь с этим человеком будет вам полезна еще менее, чем слабая связь.

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

В соответствии с теорией Granovetter, существенным будет визуальная картина слабых связей. В LinkedIn вы можете посмотреть все связи в зависимости от круга близости, но нет никаких индикаторов, являются ли эти связи сильными, слабыми или отсутствующими. В LinkedIn есть и другая проблема: сложно устанавливать сами слабые связи. Вам часто требуется попросить общего знакомого, чтобы завести такую связь. Без сомнения, LinkedIn в таком случае отступает на второй план по сравнению с другими социальными сервисами!
^ Централизация в сети
Для дальнейшего рассмотрения механизмов работы социальной сети необходимо ввести понятия центрирования и зависимости одного узла от остальных. В это связи будет полезна статья Linton C. Freeman по поводу центрирования в социальных сетях (Freeman, 1979). Freeman исследовал, как “граф центрирования” зависит от различий в выборе точек центрирования. Он также выделил три конкурирующие принципа, относящиеся к определению центрирования, а именно: ранг узла, контроль и независимость.

Ранг узла зависит от числа узлов, соединенных с данным. Проще говоря, он равен числу ваших друзей в социальной сети. Чем больше у вас друзей, тем вы важнее.

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

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



Рис. 1. Центр группы

Ранг узла: у C и K наибольшее количество узлов, с которыми они связаны.

Контроль: D служит мостом между большим количеством узлов и контролирует потоки информации.

Независимость: K имеет достаточно близкую связь с остальными узлами через несколько других (I и Q).

Социальные сети являются базовыми инструментами, с помощью которых пользователи постоянно отслеживают и наращивают свою сеть контактов. Поэтому большинство таких сайтов изображает свой рост, используя ранг узлов как основной критерий. Однако, контроль и независимость также является немаловажными факторами. Например, пользователь, который контролирует потоки информации, может быть более важным, чем тот, у которого много друзей в этой сети. Центральность также показывает, какие участники ресурса приносят наибольшую пользу или имеют больше всего связей, что отражает их большую компетентность как информационных источников.
^ Применение принципов построения социальной сети на практике
Принципы структуры узлов, силы связей и центральности можно применить и к существующим социальным сетям в интернете. Хорошим примером может послужить сравнительное исследование, проведенное Ravi Kumar, Jasmine Novak и Andrew Tomkins (2006). Они сравнили две социальных сети, Flickr и Yahoo 360, которые на тот момент в сумме насчитывали пять миллионов пользователей. Исследователи отметили, что социальные сети развиваются по стандартному сценарию, а именно: сначала стремительный рост, затем некоторый период падения, после него медленный, но стабильный рост. Ravi Kumar, Jasmine Novak и Andrew Tomkins также отметили, что социальная активность бывает трех типов:

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

Большой центр, в нем большое количество узлов связано с центральным и между собой

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



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

Анализ узлов для таких сетей показал, что примерно половина узлов находится за пределами большого центра, в котором сосредоточено основное центрирование. Для такого центрирования использовалось определение «контроль». В исследовании также отмечалось большое количество «звезд» в периферии, каждая из которых представляет собой мини социальную сеть. Такие группы обычно имеют одного лидера, которого можно рассматривать как точку центрирования, а остальных — как его спутники, связанные с центральным лидером, но не друг с другом. В анализе Ravi Kumar, Jasmine Novak и Andrew Tomkins к таким группам принадлежат одна треть пользователей в Flickr и примерно десять процентов в Yahoo! 360.

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



Рис. 2б. Между центром и периферийной группой возникают связи.



Рис. 2в. Периферийная группа присоединяется к центру

Какие из этого можно сделать выводы? При проектировании своей сети нужно учесть, что большая ее часть будет расположена вне центральной части. По существу, социальная сеть представлена тысячами подсетей. Чем больше возможностей вы предоставите этим сетям для развития, тем больше будет общий рост.
^ Live Journal, DBLP и адаптационное поведение
Большинство социальных сетей вырастают на энтузиазме первых пользователей, которые переводят свои контакты из реального мира в интернет и выступают в роли «звезд». Но также важно рассмотреть развитие социальных сетей, основанное на внутренней активности пользователей. Lars Backstrom, Dan Huttenlocher и Jon Kleinberg (2006) анализировали создание групп в больших социальных сетях. Они использовали данные с LiveJournal о десяти миллионах пользователей и DBLP, базу данных соавторов в публикациях с конференций, чтобы изучить, как рост сообществ связан с социальными сетями, лежащими в их основе. Они показали, что у пользователя больше стимулов вступить в социальную сеть, если его друзья уже связаны в ней друг с другом. Несколько тесно связанных в социальной сети друзей пользователя повышают доверие к ней.

В статье последовательно показано, что основной рост идет за счет большого центра, в котором узлы обладают наибольшим центрированием. Подчеркивая важность большого центра, Lars Backstrom, Dan Huttenlocher и Jon Kleinberg подтвердили теорию Ravi Kumar и др. (2006) В их статье поднимается очень важный вопрос: «Когда отдельный узел узнает о поведение своих соседей, какие именно условия и связи внутри сети заставляют его это поведение принять?»

Другой группой исследователей, которая изучала базу данных DBLP, были Deng Cai, Zheng Shao, Xiaofei He, Xifeng Yan, Jiawei Han (2006) Они подчеркнули тот факт, что каждый узел принадлежит к нескольким разных социальным сетям, каждая из которых влияет на общие шаблоны формирования групп, развития и обмена информацией в сети. В результате, они заключили, что каждая сеть не может изучаться независимо, а только в контексте других существующих сетей. Ведь возможно и такое поведение пользователя, когда он покидает одну социальную сеть по причине активности других пользователей в других социальных сетях. Все это поднимает не менее важный для разработчиков вопрос: «Насколько активность в одной социальной сети зависит от активности других».

Особый интерес представляет тот факт, что сейчас Google lab тратит свои силы на разработку Social Stream. Этот проект, по идее, должен стать метасоциальной сетью, в которой будут сведены разные социальные сети. Social Stream (разрабатываемся в тесном сотрудничестве с университетом Carnegie Mellon) сейчас находится в состоянии закрытой беты. Еще одним важным вопрос для изучения, заключается в следующем: «Если пользователь получит доступ к управлению своей активностью в разных социальных сетях через единый интерфейс, как это повлияет на его сетевые предпочтения».

Понятно, что социальные сети в Интернете всегда будут развиваться как по причине внешнего воздействия, так и из-за активности пользователей внутри них. Brian S. Butler (2001) подчеркнул это, когда указал на следующую характерную особенность: размер социальной сети оказывает на саму сеть сложное влияние, чем больше одни пользователи добиваются успеха, тем больше других пользователей постигает неудача. Было указано на тот факт, что необходимо достигать баланса между плюсами и минусами размера сети и информационной активностью. Поэтому до сих пор нерешенным вопросом остается определения того, какой тип пользовательской активности и в какой части сети (в большом центре, на периферии или среди одиночек) оказывает больше всего влияния на саму сеть.
^ Информационные агенты
Обычная вычислительная программа, например, программа расчета колебаний струны, запускается на ЭВМ, получает входные данные, выполняется как последовательность заранее написанных команд, выводит результат. До следующего запуска извне (если он вообще состоится) она пребывает в состоянии "комы". В программе расчета колебаний струны, конечно, фигурирует такой параметр как время, но он используется наряду с другими параметрами, такими как амплитуда, и никакого отношения к реальному времени, в котором выполняется программа, не имеет.

Программа реального времени функционирует (запускается, приостанавливается, возобновляется, завершается, запускается вновь) в соответствии с внешними, физическими, а не абстрактными, часами. Это ее главный отличительный признак.

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

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

Эти и другие важные отличия от обычной программы привели к возникновению понятия программного агента и более широкого понятия – автономного агента.

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

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

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

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

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

М.Вулдридж и Н.Дженнингс разделяют слабое и сильное понятия агента. Слабый агент рассматривается как система со свойствами автономности, возможности работать в обществе (social ability), реактивности, целенаправленности. Сильное понятие агента предполагает возможность непредписанных действий, предпринимаемых на основе собственных "идей".

Их определение включает следующие свойства:

1) автономия: агенты действуют без непосредственного вмешательства людей или чего-либо еще, определенным образом контролируют свои действия и внутреннее состояние;

2) социальные возможности: агенты взаимодействуют с другими агентами (и, возможно, людьми) с помощью некоторого языка;

3) реактивность: агенты воспринимают свое окружение (которое может быть физическим миром, пользователем – через графический пользовательский интерфейс, набором других агентов, Интернетом, или комбинацией всего этого) и отвечают периодически так, чтобы изменить что-то в своем окружении;

4) целенаправленность: агенты не просто отвечают своему окружению, они способны на целенаправленное поведение и проявление инициативы.

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

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

Достаточно ограниченное число агентов, что могут считаться полуинтеллектуальными (из-за своей простоты, слабой способности к принятию решений, ограниченности взглядов на внешний мир и плохой обучаемости) перечислены в следующем документе: Third Canadian Edition of «Management Information Systems for the Information Age» *1. Согласно нему, существует только 4 типа таких интеллектуальных агентов:

1. Роботы по закупкам.

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

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

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

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

Играют в компьютерной игре как ваш оппонент или патрулируют области в игре для помощи вам

Собирают новости. Существует несколько версий таких роботов, к примеру CNN

Ищут информацию по выбранному предмету

Самостоятельно заполняют web-формы, сохраняя информацию для последующего использования

Просматривают веб-страницы, ища и подсвечивая ключевую информацию

«Дискутирует» с вами на различные темы, от ваших страхов до спорта

3. Управляющие и наблюдающие агенты

Управляющие агенты, также известные как «предсказывающие агенты» ведут наблюдение и отправляют отчеты. К примеру, в NASA’s Jet Propulsion Laboratory есть агент, следящий за состоянием инвентаря, планированием, составлением расписания. Такие агенты обычно ведут наблюдение за компьтерными сетями и следят за конфигурацией каждого компьютера, подключенного к сети

4. Добывающие информацию агенты

Такие агенты действуют в хранилище данных, собирая информацию. Хранилище данных объединяет в себе информацию из разных источников. Сбор информации — это процесс поиска данных для последующего использования, например, для увеличения продаж или привлечения покупателей. 'Классификация' — один из наиболее часто используемых приемов для сбора информации, который находит и категоризирует образы в информации. Добывающие информацию агенты также могут обнаруживать ключевые изменения тенденций развития и предупредить вас о наличии новой информации.
^ Автономный агент
С.Франклин и А.Грэссер в 1996 году предложили следующее обобщенное определение агента:

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

Расшифровка этого определения дается перечнем свойств, которыми должен обладать автономный агент:

реактивность;

автономность;

целенаправленность;

непрерывность функционирования;

коммуникативность;

обучаемость (адаптивность);

мобильность;

гибкость;

индивидуальность.

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

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

Не все изменения окружения становятся известными (доступными) сенсорам агента. Это вполне естественно. Ведь и человек не воспринимает звуки частотой свыше 30 кГц, радиоволны и т.д. Таким образом, окружение не является полностью наблюдаемым для агента.

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

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

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

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

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

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

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

Свойство гибкости означает, что действия агента не предписаны. Это, конечно, весьма относительное утверждение. Имеется в виду, что программа, заложенная в агента, предполагает выбор из многочисленных вариантов поведения. Такого рода выбор производится если не на каждом шагу, то достаточно часто, и зависит от выполнения или невыполнения различных условий. Выбор не является ни случайным, ни недетерминированным. Гибкость означает, что действия агента не примитивны, не легко предсказуемы.

Свойство индивидуальности означает наличие персональных свойств, данных, возможно, "эмоционального" состояния.

Сам феномен социальных сетей уже достаточно хорошо изучен, тогда как исследований, где социальная сеть выступает в качестве среды, в которой происходит исследование, не проводилось. Для социологических исследований необходимо собрать статистически значимую информацию. Для этого хорошо подойдет сетевой информационный агент. Такого агента нельзя назвать в полной мере интеллектуальным. Его главной задачей будет сбор информации в социальных сетях для последующей ее обработки и дальнейшего социологического исследования. Поэтому можно ввести термин сетевой агент, для обозначения построенной нами модели. Важно, чтобы такой агент предоставлял возможность фильтрации данных по разным признакам, что будет способствовать более качественной первичной обработке данных.
^ Разработка сетевого агента
Для того, чтобы разработать сетевого агента, необходимо сначала определить каким образом «мыслит» агент. То есть формализовать основные понятия «языка» агента.
^ Информационное пространство
Информационное пространство – это некоторая совокупность данных. Информационным пространством могут быть, например, страница, книга или вся библиотека им. Белинского. Для того чтобы с информационным пространством можно было работать, оно должно быть каким-то образом структурировано (формализовано), причем структура пространства может включать в себя немалое число уровней. Так, например, страницу можно представить как набор строк, каждая из которых содержит набор слов. Книга – это набор страниц, каждая из которых имеет уникальное имя (номер страницы). Библиотека – это набор книг, которые могут быть распределены по каталогам, темам и т.д.

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

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

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

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

Предлагаем записывать характеристики объектов в следующем виде:

ОБЪЕКТ название типа

АТРИБУТ

имя

тип (уникальный / повторяемый)

обязательный (да / нет)

тип объекта, используемого для реализации атрибута

Исходя из вышесказанного, запишем объект схематично (на примере объекта профиль c атрибутом пол).

ОБЪЕКТ типа = профиль

АТРИБУТ (уникальный идентификатор)

имя = идентификатор

тип = уникальный

обязательный = да

тип объекта, используемого для реализации атрибута = число

АТРИБУТ (пол)

имя = пол

тип = повторяемый

обязательный = нет

тип объекта, используемого для реализации атрибута = text

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