22
Case-Based Reasoning Рассуждения на основе прецедентов Докладчик: Фастовец Н.Н. Научный руководитель: к.ф-м.н. Корухова Ю.С.

Рассуждения на основе прецедентов

  • Upload
    -

  • View
    1.588

  • Download
    4

Embed Size (px)

DESCRIPTION

Фастовец Н.Н. 8 октября 2010

Citation preview

Page 1: Рассуждения на основе прецедентов

Case-Based Reasoning

Рассуждения на основе прецедентов

Докладчик: Фастовец Н.Н.Научный руководитель: к.ф-м.н. Корухова Ю.С.

Page 2: Рассуждения на основе прецедентов

Содержание● Основная идея подхода– Понятие прецедента– Рассуждения на основе прецедентов– Истоки данного подхода– Основной цикл CBR– Возникающие проблемы

● Некоторые применяемые методы– Организация библиотек– Похожесть прецедентов– Адаптация решения

● Использование онтологий– Система Taaable– Использование CBR в синтезе программ

● Заключение● Использованная литература

Page 3: Рассуждения на основе прецедентов

Понятие прецедента● Прецедент – случай, поступок в прошлом, служащий

примером или оправданием для последующих поступков того же рода.(Толковый словарь русского языка Ушакова)

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

● В рассматриваемом подходе под прецедентом принято понимать

– Условие задачи– Фрагмент опыта программы — пару <задача, решение>

в библиотеке прецедентов.

Page 4: Рассуждения на основе прецедентов

Рассуждения на основе прецедентов

● Рассуждения на основе прецедентов (CBR — от Case Based Reasoning) являются подходом, предполагающим решение новых задач за счет использования и/или адаптации решений для уже известных задач.

● Данный подход очень похож на модель мышления человека

Page 5: Рассуждения на основе прецедентов

Истоки● Основы подхода:

Roger C. Shank, Dynamic memory; a theory of reminding and learning in computers and people. Cambridge University Press. 1982Основная идея — использование формализованного накопленного опыта для решения новых задач

● Рассуждения по аналогии:D.Genter, Structure mapping — a theoretical framework for analogy. Cognitive Science, 1983.Основная идея — возможность использования структурного отображения описания задачи из одного домена (базового) в другой (целевой) для решения задач

Page 6: Рассуждения на основе прецедентов

Основной цикл CBR● Выбор наиболе похожего

прецедента из библиотеки

● Адаптация решения для выбранного прецедента к новой задаче

● Проверка полученного решения

● Добавление задачи с полученным решением в библиотеку прецедентов

Page 7: Рассуждения на основе прецедентов

Возникающие проблемы● Организация библиотек– Организация библиотеки

прецедентов должна обеспечивать эффективный поиск

● Оценки похожести задач– Оценка похожести должна

обеспечивать выбор наиболее подходящих прецедентов

● Механизмы адаптации– Алгоритмы адаптации сильно

зависят от предметной области, в которой действует система

Page 8: Рассуждения на основе прецедентов

Организация библиотек (1)Последовательная

(flat structure)● В библиотеке подобного рода прецеденты размещаются

в некоторой последовательной структуре: списке, массиве или файле.

● Поиск производится путем последовательного перебора элементов списка

● Метод прост в реализации, но не эффективен с точки зрения времени поиска.

Page 9: Рассуждения на основе прецедентов

Организация библиотек (2)Атрибутно-ориентированная

(feature-based structure)● Для проблемной области выделяется набор ключевых

атрибутов, которыми могут обладать прецеденты● К каждому ключевому атрибуту добавляются указатели

на прецеденты, обладающие таковыми● При поиске выбираются только те прецеденты, которые

имеют общие ключевые атрибуты с заданным

Page 10: Рассуждения на основе прецедентов

Организация библиотек (3)Иерархическая

(hierarchical structure)● Иерархия прецедентов строится путем выделения

частных случаев различных прецедентов● Все вершины, лежащие в под-дереве, образованном

некоторым прецедентом, обладают всеми свойствами корня, а так же некоторыми дополнительными свойствами

Page 11: Рассуждения на основе прецедентов

Похожесть прецедентов (1)Поверхностная оценка

(Assessment of surface similarity)● Для описания

прецедентов используется набор свойств — пар вида <атрибут, значение>

● Для представления описания могут использоваться различные формализации — вектор свойств, семантическая сеть, предикаты и т.д.

Page 12: Рассуждения на основе прецедентов

Похожесть прецедентов (2)Структурная оценка

(Assessment of structural similarity)● Для оценки используется

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

Page 13: Рассуждения на основе прецедентов

Адаптация решения (1)Структурная адаптация

(Structural adaptation)● Основная идея заключается в построении

нового решения путем преобразования уже известного

● Набор требуемых преобразований определяется в соответствии с различиями между известным и новым прецедентами

Page 14: Рассуждения на основе прецедентов

Адаптация решения (2)Адаптация с построением нового

решения(Derivational adaptation)

● При построении нового решения используются алгоритмы, методы и правила, используемые при построении оригинального решения.

● Информация о похожести и различиях между новым и известным прецедентом используется для управления процессом построения нового решения.

Page 15: Рассуждения на основе прецедентов

Использование CBR.Система Taaable (1)

● Использует онтологию для организации библиотеки прецедентов

● Прецеденты — известные рецепты — представляются как описание концепта в терминологии информации об отношениях между ингредиентами

● В онтологии так же описываются отношение похожести (и допустимости замены) между ингредиентами

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

R = lettuce /\ vinegar /\ olive_oil /\ tomato /\ Nothing_else

Page 16: Рассуждения на основе прецедентов

Использование CBR.Система Taaable (2)

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

● Адаптация производится путем применения к найденному прецеденту правил замены ингредиентов:

σ = salad /\ ¬potato /\ vinegar ↦ salad /\ ¬potato /\ lemon_juice /\ salt

● Новые правила адаптации формируются на основе информации об отношениях между ингредиентами

● Проверка получаемого решения осуществляется пользователем

Page 17: Рассуждения на основе прецедентов

Использование CBR в синтезе программ

● Основная идея — использование библиотеки известных программ для синтеза новых

● Библиотека содержит пары вида <спецификация, текст программы>

● Для организации библиотеки используется онтология, включающая иерархию спецификаций программ

● Похожесть между спецификациями оценивается по их взаимному расположению в иерархии

● Различия между описаниями спецификаций используются как индекс для поиска соответствующих правил адаптации

● Адаптация производится путем замен вида {терм → терм} в тексте известной программы

Page 18: Рассуждения на основе прецедентов

Пример рассуждений на основе прецедентов (1)

● Задача — синтез программы, соответствующей спецификации

string z = rpl(string b, string s, string d) ⇒∃ b,s,d.string ∃ z,x,y.string

if b = x+s+y then z = x+d+y else z = b

● Извлечение из библиотеки наиболее похожего прецедента

string z = rmsubstr(string b, string t) ⇒∃ b,t.string ∃ z,x,y.string

if b = x+t+y then z = x+y else z = b

Page 19: Рассуждения на основе прецедентов

Пример рассуждений на основе прецедентов (2)

Известный прецедент — спецификация функции RmSubstr

Задача — спецификация функции Rpl

Сравнение синтаксической структуры выражений выделяет различия в вычислении возвращаемого значения при выполнении условия.Различия формализуются в виде логического выражения

InVariant_1(Replace(From(x+y) and To(x+d+y)))

Page 20: Рассуждения на основе прецедентов

Пример рассуждений на основе прецедентов (3)

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

● Выбранные подстановки применяются к тексту исходной программы.

string Rem(string b,string x) { string buf = ""; int i = 0; if(b == "")return(""); else { while(buf.size < b.size - x.size) { string left, right; left = buf + x; right.copy(b, left.size,

b.size - left.size) if(b == left + right)

return(buf+right); else buf.push_back(b.at(i));

i++;}}

return(b) }

string Rpl(string b,string x,string y) { string buf = ""; int i = 0; if(b == "")return(""); else { while(buf.size < b.size - x.size) { string left, right; left = buf + x; right.copy(b,

left.size,b.size - left.size) if(b == left + right)

return(buf+y+right); else buf.push_back(b.at(i));

i++;}}return(b)}

Известная программа Получаемая программа

Page 21: Рассуждения на основе прецедентов

Заключение● Рассуждения на основе прецедентов могут применяться

для решения различных задач (планирование, синтез программ, экспертные системы) в различных областях знаний.

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

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

Page 22: Рассуждения на основе прецедентов

Использованная литература● Aamodt, E. Plaza. Case-Based Reasoning: Foundational Issues,

Methodological Variations, and System Approaches.AI Communications. Vol. 7: 1, pp. 39-59. IOS Press. 1994.

● Janet L. Kolodner, An Introduction to Case-Based Reasoning. Artificial Intelligence Review 6, 3--34, 1992.

● R. Lopez de Mantaras, D. Mcsherry, D. Bridge, D. Leake, B. Smyth, S. Craw, B. Faltings, M. Lou Maher, M. T. Cox, K. Forbus, M. Keane, A. Aamodt, I. Watson. Retrieval, reuse, revision and retention in case-based reasoning. The Knowledge Engineering Review, Vol. 20:3, 215–240. Cambridge University Press. 2006.

● Mary Lou Maher,Muthaukumar Balachandran,Dong Mei Zhang. Case-based reasoning in design. Psychology Press. 1995.

● Материалы интернет-сайта www.ai-cbr.org

● Материалы сайта www.taaable.fr