CSEDays. Application 2011

База отдыха «Иволга», Екатеринбург, 24-27 ноября

News subscription
Share:

Reviews

В этом году были великолепные лекторы — даже просто тот факт, что на школу приехал профессор из Великобритании, это уже выдающееся достижение. Причем, Георгий Ржевский и Петр Скобелев хорошо дополняли друг друга. Осознал, что нам в УрГУ не хватает людей такого уровня. Профессоры, которые уже многого достигли в своей жизни и до сих пор в здравом уме и с искрой в глазах. Смотришь на таких людей и заражаешься их энтузиазмом и энергией.
Борис / CSEDays. Application 2011
Home / CSEDays Application 2011 / Учебные проекты /

Distributed Knowledge Authorization Language

Куратор — Александр Клепинин, к. физ.-мат. н., УрФУ.

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

В результате приходим к следующим проблемам:

  1. Если есть две системы, которые хотят взаимодействовать, то создать защищенный канал между ними относительно несложно. Но как каждой из этих двух систем понять, что можно доверять второй стороне? Заметим, что при наличии выделенного координатора эта проблема не является сложной (достаточно спросить у координатора, можно ли доверять конкретной системе; при этом координатору доверяем изначально), но в распределенной среде эта проблема становится нетривиальной. Собственно, получается, что следует каким-то образом получать (а, точнее, формировать) собственные знания о возможности доверия на основании наблюдаемой (и возможно, недостоверной) информации.
  2. Сама по себе передаваемая между агентами информация может не являться полностью достоверной. Так, например, в человеческом мире утверждение конкретного человека, что «в таком-то городе зима является холодной» может быть субъективно верным (этот конкретный человек считает, что зима холодная, поскольку он постоянно замерзал), но объективно неверным (просто этот конкретный человек приехал в холодный регион из другого региона, где всегда держится жаркая погода, вот ему и было холодно). Поэтому, получается, что собственное знание конкретного агента должно формироваться с учетом доверия другой стороне, и с учетом того, что информация не обязана укладываться в требования классической логики, когда каждое утверждение либо истинно, либо ложно. Каким образом можно реализовать механизм подобного получения знаний?
  3. Несложно догадаться, что в мультиагентной среде легко возникает ситуация, когда конкретные знания некоторого агента A полностью и однозначно определяются знаниями агентов B и C, но агенты B и C не хотят раскрывать свои знания ни друг другу, ни агенту A. Каким образом можно обеспечить вывод знаний, необходимых агенту A без раскрытия знаний агентами B и C?

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

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

  1. Домашняя страница DKAL.
  2. Исходные коды текущей реализации DKAL.
  3. Интерактивный исполнитель программ DKAL.

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

Также можно попробовать подумать о том, что такое «доверие» в рамках распределенной вычислительной системы? Является ли «доверие» дискретной величиной (истина/ ложь) или у «доверия» есть количество (большое количество дискретных значений, или даже сама величина является непрерывной)? Как эта «дискретность» может повлиять на использование «доверия» в рамках рассмотренных сценариев? Насколько потенциально усложнится (технически и вычислительно) реализация алгоритмов технологии DKAL при использовании многозначного «доверия»?

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

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

Рефераты, рассуждения и просто умные мысли присылайте на [email protected].