Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PRYeDSTAVLYeNIYe_ZNANIJ_V_INFORMATsIONN_H_SISTY....docx
Скачиваний:
16
Добавлен:
22.12.2018
Размер:
267.15 Кб
Скачать

Достоинства и недостатки логических моделей

Преимущества:

  1. Высокой уровень формализации, обеспечивающий возможность реализации системы формальных точных определений и выводов.

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

  3. Единое средство описания как знаний о предметной области, так и способов решения, что позволяет любую задачу свести к поиску логического вывода некоторую формулу.

Недостатки:

  1. Представление знаний в логической модели не наглядно;

  2. Написание знаний в виде логических формул не позволяет появиться преимуществам, которые имеются при автоматизированной обработке структурных данных.

  3. Детерминированность логического вывода, т.е. отсутствие возможности оперирования с нечеткими знаниями.

  4. Невозможность применения в качестве параметров предикатов других предикатов, т.е. невозможность формулирования знаний о знаниях.

Логику предикатов первого порядка можно использовать как основу для конструирования более сложных логических методов представления знания. В этом качестве она используется в модальных и псевдо-физических логиках.

Пролог

Факт – это простейший вид предложения, он используется для констатации того, что выполнено некоторое отношение между объектами.

man(tom).

Правила содержат утверждения, истинность которых зависит от некоторых условий.

Child(X,Y):-parent(X,Y).

Утверждение записывается, как X является ребенком Y, если истинно утверждение, что Y является родителем X.

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

В предикатах объекты могут быть конкретными или абстрактными. Конкретные объекты задаются именем. Имя – это идентификатор, начинающийся с маленькой буквы. Абстрактный объект – это переменная. Переменная обозначается идентификатором с большой буквы.

Область действия переменных входящих в предложения ограничивается этим предложением.

Каждое правило и каждый факт должны заканчиваться точкой, которая является признаком конца предложения.

Анонимная переменная, которая обозначается нижним подчеркиванием _

Child(X,Y):-parent(X,_).

Вопрос (цель) – это средство извлечения информации из логической программы. Простой вопрос (подцель) – это предикат, относительно которого мы хотим выяснить, выполняется он или нет. Аргументом для этого предиката могут быть как конкретные объекты, так и переменные. Вопрос – это всегда последовательность, состоящая из одной или нескольких подцелей.

Стандартные типы доменов

В Пролог встроенных 6 типов доменов.

Типы данных

Ключевое слово

Символьный

Char

Целые числа

Integer

Действительные числа

Real

Строки

String

Символьные имена

Symbol

Файлы

file

Программа может состоят из 5-ти разделов:

  1. Домена (domains), содержит описание доменов, которые описывают различные классы объектов. Это не обязательный раздел программы.

  2. Database, содержит утверждениz, которые являются предикатами динамической базы данных.

  3. Predicates, служит для описания используемых программ и предикатов. Обязательный раздел.

  4. Goal, формирует назначения, создаваемые программой, т.е. даются цели или ставятся вопросы.

  5. Clauses, заносятся факты и правила известные априори.

Арифметические операторы сходятся с операторами C++.

Знаки логики:

,

И

;

ИЛИ

Пример 1:

Predicates

likes(symbol, symbol)

likes(john, “Germany”)

likes(dick, “France”)

likes(ann, “Germany”)

likes(german, “Spain”)

likes(john, “Italy”)

likes(mary, R):-likes(dick, R)

likes(nina,R):-likes(john, R), likes(ann, R)

-likes(german, “Spain”)

-likes(john, x)

-likes(X,Y)

Используя предикат replay (A,B,S) указать имеит ли решение выражение Ax + В = 0 и сколько этих решений.

Пример 2:

Predicates

replay(real, real, real)

Clauses

Replay(A,B,S):-A=0,B=0, S= “Любое решение”

Replay(A,B,S):-A=0, B<>0, S= “Решение нет”

Replay(A,B,S):-A<>0, S= “Решение одно”

-replay (1,2,Z)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]