Реализация извлечения и сохранения прецедентов в CBR-системах на основе распределенных библиотек прецедентов
Разработка алгоритмов адаптации прецедентов, полученных из разных баз данных, при наличии имеющейся информации различного рода неопределенностей. Выполнение программной реализации и тестирование соответствующих модулей разрабатываемой CBR-системы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.01.2018 |
Размер файла | 165,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
РЕАЛИЗАЦИЯ ИЗВЛЕЧЕНИЯ И СОХРАНЕНИЯ ПРЕЦЕДЕНТОВ В CBR-СИСТЕМАХ НА ОСНОВЕ РАСПРЕДЕЛЕННЫХ БИБЛИОТЕК ПРЕЦЕДЕНТОВ
К.Н. Бредихин
П.Р. Варшавский
Московский Энергетический Институт, Москва
В работе рассматривается задача поиска решения на основе распределенных библиотек прецедентов с использованием мультиагентного подхода. Основное внимание уделено этапам извлечения прецедентов из распределенных библиотек прецедентов и последующего сохранения вновь принятых решений в качестве новых прецедентов. Приведены стратегии взаимодействия агентов друг с другом на данных этапах. Выполнена программная реализация и тестирование соответствующих модулей разрабатываемой CBR-системы.
В настоящее время весьма актуальной задачей в области искусственного интеллекта является задача моделирования рассуждений на основе прецедентов в интеллектуальных системах [Варшавский и др., 2009].
Вывод на основе прецедентов (Case-Based Reasoning, CBR) - это метод принятия решений, в котором используются знания о предыдущих ситуациях или случаях (прецедентах). Как правило, подобные методы рассуждений включают в себя четыре основных этапа, образующие так называемый цикл рассуждения на основе прецедентов или CBR-цикл (рис.1):
· Retrieve - извлечение наиболее подобного прецедента (или прецедентов) для сложившейся ситуации из библиотеки прецедентов (БП);
· Reuse - повторное использование извлеченного прецедента (прецедентов) для попытки решения текущей проблемы;
· Revise - пересмотр полученного решения и адаптация его, в случае необходимости, в соответствии с текущей проблемой;
· Retain - сохранение вновь принятого решения как части нового прецедента.
В последнее время CBR-методам и CBR-системам уделяется повышенное внимание со стороны исследователей по всему миру. Они уже успешно используются в самых различных областях: в медицине, при управлении проектами, для анализа и реорганизации среды, разработки товаров массового спроса с учетом предпочтений разных групп потребителей, в задачах интеллектуального поиска информации, управления технологическими процессами электронной коммерции и других.
Рис. 1. CBR-цикл
На сегодняшний день одними из наиболее актуальных задач в данной области являются задачи организации представления и хранения данных и знаний (прецедентов), а также задача разработки эффективных методов работы с распределенными данными.
До недавнего времени основное направление в области распределенного вывода на базе прецедентов (DistributedCBR, DCBR) заключалось в распределении ресурсов системы (как вычислительных, так и ресурсов данных в виде накопленного опыта) с целью повышения общей производительности CBR-системы, но распределенный характер БП также может быть обусловлен требованиями безопасности, предъявляемыми к системе (пользователи, обладающие информацией о некоторых прецедентах, не хотят «делиться» этой информацией с другими пользователями). Сами источники прецедентов могут быть распределены территориально и динамически дополнять локальные БП новыми прецедентами.
Кроме того, увеличивающееся число случаев успешного внедрения CBR-систем для решения различных практических задач дает новые возможности по использованию существующих БП, содержащих накопленный опыт в смежных предметных областях. В самом начале эксплуатации, когда CBR-система все еще занимается накоплением знаний, ее текущая БП содержит мало прецедентов, что в свою очередь снижает эффективность самой системы. В то же время, если для задач, схожих с задачей, решаемой данной системой, уже существуют некие внешние БП, их можно использовать для «восполнения пробелов» во внутренней БП. Кроме того, даже в том случае, когда в БП системы накоплен достаточный опыт (прецеденты), внешние библиотеки могут содержать специализированные знания, которые могут оказаться полезными при решении задач, нехарактерных для системы в обычных условиях.
В данной работе основное внимание уделяется процедурам извлечения (retrieve) и сохранения (retain) вновь принятых решений в БП.
1. Вывод на основе распределенных библиотек прецедентов
Как уже упоминалось, вместе с распространением CBR-систем появляются новые возможности по использованию существующих БП, содержащих накопленный опыт в смежных предметных областях. Область исследований, получившая название MultipleCase-BasedReasoning (MCBR, вывод на основе множества БП), является одной из наиболее перспективных на сегодняшний день областей, связанных с распределенным выводом на основе прецедентов.
Основная идея MCBR-подхода заключается в том, что для решения некоторой задачи могут использоваться БП, сформированные в смежных или аналогичных областях, которые ко всему прочему могут отличаться по структуре. Помимо вывода на основе прецедентов в данном подходе используются методы на основе аналогий [Варшавский, 2004].
На рис.2 представлен пример базовой MCBR-архитектуры, доработанной с целью ограничения распространения прецедентов из отдельных библиотек за пределами локального сетевого узла. Получая на входе задачу, диспетчер прецедентов выбирает те БП, из которых необходимо извлечь прецеденты, а также определяет стратегию извлечения прецедентов из БП. Далее, агенты-аналитики, взаимодействующие непосредственно каждый со своей БП, согласно заданной стратегии производят извлечение прецедентов из локальных библиотек,при необходимости производя адаптацию (с целью приведения прецедентов из разных БП к общей структуре и составу) и слияние решений из разных БП.
Выбор диспетчером библиотек, из которых будет проводиться извлечение прецедентов, может основываться как на накопленном опыте решения отдельных типов задач (в виде «модели компетенций», сформированной в ходе обучения и эксплуатации), так и на требованиях, предъявляемых к искомому решению. Например, если извлечение прецедентов из некоторой БП осуществляется быстрее, чем из других, то такие библиотеки будут более востребованы при жестких ограничениях на время принятия решения, что характерно, для интеллектуальных систем реального времени. Если же БП содержит много «зашумленных» и неточных данных, то она будет менее востребована в случае ограничений на качество искомого решения.
Рис. 2. Пример MCBR-архитектуры
2. Извлечение прецедентов из множества распределенных библиотек
Рассмотрим процесс извлечения прецедентов в распределенной CBR-системе на базе интеллектуальных агентов. Формально мультиагентная система
M = {(Ai, Ci)}, i=1,2,…,n
включает в себя nавтономных агентов Ai, каждый из которых взаимодействует с отдельной библиотекой прецедентовCi. Для простоты рассмотрим задачу, заключающуюся в выборе решения из конечного множества решений K = {S1, …, SK}. Таким образом, библиотека прецедентов Ci = {(Pj, Sk)} представляет собой коллекцию пар задача-решение. Каждый из агентов работает автономно и способен обучаться в ходе работы, то есть может пополнять свою локальную БП новыми прецедентами.
При необходимости агент Ai может отослать описание P своей текущей задачи агенту Aj, чтобы тот помог ему с решением. После того, как Aj выслал в ответ свое собственное предлагаемое решение для P, агент Ai в простейшем случае может сравнить полученное решение со своим собственным, и, если они совпадают, повысить степень уверенности в найденном решении. Если же они не совпадают, то, возможно, ему стоит обратиться за помощью к еще одному агенту.
Когда агент Ai обращается к агенту Aj за «помощью» в решении текущей задачи, протокол взаимодействия между ними выглядит следующим образом.
Сначала Ai отсылает Aj описание задачи Pi.
Aj пытается найти решение для P, используя свою БП Cj и отсылает ответное сообщение либо о том, что он не смог найти решение (no_solution), либо запись заданной структуры с информацией о найденных решениях (solution endorsement record, SER):
SER = { {(Sk, Ekj)}, P, Aj}.
Таким образом, запись SER представляет собой коллекцию подтверждающих пар (Sk, Ekj), означающих, что агент Aj нашел Ekj прецедентов в БП Cj, подтверждающих решение Sk - то есть существует Ekj прецедентов, подтверждающих, что Sk является решением текущей задачи P. Каждый агент может высылать одну или несколько подтверждающих пар в одной SER-записи в качестве ответа на запрос другого агента.
С целью формирования окончательного решения на основе SER-записей, полученных от разных агентов, в рамках данной работы используется схема голосования BOUNDED-WEIGHTED APPROVAL VOTING (BWAV) [Plaza et al., 2001], заключающаяся в том, что агенты голосуют за решения, в зависимости от числа найденных прецедентов, подтверждающих эти решения.
Далее, для ограничения количества «голосов» у агента, введем нормализующую функцию Vote(Sk, Aj). Обозначим At как множество агентов, отославших свои SER-записи для текущей задачи P агенту Ai. При этом будем считать, что результат попытки решения задачи P агентом Ai также сформирован в виде SER-записи, и таким образом, AiAt. Тогда, функция голосования агентом AjAt за решение Sk будет выглядеть следующим образом:
,
где c- некоторая константа, регулирующая степень нормализации (по умолчанию c=1). Из данной формулы видно, что один голос агента будет распределен между возможными решениями Sr.
Имея совокупность голосов за решение Sk, полученных от разных агентов, мы можем определить итоговую функцию голосования за это решение множеством агентов At:
.
В результате, итоговое решение будет определяться как решение, набравшее в сумме наибольшее количество голосов:
.
После повторного использования извлеченного прецедента для попытки решения новой проблемы, а пересмотра и адаптации полученного решения в соответствие с текущей проблемой возникает вопрос о необходимости сохранения вновь принятого решения как части нового прецедента.
3. Сохранение вновь принятого решения в качестве нового прецедента
Процедура сохранения вновь принятого решения в качестве нового прецедента в MCBR-системе включает в себя два этапа: сохранение нового прецедента в локальной БП и рассылка его другим агентам с предложением занесения прецедента в их библиотеки (если позволяют ограничения на распространение прецедентов за пределы локальной библиотеки).
Отметим, что с целью предотвращения избыточности может быть введено ограничение, заключающееся в том, что в системе не должно быть нескольких копий одного и того же прецедента. Таким образом, если на первом этапе агент решает сохранить прецедент в локальной БП, то второй этап опускается. Если в рамках конкретной задачи политика безопасности запрещает копирование прецедентов из одной БП в другую, то второй этап также не выполняется.
В рамках первого этапа могут использоваться стратегии сохранения, уже существующие для централизованного (нераспределенного) вывода на основе прецедентов [Варшавский, 2008], включая методы, использующие помощь эксперта для обучения с учителем. В данном случае, получив новый прецедент, агент может проверить его на своей локальной БП и, если полученное решение не совпадает с решением, включенным в состав нового прецедента, добавить этот новый прецедент в свою локальную БП.
Второй этап заключается в том, что остальные агенты проверяют, нужно ли им сохранять новый прецедент в своих локальных БП, взаимодействуя согласно следующему протоколу.
Агент Ai производит рассылку нового прецедента между остальными агентами Aj, i?j, которые, в свою очередь, проверяют этот прецедент на своих локальных БП аналогично первому этапу.
В качестве ответа Aj отсылает сообщение либо о том, что решения совпадают (success), либо о том, что они не совпадают (failure) и данный прецедент необходимо добавить в локальную БП агента Aj.
После этого, в зависимости от выбранной стратегии борьбы с избыточностью (допускается ли наличие нескольких копий одного прецедента в системе или нет), Ai рассылает нужным агентам сообщение-разрешение добавления нового прецедента в их локальную библиотеку прецедентов.
Стоит отметить, что помимо проблем с избыточностью, сохранение более чем одной копии нового прецедента в системе может понизить качество получаемых решений из-за снижения «субъективности» библиотек отдельных агентов. Так как в данном случае, со временем разница, между локальными БП отдельных агентов будет уменьшаться, то и распределения голосов между классами решений, сформированные отдельными агентами на базе их локальных БП, также будут все меньше отличаться друг от друга.
В работе были рассмотрены этапы извлечения прецедентов из распределенных библиотек прецедентов и последующего сохранения вновь принятых решений в качестве новых прецедентов. Описаны стратегии взаимодействия агентов друг с другом при поиске решения на основе голосования за решения. Приведена двухэтапная схема сохранения в БП системы вновь принятых решений как части новых прецедентов в зависимости от требований к безопасности и выбранной стратегии борьбы с избыточностью. алгоритм программный прецендент
Приведенные выше алгоритмы и стратегии извлечения и сохранения прецедентов были реализованы и протестированы в рамках разрабатываемой авторами программной системы поиска решений на основе прецедентов (CBR-системы) для распределенных интеллектуальных систем [Бредихин и др., 2010]. Программная реализация основных модулей системы, проведена на базе платформы. NET Framework 3.5 с использованием языков C# и F#. Тестирование проводилось на трех тестовых базах из набора с медицинскими данными, относящимися к диагностике сердечных заболеваний (источник - кафедра информатики и вычислительной техники Калифорнийского университета UCI Machine Learning Repository [Merzetal., 1998]).
Полученные результаты и ряд программных модулей CBR-системы были использованы при реализации прототипа интеллектуальной системы, предназначенной для помощи лицам, принимающим решения при управлении сложными объектами и процессами различной природы в реальном масштабе времени и, в частности, в составе промышленной системы автоматизации работы крупных парковочных комплексов и помощи их оперативно-диспетчерскому персоналу.
В дальнейшем планируется решение задач по разработке методов и алгоритмов адаптации прецедентов, полученных из разных БП, при наличии в имеющейся информации (данных и знаниях) различного рода неопределенностей (неполноты, неточности, противоречивости и т.п.).
Благодарности. Работа выполнена при финансовой поддержке грантов РФФИ (проекты № 08-01-00437-а и № 09-01-00076-а).
Список литературы
1. Бредихин К.Н., Варшавский П.Р. Распределенный вывод на основе прецедентов в интеллектуальных системах поддержки принятия решений // Теория и практика системного анализа. Труды I Всероссийской научной конференции молодых ученых. - Т. 1. - Рыбинск: РГАТА имени П. А. Соловьева, 2010.
2. Варшавский П.Р. Применение метода аналогий в рассуждении на основе прецедентов для интеллектуальных систем поддержки принятия решений // Труды девятой национальной конференции по ИИ с международным участием КИИ-2004. В 3-х т. Т.1. - М.: Физматлит, 2004.
3. Варшавский П.Р. Механизмы правдоподобных рассуждений на основе прецедентов (накопленного опыта) для систем экспертной диагностики // Труды 11-ой национальной конференции по ИИ с международным участием (КИИ-2008). В 3-х т., Т. 2. -М: ЛЕНАНД, 2008.
4. Варшавский П.Р., Еремеев А.П. Моделирование рассуждений на основе прецедентов в интеллектуальных системах поддержки принятия решений // Искусственный интеллект и принятие решений.2009. №2.
5. Plaza E., Ontaтon S. Ensemble case-based reasoning: Collaboration policies for multiagent cooperative CBR // Proceedings of the Fourth International Conference on Case-Based Reasoning, Berlin: Springer, 2001.
Размещено на Allbest.ru
...Подобные документы
Процесс проектирования программы, состоящий из следующих шагов: описание прецедентов, построение диаграммы прецедентов, диаграммы взаимодействий, создание модели программных классов. Тестирование программы входными тестовыми вариантами, ее листинг.
курсовая работа [1,9 M], добавлен 25.10.2012Общая характеристика и функциональные возможности системы "Компьютерное тестирование". Связи между информационными объектами. Проектирование алгоритмов обработки данных. Реализация алгоритмов обработки информации, разработка соответствующих макросов.
контрольная работа [542,8 K], добавлен 19.10.2010Разработка системы для автоматизации процессов, происходящих в области арендования торговых помещений. Анализ ее функциональности с помощью диаграммы прецедентов. Контроль, приемка и тестирование системы. Описание классов, описывающих ее объекты.
курсовая работа [1,4 M], добавлен 06.12.2012Алгоритмическое представление и описание правил игры "Эволюция". Построение диаграммы прецедентов. Разработка графического интерфейса пользователя. Реализация интерфейса в среде Unity. Структура файла сохранения игры. Проектирование поведения компьютера.
дипломная работа [3,3 M], добавлен 18.02.2017Характеристика форматов файлов wav и mp3. Построение диаграмм прецедентов, разработка графического интерфейса и архитектуры приложения. Разработка алгоритмов работы программы: метод TrimWavFile, TrimMp3, ChangeVolume, speedUpX1_2, speedDownX1_2.
курсовая работа [2,7 M], добавлен 20.12.2013Проект автоматизированной информационной системы по учету перемещений работников на предприятии "Овен" на примере оформления трудового договора с использованием case-технологии CASEBERRY: анализ требований, диаграмма прецедентов; модель реализации данных.
курсовая работа [981,9 K], добавлен 07.08.2013Специальное и общесистемное программное обеспечение. Разработка диаграммы прецедентов, классов, деятельности, состояний. Детальная реализация функциональных частей программного обеспечения. Разработка пользовательского интерфейса, методика испытаний.
курсовая работа [3,3 M], добавлен 26.01.2013Целые числа в позиционных системах счисления. Недостатки двоичной системы. Разработка алгоритмов, структур данных. Программная реализация алгоритмов перевода в различные системы счисления на языке программирования С. Тестирование программного обеспечения.
курсовая работа [593,3 K], добавлен 03.01.2015Диаграмма прецедентов взаимодействия игрока и программного продукта. Требования к пользовательскому интерфейсу. Диаграмма состояний проектируемого приложения. Выбор инструментальных средств разработки. Проектирование алгоритмов и иерархии классов.
дипломная работа [9,9 M], добавлен 20.03.2017Разработка программного продукта и описание использования банкомата с помощью диаграммы прецедентов, с помощью IDEF0 диаграмм. Разработка информационной системы банкомата. Создание базы данных, форм, бизнес-правил. Возможные пути развития и реинжиниринга.
курсовая работа [1,6 M], добавлен 25.03.2015Проектирование программного средства "База данных". Классификация юнитов онлайн игры "World of Tanks". Разработка диаграмм прецедентов, развертывания и деятельности. Руководство пользователя. Тестирование приложения, программа и методика испытаний.
курсовая работа [920,4 K], добавлен 17.08.2013Разработка системы для автоматизации деятельности бухгалтерии. Моделирование прецедентов и предметной области. Диаграмма классов. Логическая модель данных. Преобразование результатов проектирования в программный код посредством CASE-средства CASEBERRY.
курсовая работа [424,7 K], добавлен 17.12.2015Понятие, законодательное регулирование и виды электронных подписей. Разработка структурной схемы приложения и базы данных. Создание диаграммы прецедентов и классов. Проектирование интерфейса программы. Анализ руководства пользователя web-приложения.
дипломная работа [869,8 K], добавлен 12.08.2017Разработка системы, обеспечивающей доступ к актуальной информационной базе и сокращение временных затрат на формирование отчетности по оказанным услугам в разрезе врачей и пациентов. Печатная форма отчета. Моделирование данных, диаграмма прецедентов.
отчет по практике [2,5 M], добавлен 12.02.2016- Разработка информационной системы для автоматизации учета ремонта электрооборудования на предприятии
Архитектура и функции информационной системы для автоматизации учета ремонта электрооборудования. Построение модели прецедентов, потоков данных и процессов в стандарте IDEF0. Проектирование концептуальной и логической модели интегрированной базы данных.
курсовая работа [442,9 K], добавлен 06.08.2013 Анализ предметной области. Разработка генетического алгоритма для оптимизации инвестиций. Спецификация требований и прецедентов. Проектирование пользовательского интерфейса информационной системы. Модели данных, используемые в системе и их взаимодействие.
дипломная работа [2,1 M], добавлен 24.08.2017Анализ предметной области объекта автоматизации "Компьютерные курсы". Обзор информационных технологий, подходящих для разработки информационной системы. Требования к разрабатываемой базе данных и ее проектирование, особенности ее программной реализации.
курсовая работа [369,8 K], добавлен 30.05.2013Разработка функциональной модели процесса управления магазином. Составление спецификаций прецедентов в виде таблиц. Создание диаграмм классов, последовательности, состояний и деятельности. Представление базы данных, описание экранных форм и запросов.
курсовая работа [5,3 M], добавлен 15.07.2012Организация, архитектура и структура информационной системы. Показатели эффективности ее работы. Цели и задачи анализа АСУ. Компоненты автоматизированных систем. Описание предметной области, входных и выходных данных. Построение диаграммы прецедентов.
курсовая работа [231,0 K], добавлен 11.04.2014Проектирование модуля регистрации документов. Анализ предметной области, спецификация требований. Построение диаграммы прецедентов Анализ архитектуры модуля в "OpenText Content Server 16.2". Разработка программы регистрации документов, ее тестирование.
дипломная работа [1,9 M], добавлен 25.08.2017