Описать базу знаний о родственных отношениях



Билет № 3

Методы представления знаний

 

Продукционные правила

Продукционная система состоит из трех основных компонен­тов, схематично изображенных на рис. Первый из них — это база правил типа ЕСЛИ (условие), ТО (действие): ЕСЛИ холод­но, ТО надеть шубу; ЕСЛИ идет дождь, ТО взять зонтик, и т. п.

Вторым компонентом является рабочая память, в которой хра­нятся исходные данные к задаче и выводы, полученные в ходе работы системы.

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

Фреймы

Фрейм — это модель абстрактного образа, минимально воз­можное описание сущности какого-либо объекта, явления, собы­тия, ситуации, процесса. Фрейм состоит из имени и отдельных единиц, называемых слотами. Он имеет однородную структуру:

Семантические сети

В основе этого способа представления знаний лежит идея о том, что любые знания можно представить в виде совокупности поня­тий (объектов) и отношений (связей). Семантическая сеть пред­ставляет собой ориентированный граф, вершинами которого яв­ляются понятия, а дугами — отношения между ними. Сам термин «семантическая» означает смысловая.

 

Основные понятия Пролога – предложения: факты и правила

Факт констатирует, что между объектами выполнено некоторое отношение. Он состоит только из заголовка. Можно считать, что факт - это предложение, у которого тело пустое.

Например, известный нам факт, что Наташа является мамой Даши, может быть записан в виде:

мама(Наташа, Даша).

Факт представляет собой безусловно истинное утверждение.

В математической логикеотношения принято называть предикатами.

Если воспользоваться нормальной формой Бэкуса-Науэра, то предикат можно определить следующим образом:

<Предикат>::=<Имя> | <Имя>(<аргумент>[,<аргумент>]*),

Правило - это предложение, истинность которого зависит от истинности одного или нескольких предложений. Обычно правило содержит несколько хвостовых целей, которые должны быть истинными для того, чтобы правило было истинным.

В нотации БНФ правило будет иметь вид:

<Правило>::=<предикат>:-<предикат>[,<предикат>]*.

 

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

1!=1 /* факториалединицыравенединице*/

N!=(N-1)!*N /* длятого, чтобывычислитьфакториал

некоторогочисла, нужновычислить

факториалчисланаединицуменьшего

иумножитьегонаисходноечисло*/

fact(1,1). /* факториал единицы равен единице */

fact(N,F):-

N1=N-1,

fact(N1,F1), /* F1 равен факториалу числа

на единицу меньшего исходного

числа */

F=F1*N. /* факториал исходного числа равен

произведению F1 на само число */

F=F1*N. /* факториал исходного числа равен

произведению F1 на само число */

fact(1,1).
fact(N,F):-N1=N-1,fact(N1,F1),F=F1*N.
F=F1*N.

Билет № 6

Семантические сети

В основе этого способа представления знаний лежит идея о том, что любые знания можно представить в виде совокупности поня­тий (объектов) и отношений (связей). Семантическая сеть пред­ставляет собой ориентированный граф, вершинами которого яв­ляются понятия, а дугами — отношения между ними. Сам термин «семантическая» означает смысловая.

 

 

 

 

2. Основные понятия Пролога – переменные свободные и связанные; анонимная переменная

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

Переменные могут быть свободными или связанными.

Свободная переменная - это переменная, которая еще не получила значения. Она не равняется ни нулю, ни пробелу; у нее вообще нет никакого значения. Такие переменные еще называют неконкретизированными.

Переменная, которая получила какое-то значение и оказалась связанной с определенным объектом, называется связанной. Если переменнаябыла конкретизирована каким-то значением и ей сопоставлен некоторый объект, то эта переменная уже не может быть изменена.

Областью действия переменной в Прологе является одно предложение. В разных предложениях может использоваться одно имя переменнойдля обозначения разных объектов. Исключением из правила определения области действия является анонимная переменная, которая обозначается символом подчеркивания " _ ". Анонимная переменная применяется в случае, когда значение переменной не важно. Каждая анонимная переменная - это отдельный объект.

Описать базу знаний о родственных отношениях

parent("Alexandr","Olya").
parent("Masha","Olya").
parent("Alexandr","Alina").
parent("Masha","Alina").
parent("Alexandr","Leha").
parent("Masha","Leha").
parent("Leha","Gleb").
parent("Dasha","Gleb").
parent("Alina","Maks").
parent("Leha","Maks").
man("Alexandr").
man("Leha").
man("Pavel").
man("Dima").
woman("Olya").
woman("Alina").
woman("Masha").
married("Masha","Pavel").
married("Alina","Dima").
check_married(X, Y):-married(X, Y); married(Y, X).
father(X,Y):-parent(X,Y),man(X).
mother(X,Y):-parent(X,Y),woman(X).
son(X,Y):-parent(Y,X),man(X).
daughter(X,Y):-parent(Y,X),woman(X).
wife(X,Y):-check_married(X,Y), woman(X).
husband(X,Y):-check_married(X,Y), man(X).
brother_in_law(X, Y):-wife(Y, Wife),brother(X, Wife).
uncle(X, Y):-parent(Parent, Y), brother(X, Parent).

Билет № 9


Дата добавления: 2018-02-28; просмотров: 462; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!