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

Post on 22-May-2015

1.619 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Case-Based Reasoning

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.Основная идея — возможность использования структурного отображения описания задачи из одного домена (базового) в другой (целевой) для решения задач

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

решения(Derivational adaptation)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример рассуждений на основе прецедентов (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

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

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

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

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

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

Пример рассуждений на основе прецедентов (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)}

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

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

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

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

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

Использованная литература● 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

top related