Описать базу знаний о родственных отношениях
Билет № 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!