Способ представления термов в логике предикатов первого порядка
Способ представления термов в логике предикатов первого порядка. Принципы алгоритма унификации, использующего данное представление. Разработка более производительного алгоритма унификации, чем алгоритм, предложенный Дж.Р. Вагин. Обзор его работы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 19.01.2018 |
Размер файла | 178,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Способ представления термов в логике предикатов первого порядка
Создание высокопроизводительных процедур доказательства теорем, способных эффективно решать задачи практической степени сложности в условиях экспоненциального роста пространства поиска, требует решения ряда задач. Первая задача относится к структурам представления термов и алгоритмам их обработки. Это связано с тем, что термы являются основной структурой обработки в процедурах вывода и их неэффективное представление может значительно ухудшить общую производительность процедур вывода. Вторая задача относится к разработке более производительного и эффективного алгоритма унификации, чем алгоритм, предложенный Дж. Робинсоном Вагин и др., 2004.
В настоящее время в алгоритмах доказательства теорем, как правило, используются достаточно простые и экономные структуры представления термов, которые очень хорошо сочетаются и с процедурой дедуктивного вывода, и с процедурой унификации. Такими структурами часто являются ориентированные ациклические графы и плоские термы Касьянов и др., 2003 Christian, 1993. Достоинством ациклических орграфов является реализация всевозможных операций просмотра термов в разных направлениях и манипулирования их частями. Главным их недостатком является усложнение работы с памятью, из-за того, что размер каждого узла в первую очередь зависит от количества потомков. Однако этого нельзя сказать о плоском представлении термов. Достоинством плоских термов является предоставление удобного способа прямого разбора терма и значительное упрощение работы с памятью, из-за фиксированной структуры.
При разработке эффективного и простого в использовании представления термов необходимо объединение достоинств вышеописанных структур. Для этого необходимо решить две основные задачи: определение основной структуры представления термов и расширение такой структуры для удобного хранения в памяти. В качестве основной структуры представления термов предлагается использование размеченных ациклических орграфов , формальное определение которых описывается с помощью составного объекта , при условии , где - множество меток, - множество натуральных чисел, - множество вершин, - начальная вершина, - функция разметок вершин, - множество упорядоченных связей, таких, что , Касьянов и др., 2003 Капитонова и др., 2004 Андерсон, 2003 Дистель, 2002.
Для удобного описания термов рассматриваются только инициальные составные объекты, т.е. объекты для любой вершины которых, , где - транзитивное замыкание отношения непосредственной достижимости. Каждая вершина составного объекта S порождает составной объект, начальной вершиной которого является она сама. Причем i-м аргументом составного объекта , порожденного вершиной v, при условии существования такой, что , является составной объект , порожденный вершиной .
Задача представления терма размеченным ациклическим орграфом составного объекта S дополняется префиксным способом прохождения вершин с расстановкой на ребрах порядковых номеров потомков заданного родителя. Для этого выполняются следующие действия:
исследуется корневая вершина терма ;
рассматривается самый левый аргумент вершины , который еще ни разу не рассматривался ;
помечается ребро функцией разметок ребер , при условии что , где - множество меток.
Пример 1. На рисунке 1 терм представлен размеченным ациклическим орграфом составного объекта S.
Размещено на http://www.allbest.ru/
Рис. 1. Представление терма в виде размеченного ациклического орграфа составного объекта S
Таким образом, вершины орграфа хранят вспомогательную информацию: о функциональных символах, о позициях подтермов, о номере аргумента и помеченных ребрах, при прямом обходе. Причем, все висячие вершины, описывающие переменные или константные символы, располагаются на одном уровне. Они имеют путь на орграфе, который состоит из вершин орграфа вместе с пометками ребер, которые расположены вдоль этого пути. При этом любой путь рассматривается с корневой вершины , которая помечена символом самого терма. Благодаря такому отождествлению, данное представление терма можно задать в виде массива вершин с дополнительной информацией.
Рассмотрим терм, имеющий вид:
,
где есть функциональный символ, а в качестве любой переменной или константы терма берется символ *.
Тогда символ * имеет путь на орграфе, который можно сформулировать в виде строки:
,
где есть пометка на ребре исходящая из заданного функционального символа.
Этот путь имеет обозначение ПУТЬi(*), где i есть порядковый номер пути.
Пример 2. На рисунке 1 к переменной x1 имеется несколько путей:
ПУТЬ1(x1) := f1;
ПУТЬ2(x1) := f2g1;
ПУТЬ3(x1) := f4h1;
ПУТЬ4(x1) := f6k1.
Для расширенного представления термов также используются две дополнительные операции: ТИП(*) - тип висячей вершины орграфа (переменная, обозначаемая символом v и константа, обозначаемая символом c), КВАНТОР(*) - в области действия какого квантора находится переменная.
Задавая пути, при прямом порядке обхода вершин орграфа, к символам переменных или констант в строковом виде, и обходя вершины слева направо и сверху вниз, можно получить некоторую последовательность, которая обязательно будет начинаться с корневой вершины. Такое множество строк удобнее всего записывать в виде некоторого массива.
Пример 3. На рисунке 2 приведено расширенное задание терма в виде массива, взятого из примера 1.
Размещено на http://www.allbest.ru/
Рис. 2. Представление терма в виде массива
Для создания эффективных процедур дедуктивного вывода, решающих задачи практической степени сложности, необходимо решение задачи построения эффективного алгоритма унификации. При построении алгоритма унификации возникают такие проблемы, как проблема вычисления унификатора и предварительная проверка, являются ли термы унифицированными. Предложенная структура представления термов позволяет отойти от алгоритма унификации, предложенного Дж. Робинсоном Вагин и др., 2004, и разбить этот алгоритм на две основные части. В первой части алгоритма, именуемой ТЕСТ (u, v: терм), проводится предварительная проверка, являются ли термы унифицированными, и, в случае положительного ответа на проверку унифицируемости конкретной позиции, создаются связи множества рассогласований подтермов.
Пример 4. На рисунке 3 представлен результат работы процедуры ТЕСТ (P(y, g(z), f(x)), P(a, x, f(g(y)))):
1) тип связи множества рассогласований {переменная/константа};
2) тип связи - {переменная/функциональный символ};
3) тип связи - {переменная/функциональный символ}.
Размещено на http://www.allbest.ru/
Рис. 3. Представление задачи унификации пары термов с использованием предложенного способа представления термов
Во второй части алгоритма, именуемой УНИФИКАЦИЯ (u, v: терм), строится наиболее общий унификатор пары термов , которые успешно прошли предварительную проверку унифицируемости подтермов, используя информацию о множестве рассогласований, записанной в виде связей.
Пример 5. На рисунке 4 приведен результат работы алгоритма унификации, запрограммированного на Delphi в системе Borland Developer Studio 2006. Данный результат получен при запуске процедуры УНИФИКАЦИЯ (u, v: терм) на множестве пар термов мощностью равной 20.
Размещено на http://www.allbest.ru/
Рис. 4. Результат работы последовательного алгоритма унификации
На оси абсцисс графика изображено общее количество операторов алгоритма унификации. При этом процедура ТЕСТ (u, v: терм) описывается 45 операторами. На оси ординат графика изображено среднее время, в миллисекундах, потраченное компьютером на обсчет одной пары термов.
Заключение
Рассматривается новый способ представления термов в логике предикатов первого порядка, включающий в себя основные достоинства ациклических орграфов и плоских термов. Данное представление явилось основой для создания удобного и высокоэффективного алгоритма унификации, что подтверждается приведенным графиком, показывающим результат работы алгоритма унификации.
Список литературы
логика предикат алгоритм
1.Андерсон, 2003 Андерсон Д.А. Дискретная математика и комбинаторика. - М.: Вильямс, 2003.
2.Вагин и др., 2004 Вагин В.Н., Головина Е.Ю., Загорянская А.А., Фомина М.В Достоверный и правдоподобный вывод в интеллектуальных системах - М.: ФИЗМАТЛИТ, 2004.
3.Дистель, 2002 Дистель Р. Теория графов. - Новосибирск, Изд-во Ин-та математики, 2002.
4.Капитонова и др., 2004 Капитонова Ю.В., Кривой С.Л., Летичевский А.А., Луцкий Г.М. Лекции по дискретной математике - СПб.: БХВ-Петербург, 2004.
5.Касьянов и др., 2003 Касьянов В.Н., Евстигнеев В.А. Графы в программировании: обработка, визуализация и применение. - СПб.: БХВ-Петербург, 2003.
Размещено на Allbest.ru
...Подобные документы
Потребность отражения человеческих знаний в памяти компьютера. Модели представления знаний. Продукционные и формально-логические модели. Исчисление предикатов первого порядка. Основные свойства теории фреймов. Аналитическая платформа Deductor.
курсовая работа [538,2 K], добавлен 09.04.2015Синтаксис логики предикатов. Преобразование унарных предикатов в бинарные. Функции, выполняемые экспертной системой. Правила "если-то" для представления знаний. Разработка оболочки в экспертных системах. Рассуждения, использующие логические формулы.
курс лекций [538,1 K], добавлен 16.06.2012Понятие и свойства алгоритма, виды, характеристики. Роль алгоритма в построении программы, представление и запись. Словесный, графический, табличный способ. Псевдокод. Примеры известных алгоритмов. Операции над массивами. Уточнение корней уравнения.
курсовая работа [1,1 M], добавлен 10.11.2016Экспертные системы реального времени. Основные производители. История возникновения и развития языка ПРОЛОГ. Исчисление высказываний. Исчисление предикатов. Программирование на ПРОЛОГЕ. Принцип резолюций. Поиск доказательства в системе резолюций.
курсовая работа [146,2 K], добавлен 15.04.2008Моделирование и программирование динамических систем. Градиентный метод первого порядка; математическое описание системы и значений переменных в виде полиномиальной линейной модели, статистический анализ; алгоритм моделирования, разработка программы.
курсовая работа [447,0 K], добавлен 12.06.2011Определение и примеры формальной системы. Понятия языка и метаязыка. Интерпретация формальной теории. Понятие изоморфизма в терминах теории формальных систем. Примеры продукционных правил, теория чисел. Исчисление предикатов первого и второго порядка.
лекция [201,4 K], добавлен 19.12.2013Формальная запись задачи унификации, представление продукции и выражения в виде дерева. Преобразование выражения в префиксную форму и определение классов для реализации алгоритма. Операции проверки применимости продукций и замены свободных переменных.
контрольная работа [372,3 K], добавлен 24.01.2011Параметры автомобиля, используемые в экспертной системе. Задание нечетких и лингвистических переменных, виды термов. Список правил для функционирования системы, результаты анализа ее работы. Применение алгоритма Мамдани в системах нечеткой логики.
курсовая работа [1,5 M], добавлен 10.02.2013Получение вейвлетов Габора из представления путем его поворота и растяжения для известного числа масштабов и ориентаций. Описание процедуры pullback. Детектор края, реализация алгоритма. Генерация представления изображения с помощью вейвлетов Габора.
курсовая работа [1021,4 K], добавлен 29.10.2017Характеристика методов представления заданных чисел в двоичной, шестнадцатеричной, восьмеричной системе счисления. Представление указанного числа в четырехбайтовом IEEE формате. Разработка алгоритма обработки одномерных и двумерных числовых массивов.
контрольная работа [138,9 K], добавлен 05.06.2010Описание принципа работы генетического алгоритма, проверка его работы на функции согласно варианту на основе готовой программы. Основные параметры генетического алгоритма, его структура и содержание. Способы реализации алгоритма и его компонентов.
лабораторная работа [20,2 K], добавлен 03.12.2014Составление алгоритма сортировки линейной вставкой. Понятие однонаправленного циклического списка символов, реализация процедуры подсчета суммы элементов и составление алгоритма. Прямое представление дерева, алгоритм работы с ним на абстрактном уровне.
контрольная работа [32,8 K], добавлен 20.01.2012Субъективный, кибернетический, содержательный и алфавитный подходы. Способы восприятия и форма представления информации. Язык как способ ее представления и единицы измерения. Информационная культура человека. Применение информатики и компьютерной техники.
презентация [192,6 K], добавлен 04.12.2013Способ представления графа в информатике. Алгоритмы поиска элементарных циклов в глубину в неориентированных графах. Описание среды wxDev-C++, последовательность создания проекта. Руководство пользователю программы поиска и вывода на экран простых циклов.
курсовая работа [783,2 K], добавлен 18.02.2013Разработка алгоритма работы и структуры контроллера кэш-памяти с полностью ассоциативным отображением основной памяти. Представление операционной и управляющей частей черного ящика устройства. Схема алгоритма контроллера кэш на уровне микроопераций.
курсовая работа [1,0 M], добавлен 19.03.2012Изучение понятия и свойств алгоритма. Определение сущности технологии Robson. Исполнитель, а также блок-схема алгоритма или его графическое представление, в котором он изображается в виде последовательности связанных между собой функциональных блоков.
реферат [155,9 K], добавлен 19.10.2013Логика высказываний и предикатов. Построение таблицы истинности для логической формулы. Обоснование выбора структур данных. Описание алгоритма решения задачи. Описание пользовательского интерфейса. Окно командной строки, для ввода логической формулы.
курсовая работа [437,7 K], добавлен 10.04.2017Основные свойства времени и способы его представления. Временная логика предикатов А. Тейза. Учет временного фактора при разработке баз данных. Разработка концепции базы данных на основе реляционной системы управления. Требования к программному продукту.
дипломная работа [2,8 M], добавлен 02.10.2016Понятие и сущность экспертной системы, ее внутренняя структура и назначение, этапы и принципы разработки. Продукционная и фреймовая модель представления знаний, порядок построения семантической сети. Разработка алгоритма программы, создание интерфейса.
курсовая работа [1,2 M], добавлен 22.01.2015Состав и принцип работы аппаратуры. Выбор параметров корреляционного анализа и Фурье-анализа. Разработка и применение алгоритма корреляционного анализа. Реализация алгоритма Фурье-анализа на языке С++ и алгоритма корреляционного анализа на языке С#.
дипломная работа [4,6 M], добавлен 30.11.2016