Главная
»
Информационные системы
»
Представление знаний в ИС
»
Синтаксис логики предикатов. Примеры. Преобразование унарных предикатов в бинарные. Примеры
Синтаксис логики предикатов. Примеры. Преобразование унарных предикатов в бинарные. Примеры
Синтаксис логики предикатов
Язык логики предикатов задается синтакисом. Для представления знаний базисные синтаксические категории языка изображаются такими символами, которые несут достаточно четкую информацию и дают довольно ясную картину об области рассуждений (экспертизы).
Логика предикатов, называемая также логикой первого порядка, допускает четыре типа выражений.
Константы. Они служат именами индивидуумов (в отличие от имен совокупностей): объектов, людей или событий. Константы представляются символами вроде Жак_2 (добавление 2 к слову Жак указывает на вполне определенного человека среди людей с таким именем), Книга_22, Посылка_8.
Переменные. Обозначают имена совокупностей, таких как человек, книга, посылка, событие. Символ Книга_22 представляет вполне определенный экземпляр, а символ книга указывает либо множество всех книг, либо понятие книги. Символами x,y,z представлены имена совокупностей (определенных множеств или понятий).
Предикатные имена. Они задают правила соединения констанат и переменных, например правила грамматики, процедуры, математические операции. Для предикативных имен используются символы наподобие следующих: Фраза, Посылать, Писать, Плюс, Разделить. Предикатное имя иначе называется предикатной константой.
Функциональные имена представляют такие же правила, как и предикаты. Чтобы не спутать с предикатными именами, функциональные имена пишут одними строчными буквами: фраза, посылать, писать, плюс, разделить. Их называют так же функциональными константами.
Символы, которые применяются для представления констант, переменных, предикатов и функций, не являются словами русского языка. Они суть символы некоторого представления - слова объектного языка (в нашем случае языка предикатов).
Представление должно исключать всякую двусмысленность языка. Поэтому имена индивидуумов содержат цифры, приписываемые к именам совокупностей. Жак_1 и Жак_2 представляют двух людей с одинаковыми именами. Эти представления суть конкретизации имени совокупности Жак. Предикат - это предикатное имя вместе с подходящим числом термов. Предикат называют так же предикатной формой.
Унарные предикаты
Унарный предикат проверяет некоторое свойство одного аргумента. Типичный пример - функция, используемая в качестве критерия поиска первого простого числа.
Бинарные предикаты обычно сравнивают некоторое свойство двух аргументов. Например, чтобы отсортировать элементы по нестандартному критерию, программист передает алгоритму простую предикатную функцию. Это может понадобиться, если, например, элементы не могут корректно работать с оператором или сортировка должна выполняться по нестандартному критерию.
Унарные и бинарные предикаты имеют соответственно один и два аргумента. Фраза «Сократ есть человек» представима унарным предикатом Человек (Сократ), а «Жак любит Мари» -- бинарным Любит (Жак_2, Мари_4). Любой унарный предикат можно преобразовать в бинарный следующим образом. Унарный предикат состоит из предикатного имени и значения своего единственного аргумента. Следовательно, его формат такой: Предикатное_имя (значение_аргумента). Значение аргумента есть конкретизация предикатного имени или переменной. Например, Человек (Сократ) указывает, что имя собственное «Сократ» -- конкретизация имени совокупности «человек», а Человек (х) указывает, что х -- человек (не что-либо иное). Фразу «Сократ -- человек» можно представить бинарным предикатом Конкр (Сократ, человек).
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.