1. Построение логической редукции отношения на решетке Выполнил : Королев Павел Викторович Научный руководитель: Махортов Сергей Дмитриевич
2.
3. 2 . Продукционные системы параметр = значение Представлены в виде: Факты : Правила : Предпосылка Заключение Выражение над фактами Действие Содержат Рабочая память База знаний объект.атрибут = значение
4. 3 .Типы продукционных систем 1. Простейшая продукционная система Элементарные факты: a, b, …. Правила: ( если верно а , то верно b ) Более сложный пример Если заболел, то на работу не ходить Если заболел, сегодня рабочий день, время утреннее, то на работу не ходить Если заболел, сегодня рабочий день, время вечернее, то лечиться - недостаточно информации 2. Стандартная продукционная система
5.
6. 5 .Эквивалентные преобразования Это действия, которые приводят отношение к некоторому другому отношению, эквивалентному исходному. Примеры преобразований: 1. Пусть R – бинарное отношение на решетке F и Тогда отношение логически эквивалентно R 2. Если то и - пара(А , B) логически связана отношением R
7. 6 . Построение редукции Алгоритм 1. Добавить к отношению все рефлексивные пары, состоящие из элементов решетки 2. Добавить к отношению все пары (А ,B ) с элементами вида 3. Объединить полученное отношение с отношением включения 4. Построить транзитивную редукцию полученного отношения 5. Исключить из полученного отношения все пары вида 6. Исключить всевозможные пары (А, B ) с элементами вида 7. Исключить из полученного отношения все рефлексивные пары , принадлежат отношению такими что пары такими что пары принадлежат отношению и не совпадают с ( A,B )
8.
9.
10. 9 . Пример выполнения программы Исходный пример: 0x0000000100000002 0x0000000200000004 0x0000000400000008 0x0000000100000004 0x0000000100000008 0x0000000200000008 Результат 0x0000000100000002 0x0000000200000004 0x0000000400000008
11.
Editor's Notes
Во многих задачах искусственного интеллекта явно или неявно используются так называемые системы продукционного типа. Эти системы манипулируют множествами фактов и правил, также называемых продукциями. Факт представляет собой единицу декларативной информации – некоторое суждение о внешнем мире или состоянии системы – это некоторое подмножество фактов, которые на текущий момент считаются выполненными. Стандартным представлением факта является триплет вида «объект.атрибут = значение» [3] (например, «термометр.температура = высокая»). Рабочая память продукционной системы – это некоторое подмножество фактов, которые на текущий момент считаются выполненными. Рабочая память – это информационная структура, предназначенная для временного хранения фактов или гипотез, являющихся промежуточными решениями или результатом общения системы с внешней средой. Обычно в качестве внешней среды выступает пользователь, ведущий диалог с экспертной системой. Состояние рабочей памяти определяет подмножество применимых на каждом шаге вывода правил. Продукционная система – это логическая система, основанная на совокупности правил продукционного типа, в которой порядок правил не имеет значения. Продукционные системы представляют правила как совокупность независимых операторов, в отличие от условной логики, используемой в процедурных языках программирования. Правило состоит из предпосылки и заключения. Предпосылка – это выражение над фактами, а заключение – действие, которое можно осуществить, если верна предпосылка. Применение правила – осуществление действия заключения. Совокупность правил называется базой знаний.
Простейшая продукционная система имеет базу знаний, состоящую из простых правил, в которой и предпосылка, и заключение состоят ровно из одного факта. Рассмотрим первый пункт. Правило имеет продукционную семантику «если верно a , то верно b » (например, «если идет дождь, то взять зонт»; «если температура высокая, то заболел»). В нашем случае стоит рассмотреть более сложный пример. Например, по правилам «если температура высокая, то заболел» и «если заболел, то на работу не ходить» можно сформировать правило «если температура высокая, то на работу не ходить». Соответствующую данной модели алгебраическую систему можно считать вырожденным случаем LP -структуры с пустым базовым отношением частичного порядка. Вряд ли можно назвать исчерпывающим знанием правило «если заболел, то на работу не ходить». Более близкими к истине являлись бы следующие высказывания: «если заболел, сегодня рабочий день, время утреннее, то на работу не ходить, лечиться», «если заболел, сегодня рабочий день, время вечернее, то лечиться», «если заболел, сегодня выходной день, то лечиться». В стандартной продукционной системе база знаний представляет собой более сложную систему, правила которой в качестве предпосылки и заключения могут содержать наборы элементарных фактов. В пункте 2 a и b - факты. Смысл такого правила состоит в следующем: если верны все , ai, i = 1,…, n , то верны и все , bj, j =1,…, m . В этой модели объектами бинарного отношения -> являются не элементарные факты, а конечные подмножества их исходного множества . Состоящая из таких объектов математическая структура является частным случаем решеток .
Далее рассмотрим следующий пункт. Решеткой [7] называется множество с частичным порядком ≤ («не больше», «содержится»), на котором для любой пары элементов определены операции («пересечение») и («объединения»). Элемент c = пересечению a и б – это точная нижняя грань элементов. Соответственно, элемент d = объединению a и b – точная верхняя грань. Под LP-структурой будем подразумевать алгебраическую систему, представляющую решетку, на которой задано бинарное отношение, обладающее продукционно-логическими свойствами. К ним относятся рефлексивность, транзитивность и другие свойства, определяемые конкретной моделью.
Продукционно-логические отношения служат математической основой решения прикладных задач, связанных с автоматизацией логического вывода и логическим программированием. В связи с этим возникают также вопросы автоматического преобразования отношений, при которых логическое замыкание остается без изменения. Такие преобразования могут быть использованы для приведения базы знаний к некоторому каноническому виду, более удобному для исследования и реализации. Напомним, что два отношения и , заданные на общей решетке , называются логически эквивалентными, если их логические замыкания совпадают. Рассмотрим два примера. Если у нас есть два факта A и B связанные отношением R на решетке F , тогда отношение R’ такого вида (как на слайде) логические эквивалентно отношению R. 2. Если мы имеем несколько отношений эквивалентных друг друга, а именно R1~R2 и R3~R4 , то объединение отношений R1 и R3 с R2 и R4 также будет эквивалентно. Данные примеры более детально рассмотрены в леммах, которые представлены в дипломной работе.
Рассказать информацию со слайда. В силу соображений экономии памяти мы условимся, что физическое добавление к множеству новых пар следует производить лишь в случае необходимости. В частности, нет смысла хранить рефлексивные (шаг 1) или подчиненные (шаг 3) пары, особенно если способ кодирования решетки будет допускать эффективное вычисление частичного порядка. Непосредственная реализация шага 2 также потребовала бы чрезмерного расхода памяти, соизмеримого с построением булеана на универсуме . Кроме того, в дальнейших вычислениях из огромного количества добавленных таким образом пар практически использовалась бы лишь незначительная часть. Таким образом, мы приходим к тезису о динамическом построении необходимых в дальнейшем пар заданного множества.
При реализации LP -структур одним из важных вопросов является способ представления бинарных отношений на решетках. Сразу заметим, что, например, для булеана при количестве его точек n общее число элементов составит 2 ^n . Это означает, что в общем случае нам не подходит способ хранения отношения на решетке в виде статической матрицы (смежности или инциденций). Это были бы огромные разреженные матрицы, стандартное хранение которых в памяти компьютеры было бы не только неэффективным, но и вряд ли возможным. Таким образом, бинарное отношение на решетке мы будем представлять в виде (динамического) множества хранимых пар ее элементов. Последующие замечания также подчеркивают основную особенность реализации LP -структур – потребность снижения расхода памяти, иногда в ущерб быстродействию. Итак, если разбить реализацию на пункты, то получим следующее: рассказать по слайду
Это элементарный пример, показывающий нахождение логической редукции без использования свойства дистрибутивности отношения. Исходные данные - пары (1,2), (2,4), (4,8), (1,4), (1, 8), (2,8). Результат - пары (1,2), (2,4), (4,8). Это логическая редукция исходного примера. Действительно, 4-6 пары легко могут быть получены из первых трех пар на основании свойства транзитивности R: (1,2), (2,4) -> (1,4); (1,2), (2,4), (4,8) -> (1,8); (2,4), (4,8) -> (2,8).
Рассказать по слайду В данной работе были исследованы свойства логических отношений на решетках, необходимые для построения логической редукции. Был разработан специальный алгоритм, по которому строится редукция. Данный алгоритм был реализован программно, с помощью средств языка C ++. Этот алгоритм может использоваться во многих задачах оптимизации баз знаний.